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.
4:47:13
aeth
The problem with multiple character sets is multilingual documents. You really expect programs to handle that properly?
4:47:37
aeth
And with UTF-8 many programs like IRC clients handle it properly for free without being designed for it.
4:53:22
LdBeth
Well, Unicode doesn’t do any bad unless you’re Chinese linguistics guy and UTF-32 is elegant enough for programming
4:54:20
verisimilitude
Perhaps the worst thing about UTF-8 is that it penalizes most other character sets, meaning Japan and other countries still use custom ones.
5:01:14
djeis[m]
You could, in principle, have a wide variety of encodings that each support different ranges of the unicode space. But you still need to be able to give globally unique codepoints before you hit presentation, unless you want to tie fonts into the encoding used for the text.
5:14:05
djeis[m]
Do you dislike what they came up with, or do you think their idea as a whole was misguided?
5:14:35
verisimilitude
I'd also disagree with the idea that doing anything similar to Unicode, such as building a system for storing documents with multiple languages in them, makes it a subset or different implementation or anything else of Unicode.
5:15:00
beach
verisimilitude: I am not "disgusted" by FFI. I am saddened to see all the human endeavor wasted on crappy software infrastructure.
5:15:10
beach
Worse, the effort is wasted over and over again, because (no doubt out of necessity) people are solving their own little problems using this crappy infrastructure.
5:15:11
beach
If only a tiny fraction of that effort were used to improve the infrastructure, we would be more productive and make more progress faster.
5:15:57
verisimilitude
It's rotten to the core, yes, beach; hopefully it will collapse under its own weight without taking down modern society.
5:16:52
verisimilitude
If you'd like to read some of my deeper thoughts on this topic, I'll provide you a link, djeis[m].
5:17:19
djeis[m]
I would actually, although I'm already pretty tired and may put that off until the morning.
5:19:13
beach
pillton: I'm not sure. But, for one thing, we need to improve what is taught at universities in their computer science programs. Currently, the teachers (despite having PhDs) are not qualified to do that work. They just don't have the depth of knowledge required to have an opinion about what is being taught.
5:19:43
akoana
beach: Thank you for the CLOSOS pdf, I downloaded it - interesting view of Unix and a LispOS, after a first glance
5:19:51
verisimilitude
This article, as all of my others, really should be rewritten and added to, but it's a decent glimpse into my thoughts, anyway.
5:20:52
beach
akoana: Glad you like it. I also recommend "the Unix haters handbook". Initially I thought it was written by ignorant people, but it is written by people who are avery smart and very knowledgeable so it has a lot of wisdom in it.
5:22:18
verisimilitude
While I'm at it, have you read what Erik Naggum had to write on these topics, akoana?
5:22:51
akoana
beach: I think the writers of the "the Unix haters handbook" had a vision how it could be better.
5:23:18
beach
akoana: It is worse than that. They knew what they had and saw things getting worse. Much worse.
5:23:52
beach
akoana: That is the sad part. We knew how to do it better, but with Unix, that knowledge was lost.
5:24:01
akoana
verisimilitude: I read almost all of Erik Naggum's postings at XachX site, he was an amazing and a bright mind.
5:26:01
akoana
beach: That what me makes love (and has me attracted to) Common Lisp, security of ones own programming efforts, not having to re-write because of incompatible changes in the programming language
5:27:12
akoana
beach: and I like to read smart peoples code, and there are a lot of them using Common Lisp.
5:28:27
beach
True. Or, rather, the proportion of good to bad code is probably better in Common Lisp than in other languages, because the unusual language filters away some of the really bad programmers. Just a hypothesis of mine. No scientific proof.
5:30:50
djeis[m]
verisimilitude: Certainly some interesting ideas, although I suspect I'm too tired to really appreciate them. I'll have to discuss this further with you at some point. My first thought is the interesting bits of custom notation trickery that you can get up to in some existing PLs. My other thought is how awkward typing really customized notation can get, although that may just be an input method issue. Unfortunately I have to
5:30:50
djeis[m]
vanish for the night though, I have an early morning and am already pretty exhausted.
5:31:54
verisimilitude
In any case, yes, let's discuss this later; I'm glad you found it interesting.