← Home ← Back to /g/

Thread 106191893

320 posts 116 images /g/
Anonymous No.106191893 >>106191923 >>106194854 >>106207981 >>106208232 >>106266463 >>106274960
(λ) - Le 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.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://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://rentry.org/lispresources

(setf *prev-bread* >>106094218)
Anonymous No.106191923
>>106191893 (OP)
cute OP image
Anonymous No.106191924
me when typing a comma in an inferior language
Anonymous No.106192584 >>106193205 >>106226370
http://lelisp.org
Anonymous No.106193205
>>106192584
git gud
https://github.com/c-jullien/lelisp
Anonymous No.106194232 >>106194664
has anyone ever tried exposing Rust crates to Common Lisp? I want access to Rust's native data structures, Slab, Slotmap, Chrono, Hifitime, Petgraph, etc.
Anonymous No.106194664
>>106194232
I know Endatabas uses SBCL and Rust together. Maybe they know something.
https://github.com/endatabas/endb
Anonymous No.106194854 >>106194924 >>106194935 >>106194949
>>106191893 (OP)
>Le Lisp General

"Le Lisp" is actually a Lisp dialect, different to Common Lisp and Scheme, etc.

The title of this thread is misleading.
Anonymous No.106194900 >>106194988 >>106195048 >>106237073
If you owned lisp.com, what would you do with it?
Anonymous No.106194924
>>106194854
shut your hoe ass up.
Anonymous No.106194935
>>106194854
Anonymous No.106194949
>>106194854
>missing the joke
le retard
Anonymous No.106194988 >>106195311 >>106195677 >>106237073
>>106194900
Nice digits.
Short term: Put the content of https://rentry.org/lispresources on it.
Long term: Create a site that serves as a big Lisp family reunion.
- Try to catalogue and describe every known Lisp.
- Provide some kind of forum (even allowing some form of anonymous participation).
- Provide links to existing communities too.
Anonymous No.106195048 >>106195119
>>106194900
https://lisp.com/
https://web.archive.org/web/19970915000000*/lisp.com
Anonymous No.106195119 >>106195175
>>106195048
https://lisp.org
Anonymous No.106195175 >>106195671
>>106195119
I wonder if his old elisp still runs.
http://www-formal.stanford.edu/jmc/facts.txt
Anonymous No.106195242 >>106195346 >>106217040
Another Helix plugin has been announced.
https://github.com/jdrst/csharp-hx
https://github.com/helix-editor/helix/pull/8675#issuecomment-3166934062
Anonymous No.106195311 >>106195368 >>106199871
>>106194988
>Nice digits.
Right back at ya.
>Short term: Put the content of https://rentry.org/lispresources on it.
https://lisp.nexus/
>Long term: Create a site that serves as a big Lisp family reunion.
>- Try to catalogue and describe every known Lisp.
>- Provide some kind of forum (even allowing some form of anonymous participation).
>- Provide links to existing communities too.
Let me know when you're ready, I'll get started on the logo
Anonymous No.106195346
>>106195242
>csharp
Nice
ClojureCLR 4 me
Anonymous No.106195368
>>106195311
>Right back at ya.
absolutely wild
Anonymous No.106195671
>>106195175
NICE. I think most of those are in calc now.
Anonymous No.106195677
>https://lisp.nexus/
I should note, I don't own that domain; a friend is letting me play with it until he figures out what he wants to do with it. And IP logs are anonymized, not that you should believe me.
>>106194988
The logo is completed
Anonymous No.106197198 >>106198418
Scheme?
Anonymous No.106198418 >>106198529
>>106197198
Schemes?
Anonymous No.106198529
>>106198418
> dyvbig
He’s one of the reasons R6 was so shit, he had the clout to fix it but just laid back and tried to enjoy it.
Anonymous No.106198540 >>106198559 >>106199036 >>106201128 >>106204180
For anyone who's interested, here's the paths that people have attempted to access so far on lisp.nexus:
>.git/config
>@vite/env
>actuator/env
>server
>.vscode/sftp.json
>about
>_profiler/empty/search/results?limit=10
>.env
>js/lkk_ch.js
>js/twint_ch.js
>v2/_catalog
>ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application
>server-status
>login.action
>_all_dbs
>.DS_Store
>s/9313e21313e24323e2538313/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties
>config.json
>telescope/requests
>info.php
>?rest_route=/wp/v2/users/
>xmlrpc.php
The vast majority of weird requests are from Germany. In case someone in this thread is thinking of scanning for random files, don't bother, there's only an index.html and favicon.svg uploaded to the CDN that is hosting the site. It is not proxying requests to a backend server controlled by me.
Anonymous No.106198559 >>106198776
>>106198540
> files
mfw lisp.nexus isn’t hosted directly by, say, guile instead of a webserver.
Anonymous No.106198776
>>106198559
Will fix when I have more time
Anonymous No.106199036
>>106198540
There are a lot of predators and thieves in this world.
Anonymous No.106199871 >>106202361 >>106204128 >>106211383 >>106212084
>>106195311
>Let me know when you're ready, I'll get started on the logo
This is how I feel right now.
I'm not ready.
Anonymous No.106200066
i can't believe i got anon pregnant...
Anonymous No.106200334
i switched from writing notes in .txt files to .scm scheme files so that my neovim repl starts and then i can do maths in line with the text
Anonymous No.106201128 >>106201146 >>106204128
>>106198540
at we get this a thousand fold.

Both most frequent and less frequent requests are useful for detecting bots.
I think there are some botnets that just brute-force IPs with known security vulnerabilities.
Anonymous No.106201146
>>106201128

Also I think I will never be a "hacker" just because I hate messing around with windows shit. Almost 80% of them are related in one way or another to some faulty windows thing or some microsoft bullshit.
Anonymous No.106202361
>>106199871
why would you have unprotected sex? thats weird
Anonymous No.106203634 >>106204880 >>106214398 >>106216007
What does the G in G-Expression stands for?
Anonymous No.106203702
>>106191830
>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 does not bother me at all.
>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.
such is the nature of targeting different platforms. A Common Lisp implementation on Javascript is going to have to omit some features, just like Clojurescript has to.
it's also very important to note that the JVM is a standard, and there are multiple implementations of it, just like there are multiple implementations of Common Lisp.
also, ABCL is slower than Clojure, mainly due to its reflection. if I'm wanting to run on the JVM, then using Clojure makes more sense. I would rather run the JVM than SBCL.
Anonymous No.106204128 >>106204667
>>106199871
Guess someone else is gonna have to step up. Good luck with that.
>>106201128
Right, but this URL shouldnt be indexed anywhere, meaning there are bots actively crawlling 4chan for URLs to attempt automated attacks on. Creepy
And yes that definitely happens for IPs, but the logs are definitely showing access through the domain(it's the CDN access logs)
Anonymous No.106204180 >>106204321
>>106198540
cool website bwo
Anonymous No.106204321
>>106204180
Thanks fren
Anonymous No.106204667
>>106204128
>but this URL shouldnt be indexed anywhere
Honestly I think they brute-force URLs too.

With dictionaries and crossing out the ones with DNS errors you'll quickly build a decent list.
Anonymous No.106204880
>>106203634
Gangsta.
Anonymous No.106206021 >>106206027 >>106206171 >>106207656
Hello friends, I've installed Guix on my main PC (was trying it out on my laptop for a week) and I've managed to set up nVidia, now I don't know if I did it right but at least things seem to be fine.
Now I'd like to know understand how to properly set up a modular configuration, as I'd like to use the same configuration across my laptop and my PC while keeping their specific changes to a separate file.
The manual didn't clarify much and most of the information I got was from https://systemcrafters.net/craft-your-system-with-guix/how-to-organize-your-config/ (I didn't watch the video, just the post)
I'm still unsure whether my configuration is correct or not, I'd like to have these things clarified:

- How does inheriting works? In the two configurations, I inherit base-system inside operating-system, that (supposedly) works because base-system only declares things under operating-system. Would it not work if I had defined something else outside operating-system in the base-system file? So I need to import several files to inherit one function at a time?
- use-(package|service)-modules work as a list, so I don't need to "inherit" it, other than adding the appropriate #:use-module?
-- The same logic works for services (cons* just adds to the list, packages append... appends to the list and so on)?
- The manual mentions "embedding" guix-home to config.scm... does that mean that an appropriate modular alternative would be to set it up then export it as a module to the other configuration (in this case main-desktop.scm like the other stuff)?
-- I'm not sure if I understand the purpose of Guix Home, for a single-user computer. Is it to have packages and services installed as an unprivileged user and having dotfiles set up? That's all? I'm not sure what I'd add there that I wouldn't just add to the default configuration.
Anonymous No.106206027 >>106206171
>>106206021
Continuing,
- On Nix (long ago) I liked having separate files with my whole DE set up, so I could change the whole thing by just calling a different file. Unfortunately I couldn't declare most of the KDE stuff, gnome was easy enough with dconf shenanigans. I assume that Guix home could help me out with this issue? How good is KDE's configurability? And... just where can I find about the options I could change? The manual has hundreds of them for lots of services and so on, but if they're not in the manual, where can I find them?
- I like to have a bunch of fonts installed, just to make sure, if I wanted a separate config file with just a declaration of fonts, i'd just inherit the package module, (operating-system (packages..."all the fonts")) but am I supposed to append them to %base-packages? Or am I supposed to create for example %font-packages so I can call just that?
Anonymous No.106206171
>>106206021
>>106206027
So my fonts file would be something like my image, right?

Also in the nonguix guide it mentions that I could replace the signing-key I've downloaded with a declaration with the key on config.scm itself with
(plain-file "non-guix.pub"
"")

But then I wouldn't have any .pub key to authorize as it says right after (sudo guix archive --authorize < signing-key.pub) does it mean that I don't need to do this step if I declare it directly on the configuration? Seems to be the best option to do that then.
Anonymous No.106207656
>>106206021
>Is it to have packages and services installed as an unprivileged user and having dotfiles set up?
Yep
https://systemcrafters.net/craft-your-system-with-guix/guix-home-getting-started/
Anonymous No.106207981 >>106208232
>>106191893 (OP)
if i put ((( ))) around my name people will start talking about the 6 000 000... funny how that works.
Anonymous No.106208232 >>106208293 >>106209532 >>106209721
>>106191893 (OP)
>>106207981
((())) is a hate symbol lispchud
https://www.adl.org/resources/hate-symbol/echo
Anonymous No.106208293 >>106210970
>>106208232
(((Good)))
(((Anonymous))) No.106209532
>>106208232
(sexp (is 'love))
(sexp (is 'life))
Anonymous No.106209721 >>106209728
>>106208232
The audio version of the echo that predates the ASCII (((echo))) can be found here.
https://argentbeacon.com/the-merchant-minute/
Anonymous No.106209728
>>106209721
TRS is garbage, but Morrakiu was talented.
Anonymous No.106210010 >>106210152 >>106212918 >>106221780
chat, what do we think about org-roam?
Anonymous No.106210152 >>106210203 >>106232591
>>106210010
>org-roam
- I use it every day.
- I don't use inter-note linking as much as I thought I would.
- org-roam-node-find which provides search based on title and tags is how I usually find what I'm looking for.
- If that doesn't work, I may use ripgrep.
- The graphical visualization looks cool, but in practice, I don't use it much.
Anonymous No.106210203 >>106210253 >>106232613
>>106210152
thanks fren. I am considering moving back to org-roam again. I had started using org-roam for interlinked note taking, but then I swithched to denote, and then to orgrr (orgroam ripgrep). Both of these tools really lack proper backlink functionality for org mode subheadings. I make use of subheadings in a single orgmode doc, and I link these subheadings in between themselves a lot; so I really crave the subheading-specific backlink listing (which org-roam provides, afaik)


Anyways, how do you peruse your org-roam notes on mobile? I heard logseq is a good tool for "reading-only" your notes (which I like to do, I don't want to type out new notes on mobile). Logseq seems like it can follow the :id: links and display them as backlinks, which is more than enough for reading my notes on mobile for me
Anonymous No.106210253
>>106210203
>how do you peruse your org-roam notes on mobile
I don't. Sorry.
Anonymous No.106210970
>>106208293
(cons (cons (cons 'Good '()) '()) '())
Anonymous No.106211383
>>106199871
congratulations for the baby. Hope everything turns out to be fine.
Anonymous No.106212084 >>106212544 >>106212621 >>106243116
>>106199871
a real lisp wizard would never have sex without protection
Anonymous No.106212513
does anyone uses scribble for writing documentation of racket programs?

scribble-mode for emacs doesn't have autoformatter/indenter, and it becomes to look freaking ugly without one
Anonymous No.106212544 >>106212555
>>106212084
I came in an ex so many times and nothing ever happened because she took the pill
she was my little cum receptacle
Anonymous No.106212555
>>106212544
thank you kanye, very cool
Anonymous No.106212621
>>106212084
中出し is the best tho
Anonymous No.106212918
>>106210010
bloat
Anonymous No.106212955
A real Lisp wizard injects testosterone to ensure his levels remain at superphysiological levels at all times for peak bodily and mental function. And he doesn't use hCG until he's attempting to procreate, so he is infertile and can creampie freely without worrying about little brats taking his Lisp time away.
Anonymous No.106214398
>>106203634
Guile.
Anonymous No.106214446 >>106214519
holy shit, gpt5 thinking mode is a game-changer wtf It makes working elisp packages better than Claude
Anonymous No.106214519
>>106214446
What do you mean?
Anonymous No.106216007
>>106203634
Gay.
Anonymous No.106216641 >>106217040
Another Helix extension has been announced.
https://github.com/piotrkwarcinski/hx-tmux-navigator
https://github.com/helix-editor/helix/pull/8675#issuecomment-3172914917
Anonymous No.106216655
After I finish HTDP, I will continue on with racket most likely. I don't love it, but its fine.
Anonymous No.106216898 >>106219881
Clojure has inspired a lot of derivatives.
https://github.com/ilevd/clojure-like
Anonymous No.106217040 >>106217382 >>106217599
>>106195242
>>106216641
very nice
billions must write helix plugins
helix-plugins.com must be updoooted 24/7 now
Anonymous No.106217382 >>106217465 >>106232627
>>106217040
Imagine how many zoomers will learn Scheme just to write Helix plugins.
It’s over. Scheme won.
Anonymous No.106217465 >>106217490
>>106217382
Good scheming. All according to keikaku.
Anonymous No.106217490
>>106217465
>keikaku
How long until someone uses this as a name for their Scheme dialect?
Anonymous No.106217540 >>106217565
Is there a way to "swap" two values in the calc stack? Sometimes I start the computation from a place that leads to dividing B by A instead of A by B.
Anonymous No.106217565 >>106217921
>>106217540
Ah.. It is "TAB". My life is now easier and Calc is much more egornomic.
Anonymous No.106217599 >>106217754
>>106217040
>helix-plugins.com
I don't know if the guy who updates this is really up to the task. He's doing everything manually, and he wants people to email him updates. He also hasn't touched his repo in 2 weeks.
https://github.com/noahfraiture/helix-plugins
He needs to move toward automating as much of this as possible. The community should agree on a tag like #helix-plugin and and repo's tagged this way on github should automatically make their way on to the list.
Anonymous No.106217754
>>106217599
http://msgpack.org/ does something like this, but they use magical strings in the project description instead of tags. The important part is that it's automated though.
https://github.com/msgpack/website
Anonymous No.106217921
>>106217565
You can also use prefix argument like C- TAB to "rotate" top n elts on the stack
Anonymous No.106219881 >>106221945 >>106221974
>>106216898
>https://github.com/carp-lang/Carp
very fishy dialect
Anonymous No.106219883
bump
Anonymous No.106221780
>>106210010
>org-roam
pretty good
Anonymous No.106221945
>>106219881
https://github.com/carp-lang/Carp/issues/1460#issuecomment-2021047651

>@KoltPenny Hi, I wouldn't say that it's dead but it's very much on the back burner right now.
>I'm the head maintainer of the project, and I'm currently working on a (commercial) game project (https://www.eriksvedang.com/2024/02/26/announcing-manahex.html), with more in the pipeline. I hope to be able to take the time off to work on "Carp 2.0" sometime in the future.
Anonymous No.106221974
>>106219881
I didn't realize it was written in Haskell.
Anonymous No.106222690 >>106223839 >>106229861
Which lisp is the best lisp to start with and why?
Anonymous No.106223839 >>106225181
>>106222690
Racket with DrRacket IDE
it's also the most powerful Scheme variant
Anonymous No.106224078 >>106225258 >>106229257
How can I set my ntfs drive on Guix as writable when it doesnt accept the flags? Why does it only take a limited set of flags to begin with?
Anonymous No.106225181 >>106225224
>>106223839
define "powerful"
Anonymous No.106225224
>>106225181
most advanced macro system
sandboxing mechanisms built in for secure eval (including memory bounding)
pioneer of contracts for data validation
static types for when you want them via typed racket
Anonymous No.106225258 >>106229257
>>106224078
Im posting from my phone and its annoying to type but to clarify, using "ntfs" to declare the drive on file-system works but is read only. Setting it to ntfs-3g hangs at boot. I think the only solution would be to set up a shepherd service to mount it at every boot but i cant write one that works.
Any help?
Anonymous No.106225259 >>106230272
The Scheme that's going to get the most traction in the next few years is Steel Scheme, because it's attached to a popular editor that works well. People who would have never touched Scheme are writing Scheme now, because they want to write Helix plugins.
https://mattwparas.github.io/steel/book/
https://github.com/mattwparas/steel
Anonymous No.106225270 >>106225653 >>106225825
I was looking into a sexpr language to use instead of tcl or lua for a new project, so I started looking through a bunch of them.
Scheme seemed to be a smaller language than a Lisp, so I was looking at those. Guile Scheme in particular sounded compelling. Not really interested in the "language" beyond the default behavior of the reader, and the runtime. Saw it was advertised as minimalist, it had a jitter, etc. so I figured hell I'll check this out... and it's more than twice the size of luajit. 10x the size of jimtcl.

Is there a smaller scheme implementation that still has JIT? I don't really want something more than 50k lines. At the same time, I'm not interested in a toy lisp that's just a tree-walking interpreter. I don't mind having zero stdlib, I just don't want something with the most naive runtime ever made.

Does anybody have any suggestions?
Anonymous No.106225653
>>106225270
Fennel running on LuaJIT
Anonymous No.106225825 >>106226961
>>106225270
TinyScheme is smaller than Lua yet more powerful (macros, lambdas, REPL, etc.)
https://sourceforge.net/projects/tinyscheme/files/tinyscheme/tinyscheme-1.42/
Apple uses it extensively 4tw
>Sandbox policies are written in a dialect of Scheme known as SBPL. The policies are interpreted via an interpreter within libsandbox, based on TinyScheme, which generates a compiled representation of the policy that it passes to the Sandbox kernel extension.
https://bdash.net.nz/posts/sandboxing-on-macos/
Anonymous No.106226370 >>106240862 >>106240958
>>106192584
Interesting, Prolog seems to have been very popular in France, specially in the 80s, so I just assumed the French never made a Lisp implementation.
Anonymous No.106226961 >>106227096 >>106227252
>>106225825
>lambdas, REPL, etc.
lua has those
Anonymous No.106227096 >>106227134
>>106226961
it does not have macros.
Anonymous No.106227134
>>106227096
that is correct. it does have a loose equivalent to reader macros, interestingly. fennel uses that feature. it's actually pretty cool.
Anonymous No.106227252 >>106230315 >>106230327
>>106226961
Lisp REPLs are very different from "REPLs" in other programming languages tho
Anonymous No.106228707 >>106229101 >>106229823
>Mastering Emacs
>GNU Emacs Lisp Reference Manual
>GNU Emacs Manual
>An Introduction to Programming in Emacs Lisp
Which one should I read to learn Emacs Lisp? I never read Emacs' documentation because Spacemacs and later Doom Emacs were intuitive enough.
Anonymous No.106229101 >>106229126
>>106228707
>C-h i m 'emacs lisp intro' ret
good morning sir
Anonymous No.106229126
>>106229101
Maybe hot take, but eintr is shit
Anonymous No.106229257 >>106230571
>>106225258
>>106224078
Taskete kudasaiiii I still couldn't manage to write anything that could fix my issue.
As you can see it's an actual issue, several people on mailing lists and on IRC talked about it but I couldn't see anyone giving a proper answer, maybe people just fix it and never mention it again
https://www.mail-archive.com/search?l=help-guix%40gnu.org&q=ntfs&submit.x=0&submit.y=0
https://logs.guix.gnu.org/guix/search?query=ntfs
I just want to mount my goddamn NTFS drives with user RW privileges, I usually link a bunch of stuff across systems and it's a dealbreaker to not have that working smoothly (I can mount them later on dolphin but that sucks a lot)
The issue, like those guys mentioned years ago, is that the computer just hangs at boot when it tries to mount the ntfs-3g drives, which is caused by ntfs-3g being compiled with external FUSE, I imagine three solutions - an mcron job, a shepherd service or patching ntfs-3g. The ideal one would be patching it but I can't figure out how and I can't seem to manage to write a working service (and I don't even know if that'd work as a solution anyways).
I made a bunch of questions already, and I have solved almost all my issues, but I don't think I can fix this one in a reasonable amount of time. I'm also struggling with a specific flatpak package (FreeTube) not opening because of dbus issues, that one does seem something I could solve within a week but I'd appreciate help with that one too anyways.
I try to fix things myself but it's hard when all I have is the manual (that sometimes outright OMIT shit that causes things to NOT WORK like I've experienced) and some mail/irc logs...
Anonymous No.106229823
>>106228707
https://protesilaos.com/emacs/emacs-lisp-elements
Anonymous No.106229861 >>106243131
>>106222690
Elisp is a good first Lisp, because:
- Learning Elisp means you're also learning Emacs
- You can do useful things with it right away.
- Emacs is a great gateway to trying other Lisps.
Anonymous No.106229965 >>106231096
impliciit DO blocks/variadic arguments were a mistake
change my mind
Anonymous No.106230037 >>106230346 >>106231553
Issues that Prevent Users From Switching to Lem
https://github.com/lem-project/lem/discussions/1857

(This is a surprisingly active thread.)
Anonymous No.106230272 >>106230512
>>106225259
>a popular editor
lol (as a Helix user)
>The Scheme that's going to get the most traction
We'll see if people will start using Steel for things other than Helix plugins.
Anonymous No.106230315
>>106227252
Some repls, not others. There are plenty of repls take a lot of inspiration from lisp.
Anonymous No.106230327
>>106227252
How so?
Anonymous No.106230346
>>106230037
My top issue is no evil bindings. I'm too used to Doom Emacs.
Anonymous No.106230508 >>106233224 >>106277547
So is Janet any good?
Anonymous No.106230512 >>106230915
>>106230272
Helix has almost 40k stars on github, the repo gets multiple commits daily, and the community seems active. How high is your bar for popularity?
Anonymous No.106230571 >>106236708
>>106229257
>patching ntfs-3g
https://issues.guix.gnu.org/46980
Maybe with Guix Transformations
https://guix.gnu.org/manual/devel/en/html_node/Package-Transformation-Options.html
https://guix.gnu.org/manual/devel/en/html_node/Defining-Package-Variants.html
In your config.scm, try this:
(use-modules (gnu packages linux)
(gnu packages nfs)
(guix transformations))

(define transform
(options->transformation
'((with-configure-flag . "ntfs-3g=--with-fuse=internal"))))

(services (cons*
(simple-service 'mount-setuid-helpers privileged-program-service-type
(map file-like->setuid-program
(list (file-append nfs-utils "/sbin/mount.nfs")
(file-append (transform ntfs-3g) "/sbin/mount.ntfs-3g"))))))
Anonymous No.106230915 >>106232714
>>106230512
Being at least as popular as Emacs, so pretty low.
"A popular editor" implies that it's an editor that people commonly use, that it's more popular than most other editors.
I divide text editors into 4 categories based on popularity:
>VS Code
>alternative choices (Neo/Vim, Sublime, Notepad++, Zed, Nano)
>Emacs
>other (Helix is here)
This is based on my personal anecdotal experience and surveys like the Stack Overflow one.
Anonymous No.106231096 >>106240660
>>106229965
Elixir has AST access and no implicit DO blocks.
also has a cool REPL, and due to the BEAM's introspective nature, one can query statistics regarding the system (or even the network, if your program is distributed across numerous machines)
Anonymous No.106231553 >>106232669 >>106234609
>>106230037
> lem
> cl instead of scheme
> docker install
> can’t even animate the screenshots
> meme features nobody will ever use
> emacs already does everything
Really, now.
I’d rather spend my time reviving the Fortress language—something that was actually good.
Anonymous No.106232591 >>106233036
>>106210152
Complete beginner here but how would you to do a very basic CRUD with SQLite in emacs? Any names I can start reading on?
If there is a way to plot too, it would be good but I guess I can generate them in svg.
Anonymous No.106232613
>>106210203
LogSeq is pretty good if you only care for writing down. I never really used the mobile but it's something I could consider doing.

There is a version of emacs for Android and org-roam should work there, but as always the matter is how comfortable that can be.
Anonymous No.106232627 >>106232662
>>106217382
Wait, brainfarted here, I though Helix was Rust.
Anonymous No.106232662
>>106232627
- Helix is written in Rust.
- Steel is also written in Rust.
- Steel is a Scheme implementation that has been blessed as the official extension language of Helix.
- It's almost ready to get merged in to the mainline branch.
Anonymous No.106232669 >>106237305
>>106231553
In the end what people wants is a multithreaded, fast initialization and Guile powered emacs.
Anonymous No.106232714
>>106230915
In that sense I would rename them to
>VS Code (VSCodium, Theia, Che,Pulsar...)
>Default Linux Editor (vi, vim, nvim, ed, nano) - Everyone should know at least the basics of more than one.
>Emacs
>other (everything else)
Anonymous No.106233036 >>106233045
>>106232591
>Complete beginner here but how would you to do a very basic CRUD with SQLite in emacs? Any names I can start reading on?
If you have Emacs 29+, it comes with sqlite bindings which are documented in (info "(elisp) Database").
https://www.gnu.org/software/emacs/manual/html_node/elisp/Database.html
Your main workhorses are:
- sqlite-open
- sqlite-execute :: for INSERTs, UPDATEs, and DELETEs
- sqlite-select :: for SELECTs

Here's some Elisp you can play with.
(setq my-db (sqlite-open "test.db"))

(setq my-schema "
CREATE TABLE IF NOT EXISTS user (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(64) UNIQUE NOT NULL,
password_hash VARCHAR(128) NOT NULL,
email VARCHAR(128) UNIQUE NOT NULL,
created_at TIMESTAMP,
updated_at TIMESTAMP
);
")

(sqlite-execute my-db my-schema)

;; This makes a bunch of functions like:
;; (make-my-user :key value ...)
;; (my-user-id user)
;; (my-user-name user)
;; (my-user-password-hash user)
;; etc...
(cl-defstruct my-user
"This is a struct that represents one row in the user table."
id
name
password-hash
email
created-at
updated-at)

(setq anon
(make-my-user
:name "anon"
:password-hash (secure-hash 'sha256 "secret")
:email "anon@4chan.org"))

(defun my-user-insert (db user)
"Insert USER into DB.

Example:

(setq anon
(make-my-user
:name \"anon\"
:password-hash (secure-hash 'sha256 \"secret\")
:email \"anon@4chan.org\"))

(my-user-insert my-db anon)
"
(let* ((sql "INSERT INTO user (name, password_hash, email) VALUES (?, ?, ?)"))
(sqlite-execute db sql
(list (my-user-name user)
(my-user-password-hash user)
(my-user-email user)))))

(my-user-insert my-db anon)

(defun my-user-select-all (db)
"Select all users from DB."
(sqlite-select db "SELECT * FROM user"))
Anonymous No.106233045 >>106233068 >>106235216
>>106233036
Absolutely based reply, anon.
Thank you very much. May your Emacs start extra quickly.
Anonymous No.106233068
>>106233045
I had it at under 2 seconds, but I added some bloat.
(emacs-init-time)
"2.487870 seconds"

Of course, I mitigate this by using emacsclient a lot.
Anonymous No.106233224 >>106235443
>>106230508
>So is Janet any good?
It has potential.
https://toodle.studio/
Anonymous No.106234609
>>106231553
>docker install
lulwut faakhead
Anonymous No.106235216 >>106235483 >>106235910 >>106235922 >>106236103
>>106233045
What are you trying to do with SQLite?
Anonymous No.106235443 >>106236194
>>106233224
>https://toodle.studio/
Really nice. However when would you use Janet over babashka?
Anonymous No.106235483 >>106236872
>>106235216
I track some health indicators in a spreadsheet which is becoming quite heavy, so I wanted a way to put them as diary entries and compiling them in a DB, so I can make some small dynamic reports.
Anonymous No.106235910 >>106235922 >>106236593
>>106235216
sex
Anonymous No.106235922
>>106235216
>>106235910
SQLite is well-known for its incredible sex-acquiring features.
Anonymous No.106236103 >>106236593
>>106235216
relational databases are extremely powerful. SQL queries are OP. indexes automate the unification of numerous data structures. transactions eliminate concurrency dillemas in many-user scenarios (when used with the appropriatee isolation level).
all aspiring programmers really need to learn SQL. it's not optional.
Anonymous No.106236194
>>106235443
- If I ever wanted to deploy to the browser via WASM, it looks like Janet can do that while Babashka cannot. That's one use case for Janet.
- Also, if I were ever to create a cross-platform GUI application, I'm torn between using Racket or Janet. (I don't feel like using babashka for this either.)
Anonymous No.106236593 >>106240156
>>106235910
>sex
Show me your schema.

>>106236103
>all aspiring programmers really need to learn SQL. it's not optional.
SQL has demonstrated a lot of staying power. Regardless of whether one thinks it's ugly or stupid, I also recommend giving it a chance and trying to understand what it provides and what it doesn't.
https://x.com/andy_pavlo/status/1659740200266870787
(I hate to link to this guy, because he was such a vax shill during covid, but he knows databases.)
Anonymous No.106236708 >>106236834 >>106236906 >>106236962
>>106230571
Okay hear me out your example didn't work (system reconfigures with no error but hangs) but I did manage to make a package that changes the flags (picrel) but I'm quite literally losing my fucking mind over this shit.
1. I managed to install the modified package with "guix install -L ~/cfg/guixSD/packages/ ntfs-3g-fuse" but I CANT FIGURE OUT HOW TO ADD THAT TO MY CONFIG.SCM
2. That package STILL doesn't work... That's probably because of the SETUID stuff like you mentioned, yes, but I CANT MAKE THE SETUID SHIT WORK
- Honorable mention to the fact the wiki doesn't tell you the required FUCKING MODULES like (gnu system privilege)
3. Apparently I now have both ntfs-3g and ntfs-3g-fuse but I can't uninstall ntfs-3g because it was "not found in profile" (which means something has it as a requirement, right?) but I don't know how to replace one with another.
4. I AM GOING INSANE I FEEL LIKE I'M SO CLOSE BUT I CANT FUCKING DO IT AIEEEEEEEEEEEEEEEEEE I JUST WANT MY GODDAMN NTFS DRIVE SO I CAN MOVE ON WITH THE NEXT FUCKING PROBLEM IVE SPENT DAYS ON THIS SHIT
Anonymous No.106236834 >>106236906
>>106236708
And I did notice that the location of ntfs-3g-fuse is different than the one on whereis ntfs-3g (whereis ntfs-3g-fuse returns empty despite being installed which led me to believe it replaced the original but I don't think that's the case anymore) but I have no fucking idea what I'm doing wrong.
Did I create a completely separate package that's installed but not linked but depends on the original? (how? why?) And the fact it depends on the original tricks the system into using it over mine? How can I replace the flags on a existing package without defining a new one? Even if I name the package just "ntfs-3g" it still gives me a different store location compared to whereis ntfs-3g..... I don't think name collisions are a thing in Guix.
I don't know I don't get it and I don't understand it.
I just want to mount my goddamn drives...
Anonymous No.106236872
>>106235483
>so I can make some small dynamic reports.
Have you used ob-sqlite before?
https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-sqlite.html
- This is distinct from (but similar to) ob-sql.
- It's also a new since Emacs 29.
- It lets you put SQL queries in org-mode src blocks and execute them against SQLite and get their results in the same org document.

Those resultsets can then be turned into plots.
https://orgmode.org/worg/org-tutorials/org-plot.html
Anonymous No.106236906 >>106236941
>>106236708
>>106236834
>I just want to mount my goddamn drives
Werks for me with udiskie
I'm using RDE tho
https://github.com/abcdw/rde/blob/master/src/rde/home/services/desktop.scm#L34
Anonymous No.106236941 >>106237047
>>106236906
...ntfs drives with rw user permissions at boot? I thought everything always used ntfs-3g as a backbone (since ntfs is read only) and if that does need ntfs-3g it wouldn't work because it'll always hang when booting.
Anonymous No.106236962 >>106236980
>>106236708
TANGENT: Have you tried toggling the scroll bars off with `M-x scroll-bar-mode`? The dark mode scroll bars don't look good with a light theme, and no scroll bars would look better.
Anonymous No.106236980 >>106237027
>>106236962
my dude i'm using the default emacs with none of my keybindings BECAUSE I CANT GET MY CONFIG FROM MY GODDAMN NTFS DRIVE AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Anonymous No.106237027
>>106236980
I'm sorry to hear that, man. I'd help if I could, but I don't know anything about guix.
Anonymous No.106237047 >>106237289
>>106236941
The udiskie is a Guix Home service, but yep.
I'm using it to mount an old NTFS HD from my (now) dead windows machine and it works.
Anonymous No.106237073 >>106237165
>>106194900
>>106194988
A blog aggregator like
https://planet.lisp.org/
would be nice to have.
Anonymous No.106237165
>>106237073
It's unfortunate that https://planet.lisp.org/ was not discoverable from https://www.lisp.org/.
Anonymous No.106237289
>>106237047
Doesnt work but I could have misconfigured something I suppose
$ udiskie-mount -v /dev/sdb1
DEBUG [2025-08-12 13:56:13,211] udiskie.config: Failed to read config file: [Errno 2] No such file or directory: '/home/user/.config/udiskie/config.yml'
DEBUG [2025-08-12 13:56:13,211] udiskie.config: Failed to read config file: [Errno 2] No such file or directory: '/home/user/.config/udiskie/config.json'
DEBUG [2025-08-12 13:56:13,214] udiskie.udisks2: Daemon version: 2.10.1
DEBUG [2025-08-12 13:56:13,214] udiskie.udisks2: Keyfile support: True
DEBUG [2025-08-12 13:56:13,238] udiskie.config: new rule: {symlinks=/dev/mapper/docker-*} -> {ignore}
DEBUG [2025-08-12 13:56:13,238] udiskie.config: new rule: {symlinks=/dev/disk/by-id/dm-name-docker-*} -> {ignore}
DEBUG [2025-08-12 13:56:13,238] udiskie.config: new rule: {is_loop, !is_ignored, loop_file=/*} -> {!ignore}
DEBUG [2025-08-12 13:56:13,238] udiskie.config: new rule: {!is_block} -> {ignore}
DEBUG [2025-08-12 13:56:13,238] udiskie.config: new rule: {!is_external, is_toplevel} -> {ignore}
DEBUG [2025-08-12 13:56:13,238] udiskie.config: new rule: {is_ignored} -> {ignore}
DEBUG [2025-08-12 13:56:13,239] udiskie.udisks2: found device owning "/dev/sdb1": "/org/freedesktop/UDisks2/block_devices/sdb1"
DEBUG [2025-08-12 13:56:13,239] udiskie.config: /dev/sdb matched {!is_external, is_toplevel} -> {ignore}
WARNING [2025-08-12 13:56:13,239] udiskie.mount: not mounting /org/freedesktop/UDisks2/block_devices/sdb1: unhandled device

UDisk requires root
$ udisksctl mount -b /dev/sdb1
Error mounting /dev/sdb1: GDBus.Error:org.freedesktop.UDisks2.Error.NotAuthorized: Not authorized to perform operation

The manual also says: " Note that Udisks relies on the mount command, so it will only be able to use the file-system utilities installed in the system profile. For example if you want to be able to mount NTFS file-systems in read and write fashion, you’ll need to have ntfs-3g installed system-wide."
Anonymous No.106237305
>>106232669
This.
Anonymous No.106238239 >>106238358 >>106238455 >>106238935 >>106241554
I want to write some simple CLI utilities and I'm tired of using Python. What Lisps should I consider? Lisp-1's preferred.
Anonymous No.106238358 >>106238598
>>106238239
>What Lisps should I consider? Lisp-1's preferred.
>(Scheme Flavored)
Guile
Racket
>(Clojure Flavored)
Babashka
Janet
Anonymous No.106238365 >>106238545
WHAT THE FUCK AM I DOING WRONG
IVE REBUILT THE FUCKING THING WITH FUSE
IVE SET THE SETUID
WHAT FUCKING PERMISSIONS
WHAT AM I DOING WRONG
Anonymous No.106238455 >>106238598
>>106238239
Guile is pretty nice for that stuff. You'll want to use this:
https://www.gnu.org/software/guile/manual/html_node/getopt_002dlong.html
There's also a ncurses module, but it's not built-in.
https://www.gnu.org/software/guile-ncurses/
Anonymous No.106238545 >>106238577 >>106239139
>>106238365
From the FAQ:
https://github.com/tuxera/ntfs-3g/wiki/NTFS-3G-FAQ

Unprivileged block device mounts work only if all the below requirements are met:

1. ntfs-3g is compiled with integrated FUSE support
2. the ntfs-3g binary is at least version 1.2506
3. the ntfs-3g binary is set to setuid-root
4. the user has access right to the volume
5. the user has access right to the mount point

What does this look like?
ls -l /dev/sd[bc]*
Anonymous No.106238577 >>106239139
>>106238545
Sorry, I meant this:
ls -l /dev/sdb*


I'm doing something with /dev/sdc1 on my own computer right now, so I got confused.
Anonymous No.106238598
>>106238358
>>106238455
Thanks!
Anonymous No.106238935
>>106238239
GUILE is the official GNU extension lang.
Anonymous No.106239139 >>106240435 >>106241146
>>106238545
>>106238577
You're right, I ignored the access rights. I've never really struggled with mounting drives on other systems, even on Nix it just worked, so I simply assumed those last two points were a given. I don't recall struggling with it on Gentoo either, I think I just added them to fstab and that was it.
The debian wiki (https://wiki.debian.org/SystemGroups) says giving the 'disk' group serves basically as root access (since you can modify everything).
Am I supposed to create an udev rule then add it to my config? I don't really know how to do that yet.
Anonymous No.106240156
>>106236593
Fuck a fucking gay paper by two dorks
Anonymous No.106240435 >>106241146
>>106239139
Yeah, I'll take a break.
I've created a "storage" group and did the following:
(define %mount-udev-rule
(file->udev-rule "99-mount.rules"
(local-file "../files/99-mount.rules")))
Then under services
(udev-rules-service 'mount-udev-rule
%%mount-udev-rule
#:groups '("storage"))
The rules are: ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="filesystem", MODE="0660", GROUP="storage"
They look right to me, I suppose.
But it still didn't work (the udev rule doesn't even show in /etc/udev/rules.d but I don't know if it even should)
I can now mount if I'm part of the 'disk' group but that's not ideal since that's basically root, and the system still hangs if I use ntfs-3g on (file-system
Guix is hard...
Anonymous No.106240660 >>106254914 >>106257118
>>106231096
*snorts*
you thought Lisp was concise?
Anonymous No.106240679 >>106241554 >>106241587
(((Lisp)))
Anonymous No.106240862
>>106226370
>Prolog seems to have been very popular in France
I still encounter a lot of Japanese users.
Anonymous No.106240958 >>106242563
>>106226370
I've still yet to find an explanation of logic programming languages and/or database query languages that goes into more detail than "it's a depth first search" or else "eh, it's complicated, if you're interested just read this 10 million LoC repo"
Like is there no reasonably simple yet full featured toy implementation or theoretical explanation for how exactly unification is supposed to work in practice?
Closest I've found is a language by that one guy who makes HVM, but it's an undocumented unfinished abandoned side project whose only explanation is some gesturing about mathematical type theory.
Anonymous No.106241146 >>106241365
>>106239139
>>106240435
You'd think ntfs-3g being setuid would have taken care of any permission issues. Does this yield any insight:
strace ntfs-3g /dev/sdb1 /home/meh

- I'm grasping now. I feel like it should already be working.
Anonymous No.106241365 >>106241525
>>106241146
https://pastebin.com/raw/mWH9RaZF
I'm starting to feel suspicious too, like I'm just missing a comma somewhere that makes everything fail silently.
Awful amount of missing libraries there too... but I don't know if that's normal.
Anonymous No.106241525 >>106241614
>>106241365
Line 235
>setresuid(-1, 1000, -1) = 0
I think that should be:
setresuid(-1, 1, -1)
If the suid bit is trying to give you root privileges.
https://man7.org/linux/man-pages/man2/setresuid.2.html

Humor me and specify the full path to ntfs-3g when you run it to make sure you're running the right one that's owned by root. (I feel kinda dumb typing that, but I'm still grasping...)
/run/privileged/bin/ntfs-3g /dev/sdb1 /home/meh
Anonymous No.106241554
>>106238239
there's also scsh
but yeah guile

>>106240679
HILARIOUS!
Anonymous No.106241580
I was looking for this.
https://desuarchive.org/g/thread/105652614/#q105674817
https://pastebin.com/nsmmvTat
I was playing with it in the scratch buffer a few months back, but I didn't save it to a file. Thanks again to whomever wrote it.
Anonymous No.106241587
>>106240679
Anonymous No.106241614
>>106241525
I also tried to add internal fuse to the "static" ntfs-3g package (definition just below ntfs-3g on linux.scm), I don't think anything changed.
Anonymous No.106241886 >>106241965
I know this isn't what you want, but does it mount when you say:
sudo ntfs-3g /dev/sdb1 /home/meh
Anonymous No.106241965 >>106248865
>>106241886
Yup, I have no issues mounting as sudo.
I need to have those partitions mounted at boot because I symlink lots of stuff, emacs for example, I wouldn't be able to have the daemon start at boot if my partitions weren't mounted since there'd be no config to read. It's also overall a pain in the ass.
I really don't know what I'm doing wrong, or why this bug which has been reported 4 years ago still exist. I know NTFS is PROPRIETARY but come on, RMS himself said that the best pathway to conversion is to facilitate (which is why I use emacs on the first place since I wouldn't use it if there were no Windows build) and NTFS is the defacto most popular filesystem and the most compatible one (because MS doesnt give a shit about compatibility with ext4 or whatever).
It's hard to belive how few mentions of this issue exist, which lead me to believe that I'm doing something wrong but I have no idea what could be. The thing just hangs at boot, not even the TTY gets starts (CTRL+ALT+F12 does show shepherd failing to initiate those) and the way you make it hang is by using ntfs-3g instead of ntfs (which, again, is read only) when listing your drives on file-system.
Super frustrating issue, it was fun for a while learning stuff with the manual and I can't deny it felt good to modify ntfs-3g to use internal fuse but I'm tired of it already. It's not even the only issue I've encountered and I'm pretty sure I'll encounter several more until I can just use the OS.
I'll go to sleep now so I'll read any replies tomorrow, thanks for the help I really appreciate it. Maybe tomorrow i'll try to spam their IRC or something until a maintainer or something who breathes guix can help me out.
Anonymous No.106242563 >>106242652
>>106240958
minikanren?
Anonymous No.106242652 >>106283300
>>106242563
Yeah but that's the "just read this 10 million loc mess no one really understands" My limited knowledge of it is that it's a giant pile of hacks and special cases sort of agglomerated into a semi-functional mass.
Anonymous No.106243029
TinyScheme
Anonymous No.106243116
>>106212084
>a real lisp wizard would never have sex without protection

(declare (safety 0))

checkmate lisp wizard
Anonymous No.106243131
>>106229861
>Elisp is a good first Lisp

I disagree. Most elisp code is a mess and is always interacting with a ton of globals.

Elisp would be my last choice.
Anonymous No.106243516 >>106243780
>Homoiconicity
*hand_over_mouth_giggling_anime_girl.jpg
Anonymous No.106243682 >>106243739 >>106243849
does anyone know a good editor for writing elisp?
Anonymous No.106243739
>>106243682
emac
Anonymous No.106243780 >>106243907
>>106243516
>ANSI CL Standard (https://franz.com/support/documentation/cl-ansi-standard-draft-w-sidebar.pdf)
>R7RS Scheme standard (https://standards.scheme.org/official/r7rs.pdf)
>Ctrl+ F le "homoiconicity"
>0 results
plebbit meme tier ꜱoyword
Anonymous No.106243849 >>106244175
>>106243682
Are you enjoying yourself?
Anonymous No.106243907 >>106246996 >>106248280
>>106243780
Real lispchads use "uniformity".
>Lisp’s unusual syntax is connected to its expressive power. How? Not because of “homoiconicity”, a word that has no meaning but leaves people somewhat impressed, because it sounds fanciful and mathematical. It’s because of uniformity.
https://borretti.me/article/why-lisp-syntax-works
Anonymous No.106244175
>>106243849
that's not me
Anonymous No.106245226
org-timer-set-timer is handy.
https://www.youtube.com/watch?v=JbHE819kVGQ
Anonymous No.106246135 >>106246174
I'm thinking of putting a bunch of my dotfiles in an org document and then tangling it to deploy the dotfiles.
Good idea or bad idea?
Anonymous No.106246174
>>106246135
Just use GNU stow, bro.
Anonymous No.106246996 >>106247998
>>106243907
>Not because of “homoiconicity”, a word that has no meaning but leaves people somewhat impressed, because it sounds fanciful and mathematical
Dude it's basic latin.
>homo: the same
>icon: representation
It literally means "uniform representation" that's it.
Anonymous No.106247998 >>106248094 >>106248280
>>106246996
>uniform representation
So “uniformity” is simpler and more direct, without the latin wankery. Thanks for proving my point.
Anonymous No.106248094
>>106247998
>t. homo (likes the same gender)
Anonymous No.106248280 >>106248485
>>106243907
>>106247998
Yep.
>An important consequence of this simple, uniform representation is that Scheme programs
and data can easily be treated uniformly by other Scheme programs.
https://standards.scheme.org/official/r7rs.pdf
Anonymous No.106248485
>>106248280
>Scheme, like most dialects of Lisp, employs a fully parenthesized prefix notation for programs and other data; the grammar of Scheme generates a sublanguage of the language used for data. An important consequence of this simple, uniform representation is that Scheme programs and data can easily be treated uniformly by other Scheme programs. For example, the eval procedure evaluates a Scheme program expressed as data.
Eval and apply!
Anonymous No.106248721 >>106248848 >>106248877
ntfs-3g still hangs at boot despite now working when run as user
xD
i guess i could make a shepherd job that runs this shit when i log in but the examples in the manual are bizarre since im a retarded nocoder
Anonymous No.106248848 >>106248865
>>106248721
FUSE is intended to be run as a user. I don't understand why you're trying to mount a NTFS volume at root. Just mount it when you want to use it and be done with it. It isn't hard to set-up a alias in your ~ directory for whatever shell you like so you can mount it with one quick command any time you want. All this auto-mounting shit is one of the main reasons why mainstream Linux went to shit. People act like they're too retarded to run mount after plugging in a thumb drive or external HDD. It takes two seconds and is much more stable and secure than automagically mounting shit or shoving it into fstab.
Anonymous No.106248865
>>106248848
>I don't understand why
Refer to >>106241965
>automagically mounting shit or shoving it into fstab
Never had any issues in over a decade.
Anonymous No.106248877 >>106248987
>>106248721
Are you sure the driver is being loaded before you start the service?
Anonymous No.106248987 >>106249009
>>106248877
You mean FUSE? It loads as a module but I don't even know how to check if it's loading in the proper order or not.
Again, to reproduce the error you *literally* just have to use ntfs-3g on your file-system declaration.
Anonymous No.106249009 >>106249346
>>106248987
Check dmesg for the mount entries and when FUSE is mounted.
Anonymous No.106249346 >>106249587
>>106249009
I think it gets loaded after, yeah. Do you think that's the issue?

[ 1.876136] shepherd[1]: GNU Shepherd 1.0.6 (Guile 3.0.9, x86_64-unknown-linux-gnu)
[ 1.876958] shepherd[1]: Starting service root...
[ 1.877875] shepherd[1]: Service root started.
[ 1.878499] shepherd[1]: Service root running with value #< id: 1 command: #f>.
[ 1.879506] shepherd[1]: Service root has been started.
[ 1.883165] shepherd[1]: starting services...
[ 1.883577] shepherd[1]: Configuration successfully loaded from '/gnu/store/v3m9vr2r18251xzjq4ak3sms3027a3yf-shepherd.conf'.
[ 1.892013] shepherd[1]: Starting service user-file-systems...
[ 1.892219] shepherd[1]: Starting service root-file-system...
[ 1.892542] shepherd[1]: Starting service host-name...
[ 1.892728] shepherd[1]: Starting service sysctl...
[ 1.892905] shepherd[1]: Starting service log-rotation...
[ 1.893059] shepherd[1]: Starting service loopback...
[ 1.893228] shepherd[1]: Service user-file-systems started.
[ 1.893376] shepherd[1]: Service root-file-system started.
[ 1.893534] shepherd[1]: Service host-name started.
[ 1.893683] shepherd[1]: Service log-rotation started.
[ 1.893842] shepherd[1]: Service user-file-systems running with value #t.
[ 1.893981] shepherd[1]: Service user-file-systems has been started.
[ 1.894160] shepherd[1]: Service root-file-system running with value #t.
[ 1.894296] shepherd[1]: Service root-file-system has been started.

.......... stuff goes on....

[ 3.325183] fuse: init (API version 7.43)


That fuse:init is the only mention of it on dmesg (keep in mind that I'm not using ntfs-3g on the file-system right now since well... it doesn't boot with it)

Do I need to compile the kernel with CONFIG_FUSE_FS true instead of module? Fucking hell, at least I've learned a bit from making a ntfs-3g variation with internal fuse so I guess I could try making a kernel variation.
Anonymous No.106249587 >>106250444
>>106249346
Actually no, it seems to load fuse before hanginng.
Anonymous No.106250444 >>106252035
>>106249587
So it hangs in the FSs checks, have you put the dump and check flags to 0 in the fstab?
Anonymous No.106250600 >>106250723 >>106264655
https://abacusnoir.com/2025/08/12/coalton-playground-type-safe-lisp-in-your-browser/
https://coalton.app/
Anonymous No.106250723
>>106250600
>https://coalton.app
Very cool
Anonymous No.106252035
>>106250444
I've managed to make a service to create the folders then run ntfs-3g to mount the drives. Everything is working even though it was not the ideal solution, at least I've learned a lot. I'll just keep an eye on any updates regarding NTFS to see if they ever fix this bug.
>hangs in the FS checks
It seems so, yes, which makes no sense because I explicitly tell Guix to not check the drives (https://guix.gnu.org/manual/devel/en/guix.html#File-Systems > check? (default: #t))
>put the dump
I've went way past my usual depth a long time ago, I'm just a normal user who tries his best to follow manuals/guides, which is one of the reasons I like gentoo so much and fucking hate nix. I love the Gentoo wiki.
If you clarify what dump you're looking for I can search how to get and post it, but I don't really know what exactly you want.
>flags on fstab
The only flag fstab has on these drives is 'default' because Guix always sets it. I could add more but they don't work either.
Anonymous No.106252316 >>106252389 >>106254936 >>106255329 >>106255350
what would be the consequences of constructing lists with cons pairs backwards the way we traditionally do ?

i.e.:

(1 2 3) is normally (1 . (2 . (3 . '())))

instead we do ((('() . 1) . 2) . 3)

thinks ?
Anonymous No.106252389
>>106252316
chaos
how do you define the behavior of cons, car and cdr in this system?
Anonymous No.106253855 >>106255321 >>106259264
D-Bus?
https://clojure.org/news/2025/08/11/deref
>Clojure and D-Bus (https://blog.nundrum.net/posts-output/2025-08-04-clojure-dbus)
Anonymous No.106254911 >>106255334
Bros I think I'll give Lem a try, the influx of activity around the project, even if it's mostly people wanting lemacs, makes me hopeful for the future.
Anonymous No.106254914 >>106256959
>>106240660
What language is that?
Anonymous No.106254936 >>106277429
>>106252316
this is what lisp would be like if it was made by arabs
Anonymous No.106255321
>>106253855
Sounds like overkill but also like a good idea.
Anonymous No.106255329 >>106277429
>>106252316
Just means you just use it exactly like a list by flipping car/cdr. There's no actual difference aside from the syntax.
Anonymous No.106255334 >>106255654
>>106254911
I hope it doesn't get all bloated like emacs.
I like my editors sleek and minimal.
Anonymous No.106255350
>>106252316
(defun mapcdr (fn ls)
(if (null (car ls))
NIL
(cons (mapcdr fn (car ls)) (apply fn (cdr ls)))))
Anonymous No.106255654 >>106255848
>>106255334
Bloat is such a ridiculous argument against anything. Most Emacs features are not visible until you actively search for them. Additionally, much of the bloat is things you, or others, actually need sometimes. You just don't realize it. Of course, some things are constrained for backward compatibility but that's going to happen to Lem too, if it's around in 40 years. If your only argument for wanting Lem is "I don't think Tetris should be included" then you're about to spend a lot of time writing and configuring just to save a few bytes of storage memory.
Anonymous No.106255848
>>106255654
Lem has potential because emacs only really has a single weakness: the single thread. Nothing else actually matters, modern elisp compilation even gets rid of most of the performance issues, but it can't escape that damned single thread.
After years of using emacs everything has always worked perfectly fine, except for the only issue: opening a big file or running a big program and the entire program freezing for several minutes and then possibly crashing, with no ability to do anything about it. Even for things which should in theory be separate processes, like lisp repls, somehow getting into an infinite loop means I have to kill the entire emacs server and restart it.

Ideally it wouldn't just be multithreaded, but multiprocessed and sandboxed with memory and processing time limits.
Anonymous No.106256959
>>106254914
It looks like Elixir.
Anonymous No.106257118 >>106259252
>>106240660
Elixir and Erlang are very impressive languages because they're only one order of magnitude worse than lisp.
Anonymous No.106257324
On libera.chat, #lisp has way more people in in than #lispcafe, but #lispcafe is more active.
Anonymous No.106258091 >>106258471 >>106258527 >>106258547
i like my editors like my women
bloated and full of issues
Anonymous No.106258185 >>106260757
how can i change the directory using find-file without having to erase what's currently there?
like if im editing at /home/downloads/test.org I do C-x C-f then just append another directory like /home/test/test.md without erasing the previous path
i remember setting that up but it somehow stopped working
Anonymous No.106258186 >>106266998
Emacs bloat is like a language's stdlib bloat. If you don't need it, don't use it, and then it has no cost aside from a meager fraction of space on your tb drive.
Anonymous No.106258471
>>106258091
With a lot of baggage, hidden dependencies and difficult to maintain.
Anonymous No.106258527
>>106258091
free and open to the public
Anonymous No.106258547
>>106258091
best used with 10 fingers
Anonymous No.106259252 >>106260172 >>106287104
>>106257118
why are they worse than Lisp? I guess could argue about them not having mutable data structures built in.
anyway, the Lisp syntax is bad because has variadic arguments (implicit DO blocks), which necessitate exact indentation/alignment rules in order to be sensible to programmers. this means I can fit less code on the screen.
Anonymous No.106259264 >>106259410 >>106260701
>>106253855
dbus is such a convoluted pile of horseshit.
Anonymous No.106259371
is chez scheme still the best target for a compiler?
Anonymous No.106259410 >>106260701
>>106259264
i still don't understand the honest to goodness usecase of that shit, it seems like retarded corporate placebo shitware
Anonymous No.106259433
i wish emacs was a woman so i could beat her up
Anonymous No.106260172 >>106260711
>>106259252
>anyway, the Lisp syntax is bad because has variadic arguments (implicit DO blocks), which necessitate exact indentation/alignment

most languages require sensible indentation to be readable
Anonymous No.106260701 >>106266998 >>106269608
>>106259264
>>106259410
dbus is fucking horrible and only pushed by freedesktop for further vendor lock-in. Imagine being on a platform that always supported sockets and pushing some horseshit like dbus while pretending it's solving some type of problem.

This doesn't mean an improved IPC couldn't be useful of course. Some people are trying to create them without it being pure cancer. Two in particular that I like are skabus and the Arcan project.

https://skarnet.org/software/skabus/
https://github.com/letoram/arcan/wiki

It's really too bad that neither can get the time of day or any attention because IBM, Microsoft, google and friends are all-in on the wayland+systemd+dbus+freedesktop EEE train.
Anonymous No.106260711
>>106260172
you're completely missing my point
Anonymous No.106260757 >>106261670
>>106258185
>do C-x C-f then just append another directory like /home/test/test.md without erasing the previous path
isn't that the default behavior? like if you call C-x C-f from ~/downloads the prompt will be
Find file: ~/downloads/
and you can just append the directory/file you wish and it will take you there
Find file: ~/downloads/~/test/test.md RET
maybe i'm just misunderstanding, but i don't get what else you could be trying to do
Anonymous No.106261670 >>106261867
>>106260757
ahh it was just a brainfart
i was typing space between the two paths like:
/path/one.org SPACE /path/two.org
instead of
/path/one.org//path/two.org

still, it should work with a space too
Anonymous No.106261867 >>106261882 >>106262189 >>106263290
>>106261670
new computer and org-roam and org bullshit break my config that works on the other computar.
reeeeee
Anonymous No.106261882 >>106261969
did not mean to quote sir>>106261867
Anonymous No.106261969
>>106261882
i... i appreciate the (you) even if unintentional
Anonymous No.106262189 >>106269044
>>106261867
sqlite?
Anonymous No.106263290 >>106269044
>>106261867
M-x org-roam-db-sync on the new computer.
Anonymous No.106264655
>>106250600
>You get all the type safety stuff like algebraic data types and pattern matching, but it still plays nice with “regular” Lisp code.
Neat.
Anonymous No.106265347
Is there something similar to highlight-changes-mode but instead of showing the changes in the text it just adds color to the fringes/corners? like if a line has been edited it turns red.
Anonymous No.106266463
>>106191893 (OP)
How does the following code work in guile? It is part of the explanation for array-slice-for-each. Are multiple arrays with their cell indexes supposed to be fed to array-slice, and if so, how? I don't understand the purpose of const here.
(array-index-map!
(apply make-shared-array (make-array #t) (const '()) frame)
(lambda i (apply op (map (lambda (x) (apply array-slice x i)) x))))

I understand what each procedure does by themselves, but altogether plugging in values has me lost. documentation at bottom: https://www.gnu.org/software/guile//manual/html_node/Arrays-as-arrays-of-arrays.html
Anonymous No.106266998 >>106268129 >>106270992 >>106276502 >>106276561 >>106278351
>>106258186
You don’t need it all loaded at once on every startup, however.
>>106260701
Nice summary. Most people forget dbus was another part of the plan.

Is there a scheme or lisp system that is written in itself? Most are written in C that I can find.
Anonymous No.106268129 >>106272234
>>106266998
Coalton is written in Common Lisp.
https://github.com/coalton-lang/coalton
Anonymous No.106268438 >>106272193 >>106278453
Org-social is a decentralized social network that runs on an Org Mode file over HTTP.
https://github.com/tanrax/org-social
https://lobste.rs/s/nvt1zk/org_social_is_decentralized_social
Anonymous No.106268691 >>106272234
Emacs 30.2 was released yesterday.
https://github.com/emacs-mirror/emacs/releases/tag/emacs-30.2
https://www.gnu.org/savannah-checkouts/gnu/emacs/news/NEWS.30.2
The NEWS file isn't very informative, but git can fill in the blanks.
https://github.com/emacs-mirror/emacs/compare/emacs-30.1...emacs-30.2
Anonymous No.106269044
>>106263290
>>106262189
some bullshit with org-roam not dealing with relative pathnames to the db file and its directory.
Anonymous No.106269187 >>106269341
>Drag some text from browser or wherever
>drop it on the minibuffer
>Now it's there forever
Why?
Anonymous No.106269341 >>106269690
>>106269187
Can't replicate. The text I copied disappeared when I focused on another window.
Anonymous No.106269370
M-x list-colors-display
Anonymous No.106269608
>>106260701

I especially like shmif ( https://arcan-fe.com/2024/11/21/a-deeper-dive-into-the-shmif-ipc-system/ ) because:

1. it's a breeze to code for.
2. doesn't try to be some generic catch all for every single fucking thing in the goddamn universe.
3. data model is not just a manure silo hosting 'extensions' but a static versioned 'the things a desktop needs' validated against the leader (X11) and optimized for it.
Anonymous No.106269690 >>106269751 >>106270041
>>106269341
Really? It reappears for me when I do something that would usually clear minibuffer. It basically appends the empty minibuffer message. If I do it again it appends again.
This is with emacs -q
Anonymous No.106269751 >>106270041 >>106270072
>>106269690
It stays there even if focus on another X window and go back. It's not that big of a deal, just annoying in EXWM because it stays there on all monitors until I restart Emacs
Anonymous No.106270041
>>106269690
>>106269751
OK, with `emacs -Q`, I'm seeing something similar.

With my other config, it must be doing something that hides it. It's not totally gone, because it shows back up sometimes, but most of the time, the pasted text isn't visible.
Anonymous No.106270072
>>106269751
On my normal config, to make the pasted text appear, I have to focus on the minibuffer. The moment I focus out of the minibuffer, the text is not visible. Kinda weird.
Anonymous No.106270992 >>106272234
>>106266998
>Is there a scheme or lisp system that is written in itself
I don't know of any entirely self-hosting lisps, but MES is a scheme written in a subset of C that can be compiled by a C compiler written in MES scheme
https://www.gnu.org/software/mes/manual/mes.html
it's used to bootstrap guile and guix from source
Anonymous No.106272193 >>106272670
>>106268438
4chan org-mode when
Anonymous No.106272234 >>106272325 >>106272358 >>106272627
>>106268129
> Coalton
Thanks.. I’ll check it out.
Seems to me, the principles of lisp befit lisps being written in lisp more than any other language.
>>106270992
> mes
Yeah, that was some interesting hard-core shit…
… which is in-line with my particular brand of autism.
Reason being, I was looking for a bootstrap/embeddable scheme as I figured it could be made smaller than Forth.

Pursuant to those, I also found “chicken” scheme which outputs C and was playing around with that (once you get over the name)… you can practically embed C in-line… it’s fascinating… I don’t know why you’d write real applications in anything else.

>>106268691
I’m still happily using emacs 20.1 given to me by apple, that was the last update. I just have to go back a bit to get .el’s that bored people break randomly for no good reason.
I hate looking through open source changelogs for the disappointment in humanity they bring.
Anonymous No.106272325
>>106272234
There's plenty of self-evaluating lisps if you don't care about full featured mainstream releases. Famously lambda calculus itself can self interpret in only like ~180 bytes, and sector lisp is only ~512 bytes.
Lookup metacircular evaluators for all sorts of examples of lisps implementing themselves.
Anonymous No.106272358
>>106272234
>the principles of lisp befit lisps being written in lisp more
Reminds me of Autology
>Autology is a Lisp with access to its own interpreter.
https://github.com/Kimbsy/autology
Anonymous No.106272627 >>106273060
>>106272234
>I’m still happily using emacs 20.1 given to me by apple
I couldn't do that.
My bare minimum for Emacs is version 29.1, because I love the --init-directory option too much. I'm also a big fan of native compilation which landed in 28 and has gotten better with every subsequent release. Have you at least taken a peek at the newer releases of Emacs?
Anonymous No.106272670
>>106272193
>4chan org-mode when
I'd gladly use such a thing. Navigating a board catalog rendered as an org document would be wonderful. Reading threads rendered as org documents could be nice too.
Anonymous No.106273060
>>106272627
> taken a peek at the newer releases of Emacs
Oh, for sure. I use 30.1 emacs on linux.
The native compilation feature (which does, theoretically support trampolines, too, btw) is undoubtedly one of the biggest achievements in software development in decades.

I don’t want to get to the point where I *need* them though.
I still use the esc key for ‘meta’ as I often work over serial/telnet terminals, for example. I started using emacs and autolisp in the mid 80s so I don’t need much. But I’ll take it when I can get it.

I was using the org mode on the old mac terminal (nox) emacs, and it works fine, but I’m not embedding metapost diagrams and test code snippets like I do on org mode on 30.1… which is practically like jupyter without the overhead.
Anonymous No.106274716 >>106274924
https://i.4cdn.org/wsg/1755071501018684.webm roseanon it's over
Anonymous No.106274924
>>106274716
i hope she goes back to her indie roots
Anonymous No.106274960 >>106281955
>>106191893 (OP)
they should have called it Lithp
Anonymous No.106276502 >>106277577
>>106266998
>Is there a scheme or lisp system that is written in itself?
I came across one while following an unrelated discussion in #common-lisp.
https://github.com/attila-lendvai/maru
Maru - a tiny self-hosting lisp dialect

The discussion was about:
https://github.com/phantomics/specops
https://github.com/phantomics/specops/discussions
Anonymous No.106276561 >>106276587 >>106277577
>>106266998
>Most are written in C
Because worse is better. Not much you can do about being hosted on the POSIX OSs. The tiny C-core isn't really a big deal as long as you can modify everything in real time using lisp. The only reason we don't have entire OS GUIs similar to emacs is because again: worse is better. The worse OSs took over in the 80s-90s and we've never recovered.

There were several OSs released from the early 80s-late 90s that would have been much better for general use. Plan9 was an improvement upon UNIX and TRON was poised to take over the world. But both were prevented from gaining any real market share through various shady things. The big tech companies even ruined the Japanese economy for decades just to prevent a non-DOS/Windows/UNIX OS from gaining any desktop users in the late 80s-early 90s.

If stuff like TRON or Plan9 had taken off they wouldn't have been able to centralize the web and have things like modern cloud/subscription services. Since Plan9 and TRON were networking-first OSs with the goal of everyone having their own home servers to supplement their desktop and later mobile/set-top devices.

An entire OS written in a lisp would be cool but it isn't really required to get the most out of a lisp environment. A small microkernel in C with lisp tools on top would be much better than what we have no for example. We have the hardware now to make it viable (we've had it for decades). But instead of teaching good practice all the schools shit out no-coders now and teach them shit like Go, Rust, Java and Python. They don't want real programmers they want code monkeys.

I really miss the days back when if you asked for advice for learning how to program the response was always;
>Learn perl because it's so useful for many things. Then learn C and common lisp. Then once you're good and angry about the state of modern OSs learn one of the embedded languages and play with microcontrollers and the micro-kernels.
Anonymous No.106276587 >>106276618 >>106277484
>>106276561
>>Learn perl because it's so useful for many things
is that still true?
Anonymous No.106276618 >>106276672 >>106277484
>>106276587
perl is incredibly useful for anyone that uses a POSIX OS. It's much better than writing sh scripts and you can do most anything you need with a one-liner. I still use perl more than most anything else day-to-day when I'm forced to live outside of my comfy emacs environment (mostly when working on remote servers).

It's a bit of a lost art with the new generation. They use so much other crap instead of perl. When I learned perl it was being used for everything modern python and javascript is used for now. It did most of those things better. The only real issue with perl is that it was sometimes hard to follow other people's code because perl doesn't enforce any style upon the programmer.

perl has a lot going for it. It's very portable. It can do most anything. It hasn't changed at all since the 90s. Lots of stuff out there chugging along using perl glue or written 100% in perl. Even when php came along and became the language for the web perl was still better. It just took much longer to get started in because it was a real language instead of a template language for HTML. perl wasn't ever focused on webshit but it was really good at doing webshit. Almost everything like the early forum and blog software was written in it before about 2002.

All that to say. If you don't already know it then yes it's certainly worth your time. It's much better than sh scripts or python for the usual things people do on *nix machines. No dependency hell and no worrying about if your shit can run outside of a certain shell. perl just werks.
Anonymous No.106276672 >>106277484 >>106277583
>>106276618
>It hasn't changed at all since the 90s
Should specify here. perl has added a bunch of new things since the 90s. But the code you wrote in the 90s will still work with the modern spec. It has retained 100% backwards compatibility with itself. In perl land you don't have to do the stupid thing of freezing on one version to avoid breakage like everyone does with python/javascript dependency hell.

The reason perl fell out of fashion was the whole perl version 6 thing combined with it being overshadowed in certain tasks by new comers. perl went out of fashion on the web because php got better support under Apache web server early on. Where perl still had to run through cgi-bin. PHP was much easier for someone that had no idea what they were doing to set-up and get up and running with a MySQL server as an example. Perl could do it but your cheap little shared hosting account wasn't going to have an easy-to-use control panel way to manage it. At least not as early as php stuff got that. PHP was also much easier for someone that knew nothing but maybe some HTML to pick up and make stuff with. That stuff was never any good. But it would run. So a lot of companies that were writing webshit in perl switched over for the two above reasons (easier to find people that knew php to contribute by about 2001-2003).

1995-2001 was the heyday of perl powered stuff on the web (forums and such). After 2001 pretty much everything went over to php powered stuff. Since a lot of the old perl stuff relied on storing things in text files. There was no reason why you couldn't support a proper database with perl and a lot of things did. But everyone new to the market (phpbb, vBulletin) was written in php instead. All the old stuff either converted over or died out.

Since perl was a proper programming language it was harder to pick up. Most of the people doing webshit back then were on Windows. So they didn't have any need for a language that improved shell scripting.
Anonymous No.106277429
>>106255329
this is what i was think, but wanted to know from experience lisp virgins !
>>106254936
i am think about make my own lisp and do it thiis way, so i will become arab :)
Anonymous No.106277484 >>106277583
>>106276587
>>106276618
>>106276672
I’ve been using perl pretty much since the 80s.
And before that, we had and used awk, perl was mostly a better awk for general programming but without the assumption of awk’s read/parse loop.

Having to work on php after using perl for long nearly killed me. It’s literally retarded.

Perl’s successor, Raku/Perl6, is almost a perfect language as far as I’m concerned. This has been my new “getting shit done” language for the last few years. It’s amazing…
…as long as you don’t need that shit done quickly and have a lot of RAM. I think it’s probably slower than python. Plan9 is to Unix as Raku is to Perl.

It’s a very big language, it has a lot of lisp stuff in it, like rational math, kebab-case, continuations, poor, non-compiled e-lisp-like performance, etc. the language founder didn’t fucking bail-out or die (yet)…. etc.
t. pogeet !!b2oSUmilA2N No.106277547
>>106230508
very.
I love janet's PEG.
Anonymous No.106277577 >>106277698 >>106277721
>>106276502
> maru
Thanks… that’s like a japanese boat naming suffix.
>>106276561
> C
The point is, or what we’re missing, is inter-scheme/lisp portability. If I want a C version for bootstrapping, I could simply emit one like CHICKEN does and go from there. Lisp and scheme are ridiculously good at implementing themselves.

Perl (and Raku) do something kind of similar, it has “miniperl” used to bootstrap real perl.

I still don’t think modern processors are good at implementing lisp, Tom Knight might have some input on that. Imagine a world where lisp machines and the ti explorer took off as a home PC… processors would look as different from CPU cores as GPU cores do today.
Anonymous No.106277583 >>106277607 >>106277651
>>106277484
>>106276672
The thing is I basically do three types of tasks
>the programs I need are exes, so I use bash to pipe them together
>the programs I need are libraries in some language, usually python, so I use that language to glue them together
>there either are no libraries or they're minimal, so I just implement it myself in cl or scheme
There's really no room for something like perl. What I would love is something I could write into a terminal directly like bash, with the simple and easy reading and piping syntax, but that actually had decent processing abilities, but I haven't found it.
I used awk once, and it worked, but I didn't enjoy the process.

Maybe I should write a script so I can use inline APL in the terminal. That would really be horrifying to see in the middle of a shell script!
Anonymous No.106277607 >>106277680
>>106277583
>What I would love is something I could write into a terminal directly like bash, with the simple and easy reading and piping syntax, but that actually had decent processing abilities, but I haven't found it.
That's perl...
Anonymous No.106277651 >>106277680 >>106278199
>>106277583
> inline APL
That’s raku
Anonymous No.106277680 >>106277721
>>106277651
>>106277607
Yeah I imagine Raku is good at it too. I never moved on. The 10 year wait meant I moved on to other things (and perl still works).

perl got a lot of hate because of the impossible to read one-liners. But there is a reason why so many exist. It's so you can spam them at the terminal. You can write really hard to follow and creative stuff but you don't have to.

To me perl (and I guess Raku) are just a better bash+awk. I can do more with it. I can write entire applications of any type. But I mainly just do general scripting with it or write some glue. It's what I relied on most because I started using lisp.
Anonymous No.106277698
>>106277577
> inter-scheme/lisp portability
I look at something like Racket and I wonder if you can just use it as a plain scheme? Like the Dr.Racket UI looks fun to play with, but would my work run on guile?
Anonymous No.106277721 >>106278138 >>106283132
>>106277680
>It's what I relied on most because I started using lisp.
*before, can't figure out why I keep doing that.

I'm sure if perl 6/Raku didn't take forever python wouldn't be nearly as popular today. Lots of shit got written in python because the future of perl was uncertain. That made the little gap we're still dealing with now where so much stuff is tied closely to python 2.x. The split was handled better in the perl world I think (perl vs. Raku/Python 2.x vs 3.x). But that's mostly because no one was using Raku I guess. It's nice that they're different things and compatibility with old stuff wasn't broken.

That whole era is weird. So many worse tools became popular because they claimed to support stuff like OOP. People were saying we needed to throw all the old code out and re-do everything. Kind of like now I guess but there seemed to be less resistance to it. Web shit was particularly awful for many reasons. Had all this decent stuff to make web shit with but people chose php and later javascript. Javascript prevented any real progress when it came to web shit. Most of this stuff that's web shit now should have been done over a new protocol instead of using http in my opinion. We reinvented everything we already had and made it worse just so we could shove it over http.

>>106277577
>I still don’t think modern processors are good at implementing lisp, Tom Knight might have some input on that. Imagine a world where lisp machines and the ti explorer took off as a home PC… processors would look as different from CPU cores as GPU cores do today.
I agree CPUs look much different if we didn't end up in the worse time line. We got a taste of that in the 80s-early 90s and it was nice. POSIX+DOS+NT is only the standard because of political reasons. No way we end up the way we've had in a real free market. The only saving grace of x86 was that it was somewhat open. But they've already ruined that by making GPUs and CPUs black boxes.
Anonymous No.106277963
Anyone here know if StumpWM ever got fixed multi-monitor support?
Anonymous No.106278138
>>106277721
The funny part is js was originally natively part of html, then they removed it, and then stapled it back on in a half assed way.
And we're finally coming full circule with webshit where people are wrapping back around to just plain html and realizing it's exactly the same or better results as gigantic meme frameworks for like 1% of the time and effort.
Turns out that just directly typing what you want in an editor instead of programming a factory factor factory factory to automatically generate it out of a template library is easier, who could have guessed?
Anonymous No.106278199 >>106279171
>>106277651
# inside "frobnicate.raku"
sub MAIN(
Str $file where *.IO.f = 'file.dat', #= an existing file to frobnicate
Int :$length = 24, #= length needed for frobnication
Bool :$verbose, #= required verbosity
) {
say $length if $length.defined;
say $file if $file.defined;
say 'Verbosity ', ($verbose ?? 'on' !! 'off');
}

$ raku frobnicate.raku doesnotexist.dat
Usage:
frobnicate.raku [--length=] [--verbose] []

[] an existing file to frobnicate
--length= length needed for frobnication
--verbose required verbosity



Alright this has already sold me, does everything automatically and makes argparse look like shit.
Also finally a regex implementation that isn't subtly broken and incomplete in undocumented ways, that alone is a godsend.
Anonymous No.106278351
>>106266998
The whole of Racket and DrRacket is written entirely in Scheme (they started using Chez compiler and runtime as it was super fast).
Anonymous No.106278453 >>106279352
>>106268438
The client just got moved to a new repo.
https://github.com/tanrax/org-social.el
Anonymous No.106279171
>>106278199
> regex implementation that isn't subtly broken
The language is written in regexes that have been enhanced to be turing complete (or something like that from my understsnding). It’s the ultimate form.
Anonymous No.106279352
>>106278453
`M-x org-social-timeline`creates a buffer that looks like this. You need to have a social.org that defines who you follow first, though.
Anonymous No.106279645 >>106280099 >>106283327
Why does common lisp's standard library seem like cobbled together instead of designed properly? Couldn't they have made a single set of functions for every list-like and dictionary-like data structure? It has defgeneric so they should have been able to do better. The same is also true for comparison, why have 5 different functions (eq, eql, equal, equalp, =) which do more or less the same thing?
Anonymous No.106280099
>>106279645
Well they're not really the same thing, they really are different functions.
I think it all comes down to defgeneric being kinda slow and people caring about performance too much.
You can import a few libraries that solve all your problems, but you'll take a hit in speed and memory use.

Ideally you'd just use defgeneric all the time and then the compiler would sort things out, but there's a lot of dynamic typing and oop stuff that prevents that unless you go in manually, which is tedious.

Static typing is annoying, but dynamic typing is also annoying in different ways, JIT solves both but makes the compiler itself a nightmare. Ultimately the best solution is just having a way to easily swap between parts of your code being static or dynamic. There's stuff like coalton that tries to do that but even for lisp it's kind of a stretch to dig that deep into the language and start changing things.
At a certain point it just becomes a family of related languages instead of a single one, like what happened with scheme.

tldr: we need either CL++, or else for schemes to start playing nicer with eachother and REALLY be interoperable to the point of using multiple backends at once FFI style.
Anonymous No.106281955
>>106274960
>Lithp
Lovecraftian Lithp...
https://github.com/HeeJay1/Lovecraftian_Lisp
Anonymous No.106283132 >>106283273 >>106284800 >>106285758
>>106277721
I don't get what people don't like about python. It clearly has the right ideas about aesthetics and overall cleanliness and elegance which matters a lot at the end of the day.
Anonymous No.106283273
>>106283132
It's a mediocre language as a glue language. Scheme is far superior.
http://xahlee.info/comp/python_problems.html
Anonymous No.106283300
>>106242652
The core language is like 700 lines. It breaks logic programming down to four essential operators: (paraphrasing) introduce variables, unify terms, conjoin/disjoin goals, and run query. Byrd's 2009 thesis goes into the details of unification. I think the pile of hacks is all the stuff added on top of the core language by different people to make it more practical or more fully featured for different logics etc.
Anonymous No.106283327
>>106279645
> common lisp's standard library seem like cobbled together
Probably because it was. It just described and codified a lot of existing implementations from the 70s by a bunch of students.
Anonymous No.106283634
FPGA Lisp Machine
Anonymous No.106284468
I'm a little late for this but
>which-key is now built-in
fucking finally
Anonymous No.106284800 >>106285011 >>106285149
>>106283132
Hardly, people enjoy it because it's easy for dumb people. Dumb devs tend to prefer scripting languages because they need to care less about what's is hapening behind it.
As Python has an extensive library collection too, even the default standard, you have a very low entry point for people.
There is a reason why many Python devs don't leave it, they can't program anything else.
Anonymous No.106285011
>>106284800
Well I find it beautiful and I think beautiful code is objectively easier to spend time with and think about. Beauty = utility
Anonymous No.106285149 >>106285388 >>106285394
>>106284800
> python is for dumb people
It also attracts dumb people for some reason. Like java does. Like flies to shit. This is a big problem. Java, the language, is actually pretty good. The spring framework, on the other hand, is the destroyer of worlds.

I know this guy that wrote this whole date/time library in python—somehow using generators and virtually every other buzzword python supports— … it had this weird (by that I mean crazy) output format. So I’m looking through this crap, look up and I asked him “you ever heard of iso 8601a?” “What’s that?” he said. All I needed to know. But I already knew it.

The overall amount of shit that has been unnecessarily duplicated in an outlandish and shitty way by ignoramuses must be enormous, but at least it acts as a containment facility so I can permanently ignore the entire python-class of things and people as a whole.

I’m always looking for those younger generations that were working with python (because they didn’t know any better), and all of a sudden it dawns on them—“this is utter dogshit”—and start looking for something sustainable, well-founded on principles and theory and discover what many of us in this BBS have already discovered.

You have to discover it for yourself, snd you have to *want* to discover it.
Anonymous No.106285388
>>106285149
So, I didn't say that Python IS for dumb people. Just that it attracts people that are less tech savy, it like JS is too available.
Due to the good wages and benefits, IT market exploded, but it is easy to see that a good amount of people are not really fit to it, many clearly have Dyscalculia in a special way that invades their capabilities to understand algorithms.
But they can work around if you get them a full blown mold they are forced to abide too. That's why most developers are oriented to frameworks, why most of them suck and why there are so many of them.
Python is such a bizarre case that even Django is not as well spread as people would expect for being the major framework from the one language most people say they know.
Anonymous No.106285394 >>106286376
>>106285149
You can reinvent the wheel in any problem domain in any language.
Anyway, python is wonderful, but i'd love to get more into scheme and racket, but i find the documentation hard to use. It's hard to figure out what kind of data structures a given procedure/form takes as input. The descriptions are too abstract
Anonymous No.106285758
>>106283132
>I don't get what people don't like about python.
Whitespace. When it was new (before it became popular circa year 2000) there weren't a million libs written in it either.

Consider the following: You're a new programmer. You want to write stuff for OSs and embedded. The obvious path is eventually learning C. Which scripting language is better suited for eventually getting you there? perl or python?

If you know the syntax of both the answer is obvious and there is a very good reason why perl was preferred.
Anonymous No.106286105 >>106286376 >>106286531 >>106286625 >>106288352
I did a little recreational Racket programming today. Emacs' racket-mode is pretty good, and I prefer it over DrRacket.
https://www.racket-mode.com/
If I used it more regularly, I'd probably bind some more keys beyond the default though. At least C-M-x is bound to racket-send-definition.
;; Convert degrees to radians
(define (radians degree)
(* degree (/ pi 180)))

;; https://www.mathsisfun.com/polar-cartesian-coordinates.html
(define (coord length degree)
(list (* length (cos (radians degree)))
(* length (sin (radians degree)))))

;; algorithmically generate
(define (rays [count 4] [length 100])
(let* ([width (/ 360 (* 2 count))]
[initial (- 0 (/ width 2))])
(for/fold ([posns '()])
([i (range count)])
(append posns (list (list 0 0)
(coord length (- (* (* 2 i) width) (/ width 2)))
(coord length (+ (* (* 2 i) width) (/ width 2))))))))
Anonymous No.106286376 >>106287048
>>106286105
I last touched this code 3 years ago. When I stopped, I didn't have the radians function and the coord function was buggy because of that. For some reason, I noticed this flaw fairly quickly this time around, and fixed the coord function which made the rays function work as intended after all this time.

I looked at this code again in response to:
>>106285394
>but i'd love to get more into scheme and racket, but i find the documentation hard to use.
I can't speak for Scheme, but at least for Racket, my experience with their docs has been positive. I'm still a Racket beginner after all these years, but I thought they had great documentation that was fairly easy to access. To confirm, I opened up my old code in both DrRacket and Emacs.
- In DrRacket, docs for the function at point were always available via the documentation widget in the top-right corner.
- In Emacs, I could get docs for the function at point via racket-xp-describe. That would load up docs in an Emacs window, and it even supported graphics.

A lot of docs had type information too. For example, I could put my cursor on a call to the make-posn function, and racket-xp-describe would take me to the docs for the posn struct.
Anonymous No.106286531
>>106286105
> racket-mode
Seems to me that it would be easy to write a pure (racket compatible, without extenstions) scheme interpreter in e-lisp.
Someone mentioned earlier that emacs is a kind of like a modern interpretation/implementation of a whole lisp machine.
Anonymous No.106286625 >>106286739 >>106287525
>>106286105
> define(rays [count ...
This part didn't work in guile.
I'm going to guess it's the square brackets.
Don't see the need.
Anonymous No.106286739
>>106286625
It's not the square brackets (which Guile interprets as another way to write parens). To get optional parameters with default values, you have to use define* in Guile.
https://www.gnu.org/software/guile/manual/html_node/lambda_002a-and-define_002a.html#lambda_002a-and-define_002a
(define* (x10 #:optional [x 1]) (* x 10))

- I could have said (x 1) instead of [x 1] too. They're treated the same way.
- Note that Guile doesn't have Racket's for/fold, so that would have been another point of failure.
Anonymous No.106287048
>>106286376
maybe I just lacked familiarity with the language. I also had a hard time learning about macros (for the first time in any lisp) in racket's system. I wrote my first macro draft implicitly assuming i would have "reflective access to the runtime environment" i.e. be able to use eval on a dynamically constructed datum and have it work as if it had been hardcoded in the file. I was confused by the undefined symbol errors i was getting referencing things that should definitely have been defined in the environment at that point. That led into reading about racket's "phases" and build process which seemed convoluted so I put that project aside.
Anonymous No.106287104 >>106287340 >>106287352
>>106259252
I approached lisp languages really excited about the possibilities of uniform syntax and macros and abstraction but it seems like most lisp code for most domains looks basically like any other normal language, just with all the parentheses cluttering things up.
Anonymous No.106287340
>>106287104
- This may be hard to believe now, but after you write enough lisp, you stop noticing the parentheses. They're just there for disambiguation and keeping structure explicit. What looks weird now starts looking normal after you get a feel for it.
- Also, when you become proficient with paredit, you might start appreciating the parentheses more.
http://paredit.org/
Anonymous No.106287352
>>106287104
- This may be hard to believe now, but after you write enough lisp, you stop noticing the parentheses.
- They're just there for disambiguation and keeping structure explicit.
- What looks weird now starts looking normal after you get a feel for it.
- Also, when you become proficient with paredit, you might start appreciating the parentheses more.
http://paredit.org/
Anonymous No.106287525 >>106287558
>>106286625
Here's something that'll work with Guile using regular fold from srfi-1.
(define (rays-scheme count length)
(let* ([width (/ 360 (* 2 count))])
(fold (lambda (i posns)
(append posns (list (list 0 0)
(coord length (- (* (* 2 i) width) (/ width 2)))
(coord length (+ (* (* 2 i) width) (/ width 2))))))
(list)
(range count))))

To use this with Guile, pull in srfi-1 like this first:
(use-modules (srfi srfi-1))

Example Output
flags.rkt> (rays-scheme 4 100)
'((0 0)
(92.38795325112868 -38.268343236508976)
(92.38795325112868 38.268343236508976)
(0 0)
(38.26834323650898 92.38795325112868)
(-38.268343236508976 92.38795325112868)
(0 0)
(-92.38795325112868 38.26834323650899)
(-92.38795325112868 -38.26834323650897)
(0 0)
(-38.26834323650895 -92.38795325112868)
(38.268343236509 -92.38795325112866))
Anonymous No.106287558
>>106287525
I think this is the more portable way to pull in a srfi.
(import (srfi srfi-1))

https://stackoverflow.com/a/21813275
Anonymous No.106288352
>>106286105
Try racket-xp-mode. It's a minor mode that highlights the symbol at point and annotates it with info about where it's defined. It brings Emacs a little closer to the DrRacket experience.
Anonymous No.106288820
new bread
>>106288815
>>106288815
>>106288815
>>106288815