This really gets at the issue with JavaScript in the age of AI: it’s just not a terribly statically verifiable language, and DOM work is incredibly prone to failing silently while the app itself is clearly not working. We’ve had to paper over it with TypeScript and frameworks that impose constraints just to stop several classes of bugs, and even then it doesn’t go terribly well. The flip side is that AI is making the…
A pure scheme web programming tool
11–20 of 29 posts
Re: A pure scheme web programming tool
#12Re: A pure scheme web programming tool
#13This really gets at the issue with JavaScript in the age of AI: it’s just not a terribly statically verifiable language, and DOM work is incredibly prone to failing silently while the app itself is clearly not working. We’ve had to paper over it with TypeScript and frameworks that impose constraints just to stop several classes of bugs, and even then it doesn’t go terribly well. The flip side is that AI is making the…
I read the "Why Scheme?" page and it looked entirely AI generated, inasmuch as the reasoning presented confused me, because it didn't make sense. It references homoiconicity as pretty much the only reason to do this, mentions Lisp once or twice, and then just sort of talks about AI not understanding HTML because it doesn't understand compiling.
But putting it under the prompt of "must pass compiler" makes an AI exactly as capable at the task of making websites as it is capable at the task of making correct programs in any language - which is to say that it can't be guaranteed. Which in turn puts into the question the whole purpose of this project, and particularly, why Scheme chosen at all? Why not Lisp? Why not C? Or Erlang? Or Clojure?
Re: A pure scheme web programming tool
#14Hoot[1] already exists and does a very good job of running scheme in web assembly. Everything Spritely is working on is pretty cool. 1: https://spritely.institute/hoot/
Re: A pure scheme web programming tool
#15Pretty slick it has Three.js built in. I've not sure I've seen that in a language before in the standard library.
Re: A pure scheme web programming tool
#16This really gets at the issue with JavaScript in the age of AI: it’s just not a terribly statically verifiable language, and DOM work is incredibly prone to failing silently while the app itself is clearly not working. We’ve had to paper over it with TypeScript and frameworks that impose constraints just to stop several classes of bugs, and even then it doesn’t go terribly well. The flip side is that AI is making the…
I don't understand this, if I'm honest. WebAssembly is the compilation target. It's a Scheme compiler for wasm, right? Why is it pretending to be a way to rewrite websites? Wouldn't that be a job for literally any possible language compiled to WebAssembly? I read the "Why Scheme?" page and it looked entirely AI generated, inasmuch as the reasoning presented confused me, because it didn't make sense. It references hom…
Re: A pure scheme web programming tool
#17This really gets at the issue with JavaScript in the age of AI: it’s just not a terribly statically verifiable language, and DOM work is incredibly prone to failing silently while the app itself is clearly not working. We’ve had to paper over it with TypeScript and frameworks that impose constraints just to stop several classes of bugs, and even then it doesn’t go terribly well. The flip side is that AI is making the…
Re: A pure scheme web programming tool
#18This really gets at the issue with JavaScript in the age of AI: it’s just not a terribly statically verifiable language, and DOM work is incredibly prone to failing silently while the app itself is clearly not working. We’ve had to paper over it with TypeScript and frameworks that impose constraints just to stop several classes of bugs, and even then it doesn’t go terribly well. The flip side is that AI is making the…
Re: A pure scheme web programming tool
#19Re: A pure scheme web programming tool
#201 Self hosting in browser with hygienic macros 2 handle HTML and CSS like Scheme (Expand with macro) 3 Use S-expr to send / receive message with server
At the top of the program you import Web Libraries. is it some standard Scheme web framework that you're using?
* ;; re-running this source bumps the generation; the old loop sees it ;; and lets go (js-eval "globalThis.__hero_gen = (globalThis.__hero_gen || 0) + 1") (define gen (js->number (js-get (js-global) "__hero_gen"))) (letrec ((tick (lambda _ (when (= gen (js->number (js-get (js-global) "__hero_gen"))) (frame!) (js-method (js-global) "requestAnimationFrame" tick))))) (js-method (js-global) "requestAnimationFrame" tick))
Is this the part where it is compiled?