(ฮป) - Lisp General - /g/ (#106094218) [Archived: 44 hours ago]

Anonymous
7/31/2025, 7:28:59 PM No.106094218
(clojure)
(clojure)
md5: 25d6a88dde4c56a4705cfd37e37ead47๐Ÿ”
>Lisp is a family of programming languages with a long history and a distinctive parenthesized prefix notation. There are many dialects of Lisp, including Common Lisp, Scheme, Clojure and Elisp.

>Emacs is an extensible, customizable, self-documenting free/libre text editor and computing environment, with a Lisp interpreter at its core.

>Emacs Resources
https://gnu.org/s/emacs
https://github.com/emacs-tw/awesome-emacs
https://github.com/systemcrafters/crafted-emacs

>Learning Emacs
C-h t (Interactive Tutorial)
https://emacs.amodernist.com
https://systemcrafters.net/emacs-from-scratch
http://xahlee.info/emacs
https://emacs.tv

>Emacs Distros
https://spacemacs.org
https://doomemacs.org

>Elisp
Docs: C-h f [function] C-h v [variable] C-h k [keybinding] C-h m [mode] M-x ielm [REPL]
https://gnu.org/s/emacs/manual/eintr.html
https://gnu.org/s/emacs/manual/elisp.html
https://github.com/emacs-tw/awesome-elisp

>Common Lisp
https://lispcookbook.github.io/cl-cookbook
https://cs.cmu.edu/~dst/LispBook
https://gigamonkeys.com/book
https://lem-project.github.io
https://stumpwm.github.io
https://nyxt-browser.com
https://awesome-cl.com

>Scheme
https://scheme.org
https://try.scheme.org
https://get.scheme.org
https://books.scheme.org
https://standards.scheme.org
https://go.scheme.org/awesome
https://research.scheme.org/lambda-papers

>Clojure
https://clojure.org
https://tryclojure.org
https://clojure-doc.org
https://www.clojure-toolbox.com
https://mooc.fi/courses/2014/clojure
https://clojure.org/community/resources

>Other
https://github.com/dundalek/awesome-lisp-languages

>Guix
https://guix.gnu.org
https://nonguix.org
https://systemcrafters.net/craft-your-system-with-guix
https://futurile.net/resources/guix
https://github.com/franzos/awesome-guix

>SICP/HtDP
https://web.mit.edu/6.001/6.037/sicp.pdf
https://htdp.org

>More Lisp Resources
https://rentry.org/lispresources

(reset! prev-bread >>106004428)
Replies: >>106149409 >>106170728 >>106170731
Anonymous
7/31/2025, 7:30:35 PM No.106094241
first for Clojure is the most productive language in existence ATM
Replies: >>106095136
Anonymous
7/31/2025, 7:30:36 PM No.106094242
Rei
Rei
md5: 309f83323cee1dcb7b8e83943d171eff๐Ÿ”
>>106070627
>https://github.com/phronmophobic/easel/
>https://www.youtube.com/watch?v=hpjJJqnkqCw
>Integrate anything: web, 2d graphics, 3d graphics, video, plots, widgets, games, terminal, data inspectors, debuggers, etc
Impressive, very nice.
Anonymous
7/31/2025, 7:34:24 PM No.106094288
>>106094210
How is it wrong? You can use a list like a set, CL has functions for doing exactly that.
Replies: >>106094446
Anonymous
7/31/2025, 7:37:09 PM No.106094326
A list is a strict superset of a set, it's literally just a set with ordering.
Also there's multiple entire libraries of purely functional equivalents to all of CLs destructive operations.
Like for example modf, which works exactly like setf and is capable of all it's actions, but which returns a new value and doesn't alter the original.
Anonymous
7/31/2025, 7:48:09 PM No.106094446
>>106094288
do lists have the performance characteristics of hash sets? tree sets?
no, they do not.
Replies: >>106094475
Anonymous
7/31/2025, 7:50:52 PM No.106094475
>>106094446
Depending on what you store in your hash set, it might have worse performance characteristics. CL also has hashtables, which you can use as sets when you use T as a value.
Replies: >>106094522
Anonymous
7/31/2025, 7:55:48 PM No.106094522
>>106094475
>Depending on what you store in your hash set
no shit, this is literally the entire basis behind having multiple data structures. you optimize how you store your data based on how you access and interact with that data. there are many cases that I have found where you want a tree structure for storing numerous elements, such as sets of jobs with differing priorities, where new jobs may be inserted with whatever priority, and jobs may finish at many moment and thus be removed. you need to be able to query the minimum and maximum priority of any active job at any moment.
anyway, yes, Common Lisp can obviously be used to implement any data structure you need. I'm not here to shit on CL. I'm here to claim that, at this very moment, I can use Clojure and have access to persistent vectors, lists, hash maps, sorted maps, hash sets, and sorted sets. I can trivially use any standardized Java collection, of which all of these categories are met in a mutable fashion for extremely fast performance. I can access any data structure in the vast Java ecosystem for things like roaring bitmaps, directed graphs, etc. see Google's Guava lib, or Apache Commons Collection lib.
Replies: >>106094582 >>106095469 >>106095501
Anonymous
7/31/2025, 8:01:06 PM No.106094582
>>106094522
Yeah and CL also has all those data structures and can even use all those java libraries too.
I'm not seeing your point.
Replies: >>106094607
Anonymous
7/31/2025, 8:01:30 PM No.106094587
1969
1969
md5: d229a780a681852b74911ba057358f42๐Ÿ”
>new maxima release
https://maxima.sourceforge.io
https://sourceforge.net/p/maxima/code/ci/master/tree/changelogs/ChangeLog-5.48.md
pretty gud
very underrated lisp software
Anonymous
7/31/2025, 8:03:30 PM No.106094607
>>106094582
>ABCL
this is true
how good is its Java interop when compared to Clojure?
Replies: >>106095382
Anonymous
7/31/2025, 8:52:04 PM No.106095136
>>106094241
what about clojure with an dsl implemented in uiua?
Replies: >>106152116
Anonymous
7/31/2025, 9:13:11 PM No.106095382
>>106094607
>>ABCL
>this is true
>how good is its Java interop when compared to Clojure?

ABCL has extremely easy Java interop. But the idea is that you mainly work in Lisp and occasionally call some java libraries. Not like Clojure where the JVM classes all leak into Clojure data structures, for example.

I have done it, and it's helpful because thanks for the true interactive development of CL, you can load JVM classes at runtime, inspect what is inside, etc etc, without having to recompile anything or restart your project. Very useful, i'd say.

All in all, ABCL is impressive. I don't use it anymore because I prefer compiling CL to native code; it runs much faster, obviously.
Anonymous
7/31/2025, 9:19:23 PM No.106095469
>>106094522
>I can trivially use any standardized Java collection

We can do that in Common Lisp too, at least three (3) choices:

a. Use ABCL (open source, free) thus your Lisp code also runs on the JVM. Java interop is extremely easy.

b. Use Allegro CL (commercial license, though), which will mean your Lisp code will be compiled to machine language, executing massively faster than clojure.

This is what it offers, among other stuff:
"Java Tool Suite: Package applications as Java Beans or Servlets, directly call Java methods from Lisp methods and vice versa, and dynamically generate Java byte codes to run on JVMs. With jLinker, application programmers can choose the socket interface or native JNI interface on most platforms"

c. Use LispWorks (commercial and free licenses available), which also can call Java from Lisp and viceversa. Similarly, your Lisp code will be compiled to machine language, executing massively faster than clojure.

(b) and (c) are professional products with extensive success stories and professional support.
Replies: >>106095518
Anonymous
7/31/2025, 9:22:33 PM No.106095501
>>106094522
>to persistent vectors, lists, hash maps, sorted maps, hash sets, and sorted sets

I can also have access to all of those using CL.

For persistency, serializing almost any Lisp data structure is a piece of cake, only one line of code with cl-conspack.

Furthermore, most likely some of today's often-used data structures were first prototyped in Lisp...
Replies: >>106095544
Anonymous
7/31/2025, 9:23:31 PM No.106095518
>>106095469
>executing massively faster than clojure
I highly, highly doubt that. the JVM has far more resources put into it than Allegro/LispWorks can afford.
Replies: >>106099142
Anonymous
7/31/2025, 9:25:58 PM No.106095544
>>106095501
persistent data structures do not involve serialization, Anon. also Clojure has EDN for serialization, as well as whatever Java supports (including https://github.com/EsotericSoftware/kryo)
Anonymous
7/31/2025, 9:29:15 PM No.106095585
what music do you listen to while cooding Lisp? for me, it's https://www.youtube.com/watch?v=H6r3QAsPI5U
Replies: >>106095681 >>106096132 >>106101718
Anonymous
7/31/2025, 9:37:54 PM No.106095681
1738600925142143_thumb.jpg
1738600925142143_thumb.jpg
md5: eb16b8872e7c3e52024d3f2adcf2a84c๐Ÿ”
>>106095585
The sexp express https://youtu.be/IpeRShWMdYM
Replies: >>106095835
Anonymous
7/31/2025, 9:55:17 PM No.106095835
1746585661390505
1746585661390505
md5: e7763d637dd533a00992482907de7500๐Ÿ”
>>106095681
Anonymous
7/31/2025, 10:22:47 PM No.106096132
patchy
patchy
md5: 36fe37d16870e968f29e83fe6f619ee2๐Ÿ”
>>106095585
https://www.youtube.com/watch?v=aHk42kDwesM
Replies: >>106097274 >>106098520
Anonymous
7/31/2025, 10:37:33 PM No.106096276
ONCE AGAIN:
CL when single-threaded performance, native execution, startup times, or C FFI are important, Clojure all other times. It's that simple. You can choose more than one language for a single project too.
now fuck off with your dumb arguments
Anonymous
7/31/2025, 10:44:22 PM No.106096320
>>106093626
>>106094006
Thank you for answering, but I'm not quite sure I get it yet.
If the main difference really is only the scope, would it be wrong to set everything with setq-default and only using setq on a case-by-case basis? For example, having the indentation be 4 on everything with setq-default but (for whatever reason) using 8 only on the C major mode with setq?
Replies: >>106128362
Anonymous
8/1/2025, 12:19:06 AM No.106097274
1724829673358388
1724829673358388
md5: f8376631714b29870b416de8fd585449๐Ÿ”
>>106096132
Finally, I have achieved either satori or brain damage
Anonymous
8/1/2025, 12:21:30 AM No.106097297
(setopt debugger-stack-frame-as-list t)


This makes stackframes in Elisp look way better. A lot of times, pieces of the stackframe are almost executable. You might have to add a little quoting, but it's nice to see the actual function call + parameters that caused a bug and then be able to run it.
Anonymous
8/1/2025, 12:37:57 AM No.106097439
ultrascroll_thumb.jpg
ultrascroll_thumb.jpg
md5: e3fea77fe30ae2d85a55f008ce5fff7f๐Ÿ”
Anyone who uses eww on pages with large images or org documents with large images should check out ultra-scroll. It makes it so that large images in a buffer can be scrolled smoothly (without the jank).
https://github.com/jdtsmith/ultra-scroll

Attached is a video demonstration of me scrolling down a web page with a lot of images in eww. This was the URL if anyone wants to try it themselves.
https://www.realestate-tokyo.com/rent/monthly-apartments-matsuri-technologies/
Replies: >>106097742 >>106099002 >>106100629 >>106101048 >>106102042
Anonymous
8/1/2025, 1:13:56 AM No.106097742
>>106097439
Have you tried that package with elfeed? It doesn't work for me. It'd be really nice to use that package as I often use emacs on my phone to read my rss feed and images are really annoying with it.
Replies: >>106097893 >>106097947 >>106101842 >>106102087
Anonymous
8/1/2025, 1:31:25 AM No.106097893
>>106097742
I'm not currently an elfeed user, so no I haven't tried it out that way yet. Did it work for you in eww at least? (I didn't do any mode-specific config. I feel like it shouldn't matter what mode you're in.)
Anonymous
8/1/2025, 1:38:15 AM No.106097947
wheel-up
wheel-up
md5: 371c448f699853836441372cb5e715d9๐Ÿ”
>>106097742
Also, on my desktop it's only setup to scroll nicely when I use my mouse wheel. Using the keyboard scrolls the original way.
Anonymous
8/1/2025, 1:59:49 AM No.106098158
C-M-l (which is mapped to reposition-window) is kinda nice. It's like C-l, but it's aware of functions. It scrolls the window such that the function or definition you're currently in is maximally visible.
Anonymous
8/1/2025, 2:39:21 AM No.106098520
>>106096132
>15 years ago
Holy fuck
Anonymous
8/1/2025, 3:41:43 AM No.106099002
>>106097439
This is the shell script I used to record the window.
#!/bin/bash
slop=$(slop --nodecorations -f "%x %y %w %h %g %i") || exit 1
read -r X Y W H G ID <<< $slop
ffmpeg -f x11grab -s "$W"x"$H" -i :0.0+$X,$Y $@

Usage:
screen-record video.webm
# Then choose the window to record.
# When you're done, Ctrl-C.
Anonymous
8/1/2025, 4:00:58 AM No.106099142
>>106095518
>I highly, highly doubt that. the JVM has far more resources put into it than Allegro/LispWorks can afford.

What part of "direct compilation to machine language" and "no virtual machine behind" is hard to understand here?
Replies: >>106099405
Anonymous
8/1/2025, 4:37:15 AM No.106099405
>>106099142
The JVM having all those resources put into it only made it minimally acceptable.
Itโ€™s fundamentally a stack based VM running on register hardware. At one point IBM has 2400 researchers working on it, and in the 90s IBM donated their fixed point code and algorithms from the 70s that was used on mainframes.
The whole JVM thing was not viable from the get go. Only tesponses posted from the HotJava browser will be accepted.

Single cores are pretty fast now, but itโ€™s clear lispen will really start to shine in multi-core processors, unfortunately for elisp, that ship might have sailed, but there is a chance for some of the other ones that donโ€™t target the JVM.
Itโ€™s funny, even when it was clear that processors were on the rise with Sun E10K with 64 of them, they still hadnโ€™t implemented the synchronized keyword. Java and the JVM remain worthless, bloated, slow, slop.
Replies: >>106103325
Anonymous
8/1/2025, 7:42:58 AM No.106100629
>>106097439
>https://github.com/jdtsmith/ultra-scroll
very nice
Anonymous
8/1/2025, 8:54:06 AM No.106101048
>>106097439
What theme is this?
Replies: >>106101585
Anonymous
8/1/2025, 9:19:07 AM No.106101163
note
note
md5: 826516808ef487f71ef7c3794ae893f0๐Ÿ”
bros how do i tell sbcl to shut the hell up about type comparison notes?

I'm just trying to run this:
https://gist.github.com/matthew-ball/4499300
and have added type declarations on absolutely everything at this point, and it still wont shut up when i try to compile it. it runs fine, it's just xlib type optimization nonsense from the clx/xlib code. i just want it to leave me alone ;-;
Replies: >>106101234 >>106103273
Anonymous
8/1/2025, 9:30:48 AM No.106101234
>>106101163
never mind, i got it. it was this:
(declaim (sb-ext:muffle-conditions sb-ext:compiler-note))

but for some reason it wasn't working when i tried compiling it with C-c C-c. it only worked once I put it in the repl and then compiled the function. phew, i was going insane
Anonymous
8/1/2025, 10:38:16 AM No.106101585
>>106101048
ef-reverie
Anonymous
8/1/2025, 11:09:34 AM No.106101718
raylib_architecture_v5.5
raylib_architecture_v5.5
md5: c713fd8ec5bb043c7df8f9db30f671fa๐Ÿ”
>>106095585
https://www.youtube.com/watch?v=ed8N141l9FQ&list=RDed8N141l9FQ&start_radio=1

I want to experiment with lisp cffi to make bindings to raylib
Replies: >>106101750 >>106101762
Anonymous
8/1/2025, 11:14:00 AM No.106101750
>>106101718
https://www.raylib.com/
i like their web site.
Anonymous
8/1/2025, 11:15:50 AM No.106101762
>>106101718
Have you tried using
https://github.com/longlene/cl-raylib
?
Replies: >>106101800
Anonymous
8/1/2025, 11:22:30 AM No.106101800
>>106101762
I know it exists but I am curious to do it by my own. I want to understand how it's done. I don't think I will import everything.
Anonymous
8/1/2025, 11:30:16 AM No.106101842
>>106097742
>as I often use emacs on my phone
How? Emacs from fdroid? How do you deal with the lack of keyboard
Replies: >>106111271
Anonymous
8/1/2025, 12:05:28 PM No.106102042
>>106097439
If you have a pointing device that can send high-precision scrolling events, it's super smooth. I just tried it on my laptop and scrolled using the touchpad, and it is pixel-precise. I never thought I'd see the day Emacs scrolled this smoothly.

My laptop happens to be a Thinkpad, so scrolling with the clit wasn't enough. I had to scroll with the touchpad. They both send <wheel-up> events, but I guess the data from the touchpad is more precise.
Replies: >>106118230
Anonymous
8/1/2025, 12:14:51 PM No.106102087
>>106097742
>I often use emacs on my phone
I tried emacs on my phone, and I didn't try to put ultra-scroll on it yet, but I did `C-h k` and then tried scrolling to see what event it used -- <touchscreen-scroll>.

Then I looked over in the ultra-scroll repo, and there's no mention of '<touchscreen-scroll>' anywhere. You might have to bind '<touchscreen-scroll>' to #'ultra-scroll yourself.
(keymap-global-set "<touchscreen-scroll>" #'ultra-scroll)
Anonymous
8/1/2025, 2:19:50 PM No.106102980
https://benchmarksgame-team.pages.debian.net/benchmarksgame/index.html
^-- Wasn't there a dynamic version of this in the past where you could submit a form to compare two languages against each other? Is it still around anywhere?
Replies: >>106103325
Anonymous
8/1/2025, 2:57:27 PM No.106103273
>>106101163
It only prints these on optimize level 3 afaik. You must have some global optimize declaration somewhere.
Replies: >>106105314
Anonymous
8/1/2025, 3:03:35 PM No.106103325
>>106099405
Don't underestimate the JVM.
https://rentry.org/java-vs-sbcl

>>106102980
Data:
https://salsa.debian.org/benchmarksgame-team/benchmarksgame/-/tree/master/public/data
I modified their makemd.py to just print java and sbcl results.
Replies: >>106104099
Anonymous
8/1/2025, 3:47:45 PM No.106103738
I really like pcase and now pcase-let*. They make Elisp programming more fun for me.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Destructuring-with-pcase-Patterns.html
Replies: >>106109691
Anonymous
8/1/2025, 4:22:48 PM No.106104099
>>106103325
Sort your tables by execution time, queer
Replies: >>106104230
Anonymous
8/1/2025, 4:34:42 PM No.106104230
>>106104099
Rude
Anonymous
8/1/2025, 6:06:08 PM No.106105314
>>106103273
hmmm if i run this (same way as the muffle-conditions), it still prints them though:
(declaim (optimize (speed 0) (safety 0) (safety 0)))
Anonymous
8/1/2025, 7:17:18 PM No.106106181
1347130401785
1347130401785
md5: db40f3635bfc98766671de802413373e๐Ÿ”
aspell or hunspell for spell checking in emacs? which one is better?
Replies: >>106107234 >>106107875 >>106107974 >>106190224
Anonymous
8/1/2025, 8:48:38 PM No.106107234
>>106106181
just do it, alt-shift-4 (i.e. m-$) is great. then if you don't like the suggestions, switch a backend. that's it.
Anonymous
8/1/2025, 9:38:13 PM No.106107875
>>106106181
What does Emacs use by default? I've never configured it, but I use ispell-word from time to time. Whatever the default is seems to be enough for me.
Replies: >>106118309
Anonymous
8/1/2025, 9:46:43 PM No.106107974
>>106106181
jinx
https://github.com/minad/jinx
Replies: >>106114730 >>106118309
Anonymous
8/2/2025, 12:08:36 AM No.106109691
>>106103738
All of stefan monnier's stuff is great. I extensively use pcase (check out pcase-defmacro, pcase-lambda and pcase-dolist), cl-generic (cl-generic-define-generalizer has allowed me to do some cool things), oclosures, gv, define-inline for easier compiler macros, and other stuff I haven't used yet.
Replies: >>106111341
Anonymous
8/2/2025, 2:51:35 AM No.106111271
>>106101842
https://www.emacswiki.org/emacs/EmacsOnAndroid
Anonymous
8/2/2025, 3:02:38 AM No.106111341
>>106109691
>stefan monnier
I didn't know who he was, but an initial search leads me to believe I should be very grateful for the work he has done in the past for Emacs and Elisp.

>(check out pcase-defmacro, pcase-lambda and pcase-dolist)
I'll get there eventually.
- I started with pcase maybe a month or two ago, and enjoyed getting pattern matching in Elisp.
- I just found pcase-let* last night, and being able to do destructured binding of variables save me a little time (but more importantly, brought a smile to my face). It was very satisfying to use.

>cl-generic
I am a big fan of generic methods. I have used them in Julia and Common Lisp. However, I haven't yet had a chance to use them in Elisp.
Anonymous
8/2/2025, 7:26:43 AM No.106112945
hey guys, where can i find a good tutorial or something for CLOS? I always read people glazing it but i don't get it lol maybe i've been too indian'd by python that now i can't conceive anything other than that style of OOP
Replies: >>106113488 >>106137378 >>106137402
Anonymous
8/2/2025, 8:59:18 AM No.106113488
>>106112945
The only CL reference I keep going back to is:
https://lispcookbook.github.io/cl-cookbook/
The CLOS chapter is pretty good.
https://lispcookbook.github.io/cl-cookbook/clos.html

What's not obvious is how nice defgeneric/defmethod can be. Most languages don't have generic multimethods, so you're not going to have a feel for how to use this feature. An exception to that is Julia where all methods are generic by default, and this feature is used heavily. If you have enough Julia experience, you can "backport" some of the method dispatch experience to Common Lisp where it works similarly.

Another fun feature of CLOS is its ability to to add method modifiers (before, after, and around) a method.
https://lispcookbook.github.io/cl-cookbook/clos.html#method-qualifiers-before-after-around
This feature exists in other languages under various names like "advice". For example, Elisp has advice-add which is similar.
Replies: >>106137402
Anonymous
8/2/2025, 12:29:52 PM No.106114730
>>106107974
>https://github.com/minad/jinx
nice ty
Replies: >>106115338
Anonymous
8/2/2025, 2:00:12 PM No.106115338
>>106114730
last time i was using jinx on windows, it didn't exactly work in msys2. because the backend, enchant, failed to find dictionaries. don't know about cygwin and wsl, it probably works there.
jinx does have one nice thing over ispell, that's easy bilingual dictionary setup.
Anonymous
8/2/2025, 5:14:16 PM No.106116981
ใ‚‚ใใ‚‚ใ
ใ‚‚ใใ‚‚ใ
md5: 83ebcf3d37d41dc9ac8196e14e244461๐Ÿ”
pretty gud
https://clojure.land
https://clojure.org/news/2025/07/28/deref
Anonymous
8/2/2025, 7:26:33 PM No.106118230
>>106102042
>If you have a pointing device that can send high-precision scrolling events, it's super smooth.
What kind of mouse do I need to get high precision smooth scrolling? Would a gaming mouse suffice?
Anonymous
8/2/2025, 7:35:10 PM No.106118309
>>106107875
/usr/bin/ispell

>>106107974
nice but that's not a backend like aspell or hunspell
Anonymous
8/2/2025, 8:18:47 PM No.106118682
Thoughts on https://github.com/moderninterpreters/markup ?
Replies: >>106119020 >>106120187 >>106121103
Anonymous
8/2/2025, 9:00:48 PM No.106119020
>>106118682
- It's clever.
- I was a bit worried about editor support, but it looks like he has that covered (at least for Emacs).
- I personally like the look of sexps, so I'm gonna stick with spinneret or hsx for my CL html needs.
Anonymous
8/2/2025, 11:13:56 PM No.106120187
>>106118682
Why would you want to use XML closing tags mental illness instead of (h1 ,(prog x) (em "world") "!")? Perhaps with reading macros to get rid of string quotations marks.
Replies: >>106120264 >>106121052
Anonymous
8/2/2025, 11:23:41 PM No.106120264
>>106120187
If you're working with a non-Lisp front end designer person, I could see it being useful. (Maybe)
Anonymous
8/2/2025, 11:24:41 PM No.106120274
lispm-00
lispm-00
md5: 77124b98e77f0447107f2ab79204190a๐Ÿ”
If you're in the mood for a retro font...
https://github.com/unjordy/LispM-Font
Replies: >>106120285
Anonymous
8/2/2025, 11:26:00 PM No.106120285
>>106120274
Unfortunately, it doesn't render some unicode punctuation very well.
Replies: >>106121145
Anonymous
8/3/2025, 1:03:20 AM No.106121052
>>106120187
https://github.com/moderninterpreters/markup?tab=readme-ov-file#motivation
Anonymous
8/3/2025, 1:09:45 AM No.106121103
>>106118682
>,(progn x)
why not just ,x?
Replies: >>106121579
Anonymous
8/3/2025, 1:13:45 AM No.106121145
>>106120285
gnu unifont
Anonymous
8/3/2025, 2:03:45 AM No.106121579
>>106121103
Great question
Anonymous
8/3/2025, 5:30:00 AM No.106122985
https://funcall.blogspot.com/2025/07/pseudo.html
Replies: >>106123082
Anonymous
8/3/2025, 5:43:36 AM No.106123082
>>106122985
That's silly, just have an LLM generate code and use that code. Too much magic.
Replies: >>106124345
Anonymous
8/3/2025, 9:27:19 AM No.106124345
>>106123082
>missing the point
git gud anon
Replies: >>106128080
Anonymous
8/3/2025, 10:47:47 AM No.106124831
Every time I try new editor I notice how smooth the ui compared to Emacs, so I thought I could try to write something to replace the gtk ui and spent a day reading Emacs src/
I don't want to write new ui anymore and I think I should use to another editor
I will check out lem
thank you for reading my blog
Replies: >>106128801
Anonymous
8/3/2025, 12:40:47 PM No.106125384
ELISP> (pp-to-string (lambda () 42))
"#[nil (42) (t)]
"

ELISP> (funcall #[nil (42) (t)])
42
(#o52, #x2a, ?*)

I accidentally discovered an alternative way to define lambdas in Elisp, but that does the final (t) mean?
Replies: >>106125761 >>106126229 >>106126379
Anonymous
8/3/2025, 1:33:36 PM No.106125667
How the fuck do you use eglot, pylsp and python venvs?

I do not care about pyenv, venv suits me fine.
Replies: >>106126040
Anonymous
8/3/2025, 1:51:03 PM No.106125761
1750324345868916
1750324345868916
md5: 8b2513e8a51f4a9a282b4fe74ea76cdd๐Ÿ”
>>106125384
heh, pp
Replies: >>106130146
Anonymous
8/3/2025, 2:45:15 PM No.106126040
>>106125667
such a pain in the ass. jfc, I will just use etags and a dir local file with
((python-mode . ((eval . (push ".venv/bin" exec-path ))
(eval . (push "VIRTUAL_ENV=.venv/bin" exec-path ))
(python-shell-virtualenv-root . ".venv/bin"))))


eglot is CANCER
Replies: >>106127612
Anonymous
8/3/2025, 3:11:33 PM No.106126229
1752217589287799
1752217589287799
md5: 0ea01989747df044393bea464db4362c๐Ÿ”
>>106125384
>but that does the final (t) mean?
This kinda came up in the last bread (>>106008854) where a lambda has 3 parts (params, body, environment), so t is likely the value of lexical-binding at the time the closure was made or something else related to the local environment
Replies: >>106130257
Anonymous
8/3/2025, 3:35:34 PM No.106126379
>>106125384
There are 2 more slots they can have as well.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Closure-Objects.html
Replies: >>106130257
Anonymous
8/3/2025, 6:06:31 PM No.106127612
>>106126040
>eglot is CANCER
werks on my machine
Replies: >>106127897
Anonymous
8/3/2025, 6:34:37 PM No.106127897
>>106127612
share your setup?
Anonymous
8/3/2025, 6:54:05 PM No.106128080
>>106124345
What's the point then?
Anonymous
8/3/2025, 7:01:42 PM No.106128155
>>105941549
Guise, it didn't even show up in the mcron logs. Was expecting it to run on Friday. Wat do?
Replies: >>106128241
Anonymous
8/3/2025, 7:11:49 PM No.106128241
>>106128155
learn to unit test
Replies: >>106128359 >>106128453
Anonymous
8/3/2025, 7:21:57 PM No.106128341
Not wrong, but prone to side effects, specially when so much shit is interconnected in obscure ways. aiming for smaller scope would be more stable or easier to debug.
Replies: >>106128362
Anonymous
8/3/2025, 7:24:37 PM No.106128359
>>106128241
Teach me, senpai. Onegai. Simply want to run it every other month.
Replies: >>106128530
Anonymous
8/3/2025, 7:24:57 PM No.106128362
>>106128341
meant for >>106096320
Anonymous
8/3/2025, 7:35:16 PM No.106128453
>>106128241
Itโ€™s funny, some languages are based on the assumption that no testing is going to be performed. Rust comes to mind.
Testing is usually 80% of the work, even in lisp.
Replies: >>106128486 >>106128507
Anonymous
8/3/2025, 7:38:45 PM No.106128486
>>106128453
>Itโ€™s funny, some languages are based on the assumption that no testing is going to be performed.
>Rust comes to mind.
LE what?
Anonymous
8/3/2025, 7:40:56 PM No.106128507
>>106128453
I've written quite a bit of Rust and you absolutely still need to test. Cargo has built-in testing capabilities, and `debug_assert` macros for assertions in debug releases
Anonymous
8/3/2025, 7:43:42 PM No.106128530
>>106128359
Not that anon but what lisp is that? Guile?
If that's the case you could lookup srfi-64
Anonymous
8/3/2025, 8:11:02 PM No.106128790
5
5
md5: f14295e5c44f4e59d340127180f46292๐Ÿ”
I FUCKING LOVE CLOJURE
Replies: >>106128885
Anonymous
8/3/2025, 8:12:03 PM No.106128801
>>106124831
>Emacs
>UI
wut
Replies: >>106150345
Anonymous
8/3/2025, 8:19:16 PM No.106128873
mikahlynn06_thumb.jpg
mikahlynn06_thumb.jpg
md5: af2697a29c4932326ac723ce40e45ea0๐Ÿ”
I FUCKING LOVE CLOJURE
Replies: >>106128885 >>106134283
Anonymous
8/3/2025, 8:20:45 PM No.106128885
>>106128790
>>106128873
if i use clojure i will look like this?
Replies: >>106128964
Anonymous
8/3/2025, 8:29:17 PM No.106128964
mafia
mafia
md5: 07e9c738844e22c0e2d23e1d5c471873๐Ÿ”
>>106128885
Nope
You will look like this
Replies: >>106129085 >>106129477
Anonymous
8/3/2025, 8:39:54 PM No.106129085
1749783864832314
1749783864832314
md5: ba49b3bd78fca70712207e0882963bad๐Ÿ”
>>106128964
this is me writing Clojure
Replies: >>106134841
Anonymous
8/3/2025, 9:16:03 PM No.106129477
>>106128964
Billy Kane Billy Kane lookin' kind of lame. I'm going to put you on point and make them mad so they up and quit the game.

https://www.youtube.com/watch?v=NOYVkOFWcP8
Anonymous
8/3/2025, 10:19:23 PM No.106130146
>>106125761
This led me to lookup the pp* functions, and I discovered something nice. I KNEW they changed the pp algorithm in 30, because 29's pp was so much nicer. Today, I found out that there's a pp-28 and pp-29 in addition to regular pp AND when I call pp-to-string, I can pass in an optional pp function if I want the older style. This let me fix a minor bug in my init.el.
Replies: >>106130694
Anonymous
8/3/2025, 10:28:53 PM No.106130257
>>106126229
>>106126379
Thanks for helping me understand.
ELISP> (let ((a 1) (b 2)) (lambda (c) (+ a b c)))
#f(lambda (c) [(b 2) (a 1)] (+ a b c))

ELISP> (setq fn *)
#f(lambda (c) [(b 2) (a 1)] (+ a b c))

ELISP> (pp-to-string fn)
"#[(c) ((+ a b c)) ((b . 2) (a . 1))]
"
Anonymous
8/3/2025, 11:10:49 PM No.106130694
>>106130146
he's the old pp enjoyer
Replies: >>106131902
Anonymous
8/4/2025, 1:22:53 AM No.106131902
pp.28-vs-30
pp.28-vs-30
md5: ec0dd31b6119d2a7901bd62684f52b1a๐Ÿ”
>>106130694
Old pp is long and aesthetic.
New pp is short and fat.
Replies: >>106133051 >>106136362
Anonymous
8/4/2025, 3:58:02 AM No.106133051
>>106131902
Kek'd
Anonymous
8/4/2025, 7:28:31 AM No.106134254
schematra
schematra
md5: 939abd8a4303212d87256e70bd548cfd๐Ÿ”
>A minimal web framework for CHICKEN Scheme, inspired by Sinatra.
https://github.com/rolandoam/schematra
Replies: >>106134817
Anonymous
8/4/2025, 7:35:25 AM No.106134283
>>106128873
Too bad itโ€™s a JVM thing.
Too bad Oracle is re-propritarizing it.
Replies: >>106137395 >>106138056
Anonymous
8/4/2025, 9:11:02 AM No.106134817
>>106134254
Is it possible to use this with another Scheme (like Guile)?
Anonymous
8/4/2025, 9:14:35 AM No.106134841
>>106129085
He's smoking a filter
Replies: >>106138035
Anonymous
8/4/2025, 10:09:54 AM No.106135140
vend
vend
md5: 2b20e9182edfbed81571d6f62ffb589e๐Ÿ”
__ Why vend? __

Dependency management in Common Lisp has traditionally centred around [[https://www.quicklisp.org/beta/][Quicklisp]]. A desire for access to more rapid package updates spawned [[https://ultralisp.org/][Ultralisp]]. The need for version pinning and isolation birthed [[https://github.com/fukamachi/qlot][Qlot]]. The want for a better distribution system brought us [[https://github.com/ocicl/ocicl][ocicl]].

But, could there be a simpler paradigm than just /downloading the code and putting it right there/ ?

With =vend= :

- We need not perform bespoke installation scripts to get started.
- We need not wait for Quicklisp to update.
- We need not relegate all our systems to =~/common-lisp/= .
- We need not worry about where ASDF is looking for systems.
- We need not fret over tools performing strange internal overrides.
- We need not manage extra config files or lockfiles.

Plus, =vend= is actually an external tool with extra commands to help you inspect and manage your dependencies.

https://github.com/fosskers/vend
Replies: >>106135973 >>106137411 >>106141327 >>106142381
Anonymous
8/4/2025, 12:41:05 PM No.106135973
>>106135140
Nice! Someone else posted another manager the other day. Cochlea? Cocli? I don't recall.
Replies: >>106136015
Anonymous
8/4/2025, 12:49:50 PM No.106136015
>>106135973
That was someone else. I liked that one too.
https://github.com/ocicl/ocicl
I'm not sure which I like better, but I think both are an improvement over the status quo.
Anonymous
8/4/2025, 1:28:51 PM No.106136254
- Emacs comes with color.el which provides many functions for working with colors.
- One such function is color-rgb-to-hex.
- However, a complementary color-hex-to-rgb did not exist, so I tried writing one.
(defun color-hex-to-rgb (color)
"Transform a hex encoded COLOR to individual RGB components."
(let* ((_ (string-match (rx "#"
(group (= 2 hex-digit))
(group (= 2 hex-digit))
(group (= 2 hex-digit)))
color))
(r (cl-parse-integer (match-string 1 color) :radix 16))
(g (cl-parse-integer (match-string 2 color) :radix 16))
(b (cl-parse-integer (match-string 3 color) :radix 16)))
(mapcar (lambda (n) (/ n 255.0)) `(,r ,g ,b))))

Here's how it works now.
(color-rgb-to-hex 0.5 0.5 0.5 2)
;; "#7f7f7f"
(color-hex-to-rgb "#7f7f7f")
;; (0.4980392156862745 0.4980392156862745 0.4980392156862745)

- I feel like I should make color-hex-to-rgb not hard-code 2 digits per R G B, but I'm unsure how.
- How should that be handled?
Replies: >>106136299
Anonymous
8/4/2025, 1:35:50 PM No.106136299
>>106136254
I also don't like that 0.5 turned into 0.498 in the round trip, but I'm not sure what I can do about that.
Anonymous
8/4/2025, 1:46:19 PM No.106136362
>>106131902
What theme is this?
Replies: >>106136501
Anonymous
8/4/2025, 2:06:50 PM No.106136501
gotham-org
gotham-org
md5: a01f10b08d2626f9fea07f4eccf55842๐Ÿ”
>>106136362
gotham
https://depp.brause.cc/gotham-theme/
I've tweaked it a bit though.
(setq my/theme-tweaks
`((gotham
. ,(lambda ()
(my/fringe)
(my/tab-bar-auto :percent 69.0)
(my/org-faces)
(ctsf 'gotham
'(org-block
(:background "#10161c" :inherit unspecified)))
(my/shr-faces)
(my/info-faces)))
))

- I think it provides the foundation for a really good dark theme, but like many older themes, it's missing customization for a few faces like tab-bar-* and fringe.
- Over the past few days, I've come up with a system for customizing themes in a localized way.
- I used to use set-face-attribute to implement little theme tweaks, but the changes made that way are too global and can bleed into other themes which I don't like.
Replies: >>106136579 >>106137341
Anonymous
8/4/2025, 2:15:34 PM No.106136579
>>106136501
I posted about this in more detail over in the Elisp thread on Lain. It's more code than I'm code than I'm comfortable posting here, and syntax highlighting is better there.
Replies: >>106137341 >>106139852
Anonymous
8/4/2025, 3:53:28 PM No.106137341
>>106136579
>>106136501
nta.
nice, very nice, anon. i'll even do you a favor and never-ever post on that nice, juicy altchan you've mentioned. and thank you for the ctrf in particular, this may be something i'll take for myself.
Replies: >>106137399
Anonymous
8/4/2025, 3:58:15 PM No.106137378
>>106112945
>hey guys, where can i find a good tutorial or something for CLOS? I always read people glazing it but i don't get it lol maybe i've been too indian'd by python that now i can't conceive anything other than that style of OOP

Practicel Common Lisp covers it.
Anonymous
8/4/2025, 4:00:58 PM No.106137395
>>106134283
>Too bad Oracle is re-propritarizing it.

You mean the JVM? Or Clojure, specifically?
Replies: >>106141397
Anonymous
8/4/2025, 4:01:26 PM No.106137399
>>106137341
One thing I forgot to mention is that you can run ctsf as much as you want to setup face attributes, but they won't take effect until you do:
(enable-theme 'gotham) ; or whatever theme you were modifying

- You can use ctsf in the same spirit as set-face-attribute.
- Think of it as a safer alternative that keeps the changes theme-specific.
- custom-theme-set-faces (which ctsf wraps) is the same function that actual themes use for face setup, so you're really modifying the actual theme this way.
Anonymous
8/4/2025, 4:01:36 PM No.106137402
>>106112945
>>106113488
the Lisp cookbook basically covers some of Keene's book so that would be a more substantial reference
The Art of the Metaobject Protocol is a good book to really get into what CLOS does at a deeper level
Replies: >>106137603
Anonymous
8/4/2025, 4:02:19 PM No.106137411
>>106135140
>But, could there be a simpler paradigm than just /downloading the code and putting it right there/ ?

Sounds good to me.

Either this or quicklisp. Qlot, as most fukamachi software, is a pain to use.
Anonymous
8/4/2025, 4:05:48 PM No.106137445
>LISP was literally originally intended as *the* AI programming language
I wish this would come back and no more gay ass neural nets
Replies: >>106137488 >>106140874
Anonymous
8/4/2025, 4:10:00 PM No.106137488
>>106137445
It was used in expert systems which are just not a good idea. There are far too many implicit rules we know and it's too hard to explicitly codify intuition and contextual knowledge which makes them untenable. Especially considering how good things like convolutional neural networks are at e.g. diagnosing cancer, there is no reason to expect neural networks to ever go away.
Anonymous
8/4/2025, 4:22:26 PM No.106137603
>>106137402
>Keene's book
This one?
https://doc.lagout.org/programmation/Lisp/Object-Oriented%20Programming%20in%20Common%20Lisp_%20A%20Programmer%27s%20Guide%20to%20CLOS%20%5BKeene%201989-01-11%5D.pdf
Replies: >>106137632
Anonymous
8/4/2025, 4:26:54 PM No.106137632
>>106137603
Yeah, you can tell because the author's last name is Keene and it's a book about the topic we were discussing.
Replies: >>106145198
Anonymous
8/4/2025, 5:04:40 PM No.106138035
1749697917168782
1749697917168782
md5: 038ba6663dc8c5521fd43ed9deff28b3๐Ÿ”
>>106134841
Anonymous
8/4/2025, 5:05:49 PM No.106138056
>>106134283
Clojure also runs on Javascript
there is a incomplate C# variant
also Jank is a C++/LLVM variant that is in the works
I would like to see a Go variant too
Replies: >>106138090 >>106138090
Anonymous
8/4/2025, 5:08:11 PM No.106138090
>>106138056
>Clojure also runs on Javascript

That's not the full Clojure language.

>>106138056
>Jank is a C++/LLVM variant that is in the works

1. Not production quality

2. That would mean dealing with the cancer that is LLVM.

You're stuck in the JVM. Meanwhile Common Lisp compiles down to native code for several different CPU architectures.
Replies: >>106142800
Anonymous
8/4/2025, 5:14:25 PM No.106138171
Sat, Aug. 9th, 2025, 13:00 UTC
https://clojureverse.org/t/macroexpand-2-connecting-clojure-data-practitioners/11485
Anonymous
8/4/2025, 7:22:39 PM No.106139852
>>106136579
I thought lain was dead
Replies: >>106143200 >>106143283
Anonymous
8/4/2025, 8:34:57 PM No.106140666
https://sachachua.com/blog/2025/08/2025-08-04-emacs-news/
Anonymous
8/4/2025, 8:50:06 PM No.106140874
1748189652480001
1748189652480001
md5: dbf1f064336cb6832e2d3a4442ef1f87๐Ÿ”
>>106137445
At least for programs and other formal stuff symbolic AI will win in the end
Anonymous
8/4/2025, 9:35:17 PM No.106141327
>>106135140
Ah, yet another one
Anonymous
8/4/2025, 9:40:38 PM No.106141397
>>106137395
The JVM. Everybody that was heavily invested in it (e.g. IBM) from the Sun days has been trying to get off it now for a decade.
The failure of the Sun Pico processor that supposedly ran JVM natively back in the 90s was quite telling. Similar to lisp machinesโ€™ hardware.
Java has always been a cpu/memory hog and they were able to turn that into hardware sales for a while, but theyโ€™ve finally squeezed the last drops out of that.
Replies: >>106141530 >>106148968 >>106149015
Anonymous
8/4/2025, 9:52:41 PM No.106141530
>>106141397
source?
Anonymous
8/4/2025, 10:05:59 PM No.106141698
1723176254539786
1723176254539786
md5: 6d45929fd1ba228172ec8f5681edd014๐Ÿ”
I spent the last three days trying to understand why SDDM wouldn't work on Guix, I even wrote a long ass post saying how much of a failure retarded faggot I am for being unable to change display managers. Turns out it's either a linux-libre or VM issue because it worked first try on my laptop.
I think I even got rate limited for a while because I was downloading shit at 16kbps tops (I got mad and kept nuking the VM just in case after some time).
Replies: >>106141845
Anonymous
8/4/2025, 10:20:03 PM No.106141845
>>106141698
>I think I even got rate limited for a while because I was downloading shit at 16kbps tops
idk these past few days i've been having some trouble reaching the guix servers. i wonder if it's related to this
https://www.fsf.org/bulletin/2025/spring/defending-savannah-from-ddos-attacks
Anonymous
8/4/2025, 11:09:22 PM No.106142381
>>106135140
>https://github.com/fosskers/vend/issues/16
Why is no one considering a sexp configuration format?
Replies: >>106142830 >>106142996
Anonymous
8/4/2025, 11:51:53 PM No.106142800
>>106138090
>That's not the full Clojure language.
ClojureScript implements enough to do this.
https://wizardmasters.io/
https://github.com/ertugrulcetin/wizard-masters
It's far more capable than you give it credit for.
Anonymous
8/4/2025, 11:54:26 PM No.106142830
>>106142381
Tell him.
Replies: >>106142973
Anonymous
8/5/2025, 12:08:55 AM No.106142973
>>106142830
I'm sure there's a reason it hasn't been brought up, I don't want to sound like a brainlet
Replies: >>106143035
Anonymous
8/5/2025, 12:11:31 AM No.106142996
>>106142381
Sounds like, literally, retardation. Thatโ€™s why.
Replies: >>106143286
Anonymous
8/5/2025, 12:14:23 AM No.106143035
>>106142973
nigga just bring it up
even if you did not forsee something, you will only learn in the process
it's not like they are going to be "AHHHHHHH A BRAINLET, GET THE FUCKING M240 AND HUNT THIS MOTHERFUCKER DOWN!!!"
Replies: >>106143114 >>106143286
Anonymous
8/5/2025, 12:21:49 AM No.106143114
>>106143035
More like, โ€œoh, you smart. You make us go. You help us and give us codeโ€
> comes to your house, abducts you and locks you in a basement with a keyboard, a beige tower and a crt monitor
Replies: >>106143173
Anonymous
8/5/2025, 12:26:24 AM No.106143173
1749788143551293
1749788143551293
md5: faa4e28c5c03ba4c962a56bce26e0821๐Ÿ”
>>106143114
>comes to your house, abducts you
I would magdump them with 5.56 NATO
I code in Lisp and defend with blicks
Replies: >>106143286
Anonymous
8/5/2025, 12:29:09 AM No.106143200
>>106139852
It's very slow, but the flip side of that is that I don't have to worry about threads falling off the end of the catalog. If I come up with something memorable, I sometimes post both here and there.
Anonymous
8/5/2025, 12:37:38 AM No.106143283
>>106139852
Not so much dead as undead. I monitor like 5 threads and they get a couple posts a month all together, it's still shambling along.
Anonymous
8/5/2025, 12:37:50 AM No.106143286
>>106142996
Oh
>>106143035
>it's not like they are going to be
How do YOU know?
>>106143173
>5.56 NATO
For me it's 7.62x39
Replies: >>106143534
Anonymous
8/5/2025, 12:41:57 AM No.106143329
Right now you can't use a substitute for the full Linux kernel on Guix because there are none available for the latest version?
https://cuirass.nonguix.org/search?query=linux
And the only way to use a substitute would be to pin it to the latest one built?
Anonymous
8/5/2025, 1:01:35 AM No.106143534
>>106143286
>How do YOU know?
Why do you care?
Fuck anyone who disrespects you.
Replies: >>106143583
Anonymous
8/5/2025, 1:06:21 AM No.106143583
>>106143534
I can't fuck THAT many people, anon. Anyways, I don't have a throwaway github account so I'm not posting potentially retarded questions under my real name. That's all there is to it.
Anonymous
8/5/2025, 4:07:30 AM No.106145053
Hell is other people's web stack.
Replies: >>106145359
Anonymous
8/5/2025, 4:26:20 AM No.106145198
>>106137632
kek
Anonymous
8/5/2025, 4:56:02 AM No.106145359
>>106145053
What's yours?
Replies: >>106145502
Anonymous
8/5/2025, 5:19:09 AM No.106145502
>>106145359
I have a few.

static sites:
JSON -> perl scripts -> markdown -> rentry.org
JSON -> perl scripts -> markdown -> pandoc -> pgs.sh
(upcoming) Org -> Elisp -> pgs.sh

dynamic sites:
SQLite -> perl scripts
SQLite -> CL (mito, spinneret, hunchentoot, hunchensocket, htmx)

Some people would think hunchentoot is kind of a pain, and I wouldn't blame them. It's a bit antiquated. The other stuff is too small to be hellish.
Replies: >>106152510
Anonymous
8/5/2025, 6:03:47 AM No.106145828
Sacha accidentally reposted an Emacs News post from 6 years ago.
https://sachachua.com/blog/2025/07/2019-08-12-emacs-news/
Replies: >>106147248
Anonymous
8/5/2025, 9:06:51 AM No.106146951
>Lame ass languages like JavaShit and Poothon dominate while infinite computational universes of LISP remain unexplored
We live in a fallen world
Anonymous
8/5/2025, 9:57:30 AM No.106147248
>>106145828
women amirite
Replies: >>106147285
Anonymous
8/5/2025, 10:04:38 AM No.106147285
>>106147248
It's interesting to see what was going on back then, and to see what's changed and what's stayed the same. Not all accidents are bad.
Anonymous
8/5/2025, 12:13:00 PM No.106148024
Has anyone ever used Chicken Scheme for something serious? Was going to try and use it for microcontroller stuff but I dunno how viable it is
Anonymous
8/5/2025, 1:56:49 PM No.106148746
smalltalk
smalltalk
md5: e5599d33d388e5f4befdab2c0f6748c5๐Ÿ”
Smalltalk is as good as lisp.
Replies: >>106148998 >>106151119 >>106155631
Anonymous
8/5/2025, 2:35:06 PM No.106148968
>>106141397
Don'f know what are you talking about, OpenJDK is FOSS and you can use any build from a decent list of vendors if yoh don't wanna compile, including Eclipse Temurin. Are you talking about GraalVM?
Anonymous
8/5/2025, 2:39:42 PM No.106148998
>>106148746
How exactly is smalltalk implemented anyway?
Like what's the compiler/interpreter doing under the hood?
One of the main reasons I like lisp is I actually know what's going on in there and can understand it.
I'd hope it's some sort of elegant "this is what OOP is supposed to be" code, but I fear it's going to be a java saar nightmare forest.
Replies: >>106149403 >>106155700
Anonymous
8/5/2025, 2:42:25 PM No.106149015
>>106141397
your interpretation may be a couple of decades old, JVM hell is forever
Anonymous
8/5/2025, 3:25:55 PM No.106149403
>>106148998
Honestly I don't know. I just started using it and I wanted to talk about smalltalk.
Anonymous
8/5/2025, 3:26:18 PM No.106149409
>>106094218 (OP)

You need to add Calva under Clojure... that's the best Clojure extension in the world for VS Code.

https://calva.io/
Replies: >>106149781
Anonymous
8/5/2025, 4:03:53 PM No.106149781
>>106149409
I'll try. Jeetbrains' Cursive was completely useless it shat itself for 40 mins and couldn't scan a simple Hello World cljfx app, i ended using the command line and solved it in 3 minutes.
Anonymous
8/5/2025, 5:02:46 PM No.106150345
>>106128801
emacs is known for being awfully slow when typing (if you compare to other programs)
Replies: >>106150509 >>106157992
Anonymous
8/5/2025, 5:18:47 PM No.106150509
>>106150345
I've been there many times. Everytime I've tried lem and other emacs like replacements I come back to emacs after a couple days. I hate that there's so much baggage but at the same time I've used emacs for so long and depend too much on its tools. Maybe if there was a simile to org mode I would make the switch to lem. But thats a completely different can of worms, there must be a way of getting 80% of the way to emacs in lem with 20% of the effort.
Replies: >>106150740
Anonymous
8/5/2025, 5:36:08 PM No.106150740
>>106150509
I mean it's definitely convenient once you're used to it, I'm not denying that. But sometimes I wonder if I should reevaluate my workflow and implement more specific tools, like using Obsidian for notes and so on.
Emacs is only irreplaceable if you insist on having a single place for a bunch of things, which is quite silly when you think about it, you wouldn't be pissed at your car for not making you coffee.
Replies: >>106153967
Anonymous
8/5/2025, 6:10:34 PM No.106151119
>>106148746
Do you use gtoolkit?
https://gtoolkit.com/
Anonymous
8/5/2025, 6:38:34 PM No.106151475
Anyone using org export html to publish a blog here?

https://www.gnu.org/software/emacs/manual/html_node/org/HTML-Export.html

https://www.gnu.org/software/emacs/manual/html_node/org/Publishing.html
Replies: >>106151647
Anonymous
8/5/2025, 6:51:15 PM No.106151647
>>106151475
I tried but due to the nature of org the css is a nightmare.
Replies: >>106151710
Anonymous
8/5/2025, 6:57:09 PM No.106151710
>>106151647
How so?
Replies: >>106152161
Anonymous
8/5/2025, 7:25:42 PM No.106152116
>>106095136
>uiua
I fail to see how a spinning cat can improve the language.
Anonymous
8/5/2025, 7:28:40 PM No.106152161
>>106151710
There is just a ton of CSS rules because org text can be many different things. I ended up looking through the org manual, org-bloggers' css, and the ox elisp code. It was just too much. Here are some of the resources I used then:
https://orgmode.org/manual/CSS-support.html
https://gongzhitaao.org/orgcss/
https://github.com/gongzhitaao/orgcss/tree/master/src/css

I was coming from using org to write latex documents which worked beautifully and I was very disappointed by the complexity of ox-html.
If I were to do it all over I would investigate/make something like this: https://github.com/balddotcat/ox-slimhtml
Anonymous
8/5/2025, 7:53:01 PM No.106152510
>>106145502
>2025
>Perl
Replies: >>106154012
Anonymous
8/5/2025, 9:35:27 PM No.106153967
>>106150740
The reason you come back to it is because your entire OS should work that way. The reason it feels slow/bad is because you're trying to do that with a text editor.
Replies: >>106154398
Anonymous
8/5/2025, 9:38:08 PM No.106154012
>>106152510
perl is good. Much better than pretty much anything else you could pick for that job/web shit. Everything else is slower and can't do as much as easily. I miss the days when perl was what everyone suggest you learn first over python (and php for web shit). perl is a much better language when you factor in working with shell scripts and CLI.
Anonymous
8/5/2025, 10:02:49 PM No.106154398
>>106153967
nigga, Emacs is single threaded
Replies: >>106154721
Anonymous
8/5/2025, 10:26:35 PM No.106154721
>>106154398
Yeah no shit. Doesn't change anything I said.
Anonymous
8/5/2025, 11:45:47 PM No.106155631
>>106148746
it is, it's an excellent environment.
I am actually trying to replicate some of the smalltalk environment inside lisp.
I figure if I can have a mix of lisp and smalltalk, I can have my ideal programming environment.
Anonymous
8/5/2025, 11:52:26 PM No.106155700
AlanKayOnMessaging_v001
AlanKayOnMessaging_v001
md5: ea471675270cb7d004ed492357b85eb4๐Ÿ”
>>106148998
>One of the main reasons I like lisp is I actually know what's going on in there and can understand it.
Smalltalk is fully introspectable.
Replies: >>106157937 >>106161671
Anonymous
8/6/2025, 2:41:13 AM No.106157374
Kino
https://www.youtube.com/watch?v=ckOpWQYpKjo
Replies: >>106162463
Anonymous
8/6/2025, 4:02:31 AM No.106157937
>>106155700
>Smalltalk is fully introspectable.

Smalltalk is great too. But Lisp is a bit more flexible if you want to do low level stuff or hi-perf stuff. Plus, i prefer CLOS OOP to message-passing OOP.
Anonymous
8/6/2025, 4:10:43 AM No.106157992
>>106150345
> emacs known to be slow
Visual Studioโ€ฆ when they started writing it in .Net was one of the slowest things Iโ€™d used. Noticeable typing lag. It reminded me of the Java based Corel Suite before they dropped Java forever in โ€™97.
Then, some years later, I tried visual studio code. It was absolutely unusably slow. A pull down menu would take over a second to draw each menu item.
This was the same system I used and developed on with emacs on daily, some office dell thing.
I wonโ€™t include eclipse in this for obvious reasons.
Yes, these probably run better if I buy a new 64-core threadripper 3d max with 128 Gb of ram, and a 4090 Ti Founderโ€™s edition gaming pc every year, but thatโ€™s not what we get at work.
Anonymous
8/6/2025, 4:53:19 AM No.106158255
uh
uh
md5: 31d17c1d5de35116350169dba4fca334๐Ÿ”
t-thanks anon
Replies: >>106158290 >>106173416
Anonymous
8/6/2025, 4:57:03 AM No.106158290
>>106158255
Not sure that overkill is something you could ever accuse sexps of, itโ€™s the epitome of minimal, necessary and sufficient,
Replies: >>106158349
Anonymous
8/6/2025, 5:03:57 AM No.106158349
>>106158290
Agreed, especially in terms of implementation. Reading a sexp list of cons pairs is easier than reading lines and splitting them by a space.
Replies: >>106158498
Anonymous
8/6/2025, 5:24:36 AM No.106158498
>>106158349
you can't just do eval on a config if it isn't trusted
see Clojure's dedicated EDN format
Replies: >>106158527
Anonymous
8/6/2025, 5:29:34 AM No.106158527
>>106158498
Why would you eval a config? You just read it
Replies: >>106172201
Anonymous
8/6/2025, 5:32:56 AM No.106158555
I just read a few pdfs about the smalltalk interpreter and it's implementations.
I'd say I like a lot of how it works, but I'd change several things borrowing from lisp.
First the whole multi-word operator thing is ridiculous and weird, just go to regular function syntax with parens.
Second I'm no a huge fan of how processes and memory management are handled, there need to be more control and more separation of both to allow for at least the possibility of security or sandboxing.

Biggest feature that puts lisp and all other languages to shame is definitely the focus from the very start of graphics, sound, and UI. Just being able to natively write the entire editor, browser, and renderer directly in the base language without importing any libraries make it Emacs++.
And that's impressive now, let alone when this shit was designed, it's absolutely criminal how shitty the current state of GUIs is when this shit was running a full web browser back in the era of dotmatrix terminals.
Anonymous
8/6/2025, 5:53:55 AM No.106158672
file
file
md5: 97f73bf6b54d8741a03ce8587fed9e69๐Ÿ”
What is this menu? How do I invoke it? Where do I read more about it?
Thanks a lot
Replies: >>106158764
Anonymous
8/6/2025, 6:11:26 AM No.106158764
>>106158672
that's just an LSP thing, it wants to know the project directory so it can scan it
Replies: >>106158783
Anonymous
8/6/2025, 6:15:34 AM No.106158783
>>106158764
I think I have kinda figured it out now.
It was giving me problems because I'm just learning how to work with Makefiles, and then, a little later, I was not understanding why was I able to compile my project, but clangd wouldn't find where the .h files were located.
So I started trying out a lot of stuff, like generating compile_commands.json with bear, with no success, and at one point, I tried to move the directory to some other place, and that little menu popped out, I pressed 'i' and clangd managed to find the .h files.

Then I learned that I can do M-x lsp-workspace-folders-remove to remove the top directory where all my projects live, open a project, and that little menu will pop up again.
It seems like a lot of work but at least it's a workaround.

Thanks for replying.
Anonymous
8/6/2025, 7:30:59 AM No.106159195
bro why did no one tell me about registers? this shit is good
Replies: >>106159604 >>106160754
Anonymous
8/6/2025, 8:50:16 AM No.106159604
>>106159195
Emacs is full of goodies, yes.
Anonymous
8/6/2025, 12:16:32 PM No.106160754
>>106159195
>registers
?
Replies: >>106161342
Anonymous
8/6/2025, 1:47:11 PM No.106161342
>>106160754
Ask emacs.
C-h a register RET
Replies: >>106172120
Anonymous
8/6/2025, 2:26:26 PM No.106161671
>>106155700
Does smalltalk have macros? How does metaprogramming work? I assume it has it but i've not found much about the details.
Anonymous
8/6/2025, 4:00:17 PM No.106162463
doom
doom
md5: 0491dda2b6f3aa784bfeb5b665797dbe๐Ÿ”
>>106157374
Soon
Anonymous
8/6/2025, 4:38:00 PM No.106162800
what are you guys working on today?
Replies: >>106163386 >>106163522 >>106163926
Anonymous
8/6/2025, 5:21:45 PM No.106163386
>>106162800
yeah good morning team, so yesterday I worked on my story, and i'll just be continuing on that today. no blockers.
Anonymous
8/6/2025, 5:34:25 PM No.106163522
Screenshot from 2025-08-06 09-46-27
Screenshot from 2025-08-06 09-46-27
md5: 63a85ec4c4a06936870b9e3ba14f32be๐Ÿ”
>>106162800
finishing my auth lib (and, in the process, my other lib that wraps NextJDBC and HoneySQL)
I am in permanent nicotine withdrawal and it SUCKS!
Replies: >>106163578
Anonymous
8/6/2025, 5:39:53 PM No.106163578
Screenshot from 2025-08-06 10-39-10
Screenshot from 2025-08-06 10-39-10
md5: cefec182839f998afdff293ad4bdcfcf๐Ÿ”
>>106163522
I have an automatic retry mechanism for my serializable transactions (when serialization failures occur)
Replies: >>106163625
Anonymous
8/6/2025, 5:43:20 PM No.106163625
Screenshot from 2025-08-06 10-42-06
Screenshot from 2025-08-06 10-42-06
md5: 773c607dfcf6bceb3b05bc385372f1b5๐Ÿ”
>>106163578
as well as my own migration tooling
my database interaction is very weird in that I abuse the fuck out of Postgres schemas to represent database subsets for libs. kind of like microservices but without separate DBs
Anonymous
8/6/2025, 6:11:46 PM No.106163926
Screenshot from 2025-08-01 08-14-47
Screenshot from 2025-08-01 08-14-47
md5: ef3dec002ebf98463d4c3af9f752eb4d๐Ÿ”
>>106162800
also, I was working on this port from my old Elixir code, but got distracted and it is in an unfinished state
this algorithm allows for the encoding of a sequence of numbers in base X to a sequence of numbers in base Y. it makes generic things like base64 or hexadecimal encoding.
Anonymous
8/6/2025, 8:57:27 PM No.106165751
New Helix Plugin
https://github.com/Ciflire/helix-discord-rpc
It's more rust than scheme, though.
Replies: >>106165763 >>106166298
Anonymous
8/6/2025, 8:58:27 PM No.106165763
>>106165751
https://github.com/helix-editor/helix/pull/8675#issuecomment-3161096232
Replies: >>106166298
Anonymous
8/6/2025, 9:43:00 PM No.106166298
ufomusume
ufomusume
md5: bef95486d359eb309770fd3fd6df5f36๐Ÿ”
>>106165751
>>106165763
Interesting. I wonder if Helix+Steel will be able to integrate with IRC and Matrix as Emacs does.
Replies: >>106166444 >>106166608
Anonymous
8/6/2025, 9:58:25 PM No.106166444
>>106166298
I'm sure it'll be possible, but there's a lot of infrastructure that needs to be built out first.
Replies: >>106168143
Anonymous
8/6/2025, 10:12:30 PM No.106166608
>>106166298
BTW, my favorite feature of ERC is how it makes Emacs-related text clickable.
- Quoted symbols like `cl-remove-if-not' will go to help.
- (info "(erc) Modules") will open an info page.

I also like that I can leverage all of Emacs' window and frame management to setup windows to various channels. I don't think most terminal irc clients would allow me to do what Emacs lets me do with relative ease.
Anonymous
8/7/2025, 12:43:00 AM No.106168143
check&#039;em
check&#039;em
md5: e2474c44f505b3b54e4c5d65441079b1๐Ÿ”
>>106166444
Nice trips.
I hope so. Helix+Steel is very promising.
Anonymous
8/7/2025, 3:19:41 AM No.106169736
I miss that person who would post with "Scheme!"
Replies: >>106170049
Anonymous
8/7/2025, 3:55:35 AM No.106170049
>>106169736
He did a good job keeping the thread alive when it was in a lull.
Replies: >>106170593
Anonymous
8/7/2025, 4:48:24 AM No.106170576
1751360260210721
1751360260210721
md5: ef53a48a4bfee5708fb0517bcff1089c๐Ÿ”
But why?
Replies: >>106170814 >>106170848 >>106172102 >>106175576
Anonymous
8/7/2025, 4:49:57 AM No.106170593
>>106170049
I wished I saved the gif he used to continue his legacy
Anonymous
8/7/2025, 4:58:16 AM No.106170659
1569016242284
1569016242284
md5: 209f21873e332fbdcaf85d74ec0f1dd1๐Ÿ”
Java!
Replies: >>106170680 >>106188007
Anonymous
8/7/2025, 4:59:56 AM No.106170680
>>106170659
holy shit
Anonymous
8/7/2025, 5:06:52 AM No.106170728
Screenshot 2025-08-06 at 11.05.25โ€ฏPM
Screenshot 2025-08-06 at 11.05.25โ€ฏPM
md5: 9b6b74997172c231b7bd6b8f20f806c3๐Ÿ”
>>106094218 (OP)
why is emacs this way on Mac

https://xlii.space/eng/emacs-the-macos-bug/
Replies: >>106170740
Anonymous
8/7/2025, 5:07:10 AM No.106170731
>>106094218 (OP)
Whoโ€™s this cutie in the OP?
Anonymous
8/7/2025, 5:08:02 AM No.106170740
>>106170728
>itoddleros
who cares
Anonymous
8/7/2025, 5:15:55 AM No.106170814
>>106170576
>But why?
For fun, but...

../.----./-- .../--- -/../.-././-..
---/..-. -/..../../... .--/---/.-./.-../-..
..-./..-/.-../.-.. ---/..-. .-../.././.../.-.-.-
Replies: >>106170867
Anonymous
8/7/2025, 5:19:38 AM No.106170848
>>106170576
> .-././.--./.-../-.-- -/--- -/..../../... .--./---/.../- ---/.-.
> -.--/---/..-/.-. --/---/-/...././.-. .--/../.-../.-.. -../../. ../-.
> ...././.-. .../.-../././.--./.-.-.-
I tried to use tesseract to OCR the image, but it failed. I then manually transcribed this. It's really taxing on the right pinky to input morse code.
Replies: >>106170867 >>106170912
Anonymous
8/7/2025, 5:21:52 AM No.106170867
>>106170814
>>106170848
Sorry bwos it was the first thing that came to mind...
Anonymous
8/7/2025, 5:27:16 AM No.106170912
>>106170848
I need to learn how to use my right pinky when typing. For whatever reason it's the ONLY finger I don't use
Replies: >>106170924 >>106170928
Anonymous
8/7/2025, 5:28:33 AM No.106170924
>>106170912
How do you hit RET?
Replies: >>106170956
Anonymous
8/7/2025, 5:29:06 AM No.106170928
>>106170912
I don't think anyone uses it other than hitting enter.
Replies: >>106170956
Anonymous
8/7/2025, 5:32:44 AM No.106170956
>>106170924
Slam it with my index finger and exclaim "I'm in"
>>106170928
You're right, I didnt even notice I do use it
Anonymous
8/7/2025, 7:37:07 AM No.106171822
- Emacs daemons should NOT be started as a system service.
- Emacs daemons should be started and stopped as easily as one starts and stops tmux sessions.
- Sometimes, having process isolation is a good way to work around some of Emacs' weaknesses, and this is one way to achieve that.
- When you're sufficiently proficient in managing multiple Emacs daemons, you don't even need tmux anymore, even on servers.
- The only issue is the ergonomics of emacsclient.
- It needs to be wrapped with functions or aliases to make this workflow feel good.
- Adding keybindings to your window manager to call emacsclient in useful ways helps too.
Anonymous
8/7/2025, 8:08:09 AM No.106172013
Another Helix plugin has been released.
https://github.com/gerblesh/modeline.hx

This is "modeline" in the vim sense where a magical string at the end of a file can be used to provide buffer-local settings.
# vim:ts=4 ft=py

The Emacs equivalent is called a file variable or a file local variable.
https://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html
;; -*- mode: Lisp; fill-column: 75; comment-column: 50; -*-

This extension supports Emacs-styled file local variables too.
Replies: >>106172034
Anonymous
8/7/2025, 8:12:46 AM No.106172034
>>106172013
https://github.com/helix-editor/helix/pull/8675#issuecomment-3162576669
This one is pure Scheme, but it currently requires the author's nonstandard fork of Helix to run (so like a fork of a fork).
Anonymous
8/7/2025, 8:26:24 AM No.106172102
>>106170576
| <r> | <l> | <r> | <l> |
| Letter | Morse | Letter | Morse |
|--------+-------+--------+--------|
| A | .- | U | ..- |
| B | -... | V | ...- |
| C | -.-. | W | .-- |
| D | -.. | X | -..- |
| E | . | Y | -.-- |
| F | ..-. | Z | --.. |
| G | --. | 0 | ----- |
| H | .... | 1 | .---- |
| I | .. | 2 | ..--- |
| J | .--- | 3 | ...-- |
| K | -.- | 4 | ....- |
| L | .-.. | 5 | ..... |
| M | -- | 6 | -.... |
| N | -. | 7 | --... |
| O | --- | 8 | ---.. |
| P | .--. | 9 | ----. |
| Q | --.- | , | --..-- |
| R | .-. | . | .-.-.- |
| S | ... | ? | ..--.. |
| T | - | | nil |
|--------+-------+--------+--------|
#+TBLFM: $2='(cdr (assoc (downcase (substring $1)) morse-code))
#+TBLFM: $4='(cdr (assoc (downcase (substring $3)) morse-code))
Replies: >>106172118
Anonymous
8/7/2025, 8:28:55 AM No.106172118
>>106172102
credit: https://www.reddit.com/r/emacs/comments/fa5wwd/comment/fiwryfa/

(I just added a missing closing paren and made column alignment explicit.)
Anonymous
8/7/2025, 8:29:16 AM No.106172120
>>106161342
Wait until he learns about mark and point
Anonymous
8/7/2025, 8:40:05 AM No.106172192
Is helix's aim to replace Emacs? So we'll have emacs, lem and helix to pick in the future?
Replies: >>106172770
Anonymous
8/7/2025, 8:42:14 AM No.106172201
>>106158527
> eval a config
In the 90s, what we now call โ€œjsonโ€ was banned through firewalls because intellectual midgets were using the fast javascript parser written in C to read data with it. It had the side effect of executing any code in there unless it was time consumingly sanitized in JS thus defeating the speed of native evaluation.

It seems that, as a minimum, โ€”and since they astonishingly deviated from XML anywayโ€”for CSS they could have used sexps.

However, Iโ€™m not sure Iโ€™d want web troglodytesโ€™ input on the next scheme standard after the R6 debacle that necessitated calling Sussman back in (out if retirement) to re-educate the current generation.
Anonymous
8/7/2025, 10:16:29 AM No.106172770
>>106172192
Helix has attracted more former vim users than anyone else. I've said this before, but an unconfigured helix feels like well-configured vim. It doesn't "feel" like Emacs at all. Even with the addition of Scheme as an extension language, I'm a little concerned about their documentation. I would love for them to take all the things that Emacs and Elisp did right and incorporate them into their Scheme-based extension system. It's not quite there, and I don't know to what extent they want to make helix self-documenting in the way Emacs is.
Anonymous
8/7/2025, 12:07:20 PM No.106173416
>>106158255
What is this? A forum?
Replies: >>106174009
Anonymous
8/7/2025, 1:41:27 PM No.106174009
>>106173416
Look at the screenshot.
It has so many clues.
Think.
Anonymous
8/7/2025, 2:01:48 PM No.106174106
I think it may be some sort of hub.. For git projects.
Anonymous
8/7/2025, 4:40:31 PM No.106175576
>>106170576
Why not? (๏ฟฃ๏ธถ๏ฟฃ)
Anonymous
8/7/2025, 5:46:18 PM No.106176376
>maybe we should keep 4chan links to nil... also it doesn't add anything to this conversation other than some bad language and attitudes....
He's right, quit shitting up that isuue
Replies: >>106176932
Anonymous
8/7/2025, 5:51:10 PM No.106176431
229679
229679
md5: b9b75b12deb84000e131380c572d2a69๐Ÿ”
>And yes, if 4chan wants to participate, they can do so directly in here themselves.
This is NOT an invitation for an attack btw. Stay respectful to fellow Lispers, even if they also use Rust and look like pic related
Replies: >>106176723
Anonymous
8/7/2025, 6:16:17 PM No.106176723
osakaryan
osakaryan
md5: 262fa11d7b9adc08ca3cf5f0fcca345c๐Ÿ”
>>106176431
gigachad aryan lisper
Anonymous
8/7/2025, 6:35:33 PM No.106176932
hell
hell
md5: 34c2b30c899f2e403412fbf1bd424ba6๐Ÿ”
>>106176376
>no not le heckin 4chan in my github issue reee
๊œฑoydev plebbitors are such faggots
Replies: >>106176972
Anonymous
8/7/2025, 6:38:04 PM No.106176972
>>106176932
>he says in his echo chamber
Attach your real name to that, pussy ass faggot
Replies: >>106177003
Anonymous
8/7/2025, 6:40:33 PM No.106177003
>>106176972
go back to >>>/r/eddit nigger
Anonymous
8/7/2025, 6:44:45 PM No.106177083
Another day with lisp, another day of happiness.
Anonymous
8/7/2025, 6:45:50 PM No.106177100
>client hiring me to build a custom CMS
>they dont have technical staff so I basically have free reign over tech choices
I'm going to propose writing it in Common Lisp. Fun + vendor lock in? Yes please
Replies: >>106177173
Anonymous
8/7/2025, 6:49:44 PM No.106177173
>>106177100
good luck. I would give serious consideration to Clojure instead, simply due to the astronomical amount of tooling that exists on the JVM.
Replies: >>106177309
Anonymous
8/7/2025, 6:53:22 PM No.106177223
I want to do something like:

((MyFunc 1 2 3) 1 2 3)


Where before the outer form is evaluated, MyFunc is called and returns another function like MyFunc2, so then this form is evaluated as

(MyFunc2 1 2 3)


I know it's trivial to do this with macros and funcall, but I want to be able to write code exactly like this and it works at runtime. Are there any lisps or schemes that allow this out of the box? I'm explicitly interested in not having to do a song and dance, and just having this syntax at my fingertips as a default evaluation capability. Particularly in a compiled sexpr lang where this mechanism is blessed and can be heavily optimized by the compiler.
Replies: >>106177309 >>106177486 >>106177768 >>106177796
Anonymous
8/7/2025, 6:57:50 PM No.106177309
>>106177173
If Clojure had reader macros and the tooling wasn't so god-awful, I would be learning it seriously. But until then, Common Lisp will be my go-to Lisp.
>>106177223
I thought all Schemes/Lisp-1s can do that?
Replies: >>106177442 >>106177733
Anonymous
8/7/2025, 6:59:26 PM No.106177339
So, which one of you made a Lisp dedicated to GPU programming?
Anonymous
8/7/2025, 7:03:22 PM No.106177442
>>106177309
guess I'll finally try scheme then
Anonymous
8/7/2025, 7:04:52 PM No.106177486
Screenshot from 2025-08-07 12-04-10
Screenshot from 2025-08-07 12-04-10
md5: 9d6162d14fcbd8544d2ce7aca5f8c645๐Ÿ”
>>106177223
this is literally default scheme behavior
screenshot is Clojure
Anonymous
8/7/2025, 7:12:34 PM No.106177733
>>106177309
what is terrible about Clojure's tooling? the Java CLI arguments?
CL's Quicklisp doesn't even have version numbers bro
Replies: >>106179193 >>106191778
Anonymous
8/7/2025, 7:13:34 PM No.106177768
>>106177223
this is called a combinator, combining functions.
you can have myfunc return a partially evaluated function, or a lambda, then the return will evaluate the next parameter.
Anonymous
8/7/2025, 7:14:22 PM No.106177796
>>106177223
what's the usecase for this behavior, ironically speaking?
Replies: >>106177895
Anonymous
8/7/2025, 7:17:28 PM No.106177895
Screenshot from 2025-08-07 12-16-46
Screenshot from 2025-08-07 12-16-46
md5: e66bb84cbb380865ff09475e87d181b0๐Ÿ”
>>106177796
my db migrations are just maps of published time to maps with up/down keys, referencing values that are functions
Anonymous
8/7/2025, 7:59:31 PM No.106179193
>>106177733
>the Java CLI arguments
This and lack of reader macros were definitely some of the pain points I had when I tried it out, I don't quite recall the others. But it felt like it just takes way too long to get a project going.
My ideal language is somewhere between Common Lisp and Clojure, honestly.
Replies: >>106191215
Anonymous
8/7/2025, 8:31:24 PM No.106180036
Are lisp 3d game engines actually viable? Which parts of it would be the hardest to implement? Something like networking?
I just found that there are some games/engines written fully in lisp like Jak and Daxter and Ratchet & Clank for the PS2 and I found this project on github https://github.com/Shirakumo/trial
I don't know much about lisp, but I've always seen it as a language with a lot of overhead but then I've found out that some dialects like SBCL (or GOAL/GOOL for the PS2 games) seem to be quite performant.
Replies: >>106180897
Anonymous
8/7/2025, 9:18:03 PM No.106180763
belovedsilence
belovedsilence
md5: aa3949d32b7ef6337d953f0e810cff08๐Ÿ”
Howdy frens, I'm completely ignorant about Lisp. I don't know how to code, except for basic Python scripts. But I'd like to start learning a programming language, both for intellectual exercise and to work on projects.

I find Lisp very interesting, but I'm not sure where to start. I think starting with Scheme would be easier, but I also think Clojure is both more powerful and more widely used in real-world contexts, both professional and personal, and its interoperability with Java gives it more possibilities, I think.

Would you advise starting with Scheme and then maybe moving on to Clojure, or jumping straight into Clojure ?
Replies: >>106180846 >>106181609 >>106187002 >>106191794
Anonymous
8/7/2025, 9:24:16 PM No.106180846
>>106180763
Clojure has horrible documentation, especially for beginners. it's written in a manner that expect you to know what you are doing. I think Clojure is a great language, but if you are a noob, I would start with Elixir. Elixir's documentation is wonderful, and if you learn it, much of the skills will transfer over to Clojure.
Replies: >>106180960 >>106181771
Anonymous
8/7/2025, 9:27:32 PM No.106180897
shot
shot
md5: bf51630a44ddff5d49480f3dc688fbc4๐Ÿ”
>>106180036
>Are lisp 3d game engines actually viable?
>I just found that there are some games/engines written fully in lisp like Jak and Daxter and Ratchet & Clank for the PS2
>I don't know much about lisp, but I've always seen it as a language with a lot of overhead but then I've found out that some dialects like SBCL (or GOAL/GOOL for the PS2 games) seem to be quite performant.
Naughty Dog also used lisp for TLOU on PS3 so it seems viable
Anonymous
8/7/2025, 9:32:08 PM No.106180960
>>106180846
I'm looking into Elixir, and yeh they have the same philosophy and paradigm from what I can see. It looks interesting. As a total programming noob, I'll look into Elixir and try to learn it. Thank you. And then I'll look into Clojure
Anonymous
8/7/2025, 9:36:27 PM No.106181011
I just found out one of the main Guile devs has been working on a new garbage collection library
https://wingolog.org/archives/2025/05/15/guile-on-whippet-waypoint-goodbye-bdw-gc
Replies: >>106181163 >>106181965
Anonymous
8/7/2025, 9:48:01 PM No.106181163
>>106181011
Why is there a need for a new one?
Replies: >>106181266
Anonymous
8/7/2025, 9:54:47 PM No.106181266
>>106181163
Probably so you can choose between different collectors and not just BDW
https://github.com/wingo/whippet/blob/main/doc/collectors.md
Anonymous
8/7/2025, 10:21:58 PM No.106181609
>>106180763
sex with silence suzuka
Anonymous
8/7/2025, 10:35:47 PM No.106181771
>>106180846
I'm planning on learning Lisp by doing SICP (I'm used to Emacs already), is Scheme not a good first language? Should I learn Elixir before doing SICP?
Replies: >>106181808 >>106181856 >>106191801
Anonymous
8/7/2025, 10:38:33 PM No.106181808
>>106181771
no, Scheme is fine. SICP will walk you through it. it is Clojure in particular that is not easy to learn.
Replies: >>106182444
Anonymous
8/7/2025, 10:42:35 PM No.106181856
>>106181771
>is Scheme not a good first language?
It was the introductory language of choice for mit students since the 80s, you're good
Anonymous
8/7/2025, 10:45:04 PM No.106181887
uneasylove
uneasylove
md5: 0e0e02267b27554c94f61280932708a3๐Ÿ”
How come it's so easy to break pdf-info? I love it because it's the best pdf viewer but I swear it's so fragile. Can't even set custom key bindings with :bind without it throwing a ton of symbol errors.
Replies: >>106181963 >>106182071
Anonymous
8/7/2025, 10:49:43 PM No.106181963
>>106181887
you mean pdf-view? and what are you trying to do exactly?
Replies: >>106182128
Anonymous
8/7/2025, 10:49:59 PM No.106181965
>>106181011
> new garbage collector
Thereโ€™s literally thousands of new garbage collectors for java and other things, itโ€™s a common masterโ€™s thesis topic and undergrad course assignment.

Itโ€™s the equivalent announcement that someone write a new โ€œtodo list applicationโ€ in python/tk
Anonymous
8/7/2025, 10:58:27 PM No.106182071
1738038876254599
1738038876254599
md5: a3bd080c7fb9821ba20ca2b0c3289b25๐Ÿ”
>>106181887
>Can't even set custom key bindings with :bind without it throwing a ton of symbol errors.
Don't know if this helps but apparently :bind defers loading until you type one of the bindings, adding :demand loads it first
Replies: >>106182128 >>106182401 >>106183755
Anonymous
8/7/2025, 11:01:45 PM No.106182128
>>106182071
>>106181963
I already fixed it with (define-key). I just hate that pdf-tools is so fragile. Update poppler? Have to manually go into ~/.emacs.d/, delete everything under /pdf-tools<date>/ then nuke the directory. Then reload emacs. Otherwise, symbol errors. Try to configure it as stated in use-package part of the docs? symbol errors and pdfs no longer render. Look at it funny? Symbol errors.

It's the most troublesome part of my init for sure.
Replies: >>106182344 >>106182399 >>106182401
Anonymous
8/7/2025, 11:16:06 PM No.106182344
032c15367e5772b55d293dcc44fd847a
032c15367e5772b55d293dcc44fd847a
md5: 8297418017c51429015156bfae81fd4d๐Ÿ”
>>106182128
Yeah it must initialize itself in an unusual way compared to other packages (so symbols aren't exported yet), gj on fixing it tho
Replies: >>106182401 >>106182467
Anonymous
8/7/2025, 11:19:37 PM No.106182399
>>106182128
i have this problem when pdf tools just demand recompilation of epdinfo server because i've compiled emacs myself outside of msys2 (no wsl2 setup). and it doesn't recognize the server it compiles at all. and no, setting a var i no longer remember which's responsible for this doesn't work.
meanwhile nov.el, which also deals with a fancy archive with text and images, isn't nearly this finicky.
pdf is a nigger format.
Replies: >>106182467
Anonymous
8/7/2025, 11:19:47 PM No.106182401
>>106182071
>>106182128
Also I'm not sure if this is why but when installing/using pdf-tools with use-package you have to do :config then (pdf-tools-init) or whatever they call it. This makes doing things normally like with anything else through the expected syntax a huge pain in the ass.

I tried to do the exact same bindings with nov.el and it worked just fine as described in the docs using :bind (:map (something). All I wanted was to make hjkl work in modes where all I'm doing was reading documented the way it works pretty much everywhere else in my work flow. I don't use vim style bindings beyond hjkl for scrolling in documents I won't edit/type in. I know it's kind of retarded but it's how I run my web browser so I wanted it to carry over so I didn't have to reach for ctrl+n/p or the arrow keys. I don't care about the emacs style bindings when I am typing because I hate reaching for ESC and switching between modes too.

>>106182344
It's a big piece of shit. If there was any better pdf viewer I would use it instead. But they're all massive piles of shit (I've tried them all). At least emacs is tolerable and I can use it with org-mode.

To add insult to injury I'm on an OS that doesn't use a GNU userland. So I have to unfuck a bunch of other stuff to make it work correctly with BSD style userland. At least it isn't Windows or Mac those are much much worse. But at this point half my init.el is just setting things based on what platform I'm on.

I really wish I could extend mg instead. I love emacs but it has a lot of legacy cruft and stuff I'll never use inside. I often worry about it being a massive exploit waiting to happen into the rest of my system. But I've been married to it for so long now I don't see myself switching to anything else ever.
Anonymous
8/7/2025, 11:23:11 PM No.106182444
>>106181808
So Clojure is like the weird one in the family ?
Replies: >>106182527 >>106182839 >>106191830
Anonymous
8/7/2025, 11:25:00 PM No.106182467
>>106182399
>>106182344
Long shot; Any of you happen to know how to use pdf-tools in dark reader mode without it ruining the embedded images? Seems like the author is totally retarded/lazy because it shouldn't be messing with the images in the first place. I understand pdf is a bastard file format but this must be possible to do, right?
Replies: >>106182623 >>106182746
Anonymous
8/7/2025, 11:29:11 PM No.106182527
>>106182444
Clojure is technically adopted; kinda but not really part of the family.
Replies: >>106182736
Anonymous
8/7/2025, 11:35:56 PM No.106182623
1741721381066907
1741721381066907
md5: 59e861255c7f75502a776e37f6394786๐Ÿ”
>>106182467
I don't use pdf-tools but if you just want to render pdfs (without writing to storage like their github says) you could write an elisp wrapper around
mutool draw -w [width] -o /tmp/tmp.png [file.pdf] [page]
and track the current page in a buffer-local variable. Adding -I inverts the colors, or you can add tints/adjust page gamma with -G to your liking for dark mode
Anonymous
8/7/2025, 11:45:18 PM No.106182736
>>106182527
What makes Clojure so hard to learn ?
And adopted from where ?
Replies: >>106182965 >>106183599
Anonymous
8/7/2025, 11:46:18 PM No.106182746
>>106182467
a. there's now noverify install command. it wasn't there when i was last using pdf tools on windows.
b. no, i don't know. there's an option to use imagemagick for rendering, but i highly doubt it'll change anything; and pdf-view-midnight-invert. i can't exactly check myself its effect as i have no pds atm on my linux box.
Anonymous
8/7/2025, 11:54:03 PM No.106182839
>>106182444
no, Clojure is a proper Lisp-1 (like Scheme) that runs on the Java Virtual Machine (also in Javascript via Clojurescript, as well as a form of shell scripting with Babashka). it's just annoying to learn for most programmers because
(1) it's a Lisp (which confuses people used to Python or C style syntaxes),
(2) it's a functional language with immutable data structures (this will trip up programmers used to being able to mutate whatever, whenever---I remember it being annoying as fuck for my first week learning Elixir),
(3) it requires you to know Java as well (for example, your date/time handling will be done using Java's facilities for it),
(4) it proposes many abstractions over its data structures (for example, the sequence abstraction allows for iteration over any collection, the association abstraction allows for association/dissociation (applies to hash maps, sorted maps, and vectors, where your "key" is the index), and the abstraction that supports "conj"), making identification of what exactly you are doing difficult to grasp initially,
(5) and its documentation is written by people that have been programming for a very long time, and do not care to explain things in a way that is useful for noobs.
it's an excellent language. it has software transactional memory. it has the ability to "watch" values for when they change. you can toy around with metadata on objects. it is the most terse language I have come across, and allows you to trivially tear apart/assemble data structures with zero ceremony. it has the ability to have maps where keys are namespaced, which is something that I have never seen done before. it provides trivial access to the entire Java ecosystem, which is gargantuan.
there's just a lot to learn, and not much documentation to help you do so.
Replies: >>106182934 >>106182965 >>106183873 >>106191851
Anonymous
8/8/2025, 12:04:31 AM No.106182934
>>106182839
Thank you for taking the time to explain. It really does sound fascinating and powerful
Anonymous
8/8/2025, 12:06:56 AM No.106182965
>>106182736
>>106182839
Even as a somewhat experienced lisp programmer Clojure threw me for a loop for a while. There were things I wanted to do, like basic shit, and I couldn't find any documentation anywhere, no libraries, not even any forum posts. And then I figured out it's part of the Java standard library and everyone just expected you to automatically know that and just use the java interop. Also debugging was hell since it can drop down into the java debugger.

Basically you need to know Java to actually use it beyond a toy level, and so most of your time is actually going to be spent browsing java references and basically programming in java using lisp syntax.

But you also need to know lisp to understand all the abstract syntax and macros and shit they throw around. And there's not traditionally much overlap between the type of person who's enthusiastic about lisp and enterprise java.
Anonymous
8/8/2025, 1:08:16 AM No.106183599
>>106182736
>And adopted from where ?
The JVM, ie. Hell. It's hellspawn disguising as a Lisp.
Anonymous
8/8/2025, 1:24:17 AM No.106183755
>>106182071
I've had to use `:demand t` a few times. If you ever feel like the :config block isn't running, it's probably this.
https://github.com/jwiegley/use-package/issues/505
Anonymous
8/8/2025, 1:36:12 AM No.106183873
>>106182839
On the documentation front, I always thought:
- clojuredocs did a good job on documenting the standard library.
- https://clojuredocs.org/
- clojars did a good job of presenting docs for 3rd party libraries in a consistent way.
- https://clojars.org/ -- Every library has cljdocs link, so you can always find docs for a library in a consistent and sane way.

I think they did a great job as a community on the documentation front.
Replies: >>106185508
Anonymous
8/8/2025, 4:22:45 AM No.106185508
>>106183873
Agreed, Clojure is obviously a tool for the JVM world, expecting people to know Java is obvious and introducing Java would be redundant and extremely complex to maintain.
There are loads of Java books and references for people to use for this purpose. so, it's complete on its own domain, which is what matters.
Replies: >>106185617
Anonymous
8/8/2025, 4:37:22 AM No.106185617
>>106185508
You make no sense.
Anonymous
8/8/2025, 8:17:56 AM No.106187002
>>106180763
git gud (๏ฟฃโ–ฝ๏ฟฃ)b
https://tryclojure.org
https://clojure-doc.org/articles/tutorials/introduction/
Anonymous
8/8/2025, 11:19:08 AM No.106188007
java
java
md5: 7185ba718d7388ee3b10ea83c0458aa4๐Ÿ”
>>106170659
good morning jvm sir
http://xahlee.info/java-a-day/java.html
Anonymous
8/8/2025, 2:00:30 PM No.106189012
This is Janet -> WASM doing web audio.
https://lisp.trane.studio/
Alt-Enter will start the demo.
# Hello
# Trane is a music playground
# It's written in Janet, a lisp-like language

# To execute the code below, press Alt+Enter. (+Enter on Mac)

(chain
(sample :hello-sample :url "samples/Cmin 7th 3.wav" :pitch :c3)
#(biquad :hello-filter :filter_type "lowpass")
:out
)

(live_loop :player
(play (pick 12 24 36) :hello-sample :dur 64)
#(target :hello-filter :frequency (rand 50 10000) 10)
(sleep 6)
)
# All those samples playing at once might cause some clipping. Try to adjust the level with the gain knob on the right.
# try uncommenting both the lines above.

# Have a look at the about page for more info: https://lisp.trane.studio/about.html
Replies: >>106189260
Anonymous
8/8/2025, 2:17:16 PM No.106189133
How many of you would be interested in a semi-regular Lisp meetup event (not organised through 4chan)? Please include your country.
Replies: >>106189557
Anonymous
8/8/2025, 2:34:53 PM No.106189260
>>106189012
Does Janet implement a condition system or OOP similar to common lisp?
Replies: >>106191214
Anonymous
8/8/2025, 3:10:52 PM No.106189557
>>106189133
I literally do not interact with other humans
Anonymous
8/8/2025, 4:13:25 PM No.106190224
>>106106181
https://github.com/mhayashi1120/Emacs-langtool
I already had the service running for LibreOffice.
Anonymous
8/8/2025, 5:42:58 PM No.106191214
>>106189260
>condition system
https://janet-lang.org/docs/fibers/error_handling.html
exception system built on top of fibers

>OOP
https://janet-lang.org/docs/object_oriented.html
Self-styled prototypes
Replies: >>106191492
Anonymous
8/8/2025, 5:42:58 PM No.106191215
>>106179193
>Common Lisp and Clojure
https://github.com/ruricolist/cloture
Anonymous
8/8/2025, 6:12:26 PM No.106191492
>>106191214
Very cute. Neat little toy language.
Anonymous
8/8/2025, 6:43:52 PM No.106191778
>>106177733
>CL's Quicklisp doesn't even have version numbers bro

Quicklisp "just works".

And, you are not forced to use Quicklisp, anyways. There are alternatives.
Anonymous
8/8/2025, 6:45:57 PM No.106191794
>>106180763
>but I also think Clojure is both more powerful

A belief, not a fact.

>and more widely used in real-world contexts, both professional and personal

It is CL which has a long history of success stories in professional contexts, for at least 40 years till today.

>and its interoperability with Java gives it more possibilities

You can also get very easy interoperability in Java using Common Lisp, there are at least three alternatives, the easiest one is to use ABCL, a Lisp implementation that runs on the JVM.
Anonymous
8/8/2025, 6:46:59 PM No.106191801
>>106181771
>is Scheme not a good first language?

It is a great first language.
Anonymous
8/8/2025, 6:50:07 PM No.106191830
>>106182444
>So Clojure is like the weird one in the family ?

Totally.

The worst part is that the JVM leaks through Clojure. That is, there is no abstraction or "wall" between, for example, JVM types and some basic Clojure types.

This means that it is tied to the JVM and your code will not necessarily work on Clojure implementations that don't target the JVM.

When you run Lisp under the JVM (using ABCL - Armed Bear Common Lisp), you can execute any Lisp code, which you could also compile to machine language using any of the other awesome implementations of CL like SBCL, CCL, LispWorks, and AllegroCL.

Or compile it to C using ECL.
Anonymous
8/8/2025, 6:52:59 PM No.106191851
>>106182839
>it's an excellent language. it has software transactional memory. it has the ability to "watch" values for when they change. you can toy around with metadata on objects. it is the most terse language I have come across, and allows you to trivially tear apart/assemble data structures with zero ceremony. it has the ability to have maps where keys are namespaced, which is something that I have never seen done before. it provides trivial access to the entire Java ecosystem

All the features listed here are also available in Common Lisp, just import the relevant libraries. Except for "watch values when they change", unless you mean "executing code when data accesors are called", which can trivially be done in Lisp too.
Anonymous
8/8/2025, 6:57:49 PM No.106191898
gnutroll
gnutroll
md5: ec232cfc0f1342e6205b325a32d4d2bd๐Ÿ”
le new bread
>>106191893
>>106191893
>>106191893
>>106191893