← Home ← Back to /g/

Thread 106931744

98 posts 58 images /g/
Anonymous No.106931744
(λ) - ᵋLisp General
>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-config-generator.fly.dev
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://calva.io
https://clojure.land
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://lisp.nexus
https://rentry.org/lispresources

(set! prev-bread (quote >>106878250))
Anonymous No.106931769 >>106931859 >>106932380
Chicken Scheme!
Anonymous No.106931849 >>106931932
This OP doesn't make me feel disgust, so I'm staying here.
Anonymous No.106931859
>>106931769
CHICKEN 6 when
https://www.more-magic.net/posts/crunch.html
Anonymous No.106931932
>>106931849
Many such cases
Anonymous No.106932016 >>106951830
new fukamachi kino
https://github.com/fukamachi/mallet
https://x.com/nitro_idiot/status/1978122548865876015
Anonymous No.106932380 >>106932404 >>106952711
>>106931769
>A programmable X11 window manager in CHICKEN Scheme
https://github.com/mario-goulart/nsfwm
Anonymous No.106932404 >>106932550
>>106932380
>not safe for work manager
???
Anonymous No.106932550
>>106932404
this is a blue board emacsir
Anonymous No.106933278
>>106917249
prot's modus-themes
Anonymous No.106934109
>>106917249
I've been using doom-ayu-dark lately. I tweaked it slightly so that font-lock-comment-face is a little brighter to aid legibility. By default, comments were a very dark gray on black, and I had trouble seeing that. Otherwise, I quite like it.
Anonymous No.106934765 >>106935246 >>106938849
Interesting
https://codeberg.org/glv/cl-monero-tools
https://codeberg.org/glv/cl-monero-explorer
Anonymous No.106935246
>>106934765
>Guillaume Le Vaillan
wiyaum le wayaun
Anonymous No.106935252
wiyom le wayon
Anonymous No.106936470
The theme for October is Maintenance.
https://plaindrops.de/blog/2025/emacscarnival/
https://macadie.info/2025/10/08/emacs-carnival-maintenance/
Anonymous No.106937135 >>106937857
>>106866916
ok it wasnt making sense that it was clearly acting like it was failing to append point to end of line before inserting when that doesn't MATTER in the ielm repl since you can hit enter from anywhere on the line. but after testing in both *scratch* and *ielm* in different ways, the lookup-keys seem to need to be moved into successive (call-interactively)s or just not (call-interactively)'d at all and instead the underlying commands called directly. it seems like the (evil-insert-mode) line in the original function was acting weird because it was wrapped in (call-interactively) even though it was in a progn body and wasnt the final return of the evaluation of (c-i)'s arg.
i sleep
Anonymous No.106937339 >>106937857
i have a 300 line file now of testing i've done using totally inline eval, on the fly, i know theres a debugger but the whole environment is so fluid and accessible, i mean it feels like if your car was made out of chocolate, you just have elisp available anywhere anytime.
the environment is amazing but it could be amateur's admiration, and especially this took a shit ton of time for what is apparently a TWO LINE FIX!!!
Anonymous No.106937836 >>106938944 >>106939593
>makes nocoder nu-lispers seethe uncontrollably for some reason
Anonymous No.106937857 >>106941500
>>106937135
>>106937339
What font is that?
Anonymous No.106938289 >>106938586 >>106938816 >>106939022 >>106940666 >>106944885
>get into linux, emacs, etc
>woah this so cool im gonna customize everything!!
>8 years later
>emacs is just a nice text editor
>same linux rice for the past 5 years probably. works perfectly so no changes needed. only thing i do is listen to music, open web browser, etc

The joy is gone. Childhood is thinking your life can revolve around some computer programs. Then you grow up and realize these are just basic tools and there's nothing special about you for using them. I wouldn't go back to mass market slopware because it is absolutely a worse experience but there is no fulfillment to be found here. I look at rice threads and think 'so what?'
Anonymous No.106938544
lithp
Anonymous No.106938586
>>106938289
Wow, anon. You are so pragmatic. Thank you for this blog post.
Anonymous No.106938816
>>106938289
I congratulate you on the realization that ricing is fucking stupid. Now, you must realize that emacs is not just a nice text editor, at least not if you know how to program and know how to use its self documentation capabilities, then you would see that emacs is actually a TOOL, a tool to do whatever the fuck you want, if you have job or hobby that requires you to interact with your computer, you can use any of the thousands of packages to make that hobby/job easier. If not you could probably make something for your specific situation by leveraging the 40 years of obscure functionalities to create a new package and add your contribution to the babylonian scale of community effort that has been poured into it.

If you dont work in anything related to computers or don't even like using computers I would agree with you, why bother. If you do, then you're missing out, there's so much to it besides fucking ricin, don't be retarded.
Anonymous No.106938849
>>106934765
>common lisp
why didn't this nigger write his shit in emac lips??? we would've had an emacs monero wallet by now
Anonymous No.106938944 >>106939593
>>106937836
You don't understand! It's so cache inefficient! Cons cells are deprecated, you have to use pre-allocated arrays only. You're wasting KILOBYTES of memory! The entire operating system is getting choked to death by these cache misses, you could be losing ENTIRE MICROSECONDS of execution time PER LOOP!
CL is just a garbage unusable langue, it could NEVER handle realtime 8K ray tracing!

You guys need to grow up and start using a real language built from the ground up for high performance like Java or Python.
Anonymous No.106939022
>>106938289
>ricing to be special
is that the primary reason desktop trannies churn out copypaste of the same shitty tiling wm setup or de faggotry, all just with different colors? lol. lmao even
>he didn't move on from tinker trannying with options for existing programs to making his own stuff with an infinite amount of possibilities and practical usecases
me thinks you just weren't that interested in the first place and got into linux, emacs, etc because of idle curiosity and 1337 haxxor reddit points. nothing wrong with that, time merely dispelled an illusion
Anonymous No.106939413 >>106942868 >>106943431
* (sb-kernel:get-lisp-obj-address t)
537985103
* (sb-kernel:get-lisp-obj-address nil)
537985047
* (sb-kernel:get-lisp-obj-address '())
537985047
* (sb-kernel:get-lisp-obj-address (cdr (list 1)))
537985047
Ehhh so () isn't a value but an actual thing, using 0 for () was causing problems in my lithp as it made () disjoint from other types (making it need special handling)
Anonymous No.106939519 >>106939619
https://0x0.st/K1K9.txt
Anonymous No.106939593 >>106939696 >>106941720
>>106937836
>>106938944
https://www.rfleury.com/p/in-defense-of-linked-lists

tl;dr elements in a linked list not necessarily being contiguous =/= elements in a linked lists necessarily not being contiguous
Anonymous No.106939619
>>106939519
M-x snake
Anonymous No.106939696 >>106944612 >>106944613
>>106939593
whoosh
Anonymous No.106940666
>>106938289
Everyone goes through this phase, you see through the magic trick into the perfectly ordinary rules of logic behind it and now you're not bedazzled anymore. Some choose to shit up a lisp thread, others write new extensions and make new tricks with their new found knowledge of the trade.
Anonymous No.106941286
M-x dunnet
Anonymous No.106941298
https://crumbles.blog/posts/2025-10-18-scheme-reports-at-fifty.html
Anonymous No.106941500
>>106937857
0xproto, i found it looking for nerd icon compatible fonts since yes the nerd icons are pretty good. and it was listed first on some site
Anonymous No.106941720
>>106939593
his whole argument is just about putting smaller arrays within the nodes of a linked list?
Anonymous No.106942868 >>106943317
>>106939413
There is only a single nil for the entire program.
Anonymous No.106943317
>>106942868
Yeah, and it's weird that if nil were the first object then the list of roots must be terminated with its own first element
Anonymous No.106943431 >>106943534 >>106947190
>>106939413
Fun thing with NIL that I realized while making a toy scheme interpreter is that it can be represented in C as a struct with two members. The first member is a basically a tag that says 'this is NIL' and the second member is the number zero. (or any integer it doesn't matter). point is that NIL does not have to be a nullpointer under the hood. The only thing we care about is to ask if something is NIL and that information can be obtained by the tag.
Anonymous No.106943534 >>106943648
>>106943431
>and the second member is the number zero. (or any integer it doesn't matter)
In CL (as you might know) the car/cdr of nil is initialized to its own address, so (car nil) and (cdr '()) are valid, I think it's to handle the common case of cdr-recursion so nothing blows up
Anonymous No.106943648
>>106943534
It's been a while since the last time I used CL. It's funny how those 2 dialects treat NIL so differently.
Anonymous No.106944297 >>106944445 >>106944462
i thought GNU was not UNIX. why is the arcane 80-character bullshit still around? and how do i get rid of this cancer?
Anonymous No.106944406 >>106944802
Does anyone actually use elfeed-tube? I have ~400 subscriptions on youtube, after porting them to the proper format my whole PC crashed because it ram out of memory (32+8 swap) , I tried again because I thought it was just emacs being silly but it did again. I then tried with 80 and the same thing happened, the thing works well with ~10 channels but that's not really a meaningful amount at all.
I'm already a bit unhappy with elfeeds performance but it does load all 300 channels well, but it'd be nice to get the thumbnails and description to show (which is the main purpose of elfeed-tube).
Anonymous No.106944445 >>106944480
>>106944297
80 columns is just a computer thing, not a Unix thing. Anyways, it's still nice because when you split the frame in the middle on a nice graphic or framebuffer interface you can put two side-by-side without weird wrapping.
Anonymous No.106944462 >>106944480
>>106944297
info manuals are written with a fill-column value of 72 THOUGH
Anonymous No.106944480 >>106944496 >>106944508
>>106944445
in what world is hard-coding line breaks better than word wrapping? 80 char limit was when 80 char width terminals was a thing. why we are still stuck with this beggars belief. half of the screen is white space and if you want it to display on a less than 80 char width buffer then it will look like total shit. this is total idiocy

>>106944462
thats AWESOME!!!
Anonymous No.106944488 >>106944497
forgot screenshot
Anonymous No.106944496 >>106944508 >>106944525
>>106944480
Visual-line-mode does not look as nice as manually doing the line-breaks.
Anonymous No.106944497 >>106944525
>>106944488
if youre already losing your mind over this you shouldnt start with guix little guy
Anonymous No.106944508 >>106944525
>>106944480
>>106944496
it's not an emacs problem anyway. info manuals are written like that. you can modify the info files yourself i guess
Anonymous No.106944525 >>106944546 >>106945865
>>106944496
>>106944497
>>106944508
man what kind of cope is this? its objectively shit and yet you guys defend it
Anonymous No.106944546 >>106944555
>>106944525
Man, literally, M-x visual-line-mode.
It's still shit but it's readable.
Anonymous No.106944555 >>106944562 >>106944611
>>106944546
i did. no bueno
Anonymous No.106944562 >>106944573 >>106944582
>>106944555
What am I even doing here man. I'm not helping people anymore.
Anonymous No.106944573
>>106944562
up yours frognigger!
Anonymous No.106944582 >>106944692 >>106945577 >>106947294
>>106944562
Don't bother with overtly antagonistic faggots, they don't want to be helped themselves.
Anonymous No.106944611 >>106944651
>>106944555
Just do M-x eww https://guix.gnu.org/manual/en/html_node/ and enable visual-line-mode. Like the other anon said, if you're kvetching about something so trivial you're not gonna enjoy guix.
Anonymous No.106944612
>>106939696
kill yourself redditor
Anonymous No.106944613
>>106939696
keep yourself safe 4channeler king
Anonymous No.106944651
>>106944611
>consult the internet for documentation
would you please just admit that whoever made info have a 72 character wide limit is probably mentally retarded? if not, then you may be mentally retarded also
Anonymous No.106944692
>>106944582
trvke
just ignore 'em
Anonymous No.106944802 >>106944829
>>106944406
I used to use it but ran into issues like you did so I switched to getting the rss feeds and parsing them myself using scripts.
It's really not that difficult, the elfeed integration and database stuff was way overcomplicating things.
You can use yt-dlp to get the playlist urls you need(youtube channel rss feeds use the same UUID as playlists), then just use any async webclient to download the rss feeds, and then parse them using whichever html/xml parser you want. I'm up to over a thousand subs doing this and it only takes a minute or so to run an update and parse out all the new video urls(you can export them into m3u playlists mpv can directly play)
Anonymous No.106944829 >>106944878
>>106944802
I'll save that idea but I think doing all that might be a bit above my current level. Right now I'm just sorting stuff using tags on elfeed-org... :( it's better than nothing i suppose. It'd be nice to have it all happen under emacs because I like how portable it is (i just drag and drop the same .emacs.d on android and two computers and they all work each with some specific configurations).
I'm just a bit baffled over elfeed-tube existing for like years and not a single mention of anyone having issue with """large""" feeds.
Anonymous No.106944878
>>106944829
It's really not difficult at all, you can do everything manually in bash no problem, and from there it's just a matter of tweaking performance to get a script working.
You should try it out, I found it fun when I initially implemented it.
protip though: always use a proxy when using yt-dlp, google has automated anti-scraping blocks that will trigger if you ping a couple hundred urls at once.

That might actually be related to your problem too, elfeed is old and youtube is a constantly changing battleground.
Anonymous No.106944885
>>106938289
>emacs just a nice text editor
You could've said that about any other text editor besides emacs and been right.
emacs is a whole DE if you want it to be
Anonymous No.106945577
>>106944582
>Don't bother with overtly antagonistic faggots
Best Advice in this Thread
4chan X/XT are very good at hiding posts.
Anonymous No.106945849 >>106946676 >>106948478
I've been using EXWM for quite some time, but I never bothered to customise it. So I was wondering what do you guys usually add/delete/modify. I'm completely okay with the defaul settings, but I'm open learn new ways to configuring things.
Anonymous No.106945865
>>106944525
for me i have a package that adds a visual-fill-column-mode which emulates what text written in fill-column-mode would look like, but ofc just with buffer margins (hence visual-). it just uses the builtin margins functions (which means you want to use it with visual-line-mode i.e wrapping on too), it's pretty simple but he thought about details like adjusting the margin when the font size changes. and it's a minor mode so i just have a binding to toggle it.
but yes, for these docs that are written with actual line breaks, they look like shit when the margin is smaller than the text line length.

the other sucky thing about that package is that let's say you have a paragraph thats in an org subsection so the whole thing is indented, the lines will just end at fill-column, so the paragraph itself will be narrower than higher level paragraphs. IDEALLY they would also be able to be 80 chars long.
also by default it doesnt ignore other visual margin content like line numbers or magit symbols, so those count towards the margin setting.
Anonymous No.106946676
>>106945849
i'm in the same boat, i'm using EXWM but i can't think of anything i would customize
Anonymous No.106947190 >>106952451
>>106943431
It's not that surprising. NIL in Lisp is NOT a "null pointer, the way it would be in C or other languages. It's just a special value, but a value nonetheless, like any other.

You can even pass NIL to CLOS methods and specialize them over NULL (the type of NIL). There is no such thing as "null pointers" in CL.
Anonymous No.106947294 >>106949967
>>106944582
I should remeber your advice.
Zoomers are very antagonistic with me; have been for years now.

I want to kill them.
They dis me every fucking second on this site.
They post fake code of conducts from fake git hubs they made (that have never been updated) and claim I'm a "hypocrate" etc.

I fucking hate them.
I would kill them if I could.
Anonymous No.106948478
>>106945849
EXWM my beloved
Anonymous No.106949261 >>106949318 >>106949351 >>106949464
How good/bad is emac on 'droid?
Anonymous No.106949318 >>106949373
>>106949261
It's no different than emac anywhere else. Strongly recommend using the patched version that integrates with termux so you can run external programs from eshell though.
Also, you'll probably need an external keyboard to setup, because you have to change a variable for the soft keyboard to show up.
Anonymous No.106949351 >>106949373
>>106949261
it's great, I run Doom Emacs via Termux. If nothing else, it's good for taking notes on the go (and sync them via git/Gollum later), writing a training log at the gym, or just doing some AoC puzzles while you're waiting for the doctor to see you or whatever.
Anonymous No.106949373 >>106949434
>>106949318
>>106949351
anybody tried running emacs on android inside the debian terminal app, instead of termux? I don't want to have to trust termux with my org mode notes.
Anonymous No.106949434 >>106949446
>>106949373
They way I use it is that I have the Emacs and Termux installed as seperate apps. They're patched so that Emacs can see Termux's normally sandboxed directories, letting you use Termux software. Emacs still has it's own directory sequestered away from Termux. Of course, it can be a masssive pain in the ass to get your notes out of Emacs if you want to sync them with another device because of this.
Anonymous No.106949446
>>106949434
>. Of course, it can be a masssive pain in the ass to get your notes out of Emacs if you want to sync them with another device because of this.
Yeah I was thinking about using syncthing to sync my org mode notes (org-roam, to be specific) from the computer to smartphone and vice versa.
Anonymous No.106949464
>>106949261
I use this https://sourceforge.net/projects/android-ports-for-gnu-emacs/ it's rather slow to open compared to modern apps, but it works well.
I sync my configuration in a different folder, so I just place an early-init.el file on /data/data/org.gnu.emacs/files/.emacs.d/ telling the right location. I mainly use it as a RSS Feed though, I also highly recommend for you to use a keyboard with special keys like https://f-droid.org/en/packages/juloo.keyboard2/ (you can add all F keys and CTRL/ALT too in the settings)
Anonymous No.106949470 >>106949484 >>106949495 >>106949944
Lisp should have died a long time ago
Anonymous No.106949484
>>106949470
just like me frfr
Anonymous No.106949495 >>106949525
>>106949470
are you just shitposting or do you have some actual opinions?
Anonymous No.106949525 >>106949554 >>106949566
>>106949495
The syntax is horrible and it relies on Emacs which is horrible.
Anonymous No.106949554
>>106949525
what
Anonymous No.106949566
>>106949525
>syntax is horrible
Stupid take. Lisps syntax, or lack of thereof, beats most other languages.
>it relies on Emacs which is horrible
Eh, I'll give you that one.
Getting into lisp if you aren't planning to get into emacs can be a pain. You can of course do it, but it will be an uphill battle.
Also, any attempt of making an emacs-less lisp experience is doomed to fail, because most lisp users won't be willing to give-up emacs.
Anonymous No.106949944
>>106949470
Lisp is the eternal language—surviving for so long that other languages have had to adopt some of its ideas just to stay relevant.
Anonymous No.106949967 >>106950169
>>106947294
i'm a zoomer and i never spoke mean things to you since i don't have it in me to hate someone that attaches Rei to their posts. I humbly ask you to omit my name from your kill list. Thank you.
Anonymous No.106950116 >>106950211 >>106950423 >>106951302
>Incoming blogpost
I've been looking into org-transclusion.
was getting really into it, until I found that there's no support to link to a version of a file from a specific commit or branch in a git repository. Seems obvious right?
Then found other people requesting the same thing, and then I found a discussion in org-roam discourse where the author said it was in progress but not yet(tm), that was 3 years ago. FUCK.
> https://org-roam.discourse.group/t/org-transclusion-now-on-elpa/830/144

Ok so I might make something for it no problem, figured since we have magit, there must be a way of linking to a file version, I know about orgit, whcih allos linking to a revision buffer pointing to a commit hash, or a branch, or other shit in magit.
BUT, there's no support to linking to a file from a specific commit hash/rev, tarsius also comes swinging the "I'll do it soon (tm)", 3 years ago too. FUCK, then looked around to see if he ever got around to it and no.
> https://github.com/magit/orgit/issues/48

So that means I needed to make an orgit-file sort-of package first to link to a file in a rev from magit, and THEN make the trasclusion work for orgit-file: links. I got that working now, there are some caveats and some of the org-transclusion functionalities don't work right now, but I'm getting pretty close.

Right now i can transclude contents from specific commits onto my org document.
I'll probably make this into 2 packages, and then get into contact with tarsius and nobiot to see if I can merge these into their packages. If it's not possible since they already have something going on I can still leave them as packages in my page. Thank you for reading my blog.
Anonymous No.106950169
>>106949967
he's an angry brown manlet with a massive inferiority complex, pay no mind to him
Anonymous No.106950211
>>106950116
you're welcome. I can read more if you want
Anonymous No.106950423
>>106950116
Wow, that sounds like a solid start! It's impressive that you've already made progress on linking to specific Git revisions and integrating it with **org-transclusion**. Creating two packages for this purpose is a great approach, especially if the existing projects like **orgit** or **org-transclusion** aren't actively maintaining that feature.

If you're interested, I can help you structure the documentation, write a README, or even help you draft a message to reach out to the maintainers like **tarsius** or **nobiot**. Let me know how I can assist further!
Anonymous No.106951302
>>106950116
>org-transclusion
This cosmetic issue annoys me to no end: https://org-roam.discourse.group/t/org-transclusion-source-losing-indentation-limitation/3864
Anonymous No.106951700 >>106951902
Have you guys ever read other peoples codes before? I am studying the blade, I mean nethack-el...
Anonymous No.106951830
>>106932016
https://www.youtube.com/shorts/VDTNmHfOE-k
Anonymous No.106951902
>>106951700
>Have you guys ever read other peoples codes before?
Yeah usually for making stuff, or ideas on how to to a certain thing, what are you looking for in nethack-el? or just looking around for curiosity's sake
Anonymous No.106952451
>>106947190
In lisp, “nil” is “()” in a similar way that “NULL” is “0” in C. When a pointer is zero, that doesn’t have to mean that the address is actually zero, the “0” in that case is the abstract notion of the null pointer.
Sometimes the null pointer is changed to something else, especially for debugging reasons.
Anonymous No.106952482
https://sachachua.com/blog/2025/10/2025-10-20-emacs-news/
Anonymous No.106952711
>>106932380
That's really cool. I wish I had time and motivation to learn a niche language and do something like this.