tgbugs
2021-4-27 17:34:09

So what I glean from this is that Racket is basically the combination of Henry Baker’s greatest hits and an April fools joke that escaped the lab and gone on the generate hundreds of papers.


rokitna
2021-4-27 20:07:52

I don’t know all that you might be insinuating, but I don’t think of Racket’s local definition systems as a joke.


ronsider2
2021-4-27 20:16:04

@ronsider2 has joined the channel


tgbugs
2021-4-28 00:07:18

what was considered to be a prank on the implementers in 1986 has been realized today, so definitely no longer a joke as a result of enormous amounts of work, but the difficulty of implementation issues remain, which is what inspired many of the original responses


samth
2021-4-28 00:18:24

I don’t think anyone considered it a prank on implementors even in 1986


tgbugs
2021-4-28 00:40:00

ah I see the This issue has been beaten to death and it was (& is) in poor taste for me to inflame old wounds again. down thread


samth
2021-4-28 00:41:06

People certainly disagreed as those posts indicate, and Guy indicates that there was similar disagreement on the Common Lisp committee


samth
2021-4-28 00:41:31

I think mostly for the same reasons discussed in this thread


rokitna
2021-4-28 00:55:53

Ah, the history of this is all new to me, and I haven’t (yet) read further into those threads than the two emails that were linked directly. I guess I’ve been retreading ground, so I should look into it some more. :sweat_smile:


samth
2021-4-28 00:58:49

I think rrrs-authors is extremely interesting to read, but you’ve definitely already thought more deeply about this issue than those emails


rokitna
2021-4-28 02:29:00

I appreciate hearing that. I’ve had to go back to the drawing board on this a number of times over the years, and it’s still basically vaporware, but I probably wouldn’t even be thinking about it if Racket’s approach didn’t serve as an example. Given the influences I’m able to build upon, there’s probably no way to compare what I’m doing to what was going on in 1986.

I think the similarity that stands out to me is the thought that I’m not the only one who sees local define as a source of complexity. I identify it as a source of complexity basically because I want it to work in a different way, and in order to get that to make sense, I’ve had to refactor a lot of the complexity that Racket has built up around it. Outside of some corner cases, it’s hard to say that I’m even building something simpler, just opting for the same level of complexity in a different arrangement. So I don’t think I’d exactly call Racket’s local define a mistake or a prank, and I’m glad it’s been explored as far as it has in Racket, but I also think people who opt for let are probably saving themselves some grief.