#sbcl

Vassil Nikolovvnikolov@ieji.de
2025-05-28

[#SBCL disassembly quirk?]

@simendsjo @screwlisp @ksaj @rwxrwxrwx @jackdaniel @aleteoryx

> someone starting disassemble in sbcl doesn't give exactly what sbcl will run, and that there will be extra instructions for type checking out similar

Any pointer or trail?
I'd rather not guess what exactly the whole picture may be.

(I read the second word as "stating" and the last but one as "or".)

#CommonLisp

vintage screwlisp accountscrewtape@mastodon.sdf.org
2025-04-15

I both was running late with the (admittedly complex) announcement and forgot to provide the anonradio.net:8443/anonradio link. If you could #boost ^ I'd be greatful

@kentpitman @prahou @pesco @dougmerritt @mdhughes @nosrednayduj @sacha @hairylarry

Also I will re: @hajovonta being totally right about #sbcl being high performance.

Karsten Johanssonksaj@infosec.exchange
2025-04-03

Lisp sucks. Tell me what's wrong here:

(DEFVAR x 0) ; GLOBAL BADNESS STAYS

(DEFUN dO-StuFf (NUMBer)
(LET ((rEsUlT 1))
(DECLARE (SPECIAL X)) ; THIS IS LEGAL HERE
(SETQ X NUMBER)
(TAGBODY
StaRT
(IF (< X 1) (GO ENDz))
(SETQ rEsUlT (* rEsUlT X))
(SETQ x (- x 1)) ; NOTE: STILL USING GLOBAL x INSTEAD OF LOCAL X
(GO StARt)
ENDz)
(pRiNt (lIsT 'FACtoRiAl-oF NUMBER 'iS rEsUlT))))

(DEFUN nOW-dO-AlL ()
(LET ((I 0))
(LOOP
(WHEN (> i 5) (RETURN))
(Do-sTUFF i)
(SETQ i (+ i 1)))))

(nOW-dO-AlL)

#commonlisp #lisp #sbcl #clisp @amszmidt @screwtape

2025-03-31

@glitzersachen

At guess:

* (equal #P"/tmp" #P"/tmp/")
NIL
* (equal (truename #P"/tmp") (truename #P"/tmp/"))
T

I think this is probably expensive, since truename has to touch the filesystem to figure out exactly what the pathname means?

#sbcl

2025-03-25

Had some fun tonight and learned a bit of SIMD stuff (using #SBCL), then used it to increase the performance of #Benben a little bit ^_^

2025-03-22

trolling chatgpt, asking it to provide an example of how to generate interface code from a dumb c++ class to #sbcl without external libraries

yep almost a quarter of a century after the y2k non-apocalypse 'state of the art' still cant figure out how to get good ol' c++ to play well 50+ yr old s-expression engines

Lukianos (Fabian)lukianos
2025-03-15

(ql:quickload "mcclim")
(ql:quickload "clim-examples")

(clim-demo:demodemo)

Fascinating. A Common LISP GUI library. Installed with Quicklisp on SBCL.

2025-03-14

@Regenaxer @borkdude @vindarel Thanks! Right, so my comparable in-REPL times for iterative factorial 1000 are

#PicoLisp: (bench (apply * (range 1 1000)))
0.000 sec
#Clojure: user=> (time (apply *' (range 1 1000)))
"Elapsed time: 2.428199 msecs"
#SBCL: CL-USER[1]: (time (apply #'* (alexandria:iota 1000 :step 1)))
Evaluation took:
0.000 seconds of real time
0.000015 seconds of total run time (0.000000 user, 0.000015 system)
100.00% CPU
45,990 processor cycles
0 bytes consed

#Lisp

Gene Pasquetetenil@toot.cat
2025-03-07

#common #lisp noob question: Is there a way to use libraries like Drakma on non-pthreaded implementations of #commonlisp? Bordeaux-threads fails to install on GNU Clisp or #SBCL on #NetBSD (too old?) and I'm not sure why it needs threading when I do simple one-after-the-other HTTP requests anyway!

Help please!

faried nawazfn@p.node.pk
2025-02-22

The operating system is a Debian trixie derivative. Out of the box, it has Firefox 131.0.2 and Xfce 4.18. apt-get install build-essential gave me gcc-14; other items in the repos: nodejs 20.17.0, emacs 29.4, golang 1.23. Elixir's still at 1.14.0 (aside: erlang won't get a JIT for RISC-V any time soon), Python's at 3.12, rustc 1.80.1 (but of course you can use rustup).

Anyway, on to some benchmarks. glmark2-es2 reports a score of 1714, which is surprisingly 38% higher than @geerlingguy 's benchmark of the HiFive Premier P550.

My real test is compiling sbcl; it's not in Debian or Ubuntu's repositories for RISC-V. I bootstrap it with GNU CLISP, and then rebuild it with itself, with sh ./make.sh --with-sb-doc --without-sb-thread. Unfortunately, I believe the build is single-core; I'm not sure if it's possible to use all the cores on my system for it.

Times to rebuild sbcl with itself, including modules:

Lichee Pi 3A (Ubuntu 24.04 derivative): 30 minutes
VisionFive 2 (Ubuntu 24.04):            20 minutes
Megrez (Debian trixie derivative):      12 minutes
Ryzen 9900x (Ubuntu 24.04):              1 minute

So, progress, but a long way to go.

(Incidentally, both the Megrez and my desktop have 6400 memory.)

#milkv #megrez #riscv #sbcl

Grigory Shepelevshegeley@fosstodon.org
2025-02-19

Built-in #linux #info documentation: #commonlisp (#sbcl) vs #scheme (#guile)

what I don't like about #cl comparing to #guile is lack of linux info documentation coming with the standard #guix `sbcl` package

I've tried looking for separate package with info doc on #sbcl, but coudn't find it. While #guile built-in guix documentation is very rich.

Maybe I'm not getting something? Help?

Gene Pasquetetenil@toot.cat
2025-02-18

I wanted to try #clisp instead of #sbcl yesterday. Turns out it's compiled without POSIX threads support in #debian, so no Bordeaux-threads and I'm too #lazy to recompile it...

#commonlisp #lisp

vintage screwlisp accountscrewtape@mastodon.sdf.org
2025-02-03

I wrote a better #medium #tutorial #article #parody of #python #programming #tutorials in which I hilariously misunderstood python to be a reference to #sbcl #commonLisp #lisp (heir to CMUCL python).

medium.com/@screwlisp/this-is-

I also address two fascinating medium trends I discovered.

1. The intense swapping-whispered-ghost-stories about lisp by scientist writers

2. Most articles named "Free Python Tutorial!" have no code, but links to purchasing training.

I eventually found "11 one-liners"

** iota
"counting numbers going up to _"
#+begin_src lisp
  (require :Alexandria) (alexandria:iota 10 :start 1)
#+end_src

#+RESULTS:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
2025-02-02

my current little joys besides my family and kids are. Books about #lisp, common lisp itself with #sbcl, #xfce , #linux #debian and old school server side rendered #web sites. And all the web standards there are like html css and js. We have come a long way to have those great tech that lasted so long. I'm really thankful for all those projects and effort that got into it. Please lets make those tools accessible for everyone and simple in design. All that comes after us will have a bad time if we embrace all this complex cloud and build tools to just build simple software. Software is made for humans not mashines. Thanks for listening stay safe enjoy life and the little things and all that is.

2025-01-31

🔥 🚀 #hackernews now runs on #SBCL

> I've been working on an implementation of Arc in SBCL which is much faster and also will easily let HN run on multiple cores. It's been in the works for years, mainly because I rarely find time to work on it, but it's all pretty close to done.

[dang, 2022]

> The production website of HN now runs on top of SBCL (I've got the confirmation from one of the moderators). It uses Clarc, an Arc implementation in CL.

[/u/lispm, 2025/01/31]

#lisp #commonlisp

Grigory Shepelevshegeley@fosstodon.org
2024-12-24

Hey, fellow #sbcl #commonlisp + #guix + #gtk developers/users: how do I fix "Typelib file for namespace 'Gtk', version '4.0' not found" error using
```
(propagated-inputs
(list
gtksourceview
sbcl-cl-gtk4
sbcl-cl-glib
gtk
(list glib "static")))
```
in my <package>.scm definition and `:cl-gtk4` `:cl-glib` in my `defsystem-depends-on`

Laurent Cimonclf@bsd.cafe
2024-12-04

I dove into the #SBCL #lisp compiler’s internals today for a course. It’s amazing what you can learn in a single day of research with a proper goal. Although a semester of compilation courses prepared me for this.

I think I’ll dive into the #FreeBSD kernel during winter break. I already know the structure as I’ve debugged my kernel a few times.

Alfred M. Szmidtamszmidt
2024-11-26

64 core monster, half a TB of RAM, NVME disks…. And takes 20 minutes to compile ( — I like you but you’re slow!)

2024-11-22

Having a little fun playing with sb-perf and tracking down some recursion that isn't exploding the stack.

It's the first time I've experimented with this toolchain but I haven't found it quite as helpful as a backtrace yet.

Screenshot of Firefox's profiler tool (https://profiler.firefox.com) examining linux perf output. It shows a viewport with many rows of progressively indented entries each showing the function names called by the examined Lisp process. Many are the same name indicating a program logic error.

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst