[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / 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]


[Advertise on 4chan]


File: 1749104813929306.jpg (397 KB, 1118x1600)
397 KB
397 KB JPG
>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

(set! prev-bread (quote >>108000723))
>>
>>108084473
>[source pending]
There have been some comments but of course everything is under NDA. Though Cisco has no reason to buy Chez apart from according licencing fees, its not like they actively direct the development.
>Andy's a pretty good friend of mine, and as far as I can tell Cisco has started using Chez in-house for what I suspect is a router firmware language.

>>108083573
>SBCL outperforms Java by a mile if you need to
Lmao you wish. It certainly can't match Java with idiomatic Lisp code and what's the point in using it as C with parentheses?
>>
File: file.png (236 KB, 641x1629)
236 KB
236 KB PNG
Big Dick Contest
https://github.com/zupat/related_post_gen
>>
>>108089338
>Lmao you wish. It certainly can't match Java with idiomatic Lisp code and what's the point in using it as C with parentheses?
You don't have to go that far. Just declaring types gets you a lot of the way there. And with sb-sprof and disassemble you can super quickly deal with whatever your bottlenecks are. I'm not saying "stop using CLOS". Obviously you can just use structs and no generics but that's no fun. Good luck taking Java that far (not to mention Clojure)
>>
"Think Babashka for Coalton."
https://github.com/abacusnoir/smelter
https://smelter.app/

PS: It works for Common Lisp, too.
>>
If you're going to go to the trouble of declaring types for most things, being able to pull in Coalton just to do it with a saner syntax and be less likely to mess something up is pretty nice.
>>
>>108089389
Just declaring types won't let you match Java unless you also turn down the safety level. By C with parentheses I meant full type declarations and (safety 0), not even necessarily fully imperative code.
>>
>>108089143
Years of being a career web dev has beaten me into thinking languages need to be a certain way, but I'm constantly looking at how to see things from a different point of view. If you ask me right now I'd say the best language for {insert generic project description} is strongly typed, compiled, and pure functional, but I realize that emacs couldn't be what it is today if it wasn't a dynamic inferred language... The real thing that ties it and my current ideal together is being a functional language... Maybe that's enough.
>>
>>108089704
>strongly typed
Most lisps including Emacs Lisp is strongly typed. I assume you mean statically typed?
I would say it depends on your use case. In a shared codebase I find static typing is often an excuse for laziness: you don't have to check your arguments are properly formed because the type system has done some of the work for you; and you don't have to write proper documentation because the type system has done some of the work for you.
Hence dynamic typing is often avoided entirely in such environments because it forces good habits that you could otherwise make do without.

Maybe you could look at the problem by
>what must a language provide
>how could common language features instead be offered as extensions
>what common language features could be generalised so they are less restricting
>>
>>108089407
>emojis in readme
FUCK
>>
simcity in elisp: https://github.com/vkazanov/elcity
>>
>>108089380
Where would chicken scheme fall in this ranking
>>
File: snoopymacs2.png (55 KB, 256x256)
55 KB
55 KB PNG
Made a new splash image.
>>
>>108090200
>optimized for terminal sessions
Mistake! I was just thinking while playing tetris the other day that Emacs could probably get the original simcity look down pat.
>>
>>108090452
The color does make it look like it is shit.
>>
>>108089380
How the fuck did Julia get those number.
Fuck, I should learn it. It does look better than Python.
>>
>>108091132
It might look like Python superficially, but it feels very different due to multimethods. Julia has the method dispatch part of CLOS built in, and it's used pervasively. You might not notice until you try to design your own systems that need polymorphism. It's different from OO design. To me. It felt simultaneously simpler and more flexible. A lot of people notice Julia for its execution speed, but the feature that makes it feel distinct as a language is the little bit of CLOS-like ability in it.
>>
>>108089380
the CL code has a lot of looping. It seems that for each post he gets the top posts in the function (add-related). I don't really understand why but maybe I am dumb.
Problem description:
Read the posts JSON file.
Iterate over the posts and populate a map containing: tag -> List<int>, with the int representing the post index of each post with that tag.
Iterate over the posts and for each post:

Create a map: PostIndex -> int to track the number of shared tags
For each tag, Iterate over the posts that have that tag
For each post, increment the shared tag count in the map.

Sort the related posts by the number of shared tags.
Write the top 5 related posts for each post to a new JSON file.
>>
>>108088084
>simcity in emacs
Incredbile
>>
>>108089680
The safety settings are super overrated, maybe on other implementations but on SBCL it makes a minor difference. I've just stuck to type declarations and using e.g. simple arrays/vectors and my program is faster than back when I had it in Rust.
>>
>>108089380
CL one is easy to improve, I'll look into it
>>
>>108091970
If you have a bigraph A->B,
the projections A*transverse(B) and transverse(A) * B, will give you As that share Bs and Bs that share As.

I don't understand all the software engineer stuff in that repo, but you just need to build the array representing the graph, with A being tags and B being posts.
>>
>>108091996
like this see?
>>
>>108089824
>website is slop
>readme is slop
>claude.md
>.claude/commands
>every commit co-authored by claude
>initial commit is 2000 lines of pure, unadulterated slop
>author is a jeet
>wouldn't call it ai-generated according to his r*ddit announcement post
>>
>>108092144
I was wondering why even the hello world example wasn't working.
>>
File: image.png (125 KB, 1225x469)
125 KB
125 KB PNG
Do people actually use Abbrevs?
>>
>>108092358
i use
rev-b toggle-trunc ev-b
with some frequency
>>
>>108092390
What's that for?
>>
>>108091996
Sorry I am insane its AT * A and A*AT. Its only a single adjacency matrix.
>>
https://pastebin.com/2y1Y9cKG

Processed 5000 posts
Processing time (w/o IO): 0.22 s
>>
>>108092406
revert buffer, toggle truncate (gigantic log-files, if emacs tries to open then and truncate stuff it will blow up), eval-buffer, to eval my config.
>>
I think I'm a couple of years into Emacs now. I'm turning sour. My operating system and web browser do many of its features better (calendars, games, sending email). For text editing, Vim is clearly better than the Emacs defaults. For programming, LSPs have come very far in recent years. And Python will outdo Dired any day.

I'm going to spend the next couple of years getting serious about Vim. I suspect that I'll go to Neovim and not leave. The only thing that Emacs clearly does better than all else is that you can customise Emacs to infinity and beyond.
>>
>>108092665
ex neovim fag here. You'll find its limits soon enough.
>>
i had a short stint with helix and really liked it so i'm trying out https://github.com/anuvyklack/hel
however, for whatever reason, every time i open a buffer i have to disable and re-enable the mode before it actually starts working. i assume this can only be an issue with my setup, but i'm kind of stumped on how to start debugging this

>>108092665
i always find myself coming back to emacs after trying out other editors because nothing so far has really replicated the feeling of having everything integrated exactly how i want it
>>
>>108092705
But I bet you're on Evil mode.
>>
>>108092665
> The only thing that Emacs clearly does better than all else is that you can customise Emacs to infinity and beyond.
the help and documentation in emacs is insane.
Also for elisp shit you can literally just teletransport yourself to the code in question.. Amazing. Calendar.el has fucking book references about the author's work (he is a kike though)
>>
>>108089808
Yeah that's what I meant, I also just learned about coalton... Seems neat, not sure if it's even necessary, but I'll be checking it out along with just learning elisp etc. Elisp seems like fun desu.
>>
>https://www.gnu.org/software/emacs/manual/html_node/emacs/Diary.html
Why bother with this when we have Org Mode?
>>
>>108092908
All my journaling is in org-mode, but once upon a time, Emacs didn't have org-mode, and the diary functionality is a relic of that era.
>>
>>108091130
I changed the color to blend it better with my theme, but I suppose it wouldn't look good with a different theme.
>>
>>108092665
I think what underlies the brilliance of Emacs is the integration, due to everything being not only written in, but also configurable in, the same language.
It even leads to emergent behavior when combining things. I saw a great example (I think on youtube) of how mutli cursors combine with dired to allow mass renaming of files/directories, which is an emergent feature that wasn't a part of either individual add on.

I find that org-mode + org-agenda achieves something similar as well, and is superior to any other calendar applications.
I can just write notes about events in an org file and the org-agenda automatically creates a calendar from that data. I don't have to deal with keeping notes in 1 file and then also opening up Google calendar and recording the event there separately, and hoping the 2 remain in sync with each other.
With my org-agenda I know for a fact that it accurately reflects what's already in my notes. So it feels a lot more unified and easy to manage.
>>
File: 1770567071707.png (76 KB, 384x384)
76 KB
76 KB PNG
>>108091130
This is the original.
>>
>>108091130
I think it's a nice color.
>>
>>108093089
In this context, it looks like faded paper and it looks nice. The theme kind of reminds me of doom-earl-grey but more tan.
>>
>>108092743
(not that anon, but...)
It's wonderful that it's even an option to have such a good Vim emulation in Emacs.
>>
>>108093098
I wish we could integrate emacs into MicroSlop Teams calendar. Unfortunately it is what my job uses.

If it was possible, it'd be one of the most cursed emacs projects ever.
>>
>>108093771
That's another one of the big places where Vim wins. No matter what crappy IDE your workplace insists on, you can enable Vim bindings. But you just can't make VS Code like Emacs.
>>
>>108093859
No, I mean somehow collecting information from MicroSlop Teams and updating my calendar file every minute or so.
I don't think MicroSlop Teams has endpoints or ways to talk to it outside of MicroSlop.
>>
>>108093859
>>108092743
Seems to me you're making Emacs to be just it's bindings. I say go for it, use neovim and manage your stuff using gmail, google calendar and obsidian for notes in your chrome browser, you can even watch instagram reels while you check your mail!
>>
>>108094079
The only thing that Emacs clearly does better than all else is that you can customise Emacs to infinity and beyond. But how often do you actually need that?
>>
>>108092555
What did the original run like for you? Maybe push a pr?
>>
>>108094118
When you're fluent in Elisp, it happens often. All it takes is a little imagination to whip up a little time saving Elisp function.
>>
>>108094159
I just realized it is slightly worse than the original lel. Much simpler though.
>>
>>108092728
>i assume this can only be an issue with my setup, but i'm kind of stumped on how to start debugging this
turns out it's because i'm running emacs compiled off the latest git head. not sure which change would cause this kind of breakage, i'm assuming something in hook ordering or whatever
>>
>>108094022
Incredible:
https://www.emacswiki.org/emacs/MsOutlook#h5o-3
>>
>>108094242
never used Helix, what do you like about it?
>>
>>108092908
well as far as i know even in org-mode you have to use diary sexp entries for nontrivial scheduling
>>
>>108094272
it's based around selection -> action instead of action -> selection like in vim, which in practice ends up being more composable. emacs already had meow for this but that one never clicked with me for some reason
as for the editor itself, it's even snappier than nvim and has basically everything built in you'd use plugins for in nvim and just werks
it's also supposed to get a scheme based plugin system soon™, but you can just compile the fork that has it yourself
>>
Someone on emacs-devel brought up the vibe-coded display engine Rust rewrite
https://lists.gnu.org/archive/html/emacs-devel/2026-02/msg00114.html
>>
>>108092358
yeah, they're awesome.
(define-abbrev-table 'c-mode-abbrev-table
'(
("for" "for(int i=0; i<10; i++){}" nil :count 1)
))
>>
>>108093859
>vim wins because you can't make something else as good as emacs
I get what you're saying, but that's like saying the ugly girl down the street wins because your parents wont let you date that cute tomboy gamer girl.
>>
>>108094533
there was also a slopped up skia renderer as replacement for cairo recently that looked like it'd actually make sense to implement properly
i'm surprised that one didn't gain any attention but this one did
>>
File: 1728401779379865.png (52 KB, 250x273)
52 KB
52 KB PNG
I am Clojure gang because I am money gang
>>
>>108095156
I wish I could work using Lisp but I'm a data engineer.
>>
>>108095156
also, money gang is attractive problems gang
so much data in this world to be harvested by a parentheses scythe for transformation into theatric presentation for our human eyes and nervous systems
>>
>>108095187
anon, what the fuck are you saying
>>
>>108095196
I'm saying that this world is a big, bad bitch of thorny problems to get yourself tangled up in over the years. Clojure and the JVM will be your kukri.
>>
>>108095187
>for transformation into theatric presentation for our human eyes and nervous systems
That's what LLMs will do.
https://newsletter.semianalysis.com/p/claude-code-is-the-inflection-point
>>
>>108095187
>>108095196
He's poetically saying he could scrape data with closure and make cool graphs.
>>
>>108085927
>>108094533
if you want to see the javascript jeetery that cargo has allowed rust to become, feel free to run ~cargo tree~ in their rust directory.
despite the shameless vibeslop all over this thing, it doesn't look too bad. but i can't feel compelled to try it out since I'm already not using emacs to browse the internet or watch videos.
also
>https://github.com/eval-exec/neomacs/blob/3e0f5e86274304a3cb9366afa30f82653b04cc1c/README.md?plain=1#L45
>10x Elisp performance (planned) — Rust-optimized Lisp machine with JIT compilation and inline caching
kek, I can only imagine what other fantastical goals the llm described to this 'tard

>>108095184
reddit didn't receive well a post that proposed clojure as a serious alternative to python for data science: https://old.reddit.com/r/programming/comments/1qyhci6/python_only_has_one_real_competitor/
>>
>>108095390
>reddit didn't receive well a post that proposed clojure as a serious alternative to python for data science
kek'd
plebbit is literally written in python after all
>>
>>108095390
R mogs python in some parts of data science. Pandas pales in front of the most weak of the dataframes, and that comes from the fact that R is spiritually a scheme.
>>
>>108092665
>And [a programming language] will outdo [a file manager] any day.
???
>>
>>108096526
Yes, really.
>>
>>108096526
I thought that was weird, too.
Type mismatch.
>>
>>108094333
I really liked this about helix too, plus the context menus were really helpful when learning it. I found that I needed to tweak a few minor things about how selections worked, etc. or else it would drive me mad. Anyways I'm back to trying emacs



[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.