#TIL that #Scheme and #CommonLisp append function can return non-lists! And no, I'm talking or neither symbol NIL nor throwing errors. See for yourself in your favorite REPL:

(append '() 'a)
;; => A

This (appending empty list to a non-list last argument) is wild historic shit that doesn't really make sense to me. But I'm not sure how I'd behave in this situation either. Error out?

for example, and largely inspired by #Diceware, i made this lookup program: https://codeberg.org/senchawizard/diceware-lookup. why #CommonLisp? because i could, that's why!
diceware-lookup

A key, value lookup program when given a two column CSV file.

Codeberg.org

This is a nice read by @svw which trues to compare the speed of dot product calculation in Python, R and #CommonLisp.

I was surprised why `sum(a*b)` is slower than looping through the elements and calculate the dor product in base R 🤔.

https://stewart123579.github.io/blog/posts/code/calculating-a-dot-product/#python-vs-dot-r-vs-dot-lisp-timing

#Rstats

Calculating a DOT product

You can get high speed, numerical calculation output without having to resort to bug-prone, highly tuned and optimised, unreadable code.

SVW Thunk'd

https://screwlisp.small-web.org/cl-series/intern-everything/
Short article #clseries #lazyEvaluation #efficient #commonLisp #lisp . Just an example of using series to in-place alter a nested list by acting on its scanned fringe, incrementally in a repl.

(defparameter *list* '((a 1 b 2) (3) 4 (((c)))))
*list*
(require :series)
(series::install)
(scan-lists-of-lists-fringe ***)
(#Mformat (series nil) (series "~a") *)
(#Mintern *)
(alter *** *)
(series::install :remove t)
*list*

Oh that's actually the whole thing (- explanation)

Common lisp cl-series macro package recursively intern list fringe as symbols

@simon_brooke

Agreed. #CommonLisp on Android (#cl_repl) is capable and plenty fast enough on a Pixel 8a running your factorial code. 😎

You can make CL faster than the C/C++ used by NumPy: https://stewart123579.github.io/blog/posts/code/calculating-a-dot-product/#python-vs-dot-r-vs-dot-lisp-timing

@alwayscurious @vashti

#lispyGopherClimate with @ramin_hal9001 and Kent Pitman
https://communitymedia.video/w/xnUY9Z6koSooVQUHradmwj archive

@kentpitman 's https://www.nhplace.com/kent/Writing/A-Christmas-Peril.html read by yours truly. https://screwlisp.small-web.org/

@pkw points out when people ask why #commonLisp #software they would know, (US DOE's) #maxima CAS is in openbsd base ports and literally everywhere else.

My Kitten plans viz @aral 's https://kitten.small-web.org/tutorials/layout-components/#markdown-fragment-md fragmented markdown knowledge

#eev #irc on libera - @eduardoochs https://anggtwu.net/2025-badly-behaved.html

conditions?
#lambdaMOO

A great read for the whole family this holiday season: a three hour debate on the metaphysical properties of NIL. Stay cozy

https://paste.sr.ht/~zyd/41fdb2667a4d5ffcfefdc22c7a2850dd473285c0

#lisp #commonlisp

@screwlisp@gamerplus.org

You still use OpenBSD ?
I see that maxima is a base package, and it's running using ecl.


#openbsd
#commonlisp
#ecl

any suggestion for other simple programs to make 2d video games? i’ll look into Sketch next (Trial is too advanced for my needs) #CommonLisp
anyone has experience with trivial-gamekit (https://github.com/borodust/trivial-gamekit)? having troubles installing it (both methods) #CommonLisp
GitHub - borodust/trivial-gamekit: Simple framework for making 2D games

Simple framework for making 2D games. Contribute to borodust/trivial-gamekit development by creating an account on GitHub.

GitHub