freenode/lisp - IRC Chatlog
Search
17:16:54
Xach
flip214: "alexandria" would get what you seek. i think someone has a PR for making it downcase by default.
20:18:47
nicklaf
I am reading the introduction to R5Rs, where the features that scheme introduced to lisp are enumerated
20:19:10
nicklaf
I would be curious to know if any of these features didn't make their way into common lisp
20:21:40
nicklaf
and then: "Scheme was the first major dialect of Lisp to distinguish procedures from lambda expressions and symbols..."
20:21:43
pfdietz
Scheme has guaranteed tail calls, CL does not. Scheme evaluates the operator position of an expression the same way as other positions; CL does not.
20:25:33
nicklaf
anyway i've been looking at some very early lisp code, and am unfamiliar with dynamic scope
20:26:04
nicklaf
and i was somewhat startled by the claim in R5Rs that scheme was one of the first languages to have first class procedures
20:28:57
pfdietz
"Most Lisps specify an order of evaluation for procedure arguments. Scheme does not." This difference from CL is, by itself, enough to consign the language to the depths of hell. :)
20:30:14
tfb
nicklaf: I think Scheme was one of the first implementations to have really coherent lexical scope, and you could argue functions are not first class without that
20:31:03
tfb
Lots of older lisps had dynamic scope in the interpreter and perhaps half of lexical scope in compiled code (so, yes, code behaved differently if it was compiled)
20:38:16
tfb
I think many people thought that dynamic scope was better (this seems odd now but I have heard this from people). But it's a bit hostile to any reasonable compilation strategy, so they compromised.
20:39:27
nicklaf
According to Paul Graham, there is a typo in Mccarthy's original 'metacircular' eval function, and graham blames it on dynamic scope
20:40:10
nicklaf
i think he might have said that it was because it was written before it was programmed :)
20:41:34
nicklaf
or, no, i was right the first time: "It's an eloquent testimony to the dangers of dynamic scope that even the very first example of higher-order Lisp functions was broken because of it. It may be that McCarthy was not fully aware of the implications of dynamic scope in 1960."
20:42:24
tfb
nicklaf: incidentally it looks like Standard Lisp (which is what I learnt, really) has just this weirdness: see http://user.ceng.metu.edu.tr/~ucoluk/research/lisp/generalinfo.html (the PDF report, p16)
20:45:51
tfb
I think it was also a lisp-1 (at least, something I used in that era was): lisp-1s with dynamic scope can be ... exciting, in bad ways
21:03:37
pfdietz
I have wondered if the scheme-ish approach of compiling with continuations would be useful for a CL compiler where one would want to be able to recompile functions even when they are on the current call stack (for example, if class definitions changed).
21:17:44
amerlyq
pfdietz: sounds like a good way to splash your brain matters over walls. Execute half of continuation, then recompile, and... continue from the middle of "somewhere"
23:30:20
Josh_2
Worked out how to do clicking with xlib thanks to this :) https://github.com/VitoVan/cl-dino/blob/master/cl-autogui.lisp
3:52:55
aeth
Josh_2: I got that, too, but on Gitlab. They all use the same Ruby package that has a really simple regex and for newlisp it's something like "define-" which is ridiculous because CL has define-condition and lots of custom macros
3:53:30
aeth
Josh_2: The workaround is to add a new .gitattributes file and have this be the one line: *.lisp linguist-language=Common Lisp
3:57:16
aeth
as far as I'm concerned, that's part of the mandatory CL git boilerplate now, along with e.g. a gitignore that ignores all of the FASLs