libera/#commonlisp - IRC Chatlog
Search
6:27:21
pve
I finally managed to make a "DSL" that I feel actually saved me some time. After all these years.
8:32:09
jackdaniel
having lisp and mumbling are two distinct things, but both imply less intelligible speech
8:33:13
jackdaniel
(se there is a semantical connotation between both, and smalltalk is also about nomen omen talking)
8:34:07
hayley
"Squeak" is the sound a mouse makes, which is unrelated to small talk. I don't know what sound a pharo is meant to make.
8:35:33
jackdaniel
beach: word gamrs are not about being technically correct, at least that's what I think
8:52:31
pve
(I should mention that it was originally _death who suggested thmalltalk, credit where credit is due)
8:59:58
mfiano
The creator of Rust recently wrote an article about what he doesn't like about Rust, and I found this amusing (re: anonymous functions): "I really do dislike equipping it with environment capture and think it's a mistake"
9:05:22
jackdaniel
from their memory doctrine I can imagine that they are more fond of a static guarantees about programs
9:10:30
hayley
mfiano: Funny, as nested functions with names cannot capture the environment either. So that's a whole no environment capture whatsoever, in total.
9:11:42
Josh_2
"I don't really care either way about having such a literal syntax, but I really do dislike equipping it with environment capture and think it's a mistake," *shakes fist*
9:13:06
mfiano
He argues it's a mistake for systems languages with observable mutability. He then goes on to wish dynamic dispatch was not frowned upon
9:13:53
mfiano
I'm having a hard time understanding the direction he wanted to take it, as a systems language. It seems Lisp, without some features = not a systems language.
9:15:35
hayley
Well, I think ML is nice (though unpleasant without even simple refinement types, in my experience), and green threads are better than the alternatives.
9:15:35
Josh_2
How many people outside of the lisp community are even aware of lisp machines? let alone the capabilities of it
9:16:17
mfiano
those who were unfortunate enough to move to other languages when they lost their ai jobs
9:17:24
hayley
Lisp machines are popular for necrocomputing, though I have to remind people that compilers exist nowadays.
9:24:29
hayley
I read someone argue that, with the recent resurgence of Interlisp and the MIT Lisp machine software, Common Lisp should just be used for compatibility between the two. Which - though I appreciate progress in both projects, and don't mean to knock either at all - would be a step back, not least because neither implements the ANSI standard.
9:40:01
beach
scymtym: Have you had time to look at either the type-specifier or the lambda-list issues in the s-expression-syntax library?
12:55:11
beach
scymtym: Oh, I think we have a similar problem with the :USE option of DEFPACKAGE, where (:USE) is different from the absence of the :USE option.
13:25:39
jcowan
Does Chicken have any "system" threads that are created behind the scenes, like at startup?
13:26:21
scymtym
beach: yeah, :USE is already on my todo list. this is another case of tension between having s-e-s do work for the client (that is, aggregating the possibly multiple :USE options) and not hiding any information from the client. it seems :USE is another case in which the latter must take priority
13:26:55
scymtym
i worked on type-specifiers and lambda lists a little bit other things got in the way. i haven't forgotten about it
13:49:47
jcowan
hayley: I don't know what the story is on the CADR, but the *intention* of the Medley project is to support full ANSI Common Lisp alongside Interlisp. It's just that no one has the resources to make it happen at the moment.
13:50:54
jcowan
In the Very Old Days when I was actually being paid to use an Interlisp machine, I was writing Common Lisp (CLtL1 at that time). I still think it's the most comfortable environment I've ever been in for that purpose.
13:54:43
hayley
Right. And then there are non-standard things that people might expect, and that the emulators introduce an interesting slowdown on my code. Those also can be solved with resources. I only mean to say that some people get too giddy about Lisp machines.
14:00:12
hayley
jcowan: I really hope I don't sound like I dislike those environments. And I'm still waiting for CDR coding to come back into fashion.
14:01:25
jcowan
hayley: No, I realize that. And obviously the idea of CL as the Missing Link is silly nowadays, though the word "common" still shows that that was the original intention.
14:02:22
jcowan
Medley is seriously considering ripping out CDR-coding,, I'm sorry to tell you; memory is cheap, cycles are expensive (in relative terms, of course)
14:05:52
hayley
Cache memory is not so plentiful (okay - I say having two 32MB L3 caches in my desktop) and pointer chasing is hard to...superscalar-ise. I guess that's another word for jackdaniel to note down.
14:09:32
jcowan
It's also a matter of programming style: if you mutate lists much (or at least their cdrs) your cdr-coding will degenerate.
14:10:36
jcowan
I wrote a proposal for Kernel which never came to fruition. Kernel has two kinds of conses, mutable and immutable, where immutable lists can be laid out consecutively. (No actual Kernel implementation does this.)
14:11:04
jcowan
The proposal was to add a third type: "mutable car, immutable cdr", and these would take the place of vectors.
14:12:28
hayley
Sure. On stock hardware it seems that it's much easier to unroll (not quite cdr-coding, but not dissimilar) immutable objects, and immutability would also eliminate any issues surrounding concurrent modification.
14:12:38
nij-
Hello~ It's a bad idea to use list as a collection data structure. What would you use instead? Any de facto library?
14:13:35
jcowan
nij-: It depends what you want it to do, what the demands of your problem are, and what resources you have. For some things lists are optimal.
14:13:49
hayley
It depends on what operations you want, and what operations you want to be fast. And jcowan beat me to the rest of my message.
14:15:48
hayley
Appel and Shao wrote of a transformation to turn code which processes conses with one element into code which can process "cons"es with two elements, roughly speaking.
14:18:15
hayley
And you'd be out of luck if you wanted to RPLACD in the middle of a two-element cell.