[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


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


>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

>Emacs Distros
https://spacemacs.org
https://doomemacs.org

>Elisp
Docs: C-h f [function] C-h v [variable] C-h k [keybinding] C-h m [mode] M-x ielm [REPL]
https://gnu.org/s/emacs/manual/eintr.html
https://gnu.org/s/emacs/manual/elisp.html
https://github.com/emacs-tw/awesome-elisp

>Common Lisp
https://lispcookbook.github.io/cl-cookbook
https://cs.cmu.edu/~dst/LispBook
https://gigamonkeys.com/book
https://lem-project.github.io
https://stumpwm.github.io
https://nyxt-browser.com
https://awesome-cl.com

>Scheme
https://scheme.org
https://try.scheme.org
https://get.scheme.org
https://books.scheme.org
https://standards.scheme.org
https://go.scheme.org/awesome
https://research.scheme.org/lambda-papers

>Clojure
https://clojure.org
https://tryclojure.org
https://clojure-doc.org
https://calva.io
https://clojure.land
https://www.clojure-toolbox.com
https://mooc.fi/courses/2014/clojure
https://clojure.org/community/resources

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

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

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

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

(set! prev-bread (quote >>106798388))
>>
File: honk.gif (137 KB, 276x183)
137 KB
137 KB GIF
>Ask not for whom the horn honks. It honks for thee. - jmc 1988
https://www-formal.stanford.edu/jmc/sayings.html
>>
jewmacs
>>
File: 19884.jpg (237 KB, 1346x935)
237 KB
237 KB JPG
「LISP」 the 日本人 language
http://jmc.stanford.edu/general/pictures.html
>>
File: 1383961508866.png (761 KB, 500x500)
761 KB
761 KB PNG
Found out about sentinels recently, so I added a sentinel to Sxiv processes.
(require 'dired-x) ; to get `dired-mark-sexp'

(defun sxiv-sentinel (process event)
"In a corresponding Dired buffer, mark the files that were marked in
Sxiv (when run with the -o option)."
(let ((buffer (process-buffer process))
(directory nil)
(marked-files nil))
(when (equal event "finished\n")
(with-current-buffer buffer
(setq marked-files (string-split (buffer-string))
directory default-directory))
(kill-buffer buffer))
(when-let* ((files marked-files)
(dired-buffers (dired-buffers-for-dir directory)))
(with-current-buffer (car dired-buffers)
;; `dired-mark-sexp' doesn't seem to work w/o dynamic scoping.
;; Also, it needs the filenames to be sans directory, so it
;; will mark files with the same name in different subdirs.
(dlet ((filenames (mapcar #'file-name-nondirectory files))
(inhibit-message t))
(dired-mark-sexp '(member name filenames)))))))

;;; then run Sxiv using a command like this
(defun open-in-sxiv ()
(interactive)
(let* ((output-buffer (format " *Sxiv in %s (%s)*" default-directory
(floor (time-to-seconds))))
(process (start-process-shell-command "sxiv"
output-buffer
"sxiv -o ./")))
(set-process-sentinel process 'sxiv-sentinel)))
>>
File: Young Chud McCarthy.jpg (111 KB, 850x1117)
111 KB
111 KB JPG
>>106878674
Billions must write Lisp.
>>
>>106878250
What am I supposed to do after learning lisp? tweaking emacs forever?
>>106878674
>November 88th, 2014
>>
>>106878838
>code with emac
>install guix
>shitpost on 4chan with nyxt
>manage windows with stumpwm/exwm
>play crash bandicoot & jak and daxter
>>
File: Jak&Daxter.jpg (1.49 MB, 3840x2160)
1.49 MB
1.49 MB JPG
>>106878935
>play crash bandicoot & jak and daxter
OpenGOAL chads keep winning
https://opengoal.dev/blog/progress-report-q3-2025
>>
>>106878250
guix live isos with full linux kernel and networkmanager: https://codeberg.org/hako/Testament/#headline-10
>>
File: desutschmark.jpg (345 KB, 1377x600)
345 KB
345 KB JPG
M-x donate

https://guix.gnu.org/en/blog/2025/fundraising-campaign-to-sustain-gnu-guix/
>>
do you use use-package?
https://eugene-andrienko.com/it/2025/10/10/emacs-ditch-use-package.html
>>
>>106881735
Never heard of it. Just (require ‘package) like eveybody else.
>>
>>106878838
You can write all code in it. Use a foreign-function for OS-level (syscalls, memory shredding) or high-performance stuff (asm, intrinsics)

The “default” should be to code everything in lisp, though, unless you gave a good reason not to.

Commznd line arguments, usage messages, dialogs and UI, glue logic, parsers and symbol emitters, etc. should all be written in lisp or scheme.
>>
>>106881735
Works on my machine.
>>
>>106881735
>brings up that it's slower to do it the "old style"
>didn't even bother to mention with-eval-after-load
this pissed me off desu
>>
>>106878935
>>shitpost on 4chan with nyxt
>Which web engine (renderer) does Nyxt use?
>Nyxt is web engine agnostic. We utilize a minimal API to interface to any web engine. This makes us flexible and resilient to changes in the web landscape. Currently, we support WebKit and WebEngine (experimental (Blink)).
Meh
>>
>>106879283
What is the difference between this and SystemCraft's?
The anime background is a major red flag.
>>
>>106883078
>WebEngine
Qt's? So it's basically emacs-on-Falkon?
>>
Oh my God... I... I get it
>>
>>106883316
good. now ditch doom emacs, and start with vanilla emacs.
>>
>>106883316
Nice, no shame on starting on doom emacs if you just want to get shit done.

Im guessing you're using the homebrew emacs install, if you ever want to go through the steps to build emacs from source on macos there's also https://github.com/jdtsmith/emacs-mac. It has a few more integrated functionalities like being able to use macos text to speech and access to the Dev tools protocol (aka -> controlling macos applications through emacs).
Not 100% required though, the brew install is perfectly serviceable, theres also this article: https://xenodium.com/awesome-emacs-on-macos

And if you want some more prettiness, this package adds some padding around edges, inspired by nano-emacs: https://github.com/protesilaos/spacious-padding
>>
File: doom.png (284 KB, 1012x635)
284 KB
284 KB PNG
>>106883316
You are doomed anon
>>
>have to deal with Babylonian old legacy shit platform running on java and xquery
>employer warns me about it when I arrived at the project, telling me to take it slow and not worry too much about debugging since they couldn't find a way of doing shit without breaking everything (ironic)
>2 weeks in I can run and validate xml/xquery locally and have built multiple tools on top of emacs built-in nxml + other ancient shit built-in
>can now do 1 weeks worth of work in 1-2 days
>spend rest of time learning LISP

Life is good bros, sometimes having 40 years of baggage can be a good thing.
>>
Can you write a custom allocator in Common Lisp?
>>
>>106878250
complete noob, where tf do I start with keybindings? I never got into vi so when I gave doom emacs a go I was really confused using space, super, meta, and ctrl for stuff. This time I'm gonna start from vanilla gnu emacs and go from there but I'd prefer something more intuitive as my control scheme even if its not the default. I agree with the principle of modeless states so I don't really want something vi-like, moreso just whatever control scheme is the best :)

WORD SALAD
>>
>>106885694
share what you did, it's nice seeing what emacs can do.
>>
File: file.png (252 KB, 442x470)
252 KB
252 KB PNG
>>106886031
no
>>
>>106883086
hako is a maintainer of both guix and nonguix
hako gives option of gui desktop or console image
hako images already come with full nonguix config examples
david rarely and sporadically updates systemcrafters' isos
>>
>>106885961
https://caiorss.github.io/Emacs-Elisp-Programming/Keybindings.html
>>
Is there an alternative to Beamer when presenting stuff on Emac?
>>
>>106885961
whatever scheme you use, you should rebind capslock to ctrl. if you're on x11 this also enables you to set right ctrl to "hyper", which is an additional modifier and can be pretty helpful to use for your personal keybindings.

also you should enable which-key-mode. when you hit a key like Ctrl+x or Ctrl+h it will give you a list of possible keys and their respective commands.

also also, look at the cheat sheet
https://www.gnu.org/software/emacs/refcards/pdf/refcard.pdf
>>
>>106887882
that i know of:
https://github.com/positron-solutions/dslide
https://github.com/positron-solutions/moc
>>
>>106885852
Sure you can. Using it for Lisp types is another matter.
>>
>>106886749
Oh really, interesting.
Although I still think Guix biggest problem is the whole Libre distro concept. Impossible to get much love on it when it can't run on most PCs without using noguix.
>>
>>106877598
Sure, but head/tail/first/rest can be trivially implemented on any list structure, whether its dynamic arrays or cons cells. The underlying structure of the list is irrelevant to the essence of lisp. It's arguably true that cons cells are the best linked lists, but it's also true that arrays are far more cache friendly since the elements are contiguous. When I'm done with my current branch I'm gonna convert my cons cells into vectors and benchmark to see if my expectations hold true.
>>
SICP question. How can tail recursion in Scheme be constant in space when the interpreter extends the environment every single time the function is called? I mean, sure it special cases the tail position and avoids pushing things onto the stack since they'll just be thrown away immediately, but function calls create new environments. It doesn't matter how you implement environments, they're still getting allocated somehow. You won't run out of stack space but you'll still exhaust your computer's memory.
>>
>>106890099
It reuses the same environment. Tail recursion is equivalent to returning from the function and then calling it again with the new arguments, so the environment is exactly the same.
>>
>>106890141
I see what you mean but the machine in chapter 5.4 doesn't really show that... It still "extends" (allocates) the environment.
>>
>>106886421
I hate lisp autists sometime.
>>
what is the codes that make you forget about being human, that make you truly emersed into the matrix.
>>
File: falkon.png (50 KB, 500x500)
50 KB
50 KB PNG
>>106883117
Falkon is nice.
A Lispy Falkon would be great.
>>
>>106889701
>but it's also true that arrays are far more cache friendly since the elements are contiguous.
Just because storage in a linked list doesn't have to be contiguous doesn't mean it CAN'T be contiguous. In fact, SBCL attempts to cons new memory as close as possible to existing allocated memory by default.

Take a look at the BSD C list.h header. Those macros are all allocation-agnostic: you can build a list from contiguously-allocated elements.

With that said, many Lisp implantations will sometimes optimize small literal lists into arrays, so it's purely a matter of language semantics.
>>
>>106885694
That's why seeing nu-Emacsers/lispers cry and complain is so funny. Yes, Lisp and Emacs are ancient boomerware full of unnecessary legacy shit. However, if you stop caring about this ultimately irrelevant matter, you'll discover something amazing: they work.
>>
>>106881735
Not anymore. It's slower and makez code no easier to understand than not using it. Including it by default in Emacs was a mistake.

>>106882707
This.
>>
>>106882039
6/10 bait.
>>
File: smalltalk.jpg (487 KB, 903x762)
487 KB
487 KB JPG
>dupes lispers into writing blogposts all day instead of code
>>
>>106893571
I agree it's main problem is that is doesn't really support extensions besides what they ship.
A browser with LISP extensions sounds fucking powerful.
>>
>>106894740
>only unemployed things
>>
>>106894740
>smalltalk
bigtalk when
>>
Arrays in CL are quite comfy.
>built-in resizeability
>displaced arrays to avoid unnecessary allocation for subarrays
Why did I listen to you fags telling me otherwise?
>>
>>106896581
Yeah, displacing array to an array with different topology is neat.
I just wish you could do something like displace an array of type (unsigned-byte 32) to one of type (unsigned-byte 8)
>>
Any code with more than 5 parens is bad style and should be named 5 parens represents an explosion in the amount fo names a function could have.
>>
>>106897088
Naming is a skill, one that many SLW lack
>>
>>106897088
>5 parens represents an explosion in the amount fo names a function could have
What did he mean by this?
>>
>>106897105
consider the function (sum x y) this has one name
now consider 2 parens (sum ( factor x ) y )
you could come up with a name for this operation and would likely find "the correct" name
by the time you hit 5 there are so many possible names for such a function that whatever you pick is correct only in context, rather you are crafting the context by the name you pick. Choosing not to name such functions leaves your program a contextless mess.
>>
>>106897268
Your example is rather contrived.
While a function composed of generic mathematical operations could indeed seem nonsensical out-of-context, most stuff written is written with a clear purpose, and a good measure of domain/application-specific calls, so picking a name is not an issue.
Also, for the heck of it I've grepped my projects for 6+ closing parens, and while admittedly not being common, I never once had any ambiguity about it's name.
>>
>>106897350
You are looking too locally. There is a much better name available that will tell you why the program exists. You likely don't know why the program exists, naming is that process of figuring that out. Don't live in ignorance.
>>
>>106897369
Maybe it is me who is retarded, but you are making little sense.
A real-life example might clarify things a bit.
>>
>>106897088
what about macros?
>(let ((var1 (calc-val1 (and bool1 bool2)))) (do-stuff var1))
for example
>>
has anybody here used shcl, https://shcl.io/ , the attempt to make shell commands usable from a lisp? Is it usable for scripts or is it too broken (and abandoned)?
>>
>>106897798
I mean, eshell already exist
>>
>>106897798
>>106897845
Eshell mogs
>>
Prot, or, Luke Smith
Who mogs?
>>
>>106898134
https://www.youtube.com/watch?v=1mr3issv79s

https://www.youtube.com/watch?v=qTncc2lI6OI
>>
>>106898123
why eshell is good? It seems just another "X"shell (cshell for example)
>>
>>106898431
https://www.masteringemacs.org/article/complete-guide-mastering-eshell

mainly the first two: write elisp instead of bash and call elisp funcs right from the shell, and can use emacs buffers for piping io redirection.
>>
>>106898431
Eshell scripts are magickal incantations that only you understand
>>
>>106898563
>>106898508
the only good thing about bash is that everyone knows a little and it runs everywhere.
This seems to be against all of that?
>>
>>106898605
>he doesn't know he can use emacs to run eshell scripts
>>
File: 1734592254136868.png (479 KB, 941x508)
479 KB
479 KB PNG
>>106898123
>>
>>106897798
>How do you pronounce "SHCL"?
>Pronounce it the same way you'd pronounce Shekel.
ffs a goy just can't catch a break anymore
>>
File: file.png (984 KB, 3440x2620)
984 KB
984 KB PNG
>>106778110
>>106778083
>>106778072
>>106778489

Alright, finally got around testing and cleaning up the code/documentation.

tl;dr: package to hide docstrings in lisp modes

Tested on common lisp, elisp, fennel, hy, scheme and clojure.

https://github.com/gggion/lisp-docstring-toggle
>>
>>106883316
doom emacs is pretty bloated, much like spacemacs. i do use the doom-themes package for the `doom-themes-visual-bell-config` function though.
>>
>>106901201
>doom-themes-visual-bell-config
what does that do?
>bloated
as long as it does lazy loading it doesn't really matter how bloated it is imo. still i would suggest beginners to start with vanilla first
>>
>>106889701
> more cache friendly
The cache line on your computer’s CPU is 64 bytes. You can fit the entire vector contents in 64 bytes (minus incidentals)?
>>
>>106897088
>Any code with more than 5 parens is bad style and should be named 5 parens represents an explosion in the amount fo names a function could have.
Stop posting nonsense, and start coding.
>>
>>106900773
nice work anon
>>
>>106902408
it changes the way the visual bell works. instead of the whole screen flashing white and raping my eyes, the modeline text flashes red
>>
>>106904023
>muh cache
Techbros' favorite meme.
>>
>>106897088
Agreed. LMAO @ the triggered nocoders.

If anything, factoring out an existing sexp into its own function is trivial.
>>
File: file.png (1.04 MB, 4246x2660)
1.04 MB
1.04 MB PNG
>>106900773
On that matter, since last time I also got an idea for another QoL feature to read lisp code. Basically a visual-only shorthands feature, so that you can apply a shorthand to a given prefix in the buffer (local only) and avoid reading huge function names.

It'll allow setting visual shorthand mappings interactively in buffer and offer a preview of the matches similarly to https://github.com/wolray/symbol-overlay. It would also be an overlay and purely visual, so it'll be compatible with most lisps.
Right now I'm debugging and I'll probably trim down a huge part of the code, I wanted to make it work with non-Lisp langs but I'll simply focus on Lisps since that's were you mostly see this 'looong--func-name-verb-adj' issue.

Looking for references I found nameless (https://github.com/Malabarba/Nameless), but I was looking for something purely visual, like I said it's a visual aid when reading code not a namespace system.
>>
>>106878250
>work in cybersecurity
>use org-mode to build my personalized knowledge base for CVEs, techniques
>search for anything in seconds, run scripts straight from my notes
>generate nicely formatted reports from scattered notes with 0 effort
It’s incredible, but how can I level up even higher as a lisp/emacs magician? Should I go turboautist and start writing my exploits in scheme? I want to be a real wizard.
>>
>>106878838
Grammarly was programmed in Scheme, and if I'm not mistaken, Crash Bandicoot was partially programmed in some other Lisp variation. I dig the Lisp community a lot, I want to refactor a personal Python project of mine with Common Lisp. Kinda getting hyped. Don't know if I'm gonna make it
>>
>>106908479
This makes me want to try it out,
I've been doing HTB and have been running into issue of note keeping/writing and report writing. I've just been using vim and recursively grep for keywords when I want to find something specific but this solution doesn't seem great.
From what you've said it sound like the perfect solution.
I've used vim forever, should I run emacs with vim keybindings or would you recommend trying something else?
>>
>>106909517
I just use doom emacs with a couple org-mode capture templates defined in my config file. Doom also uses evil mode so you should be OK with your vim experience. Once I started getting into org-mode, there was no turning back for me, and the doom defaults are very nice. Maybe later I go for a custom vanilla build from ground up, but for now this solution is perfect for me. Can recommend.
>>
>>106908479
>>106909885
>wannabe wizard
Get rid of doom emacs first. Use emacs from scratch.
>>
File: Xemacs-21.5.b29.png (92 KB, 785x744)
92 KB
92 KB PNG
>>106909970
>Use emacs from scratch
Thanks, but I'm sticking with XEmacs.
>>
>>106910055
tarded
>>
How to make unicode non-breaking space characters have special appearance so it's easy to distinguish them from normal spaces?
>>
>>106910268
http://xahlee.info/emacs/emacs/emacs_pretty_lambda.html
I guess you could do something along these lines
>>
>>106898134
Prot has created the best themes in the world.
>>
>>106909885
I went and tried DOOM emacs and thought it looked ugly as fuck, I went ahead and just installed the evil mode extension.
I'll have to spend some time with it before I really make any sort of deliberation.
>>
>>106908772
>Grammarly was programmed in Scheme
Common Lisp
>>
>>106910350
It’s very simple to change the look, I did so in a couple of lines im my config, and doom has a lot of very nice bloat included. But sure, up to you anon, vanilla is a much bigger flex anyways lol.
>>
>>106910268
they already have a special appearance by default. from faces.el:
(defface nobreak-space
'((((class color) (min-colors 88)) :inherit escape-glyph :underline t)
(((class color) (min-colors 8)) :background "magenta")
(t :inverse-video t))
"Face for displaying nobreak space."
:group 'basic-faces
:version "22.1")

maybe your theme is overriding that. you can modify the nobreak-space or escape-glyph to change it
>>
>>106909885
Like the other anon said, one way might be migrating to vanilla emacs. You can avoid the loss of work productivity by keeping a sepparate config dir for you vanilla emacs config, that way you can keep doom emacs and note which things you miss about it when using vanilla, then porting them over.

you can use another config with:
emacs --init-directory "<DIR>"


DIR being where you store your vanilla configuration.
>>
>>106910055
Post your setup.
>>
Zoomer guixers... we won.
https://packages.guix.gnu.org/packages/font-tiktok-sans/4.000/
>>
>>106911222
gnubros, isn't this promoting a nonfree service? freedom has fallen
>>
>>106878674
sick bolo tie
>>
File: capture.png (7 KB, 490x255)
7 KB
7 KB PNG
>>106910614
It's fine, I was just being retarded. It turned out that copy-paste changed nbsps into regular spaces.
Now I've made a crappy mode for .po files with coloring. I just don't succeed to make it colorize special comments (starting with "#," or "#:").
>>
File: capture.png (11 KB, 616x353)
11 KB
11 KB PNG
>>106911520
Update, now it's working.
I needed to override the function which converts syntactic elements to faces.
>>
Why do people think Lisp is 'easy to implement'? Just because it's easy to parse, that does not mean it's easy to make!!!
>>
>>106911860
Cause it is. Lisp is one of the very few languages people create compilers for recreationally and whose introductory course for students was to create their own interpreter, which is entirely contained in only TWO functions(eval/apply)
>>
>>106911914
Well, I'm thinking of quickly assembling together a Scheme-like Lisp, because I am hired to work as a systems programmer and compiler engineer (and I'm pic relating an onyx so I would not get 'the evil eye' from jealous webdevs).

The only 'language' I have in my resume is this -> https://github.com/Chubek/ZephyrASDL. All my other compilers and interpreters are half-finished.

Nils M. Holm's books are a godsent. I'm going to feed them to Sonnet 4.5 and have it write a book on implementing Lisp.
>>
>>106912062
Lookup metacircular evaluators, there's loads of simple blogpost tutorials to make your own lisp in 15 minutes.
>>
>>106911860
> Just because it's easy to parse
When it comes to implementing a language, and you divide that undertaking up into 5 steps.
Then, assuming you use a compiler backend of some kind, 3 out those 5 steps is basically parsing.
>>
>>106912107
Nils gave me this:
https://t3x.org/s9fes/draw-tree.scm.html
>>
>>106912163
I'm implementing my own IL. Typed, SSA. I can buy an *.ir domain for it.

It would be great if i knew from where I can buy a Saint Helen domain, for my shell.
>>
>>106912168
Apologies, this is not the link Nils gave me. It was a link to his meta-circular interpreters. One in CL, one in Scheme.
>>
>>106911280
it's gnover
>>
>>106908400
>>106900773
kind of surprised this doesnt exist yet. godspeed anon
>>
File: marivector-original.png (197 KB, 550x550)
197 KB
197 KB PNG
So apparently one of my favorite light themes I used to have to manually install five years ago, Leuven, is now shipped as part of Emacs 30. It's nice for Emacsing outside.
>>
>>106915237
>outside
what
>>
>>106915237
pretty sure it shipped with emacs 29 or earlier. the 29.1 NEWS file mentions leuven-dark
>>
>>106915237
According to Leuven's github page, the theme has been pre-installed since Emacs 24.4 (October 2014)
>>
File: mid_SAM_1109.jpg (147 KB, 900x675)
147 KB
147 KB JPG
>>106916160
Something like this, I suppose.
>>
>>106915237
speaking of themes, everyone post your favorite emacs theme
I want a new one
>>
>>106917249
doric-marble is pure sex
>>
>>106908400
reminds me of RDF's abbreviation for URIs.
>>106908479
how to use org-roam? I just have a bunch of nodes but I don't know how to use them aside from searching by name. Puts me off from using it more.
>>
File: 1736400233786657.png (71 KB, 656x596)
71 KB
71 KB PNG
>>106917249
The humble zenburn.
>>
File: file.png (57 KB, 1832x310)
57 KB
57 KB PNG
>>106917514
org-roam? you can do whatever really, depens if you really want to use the atomic notes things or zettels. In my case I simply:

> org-roam-dailies-today to write whatever I'm doing for the day
> At the end of day separate what I did into different entries and link to them in the daily file.
I dont use the map or all that shit. For the entries I use tags or espparate them into my own categories using brackets like:
> [CATEGORY][SUBCATEGORY] title

Having ids on your org headers is also useful to see them when searching the nodes, the header will appear in the search like in the image.
>>
> hacks into your cybernetic implants
> make u poop uncontrollably in team meeting
>>
>>106917249
I just the modus ones that come with Emacs.
>>
> rolls up to team meeting scrum style
> pulls out bucket of 20 piece fried chicken
> constantly interupts scrum master about what a leet coder he is
> smacks lips eating chickens
> conjects every assignment and point the team mates have assigned because his leet coder minority brain can do it 100x better than the senior engineers
> gets killed by policeman for being minority
>>
>>106889701
>>106890201
>SICP question. How can tail recursion in Scheme be constant in space when the interpreter extends the environment every single time the function is called? I mean, sure it special cases the tail position and avoids pushing things onto the stack since they'll just be thrown away immediately, but function calls create new environments.
>I see what you mean but the machine in chapter 5.4 doesn't really show that... It still "extends" (allocates) the environment.
In ev-sequence the (save env) instruction is skipped when last-exp? is true, so when eval-dispatch again reaches compound-apply in the case of a tail call the env register will still be pointing to the same cons cell as before. extend-environment allocates each time like you wrote, but the same cons cells will be overwritten (sans any intervening allocations), like the text says this is only place where the env register is assigned a new value

If you imagine gc interrupting a call to a procedure in tail position with a smaller extended environment, the shorter env alist made the entries in the longer alist unreachable to gc when () was placed in the last cdr. If the extended environments are the same length, () will be placed in the same cdr as before, so despite extend-environment making new allocations it's constant in space
>>
>>106919295
Is it written in guile scheme tho
>>
>>106878250
i kinda know how to move around emacs, how do I learn to configure it?
>>
>>106919809
It is actually written in special sauce lisp dialect. It is a one-off domain specific lisp specifically designed for one niche problem that no one has ever heard of. As well, it needs at least 2 years of studying to grasp the grammar and macro memes that were built into the language because the author suffered from severe schizophrenic hallucinations that told him how to write and use the macros.
>>
>>106918841
Way too fucking low contrast. I'm grateful for Prot for finally making high contrast themes popular.

Remember Solarized? LMAO shit's unreadable, especially the light version.
>>
>>106915237
The actual new theme is leuven-dark.

As >>106917001 says, the light version has been included by default for years already.
>>
>>106920503
wow it is triple A certified compliant.
>>
File: ef-elea-dark.png (150 KB, 1920x1080)
150 KB
150 KB PNG
>>106917249
prot's ef-themes
https://protesilaos.com/emacs/ef-themes
>>
>>106917249
standard-light and standard-dark mog every other theme desu. standard-dark-tinted is nice too
>>
>>106919828
Like in general? You consult the various documentation methods (the info manuals, describe-function and describe-variable, apropos, etc.) and write in your init.el
>>
File: screenshot.jpg (386 KB, 1196x1112)
386 KB
386 KB JPG
>>106920503
Sort of agree which is why I'm actually using the high contrast variant.
>>
have u guys actually read SICP?
The intro is very intriguing... MIT's prodigal course, a pillar of science and creativity. Tried and tested.
>>
>>106878250
Lilyko my beloved
>>
Is it a good idea to set calc's floating point format to "fix -n"?
Example:
(calc-eval '("0.005" calc-float-format (fix -2)))
"0.01"


It's not documented but it seems to work. The code in calc.el explicitly checks for and handles negative values as far as I can see.
>>
>>106923714
With a positive number it returns this:
(calc-eval '("0.006" calc-float-format (fix 2)))
"6e-3"

And the same with other modes, no matter if positive or negative.
>>
>>106878727
i wonder if there's a way to embed nsxiv into emacs. the built-in image viewer just isn't good.
>>
I WILL NEVER BE AN EMACS WIZARD OR LISP HACKER
>>
File: GNO.png (228 KB, 285x313)
228 KB
228 KB PNG
>>106925777
I am no longer asking. Install GNU Emacs & Read SICP.
>>
>>106926154
IM TOO STUPID!!!!
>>
>>106899946
I wouldn't be too jealous or worried anon, the author is an unironic suicidal troon whose religion you can probably infer from that comment.
>>
finally got Clojure set up with Neovim
Parinfer, Conjure REPL, etc.
>>
>>106917249
prot's themes, especially the colorblind ones. i'm not even colorblind and i think they're easier to read.
>>
>>106926904
Based and REPLpilled
https://practical.li/neovim/introduction/repl-workflow/
>>
>>106922253
It's not a difficult book to read. It was meant to be an introduction to programming after all.
>>
>>106878935
Sounds pretty good to me.
>>
How do I save some of my eshell commandlines? Eshell scripts? How do I call them from eshell?
>>
>>106917249
doom-outrun-electric
doom-manegarm
>>
>>106927257
The manual is pretty clear about it
(info "(eshell) Scripts")
>>
>>106927394
>dired-open-extensions
What is this? I can't find that variable in my emacs 30.1



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