mastouille.fr est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.
Mastouille est une instance Mastodon durable, ouverte, et hébergée en France.

Administré par :

Statistiques du serveur :

594
comptes actifs

#scheme

1 message1 participant0 message aujourd’hui

J'adore les langages de la famille Lisp. Mais les gens qui les recommandent en se basant sur l'uniformité de la syntaxe uniforme qui simplifie tout racontent n'importe quoi : oui la syntaxe est uniforme, mais du coup c'est la sémantique qui varie à syntaxe identique... ce qui est sacrément ambigu ! 😋
#Lisp #Scheme #Racket

Naming and Logic: #Programming Essentials with Scheme is now available in #print at epubli:

epubli.com/shop/naming-and-log

»from your first define to deploying your application in 64 pages«

If you order now, it might arrive in time for the 42nd birthday of #GNU on Sep 27th 2025.

»Guile #Scheme is … the official extension language of the GNU project«

Maybe it’s for you, maybe for a friend who always asked why you think that lisp is special.

More info and sources (cc by-sa):
draketo.de/software/programmin

""
epubliNaming and Logic von Arne Babenhauserheide - Buch - epubliKaufe Naming and Logic als Buch direkt im epubli-Shop und Arne Babenhauserheide verdient ca. 70 % mehr. Jetzt unterstützen!

Going back to Python+Django from Guile+SXML I think what I miss the most is using SXML for the templates.

AFAIK, in Django you need HTML, the Django template language, and templatetags for GUI components, GUI filters and other helpers (I'm not using JS GUI frameworks).

In Guile Scheme, SXML is just s-expressions, you can use regular Scheme as a «template language». Procedures work nicely as GUI components...

Django is great, though, in general.

#django#gnu#guile

Hey, hey, the next RDE Meetup is on the way.
- Guile Debugger PoC.
- Project Documentation and the Next Actionable Steps.
- New Features of suitbl Testing Library.
- Niri - Next Default WM for RDE?

lists.sr.ht/~abcdw/rde-announc

September 18, 12:00 Paris Time. Please, let us now if you plan to come: cryptpad.fr/form/#/2/form/view

#guile#scheme#lisp

SSS (Supreme Sexp System) releases a feature-packed v3.4.8 ✨

codeberg.org/jjba23/sss

- #dracula palette perfected shown in the #screenshot
- experimental support for #catppuccin palette (#mocha and #latte)
- many improvements and quality of life added to this #gnu #linux quasi - #distro on top of #guix
- improvements to #gnus #email and to #nyxt #browser
- #maak file

SSS is a #rice 🖥️ 🍙 worthy of #unixporn and uses #guile #scheme #emacs #hyprland and more #ViernesDeEscritorio

Okay, I found Guile pattern matching and why haven't I looked into this before. So many cars and cdrs avoided with so much better readability :ablobcatheartsqueeze:

(If you haven't discovered the wonders of pattern matching in Guile Scheme, then please check the Pattern Matching part of the Guile Reference in Emacs (C-h i -> Guile Reference -> Guile Modules -> Pattern Matching) or at gnu.org/software/guile/manual/)

www.gnu.orgPattern Matching (Guile Reference Manual)Pattern Matching (Guile Reference Manual)
A répondu dans un fil de discussion

@indieterminacy Regarding #WASM: #hoot may already be able to provide a sufficiently full-featured REPL. Deployment of applications as WASM already works:

draketo.de/software/programmin

draketo.de/software/hoot.html

I started to integrate a web repl (see what wasm the article page imports ☺). Trying to follow spritely.institute/hoot/files.spritely.institute/embed (but that repl does not support (define (a . b) b) yet -- I need support for all examples in the book to use it)

www.draketo.deNaming and LogicVerstreute Werke von ((λ()'Dr.ArneBab))

I now integrated comments and tips and rechecked my whole #libre #book on #Guile #Scheme. Changes:

- debug with exceptions and backtrace
- profile your code
- note list-set! (and warn about mutating)
- leave out the `make help`; needed to save a page
- actually working #guix pack example
- got permission by the #FSF to use the quote on the cover

It feels like Naming & Logic is done:
draketo.de/software/programmin
draketo.de/software/programmin

In time for the 42nd birthday of #GNU :-)

@wingo @cwebber @fd9a @boo_ @hako @simendsjo

Question for #guile #scheme kings and queens.

I have a module A [(define-module A ….) ] and module B that's code-generated (not macros-way the writing strings to file way) that has [#:use-module A] statement in it.

At some procedure part of module A I want to import and use one variable from module B. I want it to happen only EXACTLY when this branch of code is called.

Is that even possible? Circular dependency = ⚰️ ?

@abcdw I was realizing (again) today, scheme-mode on Emacs doesn't highlight docstrings properly. Docstrings in define, define*, lambda, and others, they use `font-lock-string-face` instead of `font-lock-comment-face`. Do you in your infinite Lisp wisdom (or some other #guix #hacker) have an idea how one could fix that? I have looked at Scheme-mode built-in to Emacs but I can't figure out the puzzle.

#emacs#scheme#guile

An annoying issue with error handling in #guile #scheme #guix

I'm manually adding addresses to net interfaces using guile-netlink. If I try to add an address that exists, it throws an error... but I can't seem to catch it:

(define (addr-add!! . args )
(catch #t
(lambda ()
(apply addr-add args))
(lambda (x) (x #t))))

When I call that, I get:

Throw to key `%exception' with args `("#<&netlink-response-error errno: 17>")'.

#Schemacs minor milestone reached

With pull request #50 the Schemacs Elisp interpreter is now able to load all of two very important Emacs Lisp source files:

…which are two files that define most of what you could call the the Emacs Lisp “core” language (by which I mean macros like defun and lambda).

With these files now loaded, I can proceed to the next task, which is implementing enough of the C-level built-in functions in Scheme to be able to run ./lisp/emacs-lisp/cl-lib.el, which is in-turn one of the dependencies for running the Emacs Regression Tests (ERT) suite.

Once ERT is up and running, it will be much easier for anyone to contribute code to this project as you will just be able to pick a failing regression test and write whatever code is necessary to make it pass.

Codeberg.orgcorrectly evaluate Elisp vector literalsThe AST originally did not retain information about whether the parsed form was round-bracketed or square-bracketed. This patch creates a new field in the `<ELISP-FORM-TYPE>` record which indicates whether the form is square bracketed. The `EVAL-FORM`procedure now checks for square brackets and t...
#tech#software#Emacs

My submission to ICFP/SPLASH 2025 was rejected ☹️ . Although if I am honest, the reviewer’s reasons for rejecting it makes perfect sense, I can’t disagree with their decision.

The work I am doing on Schemacs really isn’t novel in any way at all, it is just a run-of-the-mill engineering project, everything I do has been done before. I mean, there is no need to invent some new technique to solve an already-solved problem. Not really the kind of thing that makes for a good conference paper. The biggest problem, of course, is that the application isn’t complete yet, so there is not much to share.

Well, my readers here on Mastodon can expect a series of blog posts pretty soon as I re-format my paper for publishing on my blog.

Carte résumé du dépôt ramin_hal9001/schemacs
Codeberg.orgschemacsA clone of Emacs and Emacs Lisp written in Scheme
#tech#software#scheme

Keep crafting Scheme testing library and Emacs UI for it. Will be live in 1 hour.

Quick module test [re-]loading and a bit of the refactoring are on the agenda, but feel free to come to hang out and chat about Scheme, Guix, operating systems and programming in general.

Chat: #tropin at libera.chat

Stream: youtu.be/ulXFpzsZqJE

Libera ChatLibera ChatA next-generation IRC network for FOSS projects collaboration!
#guile#scheme#lisp

hyyguile (v1.0.12) is my #guile #scheme (+ #guix) UI web toolkit, includes nice carousels, using scroll-snapping native CSS features, with a natural feel to it. Check it out!

hygguile.jointhefreeworld.org/

Hygguile is opinionated, gives crazy power and customization, is batteries-included for the web.
It defines an expressive domain-specific language (DSL), and by leveraging the power of S-expressions, SXML and TailwindCSS.

#sxml#tailwindcss#dsl