louis, to random
@louis@emacs.ch avatar

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.

#sbcl #els2024 #commonlisp

dziban, to random
@dziban@functional.cafe avatar

Yesterday session to bring quicklisp/ultralisp/git together with for development and deployments with NixOS was very fruitful.

One of the main problems with deployments is that you need a matching SBCL version and glib version for them to work. Nix can be a solution to that but it has a very sad story for common lisp dependency management.

Maybe something will come out of it. Currently I have an autogenerated flake with all of ultralisp and a lispDerivation function that creates a derivation and pre-compiles the fasls given the lisp implementation you wanna use.

louis, to Lisp
@louis@emacs.ch avatar

Registrations for the European Lisp Symposium are now open.

May 6th - May 7th 2024, Vienna

https://european-lisp-symposium.org/2024/

And also

4th-5th May, same location, SBCL25:

https://sbcl.org/sbcl25/

tca, to Lisp
@tca@genart.social avatar

Solved!

>> sbcl --dynamic-space-size 6144

thomasottio, to emacs

Ok, so I installed on my Macbook. I'm trying to learn so what do I do now?

🦌 🔦

dekkzz76,
@dekkzz76@emacs.ch avatar

@thomasottio

as an user you have effectively 2 choices

1 - Learn the emacs dialect of lisp called , to get you started there are docs & a simple tutorial via C-h-i [just scroll down & look for Elisp & Elisp intro]

2 - Learn a dialect of Common Lisp [] such as , or there is the famous MIT course based on

qhBidG3d, to random
@qhBidG3d@emacs.ch avatar

Hello everyone,

I wanted to share a comprehensive cloud-init YAML file that I've put together
for setting up a robust server environment. It's tailored towards creating a
secure, user-friendly, and developer-ready setup right from the get-go. Here's
a glimpse of what it covers:

Locale, Keyboard, and Timezone Configuration: Sets up the basic locale,
keyboard layout, and timezone for the system.

User and Group Management: Creates system and regular users, assigns them
to groups, and sets up sudo and SSH key authentication.

Package Management: Installs a range of essential and useful packages,
including fail2ban, ufw, nginx, certbot, sbcl, emacs, git, and many more.
It also handles automatic package updates and upgrades.

Security Enhancements: Configures SSH, ufw firewall, and fail2ban for
better security.

Nginx Setup: Sets up Nginx with a reverse proxy and SSL using Certbot.

Git, SBCL, SLIME, and Quicklisp Setup for User: Sets up a ready-to-code
Lisp environment for the user.

I believe this setup can save a lot of time and ensure a solid foundation for
anyone looking to deploy applications or development environments on cloud
instances. It's especially geared towards those who prefer a Lisp-friendly
environment.

https://git.sr.ht/~marcuskammer/cloudinit/tree/main/item/sbcl-nginx.yml

Feel free to use, modify, or suggest improvements to this setup. I'm open to
feedback and would love to hear your thoughts or experiences with similar
setups. Let's make server setup a breeze!

dekkzz76, to random
@dekkzz76@emacs.ch avatar
louis,
@louis@emacs.ch avatar

@dekkzz76 Adding some more notes: the project I've migrated from Go to Common Lisp resulted in 50% less code (not using any macros!).

Also, since I've developed it entirely in LispWorks, I did some tests with other implementations and it worked in SBCL and ECL out of the box (CLISP didn't work because bordeaux-threads doesn't support it).

Here are the runtimes:

SBCL:
Evaluation took:
9.755 seconds of real time
1.033166 seconds of total run time (0.968865 user, 0.064301 system)
[ Real times consist of 0.019 seconds GC time, and 9.736 seconds non-GC time. ]
[ Run times consist of 0.019 seconds GC time, and 1.015 seconds non-GC time. ]
10.59% CPU
144 lambdas converted
1 page fault
100,349,712 bytes consed

ECL:
real time : 83.908 secs
run time : 29.092 secs
gc count : 4 times
consed : 662005840 bytes

(sort of disappointing)

LispWorks:
User time = 2.220
System time = 0.118
Elapsed time = 9.028
Allocation = 60406728 bytes
1620 Page faults
GC time = 0.009

It seems LispWorks is the clear winner in terms of runtime/memory usage.

WetHat, to Lisp
@WetHat@fosstodon.org avatar

Mark Watson (@mark_watson) wrote this to introduce to developers who already know how to program in another language. If you are a complete beginner, you can still master the material in this book with some effort.

https://leanpub.com/lovinglisp/read#leanpub-auto-why-did-i-write-this-book

rml, to Lisp
@rml@functional.cafe avatar
amoroso, to Lisp
@amoroso@fosstodon.org avatar

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.

reddit_lisp, to random Japanese
@reddit_lisp@mstdn.jp avatar

SBCL.org website down? | http://redd.it/16856bo

screwtape, to Lisp
@screwtape@mastodon.sdf.org avatar

y show at 000UTC Wednesday (about 18 hours from now) on @SDF
lively chat will be as always in sdf.org chat (I'll be in ~chat irc too)

screwtape,
@screwtape@mastodon.sdf.org avatar

@SDF @AlgoCompSynth @synthember @kentpitman @prahou

  • @amszmidt reading @hayley about the garbage collector (note the new sbcl has a new improvement as well)
nytpu, to random

New garbage collector just dropped: https://www.sbcl.org/news.html#2.3.8

screwtape, to Lisp
@screwtape@mastodon.sdf.org avatar

y show in about 3 hours at 000UTC Wednesday on https://anonradio.net:8443/anonradio by @SDF

screwtape,
@screwtape@mastodon.sdf.org avatar

@fstateaudio @SDF @kentpitman
@nutilius and I are talking about slash trying to remember what was necessary for the build of the 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) tutorials https://kantz.com/clim-primer/index.htm

@TheGibson 's https://veilid.com launched 5 days ago

louis, to emacs
@louis@emacs.ch avatar

Found a new video series on building a tiny HTTP library in Common Lisp from
Philip Bohun:

https://www.youtube.com/watch?v=xVNOdVxA3DE

He is using and .

thephoeron, to github
@thephoeron@functional.cafe avatar

Today I also officially forked so I can transform my constant complaining into contributing. Officially.

Might as well put to work for the whole community, right?

thephoeron, to Lisp
@thephoeron@functional.cafe avatar

I totally forgot about my fresh cup of coffee while composing the first of many bug reports for for like 2 hours, and I’m only half way through the report

You’re damn right I knocked back that manky coffee anyway

screwtape, to Lisp
@screwtape@mastodon.sdf.org avatar


extensible string paste0 utility image.
It's been a while since I've used lisp to create utilities for shells, rather than replacements so I am very interested in feedback and commentary about this usage.
@nutilius @svetlyak40wt @surabax @louis @lispi314
. It seems convenient to me, but my opinion on it is kind of abstract...
https://gopher.tildeverse.org/tilde.institute/0/~screwtape/203652471-sbcl-shell-paste.txt
gopher://tilde.institute/0/~screwtape/203652471-sbcl-shell-paste.txt

louis, (edited ) to badminton
@louis@emacs.ch avatar

Setup a simple HTTP server from stdlibs that responds with a simple "Hello, World" string, no logging.

10s load test run on MacBook Pro M1 (using hey).

LispWorks 8 (Hunchentoot): ~11k req/sec
Racket 8.9: ~15k req/sec
Clojure 1.10 (httpkit): ~28k req/sec
Janet 1.29: ~35k req/sec
SBCL 2.3.4 (Hunchentoot): ~44k req/sec
Go 1.20: ~120k req/sec

mousebot, to Lisp
@mousebot@todon.nl avatar

does the version of actually run?

acousticmirror,
@acousticmirror@post.lurk.org avatar

@mousebot I gather it was , so it would most likely run, yes.

jacqueline, to random
@jacqueline@chaos.social avatar

46k outgoing a month, 12k active users... so like $3.80 per active user in running costs?

4.85k on CDN a month, to move 20 TiB of data... 3.8GiB of bandwidth per dollar.

cohost are doing are really great job of reinforcing my pre-existing belief that "the cloud" is just a huge fucking scam.

lispi314,
@lispi314@mastodon.top avatar

@aphistic @jacqueline They should rewrite it in .

Nowhere near the effort of writing it in C or Rust, but on just switching on (declare (optimize (speed 3))) in a hot code path and addressing the low-hanging fruits for type-based optimizations can get you within a magnitude of the other two's performance with barely any effort.

dekkzz76,
@dekkzz76@emacs.ch avatar

@lispi314 @aphistic @jacqueline

is that standard lisp or specific?

screwtape,
@screwtape@mastodon.sdf.org avatar

@lispi314 @dekkzz76 @aphistic @jacqueline
in this case I think it is best to OPTIMIZE for as per the 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

ramin_hal9001, to random
@ramin_hal9001@emacs.ch avatar

I just built and installed ECL (hompage) onto my computer, and after playing around with it for only a few minutes, I am quite impressed with it!

  • First off, the entire installation is only 40 MB, so this is definitely one of the more compact Common Lisp implementations I have ever seen.
  • It emits C code, native shared libraries, native static libraries, and native executables.
  • It uses libffi for C interoperability.
  • It provides ASDF, and the ability to install packages from QuickLisp
  • It implements Lisp standard processes on top of Pthreads
  • It provides some bindings to Qt4 for GUI programming
  • It implements all of CLOS

All of that in just 40 MB (not including Qt, which you need to install separately). The only drawback so far is that the documentation has some gaps in it.

But I definitely want to play around with some more. The trouble is most Common Lisp packages written nowadays only support SBCL. I would like to see how much of the Common Lisp ecosystem I can actually use through ECL. I wonder if I could maybe port something like the Lem text editor over to ECL instead of building it with SBCL, but that might prove impossible.

Anyway, my overall impression right now is that I have a very lightweight but powerful Common Lisp compiler at my disposal now that can easily be embedded into any C program I want, which is very exciting!

Thanks to @screwtape and @rml and @louis for turning me onto ECL!

louis,
@louis@emacs.ch avatar

@ramin_hal9001 @screwtape @rml Thank you so much for sharing your first experience with . I'll definitively try to work more with it.

has a great developer experience especially the type checking etc. Let's see how ECL is doing in this regard.

louis, to random
@louis@emacs.ch avatar

TIL Tail call optimization is the default in most modern Common Lisp implementations. It is not a Scheme exclusive any more (I was under the impression...).

But, how do I find out, in SBCL for example, that I do a proper TCO function call?

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • thenastyranch
  • magazineikmin
  • InstantRegret
  • GTA5RPClips
  • ethstaker
  • Youngstown
  • everett
  • slotface
  • osvaldo12
  • rosin
  • mdbf
  • kavyap
  • DreamBathrooms
  • megavids
  • ngwrru68w68
  • Durango
  • modclub
  • cubers
  • khanakhh
  • Leos
  • tacticalgear
  • cisconetworking
  • vwfavf
  • tester
  • anitta
  • normalnudes
  • JUstTest
  • All magazines