This post is quite old but extremely interesting. It describes a 6502 assembler in Common Lisp for the NES game console.
The assembler has a Lispy design, which for example features lazy evaluttion for forward references and mini languages for control structures and audio output.
@screwtape Played your srclogos game! Really cool to see McCLIM in action. I really want to learn it.
I'm curious - how do you find McCLIM as a tool for making GUIs? Was it easy? I've heard that the model McCLIM uses is pretty different to how GTK/Qt approaches things.
Btw, you can just use (asdf:make :scrlogos/executable) instead of (asdf:operate 'asdf:build-op :scrlogos/executable) :p #commonlisp#gamejam#mcclim
I built a GUI for Insphex, my hex dump tool for Medley. This Common Lisp program calls Interlisp's window and menu facilities to send the output to a window with a command toolbar.
#springlispgamejam2024
Can people say nouns or noun phrases that could be fun drawing prompts for our game?
I've got:
cat
dog
tree
house
star
horsechestnut tree
larch
New Zealand beech
The #CommonLisp 'LOOP' macro is a data query language subsystem which provides an expressive way to collect data. Similar to #LINQ, which was introduced as part of #dotnet 3.5 18 years after 'LOOP'. The article below is from the depths of history (2005), but it aged well, is still relevant and fun to read.
I didn't realize ACM makes available the full-ish archive of the LISP Pointers journal SIGPLAN published from the late 1980s to the mid 1990s. It contains most of the papers of most of the issues, an historical treasure of practical value.
In this 1994 paper Richard Waters acknowledged the momentum of C and its implications for the Lisp ecosystem. He laid out a stretegy for the survival and growth of Lisp focused on the development of a critical mass of reusable software.
Three decades later the Lisp community has come a long way but, as Waters concluded back then:
"As long as we are a vibrant community [...] Lisp will hold its own."
TIL: Function designators in Common Lisp:
(funcall 'foo 0)
(funcall #'foo 0)
Both work, however, if there is a function named FOO in the lexical environment (i.e. via FLET/LABELS), #' (= FUNCTION) will use that while ' (= QUOTE) will always ignore the lexical environment.
👆 I posted the initial code and some notes on Insphex, a new hex dump tool in Common Lisp I'm writing under the Medley Interlisp environment. The program is similar to the Linux command hexdump.
It's now available the paper of the Medley talk Andrew Sengul gave at the European Lisp Symposium 2024. It outlines the history of Interlisp, introduces the Medley revival project, and presents the main features and facilities of the environment.
@amoroso#lisp#interlisp#commonlisp
Thanks for the pointer! That's a very well written paper giving an excellent overview of the Interlisp revival project.
Petalisp is an attempt to generate high performance code for parallel computers by JIT-compiling array definitions. It is not a full blown programming language, but rather a carefully crafted extension of Common Lisp that allows for extreme optimization and parallelization.
Exciting news for SBCL users. A coroutine proof-of-concept was created during ELS after-hours in a pub :-) I for once hope, what happened in Vienna, doesn't stay in Vienna.