freenode/#lisp - IRC Chatlog
Search
17:34:22
beach
Does it make sense to supply an IGNORE or IGNORABLE declaration for a special variable or a global function?
17:36:50
makomo
beach: i think i've seen cl-ppcre use a special variable in one function's lambda-list, with a comment saying that that indeed dynamically binds the variable
17:38:21
makomo
but since i've never tried that technique (i.e. have no proof that it works), maybe my recollection is wrong
17:38:29
verisimilitude
I'd rather declare something such as IGNORABLE where it's actually IGNORABLE and not globally, beach.
17:39:42
Bike
"When not within the scope of a ignore or ignorable declaration, it is desirable for a compiler to issue a warning about any var for which there is neither a for-value reference nor a special declaration, or about any fn for which there is no for-value reference." oh huh
17:41:55
beach
So it does not make sense. In other words, the compiler does not have to store information about such declarations.
17:50:35
beach
makomo: Since a binding of a special variable can affect the meaning of code outside the scope of the form that introduced the binding, it doesn't make much sense to declare it ignore in that form.
17:51:19
pjb
beach: it depends. À-priori, a ignore or ignorable declaration on a special variable would not be useful, since it's assumed the variable might be used by the called functions. But if the called functions don't use it, it might be meaningful to declare a special variable ignorable or ignore. But in this case we should get a warning that we made a useless binding!
17:51:45
pjb
beach: therefore I would say that ignore or ignorable on special variable is not sensical.
17:52:48
pjb
Similarly, in absence of a tree-shaker, global functions may be used eventually. Declaring it ignore, would mean that we can just forget it because it won't be used ever. So why did we define it?
17:53:24
makomo
pjb: but there's no 100% way to check whether a function uses a dynamic variable or not, right?
17:53:51
pjb
makomo: define use. We can check if the function uses it directly, not if it uses it thru one of the function called.
17:54:13
pjb
makomo: also, most functions called by a function can be redefined at run-time, so we cannot be sure at compilation time of anything.
20:08:41
iovec
hey, in quicklisp i see that i can clone the thing in ~/quicklisp/local-projcets and then quickload works, but it doesn't download it on its own when I do that directly, how can I know what's wrong
20:12:57
iovec
((LABELS QUICKLISP-CLIENT::RECURSE :IN QUICKLISP-CLIENT::COMPUTE-LOAD-STRATEGY) "clx-truetype") source: (CERROR "Try again" 'SYSTEM-NOT-FOUND :NAME NAME)
20:13:59
iovec
there isn't anything more to it, just the debugger invoked on that error, that's all I get...
20:14:47
iovec
Bike: nothing more than #<THREAD "main thread" RUNNING {10005D05B3}>: System "clx-truetype" not found
21:27:03
shka_
anyway, dear #lisp, does anybody have A* algorithm written in lisp somewhere? Can I have it?
21:28:57
phoe
http://www.informatimago.com/develop/lisp/com/informatimago/common-lisp/cesarum/a-star.lisp
21:30:01
phoe
http://ftp.ics.uci.edu/pub/machine-learning-programs/Introductory-AI/programs/a-star.lisp
21:39:10
phoe
the best you can do is (loop for i below (length sequence) for elt = (elt i sequence) ...)
21:44:16
Josh_2
forgot about map as I was just modifying another function work with different types of input
22:06:56
shka_
Josh_2: having said that, i really should leave computer alone, i am not really productive
22:08:49
shka_
you can find position from end, then you should handle 3 cases, if position is null, return empty sequence, if it is zero return original sequence, if it is non-zero use subesquence
4:15:36
akoana
oh, I'm progressing very slowly but steady thanks, currently I'm playing around with ltk
4:17:30
akoana
I heared about CLIM, but I'm very new to Common Lisp, so I tried to start with something "easy"
4:18:22
beach
Maybe, but as a result, you went in to FFI land with different semantics of different languages, thereby creating a semantic nightmare and a debugging one too.
4:23:03
akoana
I'll have a look into it (I did already a while before, but was in doubt about matureness)
4:25:37
akoana
I'd like to create a gui with database "bindings" (crud), I still don't know what's better, doing it web-based with hunchentoot or with something like CLIM
4:36:56
beach
I think I just had some insight. Maybe there is so much FFI-based stuff here because people think of Common Lisp as just another scripting language like python etc., so that it is really only useful as such. Perhaps they expect Common Lisp to be as slow as Python so that the C code is necessary to get some performance.
4:37:44
no-defun-allowed
(ltk's interface occurs over a pipe to a program called "wish", by the way. To me, it's about as FFI as something like Postmodern/CL-SQL then.)
4:38:45
beach
It would make sense for members of the generations brainwashed by the Unix "philosophy" to think like that.
4:39:25
akoana
beach: I did already some successful prototyping in hunchentoot, ningle and cl-dbi (for the database sqlite, but finally postgres) but still thinking how to glue this stuff together.
4:40:37
beach
Which reminds me of how relational databases is another disaster that has been able to brainwash generations of unsuspecting developers.
4:40:39
akoana
beach: I'm one of the brainwashed Unix people ;), old die hard vi user (but recently an emacs friend)
4:40:45
no-defun-allowed
If I could have a minute to clean it up somewhat, I can show you the project I did for school, akoana.
4:41:39
pillton
beach: I think people choose what battles to fight. I also think people don't like having duplicate implementations of functionality.
4:41:46
beach
akoana: vi is not the main problem here. But I'm not going there today. You can read this document if you like: http://metamodular.com/closos.pdf
4:42:40
beach
pillton: I suspect most people don't choose at all, because they don't think they have a choice.
4:42:56
no-defun-allowed
ACTION posted a file: u02e03.tar.lzma (4KB) < https://matrix.org/_matrix/media/v1/download/matrix.org/WwSzgrBsCBLpxotWdMYqNvRf >
4:43:29
no-defun-allowed
akoana: this is my school project; it uses Hunchentoot and CL-WHO to generate and serve HTML, Postmodern to read and write from a database, and I think the layout of code is pretty decent.
4:44:27
verisimilitude
Unicode is also UNIX idiocy. Should we make it easy to support multiple character sets; no, one character set to rule them all; kill the unbelievers! Should we have GUI tools that aren't awful; no, just turn Unicode into a partial GUI toolkit. I can go further, but I won't.
4:45:07
akoana
Wow Mr. Robert Strandh, I've tried to read some of his papers, pretty mind boggling :)
4:45:14
verisimilitude
I'm stuck talking to a terminal if I want a manageable interface that isn't likely to fall out from under me for some reason.