Live data from Hacker News

Hoot: Scheme on WebAssembly

spritely.institute

21–30 of 49 posts

Re: Hoot: Scheme on WebAssembly

#21

I love this so much! It got me thinking about the future we’re heading towards, that took me down a rabbit hole. As agents become the dominant code writers, the top concerns for a “working class” programming language would become reducing errors and improving clarity. I think that will lead to languages becoming more explicit and less fun for humans to write, but great for producing code that has a clear intent and c…

I have been wondering what an AI first programming language might look like and my closest guess is something like Scheme/Lisp. Maybe they get more popular in the long run.

LLM's are mainly trained on English natural language text, so you'll want a language that looks as much as possible like English. COBOL is it, then.

Re: Hoot: Scheme on WebAssembly

#23

Earlier quoted context omitted.

I have been wondering what an AI first programming language might look like and my closest guess is something like Scheme/Lisp. Maybe they get more popular in the long run.

Smalltalk offers several excellent features for LLM agents: - Very small methods that function as standalone compilation units, enabling extremely fast compilation. - Built-in, fast, and effective code browsing capabilities (e.g., listing senders, implementors, and instance variable users...). This makes it easy for the agent to extract only the required context from the system. - Powerful runtime reflectivity and ea…

If someone wants to try it out, both Glamorous Toolkit and plain Pharo have tooling that allows integration of both local and remote LLM services.

Some links to start off with:

https://gtoolkit.com/

https://github.com/feenkcom/gt4llm

https://pharo.org/

https://omarabedelkader.github.io/ChatPharo/

Edit: I suppose the next step would be to teach an LLM about "moldable exceptions", https://arxiv.org/pdf/2409.00465 (PDF), have it create its own debuggers.

Re: Hoot: Scheme on WebAssembly

#24
It's fascinating how much development's occurring in Guile recently. Unfortunately, a lot seems to be ex-Racketers moving over. The splitting of community effort's sad (particularly as Guile e.g. greatly lags Racket performance or lacks nice libraries like Gauche).

Re: Hoot: Scheme on WebAssembly

#25

I love this so much! It got me thinking about the future we’re heading towards, that took me down a rabbit hole. As agents become the dominant code writers, the top concerns for a “working class” programming language would become reducing errors and improving clarity. I think that will lead to languages becoming more explicit and less fun for humans to write, but great for producing code that has a clear intent and c…

I have been wondering what an AI first programming language might look like and my closest guess is something like Scheme/Lisp. Maybe they get more popular in the long run.

I think the bitter lesson has an answer to that question. The best AI language is whichever one has the largest corpus of high quality training data. Perhaps new language designers will come up with new ways to create large, high quality corpi in the future, but for the foreseeable future it looks like the big incumbents have an unassailable advantage.

Re: Hoot: Scheme on WebAssembly

#26
post #25

Earlier quoted context omitted.

I have been wondering what an AI first programming language might look like and my closest guess is something like Scheme/Lisp. Maybe they get more popular in the long run.

I think the bitter lesson has an answer to that question. The best AI language is whichever one has the largest corpus of high quality training data. Perhaps new language designers will come up with new ways to create large, high quality corpi in the future, but for the foreseeable future it looks like the big incumbents have an unassailable advantage.

Perhaps the opposite: a language small enough that its entirety can easily be stuffed in context.

Re: Hoot: Scheme on WebAssembly

#27

Earlier quoted context omitted.

Guile has lots of libraries though, and is the language of Guix. This makes it more likely for people to package their stuff via Guix. Guix itself enriches the ecosystem, and Guile projects can use Guix to make them reproducible. A few problems remain though. A good debugger, a good macro expander (geiser in Emacs is able to expand somehow), and solving the issues with R6RS library syntax and standard library binding…

> Guix itself enriches the ecosystem Except that ecosystem Guix provides is not on Windows nor MacOS, making a serious limitation to anyone who wants to develop guile on those platforms. I support GNU's mission in general, but I find it ironic that when they push freedom of choice you're forced to make the "right" choice or you're left twisting in the wind.

[deleted]

Re: Hoot: Scheme on WebAssembly

#28
post #24

It's fascinating how much development's occurring in Guile recently. Unfortunately, a lot seems to be ex-Racketers moving over. The splitting of community effort's sad (particularly as Guile e.g. greatly lags Racket performance or lacks nice libraries like Gauche).

I'm happy for Guile to be getting more attention, but wouldn't write off Racket. A few quick thoughts...

* The recent Guile work on WASM is promising. (Note also Jens Axel Soegaard's recent work on WASM with a Racket-related compiler.)

* Racket's rehosting atop Chez seems like a good idea, and I'd guess that the Racket internals are now easier to work with than Guile's.

* Racket has done a lot of great work, and is a nice platform for people who can choose their tools without worrying about employability keywords for their resume. It made some missteps for broader adoption when it had a chance, and several of the most prominent industry practitioner contributors left.

* Racket still has the best metaprogramming facilities, AFAIK. But even more important than `syntax-parse` and `#lang`, one thing I'd really like from Guile and other Schemes is to support Racket's module system.

(I really like the ability to define Racket submodules inline, in fragments, for things like embedded unit tests https://docs.racket-lang.org/overeasy/> and embedded API docs https://docs.racket-lang.org/mcfly/>.)

(I also wanted to play with Racket's module system for PL research compilers: having early compiler implementation for a new language first expand into Scheme code, and then later (with submodules) also do native/VM code generation, while keeping the option to still expand to Scheme code (for better development tools, or for when changing the language). For example, imagine targeting a microcontroller or a GPU.)

* Right now, any Scheme is for people who don't have to do techbro/brogrammer interviews. The field has been in a bad place for awhile, professionalism-wise, and the troubled economy (and post-ZIRP disruption of the familiar VC growth investment scams) and the push to "AI" robo-plagiarism (albeit with attendant new investment scams) are suddenly making the field worse for ICs.

Re: Hoot: Scheme on WebAssembly

#29
post #28
post #24

It's fascinating how much development's occurring in Guile recently. Unfortunately, a lot seems to be ex-Racketers moving over. The splitting of community effort's sad (particularly as Guile e.g. greatly lags Racket performance or lacks nice libraries like Gauche).

I'm happy for Guile to be getting more attention, but wouldn't write off Racket. A few quick thoughts... * The recent Guile work on WASM is promising. (Note also Jens Axel Soegaard's recent work on WASM with a Racket-related compiler.) * Racket's rehosting atop Chez seems like a good idea, and I'd guess that the Racket internals are now easier to work with than Guile's. * Racket has done a lot of great work, and is a…

> write off Racket

I wrote that Guile "greatly lags" Racket.

Post reply on HN