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


File: RoseSICP.png (993 KB, 1000x1244)
993 KB
993 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.amodernist.com
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 >>106191893))
>>
File: N.png (372 KB, 640x853)
372 KB
372 KB PNG
>>106281955
>https://github.com/HeeJay1/Lovecraftian_Lisp
Beautiful
>>
>>106288815
Do any Rosebuds know if Rosemi will return to Miki or if she'll reincarnate, or if she's retiring like Mumei?
>>
I came across an Emacs using zoomer doing a laptop review on a super small laptop I've never seen before.
https://www.youtube.com/watch?v=7JQblQGiIoQ
>>
>>106288936
https://liliputing.com/one-mix-3-pro-is-the-first-mini-laptop-with-a-10th-gen-intel-comet-lake-processor/
>>
File: sunrise-japan.png (56 KB, 900x600)
56 KB
56 KB PNG
>>106286105
I'm having a little more fun with this. This isn't quite right, because the official naval flag doesn't do perfect 11.25 degree intervals. Instead, they opted to tweak some of the angles so that the rays on the corner line up cleaner, but I have no idea what angle adjustments they made.
(define (japan-naval [width 300]
#:fg [fg (make-color 188 0 45)]
#:bg [bg "white"])
(let* ([height (/ width 3/2)]
[offset (/ height 4)]
;;[radius (/ width (* 2 (/ 10 3)))]
[radius (/ width 6)]
[uncropped (overlay/offset
(overlay
(circle radius "solid" fg)
(polygon
(map (lambda (xy) (apply make-posn xy))
(rays 16 width)) "solid" fg))
;; move rectangle $offset pixels to the right
offset 0
(rectangle width height "solid" bg))]
[x (- (/ (image-width uncropped) 2) (* offset 2))]
[y (- (/ (image-height uncropped) 2) (/ height 2))]
[cropped (crop x y width height uncropped)])
cropped))

I tried some alternate colors out, too.
(define j (japan-naval 900 #:fg (make-color 252 158 79) #:bg (make-color 2 1 34)))


Reference:
https://www.crwflags.com/fotw/flags/jp%5E.html
https://ja.wikipedia.org/wiki/%E6%97%AD%E6%97%A5%E6%97%97#/media/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Naval_Ensign_of_Japan.svg
>>
What re good books on elisp? the book that comes with emacs is not very good. it seems focused on teaching basic lisp programming and not a lot of the emacs stuff.
>>
File: emacs-lisp-elements.png (230 KB, 1234x1913)
230 KB
230 KB PNG
>>106289617
Read the org version of Emacs Lisp Elements by prot. I recommend reading the org version, because you get syntax highlighting for the code examples, and you can execute them too with C-c C-c.
https://github.com/protesilaos/emacs-lisp-elements
>>
>>106289617
>not a lot of the emacs stuff.
I don't know if anyone has written a good book on like practical application development in Emacs.
>>
Can i make money with this
>>
>>106289416
This is a fun way to do a little graphics programming.
https://docs.racket-lang.org/teachpack/2htdpimage.html
>>
reposting >>106289474, I found that there was a presentation video in the article about macros I was reading
>>
File: prot.png (346 KB, 1000x996)
346 KB
346 KB PNG
>>106289698
>prot
M-x prot-mode
>>
>>106288815
rosemi's pussy is very very hairy
>>
>>106287525
> something that'll work with Guile using regular fold
I’ll be honest, this looks waay cleaner without all the racket specials
>>
>>106288902
There's no way she's retiring. She'll either return to a redesigned Miki or go with a new identity entirely.
>>
>>106288902
good question, but pay attention to the upcoming Glitch Stars gen
>>
>>106288936
>>106288954
I would have loved that in the 80s.
I used to make these cheat sheets on the laserwriter in 6pt font.

Now, of course, I use a huge 720p flatscreen TV. Sigh. Times will change.
>>
I've patched Babashka to run on Termux. Could one of you try if this runs on your phone as well?
https://0x0.st/KrCj.7z
>>
Im around midway through chapter 3 of SICP and its been quite the uphill battle.
Is most of the value in this book from the first three chapters or would you recommend finishing the whole thing ?

Trying to follow the teachyourselfcs recommended resource list and eventually get a job
>>
>>106294718
If you're trying to get a job, skip SICP and learn something actually useful. Nobody will pay you to write lisp of any dialect, except maybe possibly clojure if you're brazilian. And nobody cares
>>
>>106295122
true sar vibe coding with java or python is the only true path to redeem a h1b visa job
learning computer science doesn’t matter anymore just become weapon of python 'n java with vibe coding saars
>>
>>106288815
da wose
>>
>>106288352
>racket-xp-mode
Why are the racket-mode authors hiding such a nice piece of functionality?
>>
>>106295122
>>106295242
No I realize I need to enter the js/python/go mines eventually.

Im just hoping that Im good enough at that point and picking up those languages and building projects wont be too hard.

Current thought process for working through SICP is just to try and differentiate myself from the masses since I dont have and CS degress and Im in my late 20s
>>
https://www.gnu.org/software/emacs/manual/html_node/elisp/Parsing-Expression-Grammars.html
^-- Is this new or has Elisp come with a PEG parser for a while?
>>
>>106296210
iff you're serious about wanting to get good enough for a job, then learn programming sure, Lisp will be cool. but also learn fucking SQL databases. this is of vital importance. being able to write complicated queries with many joins will
(1) allow you to develop more useful software and
(2) differentiate you from retards that barely understand what their ORM is doing
>>
>>106296298
Answering my own question:
;;; peg.el --- Parsing Expression Grammars in Emacs Lisp  -*- lexical-binding:t -*-

;; Copyright (C) 2008-2025 Free Software Foundation, Inc.
;;
;; Author: Helmut Eller <eller.helmut@gmail.com>
;; Maintainer: Stefan Monnier <monnier@iro.umontreal.ca>
;; Version: 1.0.1
>>
>>106293508
Back when I first wrote this, I didn't know where to find fold in Racket. I'm not a Scheme guy, so I didn't know I had to pull in a SRFI. However, I did find for/fold and decided that was close enough.
https://docs.racket-lang.org/reference/for.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._for%2Ffold%29%29
>>
>>106296210
> no cs degree
Some of the best people I worked with never completed their degree.
CS proper is not about coding. It’s a sub-discipline of mathematics.
When I went, about half the time you could do an assignment in almost any language you wanted.
One course I took, we had to use GPSS but the entirety of the course’s knowledge that we learned was “shortest job first minimizes global wait times”
I just saved someone 4 months of college.
>>
File: org-social-timeline.2.png (151 KB, 1194x1976)
151 KB
151 KB PNG
It's getting slightly more active.
Share your thoughts with other Emacs appreciators.
https://github.com/tanrax/org-social
https://github.com/tanrax/org-social.el
>>
>>106289942
If you can read Spanish, this covers widget.el.
https://programadorwebvalencia.com/cursos/ui-emacs-lisp/introducci%C3%B3n/
>>
>>106297226
IRC with extra steps?
>>
>>106297226
is it read-only? what prevents me from editing others' files?
>>
>>106300145
Typically, the top of your social.org file contains a list of everyone you follow that looks like this.
#+FOLLOW: https://andros.dev/static/social.org
#+FOLLOW: https://rossabaker.com/social.org
#+FOLLOW: https://omidmash.de/social.org
#+FOLLOW: https://johnhame.link/social.org
#+FOLLOW: https://eoin.site/social.org
#+FOLLOW: https://adsan.dev/social.org
#+FOLLOW: https://emillo.net/social.org

That's where other people's posts are. Your own posts are in your own social.org file.
>>
>>106299331
It's more like this thread with extra steps, because your posting longer content than a chat message with other Emacs users.
>>
>>106300365
what does that #+FOLLOW do? Do they insert the remote org files to my local orgmode buffer?
>>
>>106300620
It's used by org-social-timeline to know where to fetch other people's posts from when it generates a new timeline view.
>>
>>106300628
Is there a video reviewing the thing? It is quite difficult to visualize its concepts. And I cannot be arsed to install and try it right now.
>>
>>106300639
I'm not aware of any video. There's not that much to it, though.
- Posts are stored in social.org files that are served over HTTP.
- To participate in the network (even as a reader) you need to make your own social.org file.
- When you run `M-x org-social-timeline`, everyone you follow will.
1. have their posts fetched.
2. have their posts (and your own posts) be sorted by date and time
3. be displayed in an *Org Social Timeline* buffer which is in org-mode but not assosciated with any file.

That's all it does.
>>
>>106297226
still waiting for org-4chan
>>
>>106289416
When did Racket turn gay?
https://x.com/racketlang
>>
File: file.png (35 KB, 256x228)
35 KB
35 KB PNG
After many months of inactivity, Shibuya.lisp is having another meetup on 8/28.
https://lisp.connpass.com/event/365507/
We've interacted with the speaker before.
>>106158255
>>
Tried learning macros in racket and found it difficult. A redditor phrased it as "there's no reflective access to the runtime environment in racket." This was counter to my intuition that I should be able to build the equivalent of a macro without even using "syntax" forms, just by dynamically constructing the datum I want and then eval'ing it against the current env as if that datum had been hardcoded as a form/procedure application.
Now I have to learn "phases" and "syntax objects" and all these complications.
>>
File: 81ZugrP5S3L._SL1500_.jpg (119 KB, 1229x1500)
119 KB
119 KB JPG
>>106296210
Look, man, what people pay you for is to solve their problems, not to know arcane esoteric stuff. Read picrel instead, then a book on operating systems, then leverage whatever other domain expertise you have.
>>
>>106300881
Get in line buddy
>>
>>106303142
> macros have no access to the runtime
That’s pretty typical, historically.
Look at some traditional macro processors like m4 and cpp. I used to use m4 on an assembler I wrote instead of building in a macro facility. I’ve also used the CPP as a pure macro facility on other things that aren’t C. But usually C-like things :-)
In the olden days, these were separate processes / passes because you couldn’t fit (or didn’t want to fit) the compiler and the macro preprocessor in memory at the same time.
Also, it’s often convenient/instructive to just examine/save/cache the pure “generated” output, especially for interpreters.
>>
>>106288815
Evalsemi Lambdalock
>>106288902
Many things are possible (she has friends in almost as many places as Mint does) but retiring is very unlikely.
>>106289416
Instead of trying to figure out the angles, measure the coordinates and use trigonometry to aim towards them.
>>
File: japan-naval.diff.gif (37 KB, 900x600)
37 KB
37 KB GIF
>>106307320
>Instead of trying to figure out the angles, measure the coordinates and use trigonometry to aim towards them.
I'm going to have to reteach myself some minimal trig for that. It's been a while. I did work on it a bit more, and noticed my offset for the circle wasn't quite right so I fixed that, and that alone made things much closer as the attached gif will show.
- Red is the official naval flag, and
- Blue is my flag with perfectly even intervals for the rays.
- The angular differences are very small.

(define (japan-naval #:width [width 300]
#:fg [fg (make-color 188 0 45)]
#:bg [bg "white"])
(let* ([height (/ width 3/2)]
[radius (/ width 6)]
[offset (- radius (/ radius 3))]
[uncropped (overlay/offset
(overlay
(circle radius "solid" fg)
(polygon
(map (lambda (xy) (apply make-posn xy))
(rays 16 width)) "solid" fg))
;; move rectangle $offset pixels to the right
offset 0
(rectangle width height "solid" bg))]
[x (- (/ (image-width uncropped) 2) (/ width 2) (- offset))]
[y (- (/ (image-height uncropped) 2) (/ height 2))]
[cropped (crop x y width height uncropped)])
cropped))
>>
Anyone here combined Lua with a lisp dialect? There is a project I'm really interested in writing something on top of but it's C+Lua. It expects you to do all the scripting through Lua. I don't really mind Lua but what I want to build on top of it will be in a lisp dialect and I'd prefer being able to script everything in lisp instead of requiring the user to know Lua on top of it.

When it's done I want the kernel and this small little core for the display server to be pure C. Then everything else on top of it in lisp so it can be modified at run time. I can't rip out the Lua and replace it because the author of the project chose it long ago and I know he'll never change his mind. I'd try to convince him otherwise but honestly he's a higher level wizard than I am.
>>
>>106309175
The most mature lisp that compiles to lua is Fennel.
https://fennel-lang.org/
https://dev.fennel-lang.org/
>>
>fennel
>hy
>LFE
>clojure
Is it just me or is lisp becoming an increasingly important and present paradigm in software, almost mainstream at this point? (as opposed to the niche family of languages few would bother with)
>>
>>106309191
I'll check it out thanks. If you're interested I'm building a DE on top of Arcan.

https://arcan-fe.com/about/

Well it's more than a DE really. Arcan and the surrounding applications do a lot of stuff that's not possible in X11/Wayland. Like being able to have a real time clock in the terminal.

It's a really interesting project that I've been following the development of for over a decade now and it's finally stable enough to use for daily use. But I'm not a huge fan of the reference WM/DE. I want to build one similar to StumpWM+Openbox on top of it in lisp. I really fell in love with StumpWM because everything could be modified in real time. Attempting to do something similar for users familiar with more Windows/MacOS type of DE.

There are a lot of interesting projects not getting much attention these days due to the rampant shilling and lies on most major tech news outlets. I really like s6 and GNU Shepard as well but you hardly hear anything about them and almost no one packages them. I dislike s6's scripting language but it isn't a big deal because you can use whatever you want with it. I'd really love to see a distro using s6 that allows you to build services and control the built-in stuff through lisp like Shepard does. s6 has a really neat dbus replacement.
>>
File: Ju-88.jpg (1.11 MB, 1117x1146)
1.11 MB
1.11 MB JPG
>>106309175
Yep, fennel. Also, for Guile there's gLua.
https://gitlab.com/NalaGinrut/guile-lua-rebirth
>>
>>106309782
> Glua
That's one way to take advantage of the only good thing to come out of lua: the luajit machine.
>>
>>106309833
LuaJIT is nice, indeed.
Well, Guile has top-notch integration with Guix/Shepherd and other GNU projects. To each his own, I suppose.
>>
>Emacs takes a minute to indent 180 lines of C code
I wanna kms
>>
>>106288936
This guy is the funniest zoomer retard on youtube. Constantly obsessed with being "productive". Uses five trillion different tools and editors, has a notebook and mobile phone for every usecase to be maximally productive.
>>
>>106309258
>I really like s6 and GNU Shepard as well but you hardly hear anything about them and almost no one packages them. I dislike s6's scripting language but it isn't a big deal because you can use whatever you want with it. I'd really love to see a distro using s6 that allows you to build services and control the built-in stuff through lisp like Shepard does. s6 has a really neat dbus replacement.
I didn't know about shepherd, but I did know about s6. For a very long time, I used its cousin runit for user-level services. (I still do, actually.) However, I finally relented and learned how to make user-level services with SystemD, and ...it wasn't that bad.
https://www.gnu.org/software/shepherd/
https://skarnet.org/software/s6/overview.html
I love a good init system. It sure beats writing SysV-styled init scripts like the old days.

PS: Another way I handle starting programs on boot (especially on systems where I don't have root access) is to use crontab's @reboot directive. If you don't need process supervision, it can do an adequate job of starting a process on boot.
>>
>>106310059
That's not normal. I checked indentation speed with a 300+ line .c file, and it took way under a second to reindent.

C-x h (mark-whole-buffer)
C-M-\ (indent-region)
>>
>>106309258
>I'll check it out thanks. If you're interested I'm building a DE on top of Arcan.
>https://arcan-fe.com/about/
I took a look at Arcan about 3 years ago. Even back then, NixOS had packages for it, so I think I installed it that way and checked it out.
https://search.nixos.org/packages?channel=25.05&show=arcan&
I liked the idea, but my vague recollection of my experience was that it was quite rough around the edges.
>>
File: file.png (97 KB, 652x739)
97 KB
97 KB PNG
>>106308052
Complete example you can paste into DrRacket:
#lang racket
(require 2htdp/image)
(require lang/posn)

;; Convert degrees to radians
(define (radians degree)
(* degree (/ pi 180)))

;; https://www.mathsisfun.com/polar-cartesian-coordinates.html
(define (coord length degree)
(list (* length (cos (radians degree)))
(* length (sin (radians degree)))))

;; algorithmically generate
(define (rays [count 4] [length 100])
(let* ([width (/ 360 (* 2 count))]
[initial (- 0 (/ width 2))])
(for/fold ([posns '()])
([i (range count)])
(append posns (list (list 0 0)
(coord length (- (* (* 2 i) width) (/ width 2)))
(coord length (+ (* (* 2 i) width) (/ width 2))))))))

(define (japan-naval #:width [width 300]
#:fg [fg (make-color 188 0 45)]
#:bg [bg "white"])
(let* ([height (/ width 3/2)]
[radius (/ width 6)]
[offset (- radius (/ radius 3))]
[uncropped (overlay/offset
(overlay
(circle radius "solid" fg)
(polygon
(map (lambda (xy) (apply make-posn xy))
(rays 16 width)) "solid" fg))
;; move rectangle $offset pixels to the right
offset 0
(rectangle width height "solid" bg))]
[x (- (/ (image-width uncropped) 2) (/ width 2) (- offset))]
[y (- (/ (image-height uncropped) 2) (/ height 2))]
[cropped (crop x y width height uncropped)])
cropped))

https://racket-lang.org/
>>
I've never tried emacs before. Can someone explain the interplay between emacs and lisp? I enjoy writing lisp
>>
>>106311614
Most of the built-in functionality and any emacs add-on is written in emacs lisp.
Emacs also has add-ons for more-or-less every extant lisp.
>>
>>106311614
Imagine you're writing lisp, and your codebase has the function (show-editor foo.txt) which opens up an editor with foo.txt loaded.
Now, as you edit foo.txt you run commands like (mark-text 0 end-of-foo), or (move-pointer :one-line-down).

That's Emacs
>>
File: emacs.png (78 KB, 860x889)
78 KB
78 KB PNG
>>106311614
Emacs includes many conveniences for manipulating and evaluating s-expressions. If you're a lisp programmer, you owe it to yourself to give Emacs a sincere try.

After starting emacs, try this:
C-x 3 :: setup vertical split
C-x o :: switch windows
M-x ielm :: start elisp repl
C-x 2 :: setup horizontal split
C-x o :: switch window
C-x b *Messages* :: switch to *Messages* buffer

For extra credit, you can `M-x scroll-bar-mode` to toggle the scroll bars off. I'm not a fan.

Then, over in the *scratch* buffer, type in some code.
(message "Hello, %s!" "world")

(defun hello (s)
"Say hello to S."
(message "Hello, %s!" s))


You can run this code in a variety of ways.
- The first way most people learn is to put their cursor at the end of an expression and hit `C-x C-e`.
- Another way is to put your cursor inside an expression and hit `C-M-x`.

Play around with it.
>>
>>106311799
>After starting emacs, try this:
>C-x 3 :: setup vertical split
>C-x o :: switch windows
>M-x ielm :: start elisp repl
>C-x 2 :: setup horizontal split
>C-x o :: switch window
>C-x b *Messages* :: switch to *Messages* buffer

If you thought, "What a fucking pain in the ass," that's normal. What's great about Emacs is that all that annoying key pressing can be collected into a single interactive function.
- First, to figure out what function is being called, you're going to use `C-h k`.
- For example, `C-h k C-x 3` will tell you that `C-x 3` is bound to the split-window-right function.
- You can do that for any key combo you don't know.
(defun elisp-scratch ()
"Setup frame for recreational Elisp development."
(interactive)
(scratch-buffer)
(delete-other-windows)
(split-window-right)
(other-window 1)
(ielm)
(split-window-below)
(other-window 1)
(switch-to-buffer "*Messages*")
(other-window 1))

Now, any time you want to setup your windows for recreational Elisp development, you can say:
M-x elisp-scratch

If that's still too much typing, you can bind it to a key.
;; Now you just have to press F9 to summon this layout.
(keymap-global-set "<f9>" #'elisp-scratch)
>>
>>106309254
Out of those, only Clojure is making a significant difference in the software development landscape. Also, Fennel and Hy are heavily Clojure-inspired. They're also really niche.
>>
>>106309258

I think there's quite a few hacking on Arcan stuff in silence by now. What I did find was setting Durden default to stacking, enable the control socket then parse output from the monitor command and turn that into /target/window/move_resize/set_x=100 and so on to write my WM that way. Then it becomes like all the X11 ConfigureWindow stuff but more capable and higher level.
>>
>>106310798
At least he's enjoying himself.
>>
>>106309254
>LFE
.....needs a champion to do something cool with it.
>>
File: maruzensky.jpg (429 KB, 2588x1688)
429 KB
429 KB JPG
>>106276502
>https://github.com/attila-lendvai/maru
Maruvelous! ( ̄▽ ̄)b
>>
File: Gydmv2GbcAAdlaM.jpg (79 KB, 1290x821)
79 KB
79 KB JPG
wiki faggotry
https://x.com/stylewarning/status/1956645539036196886
>>
>>106311799
>>106311928
Thanks bro you're a saint
>>
>>106311614
>I enjoy writing lisp
Something that can increase your enjoyment even more is paredit. It comes with Emacs, and lets you edit lisp code structurally.
>>
File: 1957729456019189942.jpg (77 KB, 1024x768)
77 KB
77 KB JPG
>>106288936
i wonder what percentage of emac users are gen Z

>>106315766
>It comes with Emacs
it doesn't, at least not on 30.1
>>
>>106315897
>it doesn't, at least not on 30.1
You're right. I didn't see it in my init.el, so that led me to think it was built-in. However, I probably manually `M-x package-install`d it and forgot I did that.
http://paredit.org/
Either way... it's pretty sweet. It does take a little practice to use though.
>>
fsbot turns on its masters.
>>106316424
>>
File: Zmacs.png (17 KB, 1024x864)
17 KB
17 KB PNG
>>106315897
>Z
Zmacs
https://bitsavers.computerhistory.org/pdf/ti/explorer/2243192-0001A_Zmacs_Jun87.pdf
>>
File: zun.png (3.58 MB, 2529x1415)
3.58 MB
3.58 MB PNG
daily reminder that zun is an emac user
>>
File: '(zun-sneed).jpg (269 KB, 512x496)
269 KB
269 KB JPG
>>106318447
>zutto zutto emacsu
https://youtu.be/RPeFQwBFURk?t=1623
>>
>>106310059
werks on my ᵋmachine
>>
File: ガイル.jpg (364 KB, 576x770)
364 KB
364 KB JPG
https://github.com/ebeem/guile-swayer
>>
>>106321782
One of these days I will go full Lisp autistic and install Guix and a lispy WM.
>>
>>106321782
I should give this a try, because I use i3 and sway, but I don't have the energy right now.
>>
>>106315984
The most important paredit skill that no one talks about is how to recover when your parentheses become unbalanced.
- It shouldn't happen, but when it does, paredit becomes unusable until you get the parentheses rebalanced.
- The first thing to try is undo.
- If that gets you to a balanced state, consider yourself lucky and move on.
- If that didn't work, the next easiest thing to do is to temporarily turn off paredit, manually reblance the parentheses by inserting the missing paren where ever it happens to be, and then re-enabling paredit.
>>
>>106311928
A nice addition to this is winner-mode. Suppose you switch to this layout but then later change your mind and want your windows to go back to how they were.
C-c <left>
It's also nice for when Emacs does something crazy to your window layout, and you want to go back to what you had.
C-c <left>
>>
>>106277698
>I look at something like Racket and I wonder if you can just use it as a plain scheme?
The main reason I use Racket is to have access to its large standard library.
>>
File: org.parsers.png (225 KB, 1111x1280)
225 KB
225 KB PNG
https://orgmode.org/tools.html
...where is Scheme?
>>
File: cl-coalton.png (238 KB, 720x1692)
238 KB
238 KB PNG
>>106314229
Using Common Lisp Libraries from Coalton
https://coalton-lang.github.io/20250812-lisp-libraries/

>One of Coalton’s headline features is that it’s embedded in Common Lisp, and allows the use of Common Lisp code via the lisp operator. However, it’s not immediately obvious how one can use Common Lisp when Coalton is strongly typed. How do we do it?
>Here we describe an approach to using a Common Lisp library from Coalton step-by-step. This post is an introduction to the matter with a first non-trivial example, and serves as a jumping-off point for more advanced Coalton–Common Lisp interactions.
>>
File: 1737575661299217.png (39 KB, 1161x1161)
39 KB
39 KB PNG
Cool white Guix logo you can use to replace the start icon.
>>
File: 1743063756055043.png (54 KB, 1161x1161)
54 KB
54 KB PNG
>>106328169
Cool black ish version
>>
File: 1428454242143.jpg (242 KB, 1118x1600)
242 KB
242 KB JPG
scheme
>>
>>106326081
What virtually *every* language should do is:
1. Implement scheme R7 in their language.
2. Drop their language for the most part.
3. Write everything in scheme, except "calling out" to to inline code when necessary or convenient. The scheme implementation in (1) emits the native language it was written in which is then compiled, bytecoded, optimized, JITted, etc as the native language is capable of.

Another reason to accept embedded code so easily is for things that weren't re-written in scheme *yet* but still want it to work.

I means who needs argument parsing to be fast? Who needs that re-written every time in every language every time? Nobody. Another reason to leave some embedded native language is for ultra-critical performance things like using OpenMP in C (i.e. for CHICKEN)...

At least until the day those implementations are done in native C.

It took many years to adopt C due to the optimizations and native vector processing stuff resident in your friendly neighborhood FORTRAN compiler.
>>
>>106328512
>>
What is the difference between melpa and elpa? How long does it take to get a package accepted into either?
>>
>>106330830
what's your package?
it's still preferable that your package be self-contained in a single .el file so we can download it and put it in our .emacs.d/lisp directory and load it in our init.

also, some of are running old version of emacs, so don't depend on any new features in either emacs or other dependent libraries unless you absolutely have to.

generally packages are out there on the internet for several years or decades until they get adopted. Some guy here was recently titillated that which-key was finally adopted into the core-emacs sumo.
>>
>>106330830
>How long does it take to get a package accepted into either?
Melpa isn't long afaik. It's just a PR to review for them.
>>
File: file.png (164 KB, 1091x979)
164 KB
164 KB PNG
>>106330830
>How long does it take to get a package accepted into either?
For ELPA,
>After 48 hours, or once any issues have been addressed, someone will push
>your changes for you. You should probably also subscribe to
>[[https://lists.gnu.org/mailman/listinfo/emacs-devel][emacs-devel@gnu.org]], since that's where we discuss about GNU ELPA, and
>to [[https://lists.gnu.org/mailman/listinfo/bug-gnu-emacs][bug-gnu-emacs@gnu.org]], since that's where people will report bugs
>about your package.
>>
>>106331545
https://lists.gnu.org/mailman/listinfo/emacs-devel
>>
File: file.png (74 KB, 1191x459)
74 KB
74 KB PNG
>>106330830
Is this right? Do you have to hand your stuff over to the FSF to be on ELPA?

>The Copyright notice should specify "Free Software Foundation, Inc." as
>the copyright holder. Ensure that all the code has the proper copyright:
>if it is not your own code, make sure the author has signed the relevant
>copyright papers (for non-trivial contributions), and indicate the author
>correctly in the commit.
>>
>>106331598
it is part of GNU so it's not surprising. but there's also nongnu elpa
>>
>>106331545
>>106331598
The screenshots were based on the content of:
https://cgit.git.savannah.gnu.org/cgit/emacs/elpa.git/plain/README
>>
>>106330830
>>106331635
http://elpa.gnu.org/
http://elpa.nongnu.org/
https://melpa.org/ (not included by default in emacs, but it has the most packages)
>>
>>106330830
I dislike those package downloaders because it promotes the idea that your machine can and should be connected to the internet at all times.
No wonder there's so many security problems and companies taking advantage of the model.
>>
we should make lisp more like FORTH in that it ignores everything between parentheses.
>>
This would be cool to model in lisp.
https://www.youtube.com/watch?v=43KRqMoVM1I
>>
Prot Asks: Dimos about Emacs interconnectedness, collective work, and The Conspiracy Club
https://www.youtube.com/watch?v=c5KV_P7K73Y&list=PL8Bwba5vnQK14z96Gil86pLMDO2GnOhQ6&index=1
>>
>>106331690
Do you ever use `M-x package-install`?
>>
The l1sp.org domain just expired. I didn't even know it existed.
https://web.archive.org/web/20250000000000*/l1sp.org
>>
Client-side Common Lisp?
https://turtleware.eu/posts/Using-Common-Lisp-from-inside-the-Browser.html
<!doctype html>
<html>
<head>
<title>Web Embeddable Common Lisp</title>
<link rel="stylesheet" href="https://turtleware.eu/static/misc/wecl-20250821/easy.css" />
<script type="text/javascript" src="https://turtleware.eu/static/misc/wecl-20250821/boot.js"></script>
<script type="text/javascript" src="https://turtleware.eu/static/misc/wecl-20250821/wecl.js"></script>
</head>
<body>
<script type="text/common-lisp" src="https://turtleware.eu/static/misc/wecl-20250821/easy.lisp" id='easy-script'>
(defvar *div* (make-element "div" :id "my-ticker"))
(append-child [body] *div*)

(dotimes (v 4)
(push-counter v))

(loop for tic from 6 above 0
do (replace-children *div* (make-paragraph "~a" tic))
(js-sleep 1000)
finally (replace-children *div* (make-paragraph "BOOM!")))

(show-script-text "easy-script")
</script>
</body>
</html>
>>
>>106333918
does prot get any pussy?
>>
>>106335476
only dog pussy
>>
>>106336569
he gets "bitches"
>>
>>106335276
>https://turtleware.eu/posts/Using-Common-Lisp-from-inside-the-Browser.html

Daniel Kochmanski is doing God's work
>>
File: 𓂀.jpg (2.35 MB, 3000x4000)
2.35 MB
2.35 MB JPG
>>106326081
>https://picolisp.com
Interesting
>>
i just found Bartosz Milewski's lectures, and i'm going in solely to shit on functional programming. i'll report back in about 60 hours, or a week. don't wish me luck, i'm doing this purely out of contempt.
>>
New thing at job will use geopackages. Since they are a sqlite db I can just use emacs to inspect and change shit.

Very nice.
>>
>>106339871
Tangentially, did you know that ob-sql and ob-sqlite (introduced in Emacs 30) are very similar but distinct?
- https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-sql.html
- https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-sqlite.html

I was a little surprised that they didn't just add SQLite support to ob-sql.
>>
>>106339165
what's so bad about functional programming
>>
>>106340100
don't know yet
>>
>>106338594
>>https://picolisp.com/
>Interesting
It was more interesting than I expected. The author has been using it professionally since 1988. It's not just a toy.
https://github.com/picolisp/pil21
>_PI_co Lisp is not _CO_mmon Lisp
>>
I miss schemebbs
somebody please bring it back
>>
>>106340283
Every once in a while, I run into someone who doesn't like syntax highlighting. However, the PicoLisp author has a valid reason for his stance.
https://www.mail-archive.com/picolisp@software-lab.de/msg05019.html
Apparently, PicoLisp doesn't have any keywords. Even a symbol like `if` can change its meaning depending on context. It rarely happens in practice, but there's no fixed meaning for `if` or anything else.
>>
https://sharplispers.github.io/lparallel/ was finally deployed today.
>>
>>106340400
Yeah that's the same as Common Lisp. All the standard symbols are in a package & you can shadow them if you want.
>>
>>106311541
I tried this on terminal racket the command line version and it prints out something like
<#pict>
which is weird.
what it should do is create a sixel image containing the picture and output that to the terminal…
…either that, or, alternately, emit tektronics graphics control codes.

Their racket graphics language isn’t that great. Is that the same one that’s used in slideshow?

It’s hard to beat Postscript if you want to learn and write in a top-tier graphics language. Or even something based on PDF primitives, although there’s no control structures in there really.

Another thing they could do is adopt an opengl interface in lisp and use that. Also SDL would probably be a acceptable.

Just for fun, I generated an .exe for my hello world program. 60 MB. Nice.

Antone else remember when adobe was legit?
>>
>>106332087
> like FORTH
Yeah, and like postscript!
I think I’d prefer Forth be made more like scheme.
I expected there would be more embedded systems using scheme given the similarities between lisp and forth, but most of the minimal interpreters for scheme are pretty fat for unknown reasons, but it’s worth exploring I think.
>>
which LISP or other functional language is likely to land me a j*b?
thanks
>>
>>106334115
> package install?
No, I always copy in the .el file.
I look for and use lisp code that works on my old emacs 20.1, so usually I have to go back a few years to get one that work.
Well written .el’s I can use the latest.
A lot of them on github are just continually fucked with with random changes by people that measure their worth as a man by the amount of bright green dots on their github contribution tile on their profile.
Some of them went 10 years with no changes and then some retard makes a minor non-functional change to use the latest x-windows frame fringe decoration and breaks it for everyone not using 30.2 on X windows.
A good artist knows when to stop fucking with it.

Also, these days, it’s probably good to look through elisp and make sure there us no bullshit in there until they implement something like per-module containment headers like openbsd ‘pledge’
>>
>>106342618
Emacs 20.1 might be older than some people in this thread. What kind of system is that running on?
>>
>>106342568
Clojure
>>
>>106342618
>>106342837
>1997-09-15 • Emacs 20.1 • Support for non-ASCII text.
Jesus Christ anon.
>>
>>106340400
> picolisp
Picolisp guy is a vi guy, ROFLMAO….
>>
>lisp.nexus is already in the OP pasta
oh. i guess i have to build some no-JS forum in Lisp now, huh?
>>
>>106342200
Cool. Do you know what kind of overhead it has? Useful in realtime programs?
>>
>>106342200
From start to finish, It took a while, but most of it was waiting. The github notifications are probably lost to the void. Mentioning this in passing in #commonlisp go things moving again.
https://github.com/sharplispers/lparallel/issues/11

>>106344497
>Do you know what kind of overhead it has?
I don't know the difference in time between:
- calling a function to get a value AND
- sending and receiving a message to a thread to get a value.
Maybe someone could whip up a quick little benchmark that can quantify this for us.

However, there are some benchmarks already that show that despite the existence of overhead, being able to execute in parallel can be a win when scaled up.
https://sharplispers.github.io/lparallel/Benchmarks.html
You can see that as the number of operations goes up, the parallel versions overtake the serial versions.

>>106344497
>Useful in realtime programs?
Why do you think people have been wishing for real threads in Emacs for all these years? (To be fair to Emacs, the cooperative threads that already do exist are severely underutilized. I believe they can solve the class of Emacs performance problems that are IO intensive rather than CPU intensive.)
>>
>>106342450
>I tried this on terminal racket the command line version and it prints out something like
><#pict>
>which is weird.
You're not really surprised. What REPL in any language supports that today?
>what it should do is create a sixel image containing the picture and output that to the terminal…
That would be cool.

>>106342450
>Their racket graphics language isn’t that great.
https://docs.racket-lang.org/teachpack/2htdpimage.html
I'm looking at their API, and it looks reasonable to me. It lets me declaratively manage 2D vectors with a sane API. It certainly beats manually writing SVG.
>>
i'm considering trying out qtile with hy.
>>
Lem has a new webview frontend.
https://github.com/lem-project/lem/pull/1851
Its sdl2 frontend is getting deprecated.
https://github.com/lem-project/lem/issues/1867
>>
>>106288875
>https://github.com/HeeJay1
>An opera singer
Holy based
https://x.com/Janne_HG/status/1476895217601159169
>>
>>106346617
https://www.youtube.com/@jannehagglund8284
>>
Why did lisp 1.5/lisp 2 move functions to their own namespace? Doesn't that kind of defeat the point of first class functions? For lisp 2 users, what do you like about it?
>>
>>106348299
>For lisp 2 users, what do you like about it?

I can name my vars and functions (and methods, and classes, and packages) in any way I want, no conflicts.

To refer to a function i need to use #' as prefix, but it's not annoying to me.
>>
>>106345366
>You're not really surprised. What REPL in any language supports that today?

Common Lisp when you are using a CLIM REPL.
>>
why the FUCK does term-mode rebind the C-c [a-z] keys
>>
>>106348299
Better performance, that's basically it.
I dislike it since it makes binding functions ugly.
The entire shadowing issue is solved just with namespaces.
>>
>>106288815
Da Wose will soon be free
>>
>>106349776
I don't see it.
https://github.com/emacs-mirror/emacs/blob/master/lisp/term.el#L634-L694

All the C-c bindings use another C-letter binding which is allowed.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Key-Binding-Conventions.html

Maybe something else took those bindings.
>>
>>106351314
the keys are rebound in char mode, and it's done programmatically. i'm pretty sure these are the relevant parts
https://github.com/emacs-mirror/emacs/blob/master/lisp/term.el#L1074
https://github.com/emacs-mirror/emacs/blob/master/lisp/term.el#L4567

anyway, the manual corroborates my original point
>C-c char
> This is equivalent to C-x char in normal Emacs. For example, C-c o invokes the global binding of C-x o, which is normally ‘other-window’.
https://www.gnu.org/software/emacs/manual/html_node/emacs/Term-Mode.html
>>
>>106348299
With you purists, you’d eventually turn lisp into scheme.
This is why we have scheme.
Also, I see a bunch of people using loop macros/specials in scheme, there’s no need.
>>
>>106352228
hm. they broke their own rules.
>>
>>106342837
It’s on the sparcstations under solaris.
we support old software and drivers since people still run these things in industrial environments.
They’re not hooked up to the internet, we have to get things on there through ftp on a shared system so we can’t use elpa very effectively.

My emacs on my mac is 22.1.1.
I just tried the latest one (30.1) on my mac and it is GLACIAL.
Interestingly, it works on mac ui natively.
Whenever I switch to the emacs window, I get a rainbow kernel-busy spinner for a second.
Everything works though, no crashes. Impressive.
Luckily, in emacs you never have to switch away from it’s window… it does everything.
>>
What is the appeal of lisp for you? I want to get into it, but I don't like all the brackets and nesting needed...
Why can't some things have semi-colon or braces instead?
Is there away around this? Will I ever get over this?

Also what lisp version do lispers use? Is guile good?
What can I do with lisp?
I have no clue what to doooo
>>
>>106352492
>What can I do with lisp?
>I have no clue what to doooo
You mentioned Guile and that's a good place to start. It's the canonical extension language of the GNU system, so there's various ways you could make use of it. You can install Guix on top of your current system to manage your "home configuration" in Guile.
https://guix.gnu.org/manual/en/html_node/Home-Configuration.html
At the same time you can install GNU Shepherd and mcron to write user-level services and cron jobs in Guile.
>>
>>106345366
Python when you define __repr__.
>>
>>106352492
>Why can't some things have semi-colon or braces instead?
You will understand pretty early into your lisp journey why this is the case.
>>106352492
>Also what lisp version do lispers use? Is guile good?
I dont' know what anyone else uses, but I really like clojure. Some will argue it isn't even a lisp, but I don't really understand why, and I don't care. I just like it bro.
>>106352492
>What can I do with lisp?
You can make computers do computer things? Whatever you would normally do, just do it in lisp instead. Make something useful, unlike most lispers.
>>
>>106353349
I am a retarded faggot who doesn't know how to internet.
>>
File: sad-pepe2.png (146 KB, 917x871)
146 KB
146 KB PNG
>>106353008
>cron jobs
>>106353349
>Whatever you would normally do

this is the problem. I have no life, no friends, no reason to run a cron job, no reason for anything.
I was hoping to find a reason to learn a language / do programming.
What are some of your reasons for when you have programmed recently?
I just want to do something that requires programming and find enjoyment in it...
But trying to do gamedev / develop some kind of software is not working.

I want to play little big planet 2 create mode again. I'd make a playable level this time, for sure.
>>
>>106353522
Sounds like you need Prozac, not Lisp.
>>
>>106353534
I'm afraid of mind altering drugs.
>>
>>106353522
The most universal reason to learn programming is just to operate your own computer. things like
>I want to download a lot of files
>I want to organize things by tags and search for them
>I want to display a bunch of statistics in a custom format
etc...
Basically you just have things you do on a computer normally, and then you want to automate them, and then you get frustrated with trying to download and configure other people's programs to do it and just want to program it directly yourself.

If you're interested in graphics or making games, the simplest path is to just start. Just make literally anything and you'll find a bottomless pit of things you can work on. You really can't finish a project, only lose interest or get frustrated.

For the more autistic among us you can get into programming as a hobby in an of itself, like you just learn about and implement algorithms just for fun, or even make your own interpreters or compilers. This is the realm of lisp, it's by far the best language for working on and building programming languages.
>>
File: loosh.p5.png (432 KB, 1263x1797)
432 KB
432 KB PNG
Can Lisp be used for loosh extraction?
http://whale.to/c/loosh.pdf
>>
>>106353570
>lose interest or get frustrated
it happens very near the beginning.
I just can't commit to making a project.
I throw it all away.
I looked at the tiniest amount of code I wrote trying to make a compiler awhile ago and instantly had to get away from it.
I had no interest in building upon it.

>best language for working on and building programming languages.
Won't the language share the syntax of lisp?
Would it really be any good for writing a compiler for c-like language for example?
>>
>>106353739
A compiler is parse -> transform -> emit, the input syntax is only a single step, it ultimately doesn't matter that much to 99% of the compiler. But also why would you want to make a C style language in the first place?

>can't commit
That's a bad way of thinking. Don't commit to any end result, do things for the work itself. Or at the very least set many extremely small goals and develop iteratively.
For instance there's no real purpose to writing your own compiler except to learn new techniques and practice them. So the end result doesn't really matter at all, the process itself is the goal. Even ripping out and replacing everything is productive if you feel you're finding and solving problems by doing it.
If something is frustrating or too complicated, just break it down into smaller pieces until it isn't anymore. Even the process of figuring out how to break something down itself can be broken down into smaller pieces.
>>
>>106354155
Then I don't understand why lisp is particularly suited.
>why would you want to make a C style language in the first place
I like writing in that syntax. As simple as that. It looks aesthetic to me and I'm used to it.
I'd consider skipping some of the brackets/commas though, but then I may lose some clarity.

>do things for the work itself
It is hard to do something expecting to throw it away; although I guess there could be snippets of code I can still take from it and use elsewhere.
You do work, and feel good for the result. Here the result would be improving if it's not the software itself. But is such a result certain?
It's hard to convince myself.
Without feeling good for doing the work, I suffer.
I just can't find enjoyment in it...

>If something is frustrating or too complicated
I've spent a lot of time chasing my tail, trying to fix trivial bugs in the past.
I feel as though the experiences have affected me negatively in this area.
>>
>>106354498
lisp is suited for it because of the syntax and macro system. Basically lisp is extremely easy to parse, to the point of having a built in parser. It also contains it's own compiler, and you can write code, later it like data, compile it, and execute it from inside your program.
Essentially a lisp compiler entirely skips input and readout and can focus entirely on transformation, which it can do with it's native syntax and data structures since how the compiler represents code and how the programmer writes code is the same format.

>certain
Obviously not, certainty means you don't have to act. If you're certain about something, it means you can ignore it and focus on something else you're uncertain about.
>fixing bugs
This too is programming. Both the finding, the fixing, and the attempts to avoid having to do it in the future all improve your ability to program. Nothing has ever elevated my intimate understanding of a program than having to debug it. It enforces a complete intuitive understanding of all the working parts and encourages modularity and useful comments.
>>
File: (((eat))).gif (2.27 MB, 640x438)
2.27 MB
2.27 MB GIF
>>106352492
https://borretti.me/article/why-lisp-syntax-works
>>
>>106354535
>write code, later it like data, compile it, and execute it from inside your program.
I find it hard to understand how it will map to assembly.
You're saying to use lisps built in compiler not your own compilation process?? So what's executing is not your own assembly? If so then are any optimizations you've done valid?
>>
>>106354730
You can generate your own assembly directly without using the optimizing compiler if you really want to, I mean that's literally what the builtin compiler is doing.
Mapping to assembly is quite simple. You literally just output to a string and have the processor execute it. There's no real work being done in that process, it's just like parsing input code, but in reverse.
The meat of any compiler is transforming the code structure and altering it to perform checks and optimizations. Lisp makes that really easy since code is just data and you can manipulate it like any other data structure.
>>
https://gist.github.com/mnuessler/e1036908ef313a3a6ad7701765f71d7d
(defun unix-timestamp-to-date ()
"Prompts for a unix epoch time stamp and converts it to a human-readable date"
(interactive)
(let* ((time-zone "UTC")
(time-unix (seconds-to-time (read-number "Unix epoch time stamp: ")))
(time-str (format-time-string "<%Y-%m-%d %a %H:%M:%S>" time-unix time-zone)))
(message "Date: %s (%s)" time-str time-zone)))
>>
Any aidermacs users? With ollama?
>>
https://wh40k.lexicanum.com/wiki/Abominable_Intelligence
>>
Guys, how do I change the language in Portacle to Racket? DrRacket is fucking cancer and going through HTDP has been a painful experience with it
>>
>>106357055
Portacle hasn't been maintained for years.
https://github.com/portacle/portacle/issues/182

Just use regular Emacs with racket-mode.
https://www.racket-mode.com/
(use-package racket-mode
:hook ((racket-mode . eldoc-mode)
(racket-mode . racket-xp-mode))
:ensure t)

https://pastebin.com/eV01AcvM <- barebones init.el with racket-mode (and sly in case you still want to use Common Lisp).

To use it, load a .rkt file and then run `M-x racket-run`.
>>
>>106328169
>>106328179
Did you make these?
>>
>>106357188
Thanks for the warning. I just wanted something easy to go along, but guess I'll just continue with that shitty IDE anyway
>>
not related to emacs/lisp, but asking here because you guys seem like the least retarded people on this website:
For a few months now I've been seeing more and more filenames like IMG_4929.png and so on, basically always following the pattern IMG_nnnn. This happens on all 4chan boards I visit.

Are these bot posts, or is there just some browser extension, 4chan app or phone OS that renames files after this pattern when you upload them here?
>>
>>106357251
I just placed a white/black gradient over the original logo.
The original .svg I found here: https://www.cbaines.net/projects/guix/freenode-live-2017/presentation/Guix.svg
>>
>>106358762
>IMG_nnnn
I did a little searching, and it seems the iOS uses this file naming scheme.
https://apple.stackexchange.com/questions/94501/how-can-i-reset-iphone-camera-roll-to-img-0001-jpg
>>
File: pat.cover.png (3.86 MB, 1318x1977)
3.86 MB
3.86 MB PNG
>>106290010
http://bookszlibb74ugqojhzhg2a63w5i2atv5bqarulgczawnbmsb6s6qead.onion/book/2316430/838600/professional-automated-trading-theory-and-practice.html
>>
>>106343725
>Picolisp guy is a vi guy, ROFLMAO….
https://github.com/flexibeast/plisp-mode?tab=readme-ov-file#note-highlighting
At least the Emacs-basd PicoLisp programmers get syntax highlighting.
>>
>>106353522
Data fuckery and game dev. That's it. I don't really care about programming outside of these areas. I wanted to get into embedded, but I can't be bothered to read datasheets all day. Some people love that shit, but I find it incredibly tedious. If I had a project that I just HAD to realize, I'd just deal with it, but I don't, I just wanted to mess around. If you don't like programming, don't bother. If you think you do like programming, but you don't like your projects, don't feel like to have to keep working on them. Try something else. Don't do this autistic nerd shit that trannies in these threads go on and on about if that's not what you're into. Or, get some programming socks if that is what you're into.
>>
can lisp fix my life and give me a job? (im a neet and my resume is empty)
>>
>>106359391
no
>>
File: FSF35socks.jpg (46 KB, 1000x608)
46 KB
46 KB JPG
>>106359183
>programming socks
The Gigachad FSF/GNU sock is all you need
https://www.fsf.org/blogs/gnu-press/support-userfreedom-by-purchasing-gifts-from-the-gnu-press-shop
>>
>>106359509
As Saint iGNUcius intended.
http://xahlee.info/emacs/misc/Richard_Stallman_at_MIT_dancing.html
>>
>>106359391
Learn Clojure. Build some cool projects.
Eval & Apply.
https://clojurejobboard.com
>>
>>106359183
I think I do.
I think I want to mess around too; I don't think I have the guts to do a serious project.
I'm interested in gamedev too. But it takes too much effort to do all the non-programming parts.
>>
>>106359664
You don't have to do the non-programming parts yourself. While you're learning, just use free assets. When you're getting to a point where you want to release something, hire someone to do the parts you don't want to, or just make shitty dev art.
>>
File: 1739214571730709.png (24 KB, 740x90)
24 KB
24 KB PNG
Could someone explain to me what is the point of failing the rebuild when something is declared twice? Shouldn't Guix just ignore the second one instead of outright refusing to reconfigure?
>>
https://www.youtube.com/watch?v=80Tf0hqynxQ
>>
>>106358859
that might be it, thanks
>>
M-x strokes-mode

https://karthinks.com/software/more-batteries-included-with-emacs/#strokes--m-x-strokes-help
>>
>>106362914
does ts (this shit) work with the android version?
>>
File: covfefe.jpg (202 KB, 1024x1024)
202 KB
202 KB JPG
Nice.
https://clojure.org/news/2025/08/19/deref
>deps.clj - A faithful port of the clojure CLI bash script to Clojure (https://github.com/borkdude/deps.clj)
>>
Ive been reading Common Lisp a gentle introduction for like a year and a half now and always have extended breaks inbetween and I just cant anymore. Its soooooooo drawn out and boring and you never do cool stuff.
Can someone recommend me another book that teaches me common lisp but also lets practical experience? LIke ive been reading for 200 pages and i still couldnt do one project.
Is it really the best book for tat?
>>
>>106365136
You should know enough to make your own projects or copying from other and implementing yourself. That is the real way to learn programming.
>>
>>106364809
More projects could use something like Deref. I always learn about new stuff with each release.
>>
>>106354597
>Rust
>macOS
>Claude
And here I was hoping you sent a based blog
>>
File: xah2hu.jpg (221 KB, 1920x1080)
221 KB
221 KB JPG
>>106365582
The true & only based blog is http://xahlee.info
>>
File: 旭日旗.jpg (682 KB, 1313x949)
682 KB
682 KB JPG
>>106365726
Banzai, nigger!
https://www.youtube.com/watch?v=lWb--Ftilg8
>>
>>106342618
I know what you're talking about and it is a huge problem everywhere. These retards now use their github profiles on their resumes. So they want to make it look like they've worked on tons of shit. But all they ever do is change something in the UI and make it worse. I have no idea why these new people can't design functional UIs and constantly take features away, move shit around or assume the user is using mouse/touchpad. So everything ends up being massive buttons when it could have been a simple key binding (that they don't include because they never use their own keyboards).

The schools have churned out useless code monkeys that can even understand HTML most of the time. It's horrible. I know people that say they're "UI/UX front end developers". In reality they sit at a computer and switch out pre-made templates for wordpress. They just manage a ton of shitty websites running on wordpress.

Why? Dunno. Plenty of them running on phpbb and old vBulletin as well. Entire websites build on those old forum and blog engines. The people that get paid to baby sit them can't even read the HTML or PHP code involved. They don't know javascript either. They always use some framework or something for it.

I don't know why modern "developers" never step out of their little niche that shouldn't exist in the first place. When I learned how to do web shit we learned everything from what they now call the "back end" to the "front end". I didn't need a framework to do it either.
>>
>>106342618
>>106365986
I wrote all that and didn't get to my main point: I agree with you. At some point the code is what you need and it's done. At that point it should be left alone barring major security issue.

These new "programmers" think projects are dead and the software is useless if it hasn't been touched by someone in the last 2 week. I see them running around all the time fear mongering because things haven't gotten a modification in the last year or two. They don't understand that it's already perfect and if something major happens one of the 10,000 current users will probably step up and fix it.
>>
Can whoever creates the next thread remove emacs.amodernist.com from the sticky, as the site is down?
>>
>>106366288
>as the site is down
lulwut?
werks on my machine
>>
File: file.png (103 KB, 694x622)
103 KB
103 KB PNG
>>106366288
I just submitted the form w/ the defaults, and it generated this.
;;; Personal configuration -*- lexical-binding: t -*-

;; Save the contents of this file under ~/.emacs.d/init.el
;; Do not forget to use Emacs' built-in help system:
;; Use C-h C-h to get an overview of all help commands. All you
;; need to know about Emacs (what commands exist, what functions do,
;; what variables specify), the help system can provide.

;; Use whatever the default monospace font is
(setq font-use-system-font t)

;; Miscellaneous options
(setq-default major-mode
(lambda () ; guess major mode from file name
(unless buffer-file-name
(let ((buffer-file-name (buffer-name)))
(set-auto-mode)))))
(setq confirm-kill-emacs #'yes-or-no-p)
(setq window-resize-pixelwise t)
(setq frame-resize-pixelwise t)
(save-place-mode t)
(savehist-mode t)
(recentf-mode t)
(defalias 'yes-or-no #'y-or-n-p)

;; Store automatic customisation options elsewhere
(setq custom-file (locate-user-emacs-file "custom.el"))
(when (file-exists-p custom-file)
(load custom-file))
>>
File: 「陸上自衛隊」.jpg (400 KB, 1216x2048)
400 KB
400 KB JPG
>>106366072
Isekai'd? Not before you try Caveman.
https://github.com/fukamachi/caveman
>>
>>106362914
I couldn't get this to work on Termux.

Not gonna try the native Android version because I find vanilla emacs unusable.
>>
>>106294699
Nice work, anon.
>>
File: j16.gif (47 KB, 300x200)
47 KB
47 KB GIF
>>106365909
>>
my new Lisp will be built
>he has to regularly hit the shift key
>>
>>106363326 (me)
>>106366399
it doesn't work on android, strokes-mode requires a mouse apparently
>>
>>106369883
>it doesn't work on android
in the trash it goes, then. I specifically use emacs because it's keyboard-focused.
The only use-case on the desktop I can think of is if I were to write Japanese with character recognition via a tablet and wanted to control emacs without reaching for the keyboard.
>>
File: 1755403624328287.jpg (17 KB, 350x473)
17 KB
17 KB JPG
Man Guix + nVidia is just way too hard, I think I'll give up.
Everything I try to do has their own guix caveats and issues and when I fix them I still have to deal with nVidia stuff.
>sway
Can't figure out where the fuck to put --unsupported-gpu since the .desktop file location is read only and when you change sddm's wayland-sessions to another location with a custom sway.desktop it just fucking doesn't show anything.
>waydroid
Managed to install after hunting off random dependencies and stealing someone's wayland package and service definitions but it kept failing to boot and it turned out you cant do hw acceleration with nvidia.
After "fixing" (disabling hw acceleration) that I managed to boot it but then if I try to launch a game it actually fucks the whole system up and EVERYTHING stops working, it doesn't hang but I can't open or interact with anything, I don't even know how that's possible.

All that just because I bought an used 3060 because it was the cheapest decent thing available...
>>
File: 1737757386085758.jpg (666 KB, 2179x1634)
666 KB
666 KB JPG
Check this out, if a terminal was already open I can try loading Firefox but it just says that there's no GPUs detected...
I can trigger this just by launching an application on Waydroid, how is that even possible...
>>
>>106359756
you have two different glib packages in your dependency tree
in your operating-system's packages you're likely using something like (specification->package "glib") which produces the glib-with-documentation package, and network-manager propagates the other variant of glib
import the (gnu packages glib) module and use the variable named glib instead
>>
>>106370983
Nvidia is hell anyways, do you really need something more than Nouveau or whatever is the current situation can't offer?
Guix is a great idea but testing it with the worst driver provider possible is a challenge you shouldn't put yourself into.
>>
>>106368873
>siepl
???
>>
>>106359539
this picture made me dream that I was trying some clothes on because I wanted to make "exotic dances" for money. I was wearing very different clothes in my dream but I was thinking of exactly this picture.
>>
>>106373739
it's an acronym
>>
>>106374161
Elixir? Nice.
>>
File: alternating-layout.gif (1.53 MB, 800x450)
1.53 MB
1.53 MB GIF
>>106321782
>https://github.com/ebeem/guile-swayer#which-key
Neat
>>
Emacs threading code needs a dedicated maintainer.
>Let me just state the obvious, if you haven't figured that out already: we don't have on board anyone who takes care of this part of Emacs. I've been fixing thread-related problems here and there since this stuff has landed on master, because no one else would. What we have now might be not ideal, but the basic features work, and I'm not aware of any glaring bugs (of which there were several in the beginning). So the only way I'll agree to changes that modify the design and expand this further (i.e. not changes that fix clear bugs) is if someone steps forward to be the responsible maintainer of this part of Emacs, and will thereafter keep the promise by picking up any and all bug reports and other discussions related to threads, and working on them actively and efficiently. I cannot be that person, so someone else will have to volunteer. Maybe you.
https://lists.gnu.org/archive/html/emacs-devel/2025-08/msg00536.html
>>
This might be useful to people developing UIs in Emacs.
https://github.com/ichernyshovvv/grid.el
>>
>>106365136
Practical Common Lisp.
https://gigamonkeys.com/book
>>
File: file.png (40 KB, 690x272)
40 KB
40 KB PNG
https://org-roam.discourse.group/t/org-roam-ui-lite/3852
>>
Hi guys. are there any lisp-based operating systems? I just tried Mezzano but it's horrible and abandoned.
>>
File: (medley-interlisp).png (169 KB, 1920x1080)
169 KB
169 KB PNG
>>106382047
Medley Interlisp -> https://interlisp.org
Try it here: https://online.interlisp.org
Source code: https://github.com/interlisp/medley
>>
herd start cow-store /mnt
>>
>>106382222
>https://online.interlisp.org

Wow!

A new reason to live!
>>
>>106359623
>cool projects
See, that's where I'm coming up short.
>>
>>106383971
How does one develop creativity?
Sometimes, I feel like it's less about developing and more about tuning in. It's like when the same invention is invented my multiple people at around the same time despite not being in physical communication with each other.[1] There are ideas in the ether, and it's up to you to tune into them.

Depending on what skills you've developed, some ideas may be easier to tune into than others.

[1] https://www.nutsvolts.com/?/magazine/article/tesla_inventerd_radio_not_marconi
>>
>>106383971
>>106384078
Do a search for:
simultaneous invention
multiple discovery

I think it's a bigger part of the creative process than most technical people are willing to acknowledge.
>>
>>106383971
almost all existing projects can be done in a better way. it's just about having the audacity to think you can do better, and then slamming your head against the wall until you actually do end up doing better.
people very much so underestimate the power of spending time thinking things through. it is very, very rare that people just have a damn lightbulb pop on in their head without first spending days/weeks/months/years rubbing braincells together
>>
Keep your *Messages* buffer scrolled to the bottom at all times.
;; https://stackoverflow.com/a/13323672/19908235
(defun tail-f-msgs ()
"Go to the end of *Messages* buffer."
(let ((msg-window (get-buffer-window "*Messages*")))
(if msg-window
(with-current-buffer (window-buffer msg-window)
(set-window-point msg-window (point-max))))))

(add-hook 'post-command-hook 'tail-f-msgs)
;;(remove-hook 'post-command-hook 'tail-f-msgs) ; 1488
>>
>>106386081
is that not the default behaviour?
>>
>>106288902
Likely got poached by Phase Connect
>>
>>106386550
Kind of, but the moment you scroll the *Messages* buffer, it's not pinned to the bottom anymore. You can manually repin it to the bottom by hitting C-<end> while focused in the *Message* buffer, but having to do that multiple times during a debugging session can get annoying.
>>
https://github.com/tarsius/keycast
This is not a super big deal, but I cannot get keycast-mode-line-mode to work. It runs and doesn't crash, but it doesn't show the keypresses in the mode line. I wonder if anyone here can get it to work.

Fortunately, keycast-tab-bar-mode *does* work, so I'll probably use that instead whenever I need to make a demo video.
>>
>>106374161
>it's an acronym
What does SIEPL stand for?
>>
>>106344372
I wonder if forums are going to make a comeback.
>>106387583
>>
>>106390182
Secure, Introspective, and Extensible Programming Language
>>
>>106288875
>Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Lovely crafted.
>>
How do (You) name and organize your org mode notes? Personal notes, finances, schedules, meeting/project notes, etc.
>>
>>106394318
For the majority of my notes, I let org-roam do the naming, so they're in the form of $datetime-$title.org. I also have ad-hoc notes scattered throughout my system, and those are usually short $oneword.org. Only the roam side of things is systematic.
>>
>>106394318
I create a "work.org" file for my tickets at work. Usually a bunch of one off scripts to keep the shit flowing and stuff from crashing, and sql.
>>
How do I make space as leader key work in dired/help and some other buffers/modes? For some reason, it doesnt work.
I did (evil-set-leader 'nil (kbd "SPC")) but it doesn't work in all buffers.
>>
>>106392004
Just use an algol like language tard
>>
>>106396210
>tard
>>
>>106374161
Disgusting
>>
>>106368873
>>he has to regularly hit the shift key
fixed
(local-set-key (kbd "[") 'paredit-open-round)
(local-set-key (kbd "]") 'paredit-close-round)

(local-set-key (kbd "C-]") 'paredit-forward-slurp-sexp)
(local-set-key (kbd "C-[") 'paredit-backward-slurp-sexp)
>>
>>106365136
solve these
https://www.ic.unicamp.br/~meidanis/courses/problemas-lisp/L-99_Ninety-Nine_Lisp_Problems.html
>>
>>106396135
I don't have an answer but this README might point you in the right direction.
https://github.com/cofi/evil-leader
>>
eMacdonalds
>>
>>106399228
eMac n Cheese
>>
>GNU Artanis is a web application framework written in Guile Scheme. It is a simple and efficient tool for building web applications. It is designed to support the development of dynamic websites, web services, and web applications. It is a modern web framework that is easy to use and easy to extend.
https://artanis.dev/blog/1.3.0-release.html
>>
>>106399271
>https://artanis.dev/blog/1.3.0-release.html
what a dogshit web design
>>
>>106399735
I kinda like the simplicity.
>>
>>106399810
>full screen animation on load
>simple
>>
>>106400192
kek
>>
File: cap_20250827.05:16:03.png (484 KB, 1178x1346)
484 KB
484 KB PNG
>>106399735
It looks alright in eww. Syntax highlighting even works.
>>
File: 1750965349449199.png (314 KB, 764x764)
314 KB
314 KB PNG
Today I realized that logical-and is just a fold-right operation which accumulates boolean values, and that you can nest arbitrarily complex, recursive logical structures inside it. SICP is fucking mind-bending. There is something incredibly satisfying about discovering these computational principles which seem baked into not just computers but the structure and fabric of reality itself. This book is like a drug.
>>
>>106400773
I'm reading HTDP right now. Can't wait to finally get to SICP, although I'm a bit scared of the math and already losing my hair to some introducitons to proofs/logic, but alas, it must be done.
>>
>>106400809
I personally just jumped into SICP. This has definitely bitten me in the ass before and I frequently have to learn things from first principles in the middle of a chapter (most recently matrix/vector operations because I'm a high school dropout) but I'm very impatient and need to feel the utility before I can see the utility. The math isn't super involved through the end of chapter 2, at least. One thing I do wish I'd done better is coming at lambdas from at least an "intro to lambda calculus" perspective instead of from a programming perspective. Things like currying and especially church numerals were really tough with no lube. Maybe it'll be different for you with a better background. Even though church encoding was tough, I think it was very much worth knowing because, in a sense, the way church numerals are a kind of temporal encoding of data across execution time, the same abstraction holds true for how logical-and accumulates boolean values across execution time as the storage medium. It's all so invigorating.
>>
>>106400919
I'm planning to delve into those books for more than ten years now. I'm beginning to think that if I don't do it now (when I also have a free time in my life), I'll never manage to finish it. Background-wise, I'm probably not much better than yours, even though I went to CE, but never finished. Anyway, lovely response. I'll have that in mind about lambdas, currying and Church. Thank you very much.
>>
>>106288936
This guy is a mega retard. Extremely performative trying to be a cool edgelord claiming to have the best taste in tech consumption but he’s just a consoomer building his own prison. He’s like a edc youtuber. He should make a video on actual work he’s done then maybe gain some credibility.
>>
File: 1754629819290300.jpg (114 KB, 1024x683)
114 KB
114 KB JPG
>>106401708
>This guy is a mega retard.
Aren't we all?
>>
>>106402381
I try not to be, but I've had a few mega retarded moments in my life.
>>
>>106400773
>Today I realized that logical-and is just a fold-right operation which accumulates boolean values, and that you can nest arbitrarily complex, recursive logical structures inside it.
I don't understand. Your mind is blown by the fact you can nest an arbitrary number of forms in an and form?
>>
File: MP40.jpg (728 KB, 4093x2894)
728 KB
728 KB JPG
>>106346617
>>106347990
beautiful performance
https://www.youtube.com/watch?v=e2VNjJ7wH6Q
>>
>>106402470
It's more that fold-right (and fold-left) are kind of super-abstractions under which it seems like almost all other operations can be subsumed. It's less that logical-and can take arguments and more that it can function as an accumulator under higher order abstraction patterns the book has been tracing for two chapters now.
(define (equal-f? a b)
(cond ((symbol? a) (eq? a b))
((and (pair? a) (pair? b))
(and (equal-f? (car a) (car b))
(equal-f? (cdr a) (cdr b))))
(else (eq? a b))))


In this problem, the crux was figuring out how to accumulate boolean values for the final return. It's computationally beautiful (in my opinion) that the accumulator here which defers and then unfolds is just the and form, in and of itself. Maybe I'm not explaining it well or maybe it's genuinely just trivial but I felt two chapters of struggle come together and crystallize.
>>
>>106404469
(define (equal-f? a b)
(cond ((symbol? a) (eq? a b))
((and (pair? a) (pair? b))
(and (equal-f? (car a) (car b))
(equal-f? (cdr a) (cdr b))))
(else (eq? a b))))

Formatting is fucking hell on mobile. Hopefully this is more readable
>>
can someone post theirs home configuration of guix, i need reference of shell configuration, (preferably ZSH)

it not works for me, the variables arent sourced before zshrc or bashrc file is loaded and my shell is broken :(
>>
We are in great danger
>>
>>106405011
I just use the
(feature-zsh)
from RDE. Maybe you can adapt it to your configuration. https://github.com/abcdw/rde/blob/master/src/rde/features/presets.scm#L105
https://github.com/abcdw/rde/blob/master/src/rde/features/shells.scm#L37
https://github.com/abcdw/rde/blob/master/src/rde/home/services/shells.scm#L124
>>
File: 1734864440895453.jpg (717 KB, 2048x1536)
717 KB
717 KB JPG
>>106384202
I have the gist that it's very much the difference between being handed a novel problem, and being handed a problem with an answer written next to it + thinking "I could have done that!"

More often than not, no. No you couldn't.
>>
Not a lisp, but lisp adjacent and kinda interesting:
https://wryl.tech/projects/modal.html
https://wiki.xxiivv.com/site/modal.html
>>
>>106352492
>What is the appeal of lisp for you?
There's always a clear path to understanding a program. You don't know what the symbol at the start of the list means? Just read its source code or documentation. With more syntax you have to deal with unexpected interactions between pieces of code.
>>
What would your ideal Emacs/Lisp keyboard look like? Obviously, parentheses should be easier to access. But if you could get any keycaps made for free, what would you replace?
>>
File: schedule.png (59 KB, 728x560)
59 KB
59 KB PNG
>>106302510
https://time.is/compare/1930_28_Aug_2025_in_Tokyo
https://lisp.connpass.com/event/365507/

I don't know if they're going to stream, but just in case:
https://www.youtube.com/@shibuyalisp2644/streams
>>
Is there any reason to choose one lisp over another? I/m too much of a noob to know how to compare them. I've been learning clojure, but I don't know if I'm losing or gaining anything by using it. I do like how, with some effort, I can more or less do some of my python data fuckery in clojure with scicloj.
>>
File: geiser-session.png (39 KB, 647x627)
39 KB
39 KB PNG
>>106311541
Why screw around with Dr. Racket? Just use Geiser and guile in emacs like everybody else for the last decade or so.

(use-modules (pict))

(define rot ; counter, ray every 36 degrees for 16 rays
(let ((rdegs 0))
(lambda ()
(set! rdegs (+ rdegs 22.5))
rdegs)))

(define rays ; make 16 triangle rays
(make-list 16
(remove-outline
(fill (polygon '((0 . 450) (15 . 175) (15 . 0) (15 . 175)(30 . 450))) "red"))))

(pin-over (filled-rectangle 325 200 #:color "white") -100 -125
(apply cc-superimpose
(cons (filled-ellipse 120 120 #:color "red")
(map (lambda (R) (rotate R (rot))) rays))))
>>
File: ichihime.png (647 KB, 1024x1024)
647 KB
647 KB PNG
Emacs for life!
>>
(setq proced-enable-color-flag t)

WHY is this not the default???
>>
really enjoy sussman seething over the derivative notation
https://youtu.be/eJeMOEiHv8c?list=PLE18841CABEA24090&t=2709
>>
>>106353522
if you really want something to do learn math and lisp at the same time and do project euler. it keeps the mind occupied
>>
>>106303454
Not true, what people pay you for is what they think your capable of not what you're capable of. You'll be routinely disappointed in the corporate world if you think late night shifts and "solving problems" will land you manager positions etc. Reputation is more important than competence but competence builds reputation, and if there is a production issue and you whip out emacs and connect to a remote debugging session that'll get you noticed.
>>
>>106409804
>WHY is this not the default???
It wouldn't be Emacs without bad defaults. ( ;ㅿ; )

>>106410378
>derivative notation
I have to agree with him on this. I was never a fan of the irregularity of mathematical notation.
>>
>>106408851
>Why screw around with Dr. Racket? Just use Geiser and guile in emacs like everybody else for the last decade or so.
TIL that the geiser repl could display graphics. I honestly didn't know, whereas I knew DrRacket and racket-mode were both capable of such things.

Also, are the docs for the library you're using online anywhere? I found the repo:
https://git.elephly.net/software/guile-picture-language
...but do I have to clone it to read the docs?
>>
>>106408724
This goes for any language and not just Lisps.
- library availability
- platform reach
- personal preference
>>
>>106340283
Curious choice
>A FEXPR is a function which does not evaluate its arguments. Decisions about evaluation are delegated to the function body
https://picolisp.com/wiki/?pros-and-cons
>>
>>106408724
I used to worry about which lisp to choose, too. I don't anymore. I routinely use Common Lisp and Scheme, and I am looking into Racket recently. As well as other languages in other families. Sure, it's best to have a "main" language but if you don't try them all how are you going to know which one suits you best? What you learn from one lisp (or PL in general) will serve you in others, even if concepts do not map cleanly. If you are able to use two different lisps idiomatically, you'll know both of them better by comparison. Do try not to pick too many languages at once, but do not limit yourself to just one. Pick exactly the ones that seem interesting to you, use your own criteria, rather than the preferences of others.
Common Lisp is the most widespread of them, mature, and arguably the most powerful, but also a mess in many cases.
Scheme is lean and enjoyable, it works best when used with techniques from so-called "functional programming", but also has portability issues do to most useful features being implementation-dependent.
Racket is Scheme with batteries included, as they say. More focused on pure-functional paradigm, and also encourages to grow your own language out of it to suit your problem (see Scribble, for example)
Clojure uses java, idk much about it, but it has the strenghts of java, namely it's libraries and portability.
There are others like LFE, if you're interested in the specific features of Erlang.
>>
File: Space-cadet.jpg (1.29 MB, 2001x773)
1.29 MB
1.29 MB JPG
>>106407764
http://xahlee.info/kbd/symbolics_space-cadet.html
>>
>>106413839
>have to shift for parentheses
why?
>>
>>106414020
It looks like they have some extra parens to the right of the P key where you don't have to shift.
>>
>>106411540
You just need the pict.scm and all the docs are in there, like most lisp code.
See at the bottom of the screen where geiser gives me the intellisense for
pin-over
(where the cursor is)? That’s just automatic, as is auto-complete.

The main point I was trying to make is this is closer to ordinary scheme without racket’s nonsense.

Looking at it again, now, I should have re-written it using iota instead of that ‘rot’ counter, and used pict’s disc instead of the symmetric
ellipse
>>
>>106414694
It has a greek key, but it could probably use a lambda and define key, as well as a bunch of other core lisp keywords. Even the Sinclair has this, for a lisp machine it makes total sense if you’re doing programming lisp on it.

If only modern standard and useful lisps could have kept their code size withing 2K/4K so it’s ROMable.
>>
>>106415388
>racket’s nonsense
I like what racket gives me.
>>
>>106411540
The docs are info files, so it's perfect for an Emacs user. If you want to lookup a symbol in the manual inside Geiser using `geiser-doc-look-up-manual', I'm pretty sure you need to modify `geiser-guile-manual-lookup-alist' first.
>>
>>106414694
Oh I'm fucking blind, assumed those were braces.
>>106415505
That's pretty cool.
>>
Does Guile have a package manager?
How does one install Guile libraries?
https://www.gnu.org/software/guile/libraries/
>>
>>106415513
> i like non-standard specials
So, that’s a problem in that we often like things that aren’t good for us.
Starting off, you should try and do everything in core r5 scheme. Especially for small programs.

If you’re doing larger scale stuff and having retards maintain it that’s when you might want to dabble in bloatware common lisp-like features.
Myself, I’m getting back into lisp after being away from it for more than 30 years and I’m being extra strict in my self-training programme.

I like how everyone migrated to lower-case keywords, that evolutionary change makes sense.
It’s the little things in life that make it worth living, like that cigarette and beer after work.
>>
>>106415642
> package manager for guile.
Package manager written in guile: guix
Well-written scheme libraries are just “installed” by placing them in your load-path and use’ing them. Go for that first.
>>
>>106411757
>>106413562
Dumb question I guess, but thanks for humoring me
>>
>>106408724
There's one decent reason to choose one particular lisp over the others: that clojure actually has a real job market. It's a good old boys' club and you're gonna need a wizard hat to meet the "you must be this tall to ride" bar, but it's a real market.
>>
File: man.jpg (191 KB, 1280x720)
191 KB
191 KB JPG
GNU guile garbage collection
scm_gc_malloc(...)
This function supposedly frees the memory automatically when it's not reachable.

How can this function possibly know which variables are pointers to the memory allocated, if c++ does not store any metadata about the stack variables or about plain structs?
>>
>>106416910
https://www.gnu.org/software/guile/manual/html_node/Conservative-GC.html
>>
File: how-can-that-be.png (178 KB, 279x279)
178 KB
178 KB PNG
>>106416974
thank you anon!!!
>they don't differentiate, they just assume it's always a pointer
but that's insane!! Some objects may persist forever.
Just because of some random int in memory...
How could they do this to me???
>>
>>106417094
Yet another reason we need 128 bit native addresses and registers. Tagged memory adressess.
>>
>>106411540
Surprisingly, searching google for "guile picture language" doesn't return this page
https://elephly.net/guile-picture-language/manual.html
or even this page
https://elephly.net/guile-picture-language/
.
I only found it, because I looked inside the Makefile.am in the repo.
>>
File: ready-pepe.jpg (143 KB, 1062x1080)
143 KB
143 KB JPG
>>106417176
>128 bit native addresses
How does this solve the issue? They will just pack 4 ints into it.
>Tagged memory adressess
the tag will take extra space that could be used for my own nefarious purposes...
>>
>>106417215
Here’s the original link from the actual author
https://guile-devel.gnu.narkive.com/2cmcm3DV/simple-picture-language

What happened after that is anyone’s guess.
>>
Scheme Benchmarks
https://ecraven.github.io/r7rs-benchmarks/index.html
>>
>>106411757
- performance
>>
>>106417215
duckduckgo and bing returned this on page 2.

search engines that didn't return it at all
google
yandex
yahoo
>>
>>106417341
it's over for chibichuds...
>>
File: meep.gif (133 KB, 400x100)
133 KB
133 KB GIF
>>106417215
>>106417412
4get (brave) gets
https://4get.bloat.cat/web?s=guile+picture+language&scraper=brave
>>
File: nigirizushi.jpg (73 KB, 877x620)
73 KB
73 KB JPG
new bread
>>106419114
>>106419114
>>106419114
>>106419114



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