@ramin_hal9001
As a #Zig fan, and also unhappy about NIH, yours is a very sobering take. I guess you imply that only code to bootstrap a higher-level language should be written in a lower-level language and #PreScheme is enough for that. But what do you typically use for everything on top of that?
@louis@emacs.ch @craigbro
> #Scheme on top of #PreScheme
Ah, you are a minimalist that way. Sort of what #Squeak #Smalltalk does with its VM development (based on C). I'd want the high-level language to do heavy-lifting, so maybe #LispFlavouredErlang on top of PreScheme.
> OS in PreScheme and Scheme
GNU Mes and #Guix must be on that track.
@louis@emacs.ch @craigbro
> "I guess you imply that only code to bootstrap a higher-level language should be written in a lower-level language and #PreScheme is enough for that. But what do you typically use for everything on top of that?"
@tetrislife yes, that is what I am implying. PreScheme is a subset of Scheme without garbage collection or closures (object), but it provides enough to define a garbage collector and closures, and so you can define a Scheme programming language implementation on top of it. The Scheme48 compiler was designed this way.
As for what to use for everything else on top of that, I would use just the ordinary Scheme programming language. I would love it if some day I could write a whole operating system using just Scheme and PreScheme.
@louis @craigbro