tfw when you tell a schemer that your programming language's macro system is hygienic even though it fails to pass The Macro Writer's Bill of Rights, and they just hit you with that Indiana stare
also, the wise advice of not getting too attached to your favorite programming language doesn't apply to #scheme. this advice is wise primarily because your favorite programming language may develop a toxic community that you're powerless to change, but with scheme there are always other implementations to get involved in, and if you're driven to, you're free to start your own implementation. This applies to most dialects of #lisp, but to a lesser extent than scheme.
@w96k oh yeah for sure, sry for misunderstanding. languages without powerful macros are a dead end, and its still up for debate whether non-#lisp macro systems are worth enduring the complexity they cause.
Macro writer's bill of rights is still the standard any new #PL should have to meet if they want to introduce a macro system imo
I wrote Femtounit, a unit test framework for Interlisp, because I thought Medley had none. It turns out it does have a test system, but Femtounit is still a fun little learning project.
Shen is a portable #lisp like functional programming language with following features: Pattern Matching. Backtracking, Lambda Calculus Consistency, Lazy Evalution, Optional Type Checking, Configurable Type Rules, Integrated Logic Engine, Built-in Compiler-Compiler, Unique Macros, Currying, and also Partial Application
The decision to use Ruby for Mastodon was a poor choice, to put it mildly.
The diagram below shows relative energy consumption, with values normalized to the most efficient one. So C, as the most energy efficient, has the value 1.
The acronym for carbon dioxide removal is #CDR because the waste produced in the production process of a given commodity can be thought of as the "rest" of the commodity, and being that its waste and therefore an unordered set of things, to sort through it you must "cdr" through the waste, and the cost of doing this grows exponentially with the total magnitude of commodities produced.
In TXR 287 I fixed a bit of a gaping omission in TXR #Lisp. Parameter list macros are now recognized in the nested macro parameter lists, at any level of nesting.
Parameter lists macros are bound to keywords, and are invoked when those keywords are present inside a parameter list. They transform the parameters and the body of the function together.
The predefined :key parameter macro implements keyword arguments. The underlying TXR Lisp knows nothing about them.
λ Directly compiling Scheme to WebAssembly: lambdas, recursion, iteration!
➥ Spritely Institute
"we can now compile various Scheme procedures directly to WebAssembly. Let's clarify that: by compiling directly to WebAssembly, we mean they compile and run without any intermediate virtual machine. No C, no Rust, no Zig: Hoot outputs pure WebAssembly. It's early, but Hoot compiled programs are starting to work... and they're fast!"
"To implement all of #Lisp on a register machine, all we have to do is take the particular procedures of the [scheme] meta-circular evaluator, and hand translate them for a register machine, and thats all of Lisp."
"#Lisp has jokingly been called `the most intelligent way to misuse a computer'. I think thats a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts."
And a second look at the progress on my game for the #lispgamejam 2023. This is written in #chickenlisp#lisp and #sdl2; with #emacs naturally (in the background).