[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: '(zun-sneed).jpg (269 KB, 512x496)
269 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 >>109125156))
>>
File: bad-apple.gif (850 KB, 33x25)
850 KB GIF
M-x bad-apple

https://github.com/y-usuzumi/emacs-bad-apple
>>
https://www.youtube.com/watch?v=1-UIzYPn38s

Although display-buffer-alist may seem esoteric, learning how to use it can lead to huge quality-of-life improvements for Emacs users. Emacs' default window placement strategy may seem chaotic and weird, but with display-buffer-alist, it can be tamed and controlled to a degree I didn't realize until I learned how to use it. I highly recommend taking the time to understand this feature of Emacs.
(info "(elisp) Displaying Buffers")
>>
File: elisp-patch.png (1012 KB, 1000x1333)
1012 KB PNG
>>109272929
emac2hu
https://www.youtube.com/watch?v=SnzwLe12gko
>>
File: repl-position.png (279 KB, 1916x2024)
279 KB PNG
How do you prefer to position your REPL buffers?
- Wide and short below your source?
- Tall and skinny to the right of your source?
- Something else?
>>
>>109273557
heroic efforts for dirty verti
>>
>>109273557
usually side by side, but i only have the REPL window open when i'm actively using it
>>
>>109273557
repl goes on the right
>>
File: helix_(girls_frontline).png (1.92 MB, 2048x2048)
1.92 MB PNG
Helix!
https://www.youtube.com/watch?v=YDYTYktziyI
https://github.com/npupko/awesome-helix#plugins
>>
>>109275092
why the fuck did they need to use claude on an 'awesome-*' repo lmao
>>
>>109275092
Helix is great.
It's already replaced nvim as my second text editor (terminal/quick-edits).
>>
>>109275151
I was an emacs (evil mode) user long ago and switched back to vim when lsp appeared because it was way to slow on large projects. I heard that emacs now has green threads, has the situation improved?

I really miss emacs lisp, writing vimscript was always a pain. lua is fine and it's fast, but I don't like the syntax. And it's missing the comfy homoiconic parts that make emacs lisp so good in my opinion.
I was kinda hoping for emacs to support guile, but it seems the emacs-guile project is dead now.

Do you recommend me to switch to emacs again?
I tried it again one year ago, but I still had the same issues with lsp being way too slow.

I was really happy when I found out helix had a plugin system you could program in a sceheme dialect. But is it any good?
I have a coworker using helix, but he doesn't write/use plugins.
Anyone has experience with helix's sceheme dialect? It seems helix barely exposes any useful api are there extmarks-like apis for helix, does it have an equivalent to lua's libuv to control processes and make async i/o?
>>
File: 1784051875365638.jpg (23 KB, 447x447)
23 KB JPG
Clojure gang
I pity the niggas thinking in terms of classes and other shit
in the test suite I trust
>>
File: images (35).jpg (19 KB, 335x597)
19 KB JPG
Module: shout

define library shout
use dylan;
use io, import: { format-out };
end library;

define module shout
use dylan;
use format-out;
end module;

define method shout ()
format-out("DYLAN! YOU SON-OF-A-BITCH!\n");
end method;

// Run it
shout();
>>
>>109275149
It was just one commit.
https://github.com/npupko/awesome-helix/commit/5b9186b58601e7851757fa9aa5e390a77aa2e723
>>
Does anyone here use Reka? How is it?
>>
Julia is a lisp. What do you friends think about it
>>
>>109278240
>Reka
?
>>
File: reka.png (1.36 MB, 2880x1799)
1.36 MB PNG
>>109280056
An Emacs-based window manager for River
https://codeberg.org/tazjin/reka
https://codeberg.org/river/river
>>
>>109280199
looks pretty sexy
>>
>>109278648
>Julia is a lisp
How so?
>>
>>109280199
I guess it's OK if you're stuck on Wayland for some reason
>>
>>109278648
>Julia is a lisp.
I often wish this were true, but it's not really. It does have a lot of lisp-inspired features though. These include:
- A macro system
- Multimethod dispatch (similar to CLOS)
- A culture of putting docstrings on everything (similar to Emacs)
- A culture of using long-lived REPLs due to slow startup (also similar to Emacs and maybe Clojure)

It can be made to look like a lisp if you use LispSyntax.jl, but this is a bit of a toy that doesn't really expose the full power of Julia in the lispy syntax.
https://github.com/swadey/LispSyntax.jl
>>
>>109278648
Julia might not be a lisp but the parser is written in scheme, which is fun:
https://github.com/JuliaLang/julia/blob/master/src/julia-parser.scm
>>
>>109273557
I usually prefer REPL on the right, but sometimes, I put the REPL on the bottom.
>>
>>109278648
>>109283127
samefagging for a bit of a postscript.
If you want a statistics language to be a lisp in spirit, R might be a stronger contender:
>The design of R has been heavily influenced by two existing languages: Becker, Chambers & Wilks’ S and Sussman’s Scheme. Whereas the resulting language is very similar in appearance to S, the underlying implementation and semantics are derived from Scheme.
https://cran.r-project.org/doc/FAQ/R-FAQ.html#What-is-R_003f
>>
>>109283237
>https://sci-hub.st/https://www.tandfonline.com/doi/abs/10.1080/10618600.1996.10474713
>The resulting language is very
similar in appearance to S, but the underlying implementation and semantics are derived
from Scheme. In fact, we implemented the language by first writing an interpreter for a
Scheme subset and then progressively mutating it to resemble S

Good morning sar!

>https://www.stat.auckland.ac.nz/~ihaka/downloads/Interface98.pdf
>pic

Scheeming allows R to have some magical things that python, the datascience language, sucks at.

You can refer to things by symbol and it'll mostly work.
>df %>% filter(mycolumn = True)

In python you have to use specific methods that accept "mycolumn" string.
>>
>>109283294
>python, the datascience language
Yeaaah, at work work we have scientists who use R and scientists who use python.
R is definitely more suitable for scientific programming (and I really liked its lispy metaprogramming, at least to the extent I got to play around with it). But for some reason R people decided to ruin everything by building a culture around ignoring the stdlib and pulling literally everything from CRAN, creating dependency hells that are out of this world... Even those who've been bitten before still can't bring themselves to just stop worrying and ditch tidyverse/dplyr/etc...
>In python you have to use specific methods that accept "mycolumn" string.
You can actually do some nifty things with decorators and operator overloading. On the flip side I have hated every system that actually made use of that power...
>>
>>109280199
Any of these have decent stacking yet? I remember they mentioned the other Emacs wayland compositor (the one bootstrapped with Claude) over this for stacking and more features. Isn't River modular and was stacking at some point?
>>
>Spielberg, James Cameron, and their visual effects teams at companies like Industrial Light & Magic (ILM) primarily relied on non-Lisp based software,
>specifically Alias PowerAnimator, to create their iconic 90s visual effects.
>While Symbolics had a "superpower" in the form of a highly integrated,
>Lisp-centric environment that was years ahead of its time,
>it was ultimately eclipsed in the mainstream film industry by the SGI workstation ecosystem.

I used to rule the world. Seas would rise when I gave the word. Now in the morning I sleep alone: sweep the streets I used to own.
I used to roll the dice. Feel the fear in my enemies eyes. Listen as the crowd would sing "and then everybody clapped"
>>
>>109284809
we call it N World now
>>
>>109284870
>s world never made open source or leaked
>>
>>109275713
>I was really happy when I found out helix had a plugin system you could program in a scheme dialect. But is it any good?
Yep. Still very barebones, but I'm liking it.
https://www.tomwaddington.dev/steel-helix-first-steps.html
>>
>>109284870
Topkek
>>
File: frazetta.png (553 KB, 600x800)
553 KB PNG
help:help-enable-variable-value-editing
>>
>>109272864
>>Browse imageboards in Emacs Org-Mode
>https://github.com/eNotchy/4g

>>109272968
This is something I'm trying out for 4g.
(add-to-list
'display-buffer-alist
`(,(rx string-start "*eww*" string-end)
(display-buffer-reuse-window
display-buffer-in-direction)
(direction . right))
)

Suppose you're viewing a thread in 4g.
- If you click on an image link and an "*eww*" buffer exists in a currently visible window, reuse the same window to load the image.
- If a window holding an "*eww*" buffer doesn't exist, split a new window to the right and use it to display the "*eww*" buffer.



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