maxim_jaffe
2020-9-6 11:52:29

Does someone know of a tutorial on making a smalltalk-like language in racket?


soegaard2
2020-9-6 12:17:12

Not per se. But if you follow one of the other tutorials - and then look at an “how to implement objects” tutorial in combination.


soegaard2
2020-9-6 12:17:50

Have you seen the section on implementing objects in SICP? (and is it the same type of object system)


maxim_jaffe
2020-9-6 12:18:51

never got to it to be honest..!


maxim_jaffe
2020-9-6 12:19:00

Haven’t had the time :sweat_smile:


maxim_jaffe
2020-9-6 12:20:16

Maybe I’ll have a look, I’ve skipped some chapters in SICP and managed to understand some further on anyways (with the help of the MIT + Berkeley videos)! But in SICP they don’t really touch on classes though do they?


soegaard2
2020-9-6 12:21:39

maxim_jaffe
2020-9-6 12:21:40

I don’t know that one, which is it?


soegaard2
2020-9-6 12:22:26

Also Queinnec has written some papers on Objects: https://pages.lip6.fr/Christian.Queinnec/WWW/Objects.html


maxim_jaffe
2020-9-6 12:22:49

I started looking at his chapter in Lisp in Pieces


maxim_jaffe
2020-9-6 12:22:57

on Meroon


soegaard2
2020-9-6 12:23:06

That’s a good place to start!


maxim_jaffe
2020-9-6 12:23:08

Meroonet


maxim_jaffe
2020-9-6 12:23:10

actually


soegaard2
2020-9-6 12:23:39

maxim_jaffe
2020-9-6 12:23:49

But I was wondering how a more typical single-dispatch class-based language like smalltalk would be implemented using lisp


maxim_jaffe
2020-9-6 12:24:35

that’s a wide and deep rabbit hole :sweat_smile:


maxim_jaffe
2020-9-6 12:28:23

I’ll check it out thanks :slightly_smiling_face:!


samdphillips
2020-9-6 20:35:59

Here’s ~50 line core of an object language in Racket. No syntactic sugar. https://gist.github.com/samdphillips/5a15e6462bc737f2fee83935b900a634


samdphillips
2020-9-6 20:39:10

There are more interesting things that can happen with names that the Racket class language does that eliminates using special send and field access forms within class forms.


soegaard2
2020-9-6 21:01:04

@maxim_jaffe ^


robbiehk131
2020-9-6 22:43:04

@robbiehk131 has joined the channel


wanpeebaw
2020-9-7 02:43:02

Can you give an example? Wonder what it would look like.