[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology

Name
Options
Comment
Verification
4chan Pass users can bypass this verification. [Learn More] [Login]
File
  • Please read the Rules and FAQ before posting.
  • You may highlight syntax and preserve whitespace by using [code] tags.

08/21/20New boards added: /vrpg/, /vmg/, /vst/ and /vm/
05/04/17New trial board added: /bant/ - International/Random
10/04/16New board for 4chan Pass users: /vip/ - Very Important Posts
[Hide] [Show All]


Janitor acceptance emails will be sent out over the coming weeks. Make sure to check your spam folder!


[Advertise on 4chan]


File: 1777655088636860.png (29 KB, 639x771)
29 KB PNG
>Lisp is a family of programming languages with a long history and a distinctive parenthesized prefix notation. There are many dialects of Lisp, including Common Lisp, Scheme, Clojure and Elisp.

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

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

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

>Browse imageboards in Emacs Org-Mode
https://github.com/eNotchy/4g

>Emacs Distros
https://github.com/caisah/emacs.dz

>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://lisp-docs.github.io
https://awesome-cl.com

>Scheme
https://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://clojure.land
https://www.clojure-toolbox.com
https://mooc.fi/courses/2014/clojure
https://jafingerhut.github.io/cheatsheet/clojuredocs/cheatsheet-tiptip-cdocs-summary.html

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

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

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

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

(add-to-list 'previous-threads >>109272864)
>>
>>109444547
I totally forgot about wanderlust.
https://github.com/wanderlust/wanderlust
https://www.emacswiki.org/emacs/WanderLust
Has anyone here used it?
>>
pls enlighten me how to solve all p=np probelm with lambda function
>>
>>109446708
monad and mutex and mutex and monad
>>
>>109447903
a monad and mutex will not solve the combinatoric problem.
>>
File: goblin distro.jpg (2.18 MB, 2088x1236)
2.18 MB JPG
How have your experiences with Guix been so far?
>>
>>109447948
>schubert's little richardson is P-Hard
sorry guys we're not going to solve this
it's just elon dick jokes all the way down
>>
>>109448054
The only problem I have with it is that guix pull takes a while to complete. Other than that, I like it a lot.
>>
>>109444547
This looks insanely good yeah.
>>
>>109448054
switched 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/5S7F9
there'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 actually
good ragebait
>>
>>109448054
You like onis anon?
>>
>>109451157
jesus christ, the tone LLMs write in is so obnoxious
>>
>>109451157
they can literally just copy paste the llm slop, remove comments and probably no one would know. Why insist on having commits by claudia?
>>
File: Erika.jpg (1.57 MB, 2400x2400)
1.57 MB JPG
;; 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-gateway
https://www.gnu.org/fun/jokes/gospel.html
>>
>>109444547
what font might that be
>>
>>109444547
How about NO? Fuck Lisp.
>>
>>109453136
Looks like GNU Unifont.
>>
>>109453184
would make sense
thanks bud
>>
>>109451463
The 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.
>>
>>109453136
Darude 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).
>>
File: deckard.jpg (7 KB, 250x253)
7 KB JPG
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?
>>
File: 1759882760759300.jpg (110 KB, 859x859)
110 KB JPG
>>109453171
Would you fuck Lisp?
>>
>>109459842
To make babies.
>>
File: lisp.png (305 B, 32x32)
305 B PNG
>>109456367
nice font
>>
>>109457462
>how well does org-mode work with vim bindings like doom?
works really well
>>
>>109453135
I should make an emacs front-end for Sefaria
>>
>>109463120
>people using my art
incredible
>>
File: 1785896000918.png (1.58 MB, 1584x672)
1.58 MB PNG
>>109463120
yare yare daze
>>
>>109444864
usecase?
>>
>>109444547
should 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
>>
File: guixchad.png (227 KB, 1229x500)
227 KB PNG
>>109466909
Yep
Take the guixpill bro
>>
>>109469077
yes guix seems superior
>uses a real progr language
>no systemd dependency
>simpler api compared to nix slop
yet somehow gets way less community adoption
it really do be like that sometimes
>>
>>109466909
>packaging my own stuff
I'm using Gentoo and I found that AI is really good at making quick ebuilds. I figure it would be similar for Guix.
>>
>>109469505
yes deepseek seems to be decent at it so far
i 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
>>
>>109469505
Yes for trivial cases, no for more complicated ones
Rust 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 C
isn'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
>>
>>109470489
what do you mean arbitary dependencies?
>>
File: 370185178.jpg (37 KB, 594x540)
37 KB JPG
>>109459842
eww! get lost icky retard!
>>
File: 1773865842237108.jpg (17 KB, 533x509)
17 KB JPG
Nested backquotes are unironically arcane magic.
>>
>doom
https://github.com/minad/doom-on-emacs
>>
clojure up your ass
>>
>>109475787
yes daddy
>>
>>109473716
>count the backquotes
>count the commas
what's so difficult?
>>
>>109476311
The 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 indentation
Python 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 levels

I 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?
>>
>>109477251
https://github.com/copyleft/cl-webdriver-client/
>>
>>109469417
I'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
>>
>>109444547
What Japanese font is that?
>>
>>109448054
I wanted to love Guix as a distro but as I was using it it constantly made me wish I was on NixOS instead.
>>
File: 1766712664668327.png (29 KB, 658x612)
29 KB PNG
>>109479455
GNU Unifont
>>
>>109480243
Thanks
I 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.
>>
File: symbolics.genera.png (193 KB, 650x944)
193 KB PNG
https://hachyderm.io/@gmpalter/117044268951603975
Symbolics 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
>>
>>109481401
This 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
>>109481499
Oh 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.
>>
>>109479864
I've used Guix but not Nix, what made you want to go back?
>>
>>109481401
im gonna turn an old smartphone into a lisp machine wow
>>
File: hqdefault (1).jpg (18 KB, 480x360)
18 KB JPG
>>109485462
im gonna turn my shithub into a Symbolics appealing god tier github NOW
>>
>>109485676
>hey kid
>catch
>>
>>109483426
Box3D 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
>>109487004
Actually wasn't too bad with cl-autowrap/libffi. See https://pastebin.com/Q2bpWNGS
Follows https://github.com/erincatto/box3d/blob/main/docs/hello.md
Output 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 software
if 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
>CLOS
Usecase for OOP?
>>
>>109491442
it 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.
>>
>>109489104
Not 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.
>>
>>109448054
Cute 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.
>>
>>109493062
>Anyone tried Emacs on Android?
Yes, I use it regularly. In Termux, that is.
>Is it usable
In 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
>>
>>109493835
I'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
>>
>>109493911
I 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
>>
>>109493408
Holy 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?
>>
>>109491442
Here’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.
>>
>>109481401
Not 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!
>>
>>109495563
nta 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, no
the pixel density on a quest 3 for example is 25ppd, the galaxy xr has 35ppd. both are ass
>>
File: 1670977749767.png (245 KB, 1080x1920)
245 KB PNG
>>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-Droid
with F-Droid, install Termux
in 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
>>
File: 1776054318811012.mp4 (790 KB, 676x480)
790 KB
790 KB MP4
this is true for emacs discussions too, when you think about it
>>
>>109444547
Sorry, am Noobie McNab. What am I looking at, exactly?
>>
File: gnus.png (56 KB, 682x732)
56 KB PNG
>>109500743
a 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 nowadays
https://en.wikipedia.org/wiki/X-Face
>>
>>109500788
Thanks anon!
>>
File: 1780736505794569.jpg (1.17 MB, 2539x2560)
1.17 MB JPG
>>109497377
a real ass nigga opinion
>>
CL people:
Do you guys use roswell or qlot?
https://github.com/roswell/roswell
https://github.com/fukamachi/qlot
>>
>>109503361
>Qlot (pronounced kyü-'lät, like culotte)
nigga just write it in katakana
>>
>>109500788
Gnus 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
>>
>>109503361
No
>>
File: gradius-gradius-3.gif (3.43 MB, 498x280)
3.43 MB GIF
>>109500628
>Left: You are a moron who is playing a 3D game for the first time
Anything 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.
>>
>>109504613
Because lisp machines needed low level features and scheme came too late anyway
You couldn’t run Genera reasonably without the low level features of ZetaLisp
>>
>>109504613
Because 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.
>>
File: xiii.jpg (176 KB, 807x1077)
176 KB JPG
>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 enough
What 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?
>>
>>109505791
I'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
>>
>>109505791
Probably 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
>>
>>109505791
Yes, 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
>>
>>109505845
I'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.
>>
>>109506645
unlike 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.
>>
>>109507905
what's the racket equivalent to https://github.com/azzamsa/awesome-lisp-companies
>>
>>109506664
Yeah 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 blah
Come 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
>>
>>109508156
Fair 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.
>>
>>109508083
I think racket (rosette) is used in cloudfare.
>>
what does your emacs look like when you're writing codes?
>>
>>109509615
I use Neovim to write Clojure
>>
>>109508385
>why is C the standard instead of BCPL
Because Unix was rewritten in C.
>>
File: 1604852386216.jpg (41 KB, 490x380)
41 KB JPG
>>109448054

At 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=QzhU6fklc4o

This 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)
>>
>>109515788
M-x list-abbrevs
to see what Emacs already gives you.
>>
>>109515770
same (Clojure)
I can tolerate Rust/Elixir.
>>
>>109515770
This so hard. For me, it's clojure. (inb4 not a lisp)
>>
>>109515770
I 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
>>
File: druck.jpg (28 KB, 341x410)
28 KB JPG
>>109508083
IIRC 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.
>>
>>109515788
i prefer french-prefix desu
>>
>>109515770
I'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.
>>
>>109520641
literally 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 above
2. add Parinfer or Paredit (I use Parinfer)
3. attach REPL to editor
have several hundred LOC be in between each step
>>
>>109520868
>just don't use the main selling point of the language

Getting 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
>>
File: HPB5voBW8AAEJXk.jpg (280 KB, 1200x1590)
280 KB JPG
>>109520641
This 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.
>>
>>109521504
I'm sure elisp is a fine language, but I'd be happier never touching emacs.
>>
>>109521244
that's very clever.



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.