Building the CMUCL Common Lisp implementation from source has always been an arcane process. Building from source the CMUCL-derived SBCL is as simple as executing `sh make.sh`, a testament to the great work its developers did.
I use #sbcl and rlwrap for a simple repl.
I just have been figuring out code loading (load ...).
I found that you can set *default-pathname-defaults* to my current directory (with a trailing slash) , and then (load "some-lisp-file") successfully.
Before this I was having to put the full path.
@pkw @jns @jasmaz @SDF @fstateaudio
definitely sdf commode chat but I will also have ~chat irc open. I should probably be in #lisp #clim #ecl #sbcl ##lispm on liberachat, but it's hard for me to be in three places at once and I seem to often lose my connection to liberachat. If *you* are there you are welcome to remind them the lispy gopher show is happening ( #lisp is a great fountain of technical advice and commentary ). I think @rwxrwxrwx and @jackdaniel are usually over there.
@SDF @AlgoCompSynth @synthember @kentpitman @prahou
+ #lisp topic
- @amszmidt reading @hayley about the #sbcl garbage collector (note the new sbcl has a new improvement as well)
@fstateaudio @SDF @kentpitman
@nutilius and I are talking about slash trying to remember what was necessary for the #sbcl build of the #openbsd makefile for aarch64.
There's also this thread about defvar + defparameter vs :package-inferred-system I would love to hear from more people about by @louis https://hachyderm.io/@lispegistus/110878677659149708
Some current (lispworks/but standardised) #CLIM tutorials https://kantz.com/clim-primer/index.htm
@TheGibson 's #veilid https://veilid.com launched 5 days ago
I just found a very interesting #CommonLisp project which shows how to extend the LOOP macro: https://github.com/Gleefre/loop-continue
It was added to Ultralisp.org recently.
This code should work on #SBCL, #CLASP, #ALLEGRO, #ABCL and #ECL implementations.
#commonlisp #sbcl #clasp #allegro #abcl #ecl
May I point you to https://www.glitzersachen.de/blog/2023-04-09_sbcl-script-1.0.1.html?
Why is pgloader so much faster?
https://tapoueh.org/blog/2014/05/why-is-pgloader-so-much-faster/
#postgresql #lisp #database #mysql #commonlisp #SBCL #ClozureCL #SQLite
#postgresql #lisp #database #mysql #commonlisp #sbcl #clozurecl #sqlite
My fickle attention has been captured by the #lem editor. An #emacs- ike editor implemented in #commonlisp. I've already contributed a couple of small changes, now I'm deep in to refreshing my common lisp knowledge.
There's a lot to learn about lem before I can do much useful. it has great cross referencing of functions, but I need to figure out to add the #sbcl tags as well.
lem uses #CLOS, but not as extensively as I would have thought. Which is probably smart.
#lem-editor
#lem #emacs #commonlisp #sbcl #clos
@svetlyak40wt it was new to me as well. I guess the ASDF operation 'TEST-OP 's use of #:FIASCO requires a minimum ASDF version? That :depends-on appears twice as well.
I fixed the problem with #ECL in the mean time. This line in cl-buchberger/src/polynomial.lisp:
:for v := (make-array (length variables) :element-type '(integer 0))
initialises to #(0 0 .. 0) in #sbcl and #(nil nil .. nil) in #ecl . It can be fixed in both by specifying the :initial-element '0 make-array key.
Are both allowed?
@Elizafox Yeah, #SBCL & #CCL (#CommonLisp implementations) were what I was thinking of when writing that.
SBCL has its FASL for modular loading.
The various #Smalltalk also have similar things iirc.
Come to think of it, #Guile #Scheme has something fairly similar too, depending on if you count bytecode compilation (I would).
#sbcl #ccl #commonlisp #smalltalk #guile #scheme
@lispi314 @dekkzz76 @aphistic @jacqueline
in this case I think it is best to OPTIMIZE for #sbcl as per the #cmucl definitions of optimize levels. These are incredibly useful, such as using the optimize space level to turn on and off function inlining in compilation. To my knowledge these are still only detailed in the CMUCL manual.
Hence not defining what these do allowed them to have contextually very important abilities attached to them, in which case (as with all things) SBCL is de facto
@aphistic @jacqueline They should rewrite it in #CommonLisp.
Nowhere near the effort of writing it in C or Rust, but on #SBCL just switching on (declare (optimize (speed 3))) in a hot code path and addressing the low-hanging fruits for type-based optimizations (which the compiler helpfully tells you when evaluating/compiling the code with the speed declaration active) can get you within a magnitude of the other two's performance with barely any effort.