>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 Resourceshttps://gnu.org/s/emacshttps://github.com/emacs-tw/awesome-emacshttps://github.com/systemcrafters/crafted-emacs>Learning EmacsC-h t (Interactive Tutorial)https://emacs-config-generator.fly.devhttps://systemcrafters.net/emacs-from-scratchhttp://xahlee.info/emacshttps://emacs.tv>Browse imageboards in Emacs Org-Modehttps://github.com/eNotchy/4g>Emacs Distroshttps://github.com/caisah/emacs.dz>ElispDocs: 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.htmlhttps://gnu.org/s/emacs/manual/elisp.htmlhttps://github.com/emacs-tw/awesome-elisp>Common Lisphttps://lispcookbook.github.io/cl-cookbookhttps://cs.cmu.edu/~dst/LispBookhttps://gigamonkeys.com/bookhttps://lisp-docs.github.iohttps://awesome-cl.com>Schemehttps://scheme.orghttps://standards.scheme.orghttps://go.scheme.org/awesomehttps://research.scheme.org/lambda-papers>Clojurehttps://clojure.orghttps://tryclojure.orghttps://clojure-doc.orghttps://clojure.landhttps://www.clojure-toolbox.comhttps://mooc.fi/courses/2014/clojurehttps://jafingerhut.github.io/cheatsheet/clojuredocs/cheatsheet-tiptip-cdocs-summary.html>Otherhttps://github.com/dundalek/awesome-lisp-languages>Guixhttps://guix.gnu.orghttps://nonguix.orghttps://systemcrafters.net/craft-your-system-with-guixhttps://futurile.net/resources/guixhttps://github.com/franzos/awesome-guix>SICP/HtDPhttps://web.mit.edu/6.001/6.037/sicp.pdfhttps://htdp.org>More Lisp Resourceshttps://lisp.nexushttps://rentry.org/lispresources(add-to-list 'previous-threads >>109272864)
>>109444547I totally forgot about wanderlust.https://github.com/wanderlust/wanderlusthttps://www.emacswiki.org/emacs/WanderLustHas anyone here used it?
pls enlighten me how to solve all p=np probelm with lambda function
>>109446708monad and mutex and mutex and monad
>>109447903a monad and mutex will not solve the combinatoric problem.
How have your experiences with Guix been so far?
>>109447948>schubert's little richardson is P-Hardsorry guys we're not going to solve thisit's just elon dick jokes all the way down
>>109448054The only problem I have with it is that guix pull takes a while to complete. Other than that, I like it a lot.
>>109444547This looks insanely good yeah.
>>109448054switched off it as main os after i got tired of packaging half the things i needed myself. besides that and the inability to sign your kernel for secure boot it's my favorite distro. still use guix as package manager in some parts/for reproducible environments
https://archive.is/5S7F9there's the fully ai generated ai psychosis admission from the guy that took over emacs-jabber in case anyone still had doubts>companies stealing your shit for their closed-source services actively making society a shittier place and profiting off it is good actuallygood ragebait
>>109448054You like onis anon?
>>109451157jesus christ, the tone LLMs write in is so obnoxious
>>109451157they can literally just copy paste the llm slop, remove comments and probably no one would know. Why insist on having commits by claudia?
;; The Church of Emacs;; Filling of Chars, Lispy and Binding.;; Buffers Insert Yank.;; Meta Sexp Add-hook.;; Eight Mega-bites And Console Swapping.https://github.com/kristjoc/bible-gatewayhttps://www.gnu.org/fun/jokes/gospel.html
;; The Church of Emacs;; Filling of Chars, Lispy and Binding.;; Buffers Insert Yank.;; Meta Sexp Add-hook.;; Eight Mega-bites And Console Swapping.
>>109444547what font might that be
>>109444547How about NO? Fuck Lisp.
>>109453136Looks like GNU Unifont.
>>109453184would make sensethanks bud
>>109451463The people that don't bother checking slop won't bother making it not slop.Like the preLLM original essay writers that copypaste Wikipedia without removing citations and keeping the full glory of pointless bracketed numbers.
>>109453136Darude Sandstorm
how well does org-mode work with vim bindings like doom? I'm a heavy vim user but want to see if I can upgrade my note taking system (obsidian inspired hierarchy of markdown files).
So you would like to learn the secret horadrim lisp dialect and fight the prime evils and angels... Why don't you stay a while and listen?
>>109453171Would you fuck Lisp?
>>109459842To make babies.
>>109456367nice font
>>109457462>how well does org-mode work with vim bindings like doom?works really well
>>109453135I should make an emacs front-end for Sefaria
>>109463120>people using my artincredible
>>109463120yare yare daze
>>109444864usecase?
>>109444547should i learn GUIX vros?it seems much cleaner than nix, but it doesnt seem to have many of the stuff i need (mainly dev tools) is it worth learning and packaging my own stuff? I want to get away from relying on the AUR for everything
>>109466909YepTake the guixpill bro
>>109469077yes guix seems superior>uses a real progr language>no systemd dependency>simpler api compared to nix slop yet somehow gets way less community adoptionit really do be like that sometimes
>>109466909>packaging my own stuffI'm using Gentoo and I found that AI is really good at making quick ebuilds. I figure it would be similar for Guix.
>>109469505yes deepseek seems to be decent at it so fari also noticed a bit of an issue with this full source bootstrap thing, if you want to package a compiler thats written in its own language you cant really do it, you need the language creator to basically give you another compiler in C or something for it to work
>>109469505Yes for trivial cases, no for more complicated onesRust packages are the worst by far imo, and genuinely fucking crazy that Rust users are ok with cargo pulling in arbitrary dependencies at build, Guix and Nix’ hatred of the Rust build system is fully justified
>>109470437>you need the language creator to basically give you another compiler in Cisn't it usually how it goes? i.e. the creator first implements the compiler in one langage (e.g. C) and later rewrites in the target language? all you would need to do is compile an older version for bootstrapping
>>109470489what do you mean arbitary dependencies?
>>109459842eww! get lost icky retard!
Nested backquotes are unironically arcane magic.
>doomhttps://github.com/minad/doom-on-emacs
clojure up your ass
>>109475787yes daddy
>>109473716>count the backquotes>count the commaswhat's so difficult?
>>109476311The hard part is how to make the evaluations at the right time and have them inserted correctly.Forgetting to put the quote in,',or why it's correct when,,@and not when,@',
,',
,@',
Common lisp webdriver? I need to scrape!
I want to like Lem, but the biggest hangup I have with it is indentation. I could put up with some other features missing, or it being difficult to find functions/variables I need, and having overall less documentation than emacs (which is understandable).But when I can't even indent my files properly I just can't use it.It seems to do autoindentation by default, but some filetypes (like shell scripts) don't. Ok, I could live with that... but then in vi-mode when I use "o" to go to the next line it always indents by exactly 1 level regardless of what comes before it.My assumption is it's trying to autoindent but falls back to a single tab (4 spaces).So even if the previous line isn't indented at all the next one will be, or if the previous line is indented 5 times the next line is still only indented once.Then of course if I just hit <enter> instead of using "o" it doesn't indent at all.Then in files which do have appear to autoindent it seems buggy. Like it works until you hit a multiline string, everything after will have wonky indentationPython has the most acceptable indentation but even that seems a bit buggy, but it somewhat makes up for it by allowing tab to cycle between indentation levelsI also can't figure out how to get it to use spaces instead of literal tab characters in its fundamental mode.I hope the indentation situation improves at some point so I can start using it.
IDO mode seems too agressive.I have several /src directories, in several projects. When I want to create a new one it'll try to take me to some random src. Is it possible to reduce its eagerness?
>>109477251https://github.com/copyleft/cl-webdriver-client/
>>109469417I've been on Guix System for about a year and i never thought "gee this is great but it really lacks community". The number of active contributors is quite large , I wonder if it's greater than emacs
>>109444547What Japanese font is that?
>>109448054I wanted to love Guix as a distro but as I was using it it constantly made me wish I was on NixOS instead.
>>109479455GNU Unifont
>>109480243ThanksI liked it at first, too bad the tenten on go is very hard to see and looks extremely retarded. What were they thinking. It's literally unusable this way.
https://hachyderm.io/@gmpalter/117044268951603975Symbolics Technologies is pleased to announce that Symbolics Genera and the Virtual Lisp Machine (VLM) are now available under a free for non-commercial use license. We are currently in an invitation-only early beta period. If you apply but did not receive an invitation, your application will be held until a later date. For details, please visit https://www.symbolics.biz/ .https://www.symbolics.biz/license/friends.html
>>109481401This looks really cool at first glance, but at this point surely they should be opening up their invites to newer Lisp devs, not just those who spent time in it decades ago. It has to be time for some new life in Genera. I’m not sure about the LLM integration either, especially since none of this seems to be free software, and Genera by its nature would seem to allow an LLM access to absolutely everything on the system.
>>109481401>>109481499Oh I think I get it, this is the point, isn’t it? The LLM can interact with everything in Genera so it’ll be able to figure out things way more efficiently than on other systems. I’m assuming that’s what Symbolics wants to do with Genera bringing it back now of all times
Has anyone here tried to use raylib bindings with Box3D to make a game? I haven't seen a Box3D binding library, but I thought some might have privately tried getting claw to generate bindings. It really seems like easy 3D games in Lisp is just on the horizon.
>>109479864I've used Guix but not Nix, what made you want to go back?
>>109481401im gonna turn an old smartphone into a lisp machine wow
>>109485462im gonna turn my shithub into a Symbolics appealing god tier github NOW
>>109485676>hey kid>catch
>>109483426Box3D is still alpha software, I doubt anyone's interested in signing up for maintaining bindings long term. And unless you're the author of claw it's hard to use it to generate bindings, compared to cl-autowrap. Though I just looked at box3d and it passes and returns a lot of structs by value (b3BodyId) so using claw would probably be best. cl-autowrap/libffi can handle that too at the expense of changing all the function calls to take a return-value parameter that you have to mange yourself. I've heard the raw SBCL FFI can handle structs by value now though, at least on linux.
>>109483426>>109487004Actually wasn't too bad with cl-autowrap/libffi. See https://pastebin.com/Q2bpWNGSFollows https://github.com/erincatto/box3d/blob/main/docs/hello.mdOutput is a box falling from (0, 4, 0) to (0, 1, 0).Someone said before that libffi with raylib made calls 250x slower. This whole setup and 90 steps took 4ms on my machine.
Someone make me a Guix package for Ladybird
>>109487004>Box3D is still alpha softwareif you read the announcement it's a fork of valve's collision library so the thing's already been tested for several years
hm I spent like 2 hours reading this project. I got confused on the slot defintion of a CLOS class. I thought it was af unction call and was reading the defmethod reference page and couldn't figure out what the :argname parameters were. I even looked in the reference book at CLOS and saw the :argnames in the CLOS examples and didn't realize it was a CLOS class slot defintion instead of a defmethod. I wonder why I couldn't understand the simple example of an object description.
>>109489151>CLOSUsecase for OOP?
>>109491442it is kind of like having a named list instead of using accessors like first, second, third, ... functions now you can use :varname, :varname2, :varname3...In a big code base I'm not sure how often you'd mistype the wrong list index getting function, e.g. fourth, instead of fifth, or third instead of fourth.The other benefit is in the function signature, you can pass a class object as an argument and the compiler will type check for you. Instead of passing a list and finding out it was the wrong type of list at run time.
>>109489104Not quite.>My friend Dirk Gregorius is an accomplished physics programmer, having shipped a custom physics engine in Half-Life: Alyx called Rubikon. Dirk maintains a hobby/home version of Rubikon. Let’s call this “Rubikon-Lite”. He suggested that I could fork Rubikon-Lite and modify it to my needs. So that’s what I did.>I replaced almost all the APIs, data structures, and algorithms in Rubikon-Lite with Box2D code.>Eventually my Rubikon-Lite fork transformed into Box3D. Today Box3D still has some Rubikon-Lite code in the convex hull generation and some collision algorithms. The rest is code from Box2D and new code I wrote for Box3D. On the Valve side, Rubikon continues to evolve and Dirk has developed optimizations (similar to those in Box3D) in a new engine called Ragnarok.And if that isn't enough, from the actual Initial Release page:>This is the initial release of Box3D. I consider this to be alpha software.
>>109448054Cute and funny!
Anyone tried Emacs on Android? Is it usable, are there any Android-specific configs?
(setopt help-enable-variable-value-editing t)Suppose you looked at the value of a variable using `C-h v`. With this option set, you could put your cursor on the value and hit `e` to edit the value. Kinda handy.
(setopt help-enable-variable-value-editing t)
>>109493062>Anyone tried Emacs on Android?Yes, I use it regularly. In Termux, that is.>Is it usableIn Termux it's fantastic.I have no idea what kind of person uses the standalone app and why, it's a pain to use and you can't even install packages from Melpa because it can't use git.
Apparently, there's a CL implementation of SchemeBBS.https://board-v2.manoel.dev/https://board-v2.manoel.dev/lambda/Source:https://github.com/ryukinix/cl-bbs
>>109493835I'm going to try to get the Emacs client to work.https://web.archive.org/web/20240310191046/https://fossil.textboard.org/sbbs/tarball/sbbs.tar.gz
>>109493911I don't think the CL version supports the sexp API. I've been skimming through their routes, and I don't see it.https://github.com/ryukinix/cl-bbs/blob/master/src/server/handlers.lisp
>>109493408Holy shit how do you use it in VR??? Do you use the phone directly or do you have some kind of standalone headset? What app is needed? Is the resolution any good for prolonged text reading and editing?
>>109491442Here’s one I find this general overlooks a lot. If I want my program to be extensible then I want to use generic functions instead of cond or typecase. If I didn’t, the user would have to rewrite the internals of a function to change its dispatch patterns. If I just declare a generic and let it specialise on methods, then the user can easily add new features by defining new classes and methods which extend the behaviour of the program without touching the internals I already wrote.
>>109481401Not carrying anything of value forward.It would be useful to have developed ivory as a modern asic, or extensions to tensilica, or even an FPGA.
CL is dead and buried. Long live clojure!
>>109495563nta but>Do you use the phone directly or do you have some kind of standalone headset?standalone headsets are all android based (besides the apple one)>What app is needed?termux>Is the resolution any good for prolonged text reading and editing?unless you are willing to dish out 2k for something like the galaxy xr, nothe pixel density on a quest 3 for example is 25ppd, the galaxy xr has 35ppd. both are ass
>>109495563>do you have some kind of standalone headset?Yes, a Meta Quest 2. The window management and utility software on this thing is absolute shit, so having a keyboard-driven environment in a single window is nice.As far as emacs+android goes I mostly just use it on my phone or tablet, I haven't had this VR headset for very long yet.>Do you use the phone directly Google Cardoard is a thing, so I guess that could work, but it would be a horrible experience due to the low display resolution.The software on it is absolute shit though, even worse than what you'd expect from your average Android>What app is needed? Get F-Droidwith F-Droid, install Termuxin Termux, type `pkg i emacs`If you're going to use it on your phone with just the soft keyboard, I recommend using an evil or meow config, every keystroke you can save counts.Hacker's Keyboard and Unexpected Keyboard are much better suited for Termux/Emacs than the default keyboards you'll find on mainstream devices.Valve is expected to launch its Steam Frame soon (TM), it'll be a lot less locked down and run their SteamOS Linux distro.>Is the resolution any good for prolonged text reading and editing?It's not great desu. It's certainly readable, but I haven't used Emacs/Termux for longer than 20-30 minutes at a time yet.The Quest unfortunately uses LCD screens, which results in a very noticeable screen door effect.The cheapest OLED headset I'm aware of is the PSVR2, which is on sale for $299 right now, but it's not a standalone device and Linux support is lackluster.There's also the BigScreen Beyond 2, which has a better resolution.I bought my Q2 used for 120 bucks, used Pico 4's start at about 150, Quest 3's at 300 or so.
Hear me out: Nand2Tetris, but you make a Lisp machine
this is true for emacs discussions too, when you think about it
>>109444547Sorry, am Noobie McNab. What am I looking at, exactly?
>>109500743a mail client (see >>109444864) with an open article. it's visually similar to Gnus, the builtin mail client of Emacs, picrel.the picture next to the "From:" field is an X-Face. i think they're pretty rare nowadayshttps://en.wikipedia.org/wiki/X-Face
>>109500788Thanks anon!
>>109497377a real ass nigga opinion
CL people:Do you guys use roswell or qlot?https://github.com/roswell/roswellhttps://github.com/fukamachi/qlot
>>109503361>Qlot (pronounced kyü-'lät, like culotte)nigga just write it in katakana
>>109500788Gnus is the one cool emacs thing I could not figure out what the praise was about. Still want to get in to it but email has gotten so cucked. None of my important email account use imap. Which is so annoying, I briefly had a great workflow with notmuch
>>109503361No
>>109500628>Left: You are a moron who is playing a 3D game for the first timeAnything is lit when it's new, simply the act of pressing a button and seeing a 3D avatar blows your tiny pea brain.>Right: Your horizons have been expanded, your brain demands more depth, you don't care about spamming buttons like an autist without any reason.The guy on the right, doesn't fall for micro-transactions, can detect operant conditioning, can figure out if the game is wasting his time or not. The guy on the right doesn't care about what emacs config you use, or your environment. He lives in his own environment.
I genuinely don't know why CL became the standard instead of Scheme.
>>109504613Because lisp machines needed low level features and scheme came too late anywayYou couldn’t run Genera reasonably without the low level features of ZetaLisp
>>109504613Because Scheme isn't Lisp and isn't pragmatic enough. Scheme was an offshoot experiment, not a continuation of Lisp tracing lineages and runnable shared code back to Lisp 1.5.
>As the book begins, we place no demands on you beyond elementary school arithmetic.Now this looks like a book for me.
>>109505349>isn't pragmatic enoughWhat do people mean when they say this shit? For example, people praise the guy who wrote Roller Coaster Tycoon in assembly for some reason without even realizing that the only thing that makes assembly hard in 2026 is the lack of tools and support from Microsoft. Microsoft literally shipped Assembly SDKs, we had macro assemblers which literally maps 1:1 to a C program, and actually surpassed C when it comes to stuff like writing iterators, code generation, etc. So why do you think Scheme isn't pragmatic enough? Because it doesn't have a distribution with a big set of libraries?
>>109505791I'm not a schemer, but every time I've seen this topic breached it's normally referring to limitations of the language, i.e. hygenic macros
>>109505791Probably just a newfag who doesn’t know what he’s talking about. The answer is literally just because Scheme wasn’t even around when CL was started and was only a baby when everything was done afaik, plus >>109504673 regarding low level details. I think at the time Scheme wouldn’t have had the tools like GC management and compiler macros that you would absolutely have to take if you were managing Lisp machines so it’s a really hard sell to Symbolics and LMI even if it were an option.But to say Scheme isn’t a Lisp is just complete bs, to the extent it comes across as just a bait post
>>109505791Yes, fewer libraries, smaller std library, smaller community, less/no production or commercial support, fewer large systems, preferring a single-paradigm, not a "single" Scheme, poorer FFI support, less portability... All contribute to making it a less pragmatic language.It's not even "muh libraries" for niche things. Even as late as R5RS basics like sorting, hash tables, time/date functions, namespaces, error handling, debugging interfaces, etc. were left unspecified and up to implementations. Some of it could be and was papered over with libraries, sometimes multiple choices, and a similar criticism can be leveled at CL as the standard lacks for example anything on threading or regular expressions. But the CL standard wasn't silent on the rest. CL was also defined as a multi-paradigm language, and allowed running code from a variety of Lisp dialects with little to no modification, despite code being written with different styles or paradigms in mind. It could all live in harmony. Only a pragmatic language can be so flexible; only harsh compromises and kludges can make it a reality. CL programmers value getting things done over finding the pure or right way to do everything, which Scheme programmers tend to do. Even basic syntax support for keyword arguments reflects an attitude of being able to easily change an existing program in minimal ways over a long maintenance lifespan. People wanted a stable platform they could trust to build on for many years. Even today, is the largest Scheme system just Racket itself? A quick cloc scan shows it's just shy of one million lines of Racket and Scheme code. One million lines is a large system, and CL has and had multiple.I invite you to read this short overview paper of T from 1982 which also addresses some of the differences between Scheme and Lisp and how that influenced their choice to make a new Lisp, rather than taking Scheme or porting an existing Lisp as-is. https://dl.acm.org/doi/10.1145/800068.802142
>>109505845I'm probably older than you. I also said Scheme isn't Lisp, not Scheme isn't a lisp. I don't go as far as Naggum in that regards. This is as uncontroversial as saying that C++ is not C. Less controversial, even, because a lot of C code actually does compile as C++ code, but almost no Scheme code compiles as Lisp code and vice versa.On the matter of timing, the first Scheme paper by Guy Steele was 1975. The first Common Lisp proposal, also by Steele, was 1981/1982. R1RS was 1978. But sure, R2RS was 1985, R3RS was 1986, R4RS was 1991, and R5RS was 1998. The formal standard IEEE Scheme was 1990. CL finished standardizing in 1994.
>>109506645unlike CL, which is a useless dead language. Racket actually gets used in prod. A scheme that becomes useful is not a scheme anymore, because it must outgrow and leave the cradle.
>>109507905what's the racket equivalent to https://github.com/azzamsa/awesome-lisp-companies
>>109506664Yeah you’re right I did get those dates mixed up, totally the other way around. I still think saying it’s not Lisp just doesn’t mean anything though, since those are all different dialects anyway. I just don’t really see the point in that part of the statement and it’s hard not to interpret it as bait since you could’ve seen from a mile away it just leads to shitflinging about CL vs Scheme vs Clojure vs blah blah blahCome to think of it this is actually the first time in a long time I’ve heard any Lisper except maybe Xah Lee complain about Scheme
>>109508156Fair enough. Maybe an analogy would have helped. Asking why CL became the standard instead of Scheme is like asking why C became the standard instead of, say, BCPL. BCPL isn't C, they're quite different langs, one is clearly meant for broad use while the other is more narrow, and what specs exist show one to be lacking in features needed for a general purpose language. (i.e. not pragmatic enough.)To further bridge the analogy, from the abstract of the BCPL Reference Manual in 1967, "BCPL is a simple recursive programming language designed for compiler writing and system programming: it was derived from true CPL (Combined Programming Language) by removing those features of the full language which make compilation difficult".From the 1st edition of The C Programming Language in 1978, "C is a general-purpose programming language which features economy of expression, modern control flow and data structures, and a rich set of operators. C is not ... specialized to any particular area of application."From the original Scheme paper it begins "Inspired by Actors, we have implemented an interpreter for a Lisp-like language, Scheme, based on the lambda calculus, but extended for side effects, multiprocessing, and process synchronization. The purpose of this implementation is tutorial. We wish to (1) alleviate the confusion ... of non-recursive control structures in a recursive host language ... (2) explain how to use these control structures ... (3) have a simple concrete experimental domain ..."From the original CL introduction, "This manual documents a dialect of Lisp called Common Lisp, which is the successor to MacLisp, influenced strongly by Lisp Machine Lisp and also to some extent by Scheme and InterLisp. Common Lisp is intended to meet these goals: Commonality ... Portability ... Consistency ... Power ... Expressiveness ... Compatibility ... Efficiency ... Stability."Just totally different languages and goals, even if you go to later Schemes.
>>109508083I think racket (rosette) is used in cloudfare.
what does your emacs look like when you're writing codes?
>>109509615I use Neovim to write Clojure
>>109508385>why is C the standard instead of BCPLBecause Unix was rewritten in C.
>>109448054At this point, the details that are still missing from the system don't matter. In light of recent events, to migrate my critical infrastructure to GNU GUIX was the decision of building on solid rock.Of course, currently, the surface is rough and not ready for production yet, but the substrate the rocks are made of are from the highest caliber. What is needed is quality human labor for smoothing and polishing and I hope once I learn enough I can contribute to that work.
Lisp is literally the only enjoyable way for me to write code anymore
https://www.youtube.com/watch?v=QzhU6fklc4oThis is kind of a cool abbrev-mode trick where you can make an abbreviation conditionally available based on the return value of a function. In prot's first example, he made an abbrev that was only enabled when the input-mode was one of the French input modes. (He likes french-postfix).(defun my-french-p () "Return non-nil if `current-input-method' is French." (and current-input-method (string-match-p "french" current-input-method)))(define-abbrev global-abbrev-table "welcome" "je t'en prie" nil :enable-function #'my-french-p)
(defun my-french-p () "Return non-nil if `current-input-method' is French." (and current-input-method (string-match-p "french" current-input-method)))(define-abbrev global-abbrev-table "welcome" "je t'en prie" nil :enable-function #'my-french-p)
>>109515788M-x list-abbrevsto see what Emacs already gives you.
>>109515770same (Clojure)I can tolerate Rust/Elixir.
>>109515770This so hard. For me, it's clojure. (inb4 not a lisp)
>>109515770I like all Lisps. It feels like you can have a conversation with your computer in a way other languages won’t give you. I love Common Lisp, I love Scheme, I love Clojure, I love Elisp too
>>109508083IIRC Naughty Dog used a bit of Racket in The Last of Us, although I wouldn't call nu-Naughty Dog an awesome company because (((Druckmann))) works you like a slave driver.
>>109515788i prefer french-prefix desu
>>109515770I'm trying to get into it.But every combination of language/editor/repl is a janky, broken piece of shit that is impossible to set up and use.
>>109520641literally stop with the REPL shit. write Lisp in an editor and run it in a CLI, just like you would Perl or whatever.a big, big problem with new Lisp users is trying to learn every single part of the "Lisp workflow" in a single go. take your time and just learn the actual language, and improve your environment as you go along.1. the most basic editor workflow described above2. add Parinfer or Paredit (I use Parinfer)3. attach REPL to editorhave several hundred LOC be in between each step
>>109520868>just don't use the main selling point of the languageGetting clojure to work in a Jupyter notebook was the single biggest help for me to actually learn the language.Fuck emacs, though.
clojer mentioned!>>>/vr/12747414
>>109520641This is one reason I think Elisp is one of the best starter lisps, because a stock vanilla Emacs is ready to help you eval some Elisp code. Also, the Elisp skill you develop will help you configure Emacs such that you can try other lisps. Elisp and Emacs can be a great gateway to other lisps.
>>109521504I'm sure elisp is a fine language, but I'd be happier never touching emacs.
>>109521244that's very clever.