[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 / qa] [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: knights.jpg (843 KB, 1920x1080)
843 KB
843 KB JPG
>Lisp is a family of programming languages with a long history and a distinctive parenthesized prefix notation. There are many dialects of Lisp, including Common Lisp, Scheme, Clojure and Elisp.

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

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

>Learning Emacs
C-h t (Interactive Tutorial)
https://emacs.amodernist.com
https://systemcrafters.net/emacs-from-scratch
http://xahlee.info/emacs

>Emacs Distros
https://www.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

>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

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

>Clojure
https://clojure.org
https://tryclojure.org
https://clojure-doc.org
https://mooc.fi/courses/2014/clojure
https://clojure.org/community/resources

>Guix
https://guix.gnu.org
https://gitlab.com/nonguix/nonguix
https://systemcrafters.net/craft-your-system-with-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://paste.textboard.org/52b08691

(set! prev-thread (quote >>101183044))
>>
File: ànchovy.png (2.29 MB, 1500x1785)
2.29 MB
2.29 MB PNG
>new guileware just dropped
https://github.com/ebeem/guile-swayer
>>
>>101337465
there are no brakes on the scheme train, choo choo
>>
File: M197.jpg (49 KB, 500x450)
49 KB
49 KB JPG
>>101337465
See also
https://github.com/engstrand-config/dwl-guile
>>
Holy Trinity
>John McCarthy: Learn some programming languages — at least C, Lisp and Prolog.
https://www-formal.stanford.edu/jmc/whatisai.pdf
>>
>>101337465
god i want to switch to guix and go full lisp machine so bad
>>
Suffering (ノωヽ)
>no REPL yet (WIP)
https://github.com/Tensegritics/ClojureDart#completeness-status
>>
>>101337439
In asdf
:depends-on (:cl)
Gives error
:depends-on ()
Is fine
>>
File: 1720441871872673.png (1.27 MB, 1064x1192)
1.27 MB
1.27 MB PNG
>maids btfo
>mods btfo
>moids btfo
>glowROODYPOOs btfo
>newFRIENDS saved
>oldFRIENDS saved
>timeline saved
>tech industry saved
>economy saved
>jobs created
>fastman secured

(comment
fastlisp spec 2.2
1 jul 2024
john morris beck
this is a comment. here we use lambda as let to spawn an environment where an object named id is applied to itself twice, then applied to a string.)
((lambda id (id id id))(lambda x x)(text this is a string containing a \). the behavior of \\ is undefined. text is sugar for pairs of booleans in the lambda calculus. if fastlisp halts it returns a lambda that can guide macro expansion in the outer system extending the syntax.))
>>
File: ruby.jpg (71 KB, 300x440)
71 KB
71 KB JPG
>>101332078
>>101333659
Ruby is MatzLisp
https://rubytalk.org/t/rake-friday/24824/10
>>
File: FAST-LISP.jpg (71 KB, 400x533)
71 KB
71 KB JPG
>>101339178
https://museum.ipsj.or.jp/en/heritage/FAST-LISP.html
>>
File: 1569016242284.gif (84 KB, 640x640)
84 KB
84 KB GIF
Scheme!
>>
File: kneel.png (193 KB, 1200x1750)
193 KB
193 KB PNG
>Summary
>1. Emacs taught me freedom for software
>2. Emacs taught me how to read code
>3. Emacs taught me power of Lisp
>4. Emacs taught me how to implement a language core
>5. Emacs taught me how to implement a garbage collector
>6. Emacs helped me to code and debug
>7. Emacs helped me to write and edit text/mails/documents
>8. Emacs helped me to be a effective programmer
>9. Emacs made me a hacker
>10. Emacs has changed my life
http://xahlee.info/emacs/emacs/Matz_Ruby_how_emacs_changed_my_life.html
>>
>>101337820
do it do it do it
>>
File: neuro.jpg (211 KB, 1389x1500)
211 KB
211 KB JPG
>>101312212
Interesting
to spiral :size :angle
if :size > 100 [stop]
forward :size
right :angle
spiral :size + 2 :angle
end

https://el.media.mit.edu/logo-foundation/what_is_logo/logo_primer.html
>>
https://clojure.org/news/2024/07/05/deref

I didn't know that Squint is a thing, might be interesting
https://squint-cljs.github.io/squint/
>>
File: Zenith_Greyrat.jpg (474 KB, 1350x2050)
474 KB
474 KB JPG
>>101343745
>https://github.com/squint-cljs/squint#projects-using-squint
There's a nice game using it. Also SEXps with Zenith.
https://tofutheloafu.itch.io/zenith
>>
>>101339178
Hey mister memesmith sir I'm wondering if you were serious the other day or just shitposting when you """officially""" endorsed a presidential candidate with policies that actively target homeless people
How are you supposed to write code and play games on the go when you're literally being hunted for sport? Also do you have any example programs
>>
>>101344099
>memesmith
literally who
>>
test
>>
File: ゼニス.jpg (816 KB, 2400x3000)
816 KB
816 KB JPG
>>101344048
Good shit
https://github.com/trevorcode/zenith-game
>>
Is it possible to use the musl libc in guix system? Assuming you would have to compile everything yourself if it is
> why?
I like to be different
>>
File: schemes.png (1.22 MB, 1024x1024)
1.22 MB
1.22 MB PNG
>>101343086

Counter-clockwise from the top-left:
cyclone
gambit
racket
chicken
chibi
guile
https://get.scheme.org/

>>101344028
>>
I feel like a retard, how do I clean this mess up?
I'm going through the cd catalog example in practical clisp and wanted to make a nicer prompt

(defun param-list-prompt (in)
(setq keywords (remove-if-not #'keywordp in))
(setq res nil)
(loop for i from 0 to (- (length keywords) 1) do
(if (> i 0)
(clear-rows (- (length keywords) 1)))
(loop for j from 0 to (- (length keywords) 1) do
(format t "~A: ~A~%" (nth j keywords) (or (getf res (nth j keywords)) "")))
(move-cursor-up (- (length keywords) i))
(move-cursor-right (+ (length (symbol-name (nth i keywords))) 2))
(setf (getf res (nth i keywords)) (if (not (null (getf in (nth i keywords))))
(funcall (coerce (getf in (nth i keywords)) 'function))
(prompt-read "" :clean t)))
(move-cursor-down (- (- (length keywords) 1) i)))
res)
>>
>>101338457
Those are system dependencies, not package names. Fo example there you would put CL-PPCRE or CL-GTK4 (the system / library name from quicklisp) but the package is just PPCRE (or GTK4).
>>
>>101346243
Don't have time to read your spaghetti but clisp is an implementation, the language is CL.
>>
>>101337864
Grim
>>
File: saint-button.png (68 KB, 455x148)
68 KB
68 KB PNG
>>101341553
M-x based-mode
>>
>https://dl.acm.org/doi/pdf/10.1145/3386330
Scheme HISTORY sirs good mornign
>>
>>101349066
>Bob Hieb, whose work on syntax-case would have gone into his PhD dissertation, died in an automobile accident on 30 April 1992.
CIA tried to stop scheme
>>
File: M.jpg (488 KB, 1570x2284)
488 KB
488 KB JPG
>>101343745
>Thanks OSS Award (in Japanese) - Toyokumo (https://oss.toyokumo.co.jp)
NAISU
>>
>>101349066
bitch lasagna
#define veggie "salad
printf(veggie bar");
>>
>>101351535

faakhead
>>
File: xah-chink.gif (1.46 MB, 368x250)
1.46 MB
1.46 MB GIF
>>101352388
faaakin' zooomer
>>
Is this heresy?

>Run lua instead of elisp in emacs
https://github.com/MAlba124/luamacs

https://github.com/MAlba124/memacs/blob/master/init.lua
>>
File: malli.jpg (484 KB, 1080x1137)
484 KB
484 KB JPG
(defmacro =>
"Make malli schema defs for single-arity functions less verbose."
([fun args] `(malli.core/=> ~fun [:=> ~args :any]))
([fun args return-val] `(malli.core/=> ~fun [:=> ~args ~return-val])))

I'm starting to really like malli. Especially how easy it was to get clj-kondo in emacs to work with it.
>>
FUCK
PARENTHESES
all my homies HATE variadic arguments
>>
>>101353670
run Lua transpiled from Fennel in Emacs to go full circle
https://fennel-lang.org
>>
>>101354290
i've never used it but it just straight up looks better than spec in every way based on the stuff you've been posting here
shame i am stuck with it at work
>>
>>101354358
>it just straight up looks better than spec in every way
yeah it pretty much is. The syntax is just that of Hiccup, which I like a lot.
I have some hobby projects that use Spec, and if I ever feel like working on those again, the first thing I'm going to do will be to migrate them to Malli.
>>
File: emacs.png (405 KB, 880x480)
405 KB
405 KB PNG
>>101353670
Emacsen
https://www.emacswiki.org/emacs/EmacsImplementations
>>
>>101354290
Did you ever figure out your uuid problem where it kept returning the same uuid instead of generating a new one?
>>
>>101354308
Are you using indentation instead of parens to represent the tree structure of the expressions?
>>
Wrote a simple planetary gravity simulator for my CL game. It randomly generates stable(ish) orbits for some random planets, using Kepler's differential equation for gravity and Euler integration. Just need to add moons (easy because I will ignore the main star and just do a mini solar system on a planet), tidal locks (hard and I don't know how to do it yet but I need it for moon phases) and a calculator for the length of an orbit in time.
I also need to fix planets going in the opposite direction but I can't be bothered to write the matrix code to check whether a vector is oriented properly so that's for later.
Btw, has any linear algebra library gotten usable? I pretty much had to handcode all of the linear algebra and it's getting messy at this point.
>>
>>101357351
whitespace does not matter. the AST exists in memory as a very flat vector. the tree is able to be inferred during execution due to knowledge of the number of arguments each keyword and function takes.
>>
>>101346629
I know that but why does cl as a system give error is the question.
>>
>>101345951
I meant clockwise.
>>
File: 66.jpg (93 KB, 500x500)
93 KB
93 KB JPG
>>101357706
Nice
SBCL?
>>
>>101357900
Because its not a system? Just like how you can't
(asdf:load-system :cl)
>>
>>101357753
Will you extend it to automatic currying?
You could take the idea of forsp and use parenthesis to create thunks.
>>
why is lisp used exclusively by autists and hardly ever in widely used production applications?
>>
widely used production applications ≠ webshit slop
>>
File: IBM_LCSI_Logo_Circles.png (5 KB, 1920x1440)
5 KB
5 KB PNG
>>101343015
end
>>
>>101359968
>Will you extend it to automatic currying?
what do you mean?
>You could take the idea of forsp and use parenthesis to create thunks.
would have to read more into this to see the point.

the language is sitting on ice right now as I prepare other projects for wedding to it. a unique feature of the language is the ability to "resume" to its most recent state based on persisted side effects (like temporal.io or flawless.dev), even with concurrent threading.
>>
>>101359942
So cl package exists but cl system doesnt?
>>
None of these will get you a job? What's the most employable one? Hopeless.
>>
>>101362577
>None of these will make you a slave
Good.
>>
>>101362577
java is the most powerful lisp perfect for gorgeous looks sar
redeem the java become the weapon of java sirs
>>
>>101362577
(defun redeem (sar vouchers) 
(if (null vouchers) (format t "Nooooooooooo SAR the village will starve")
(progn (format t "Please SAR ~A do not redeeeem another voucher You only have ~A vouchers left ~%" sar (length vouchers))
(format t "Voucher ~A redeemed~%" (car vouchers))
(redeem sar (cdr vouchers)
))))
(redeem "Anon Anovski" '( 100 200 200 500 0.5 "cow dung"))


Please SAR Anon Anovski do not redeeeem another voucher You only have 6 vouchers left
Voucher 100 redeemed
Please SAR Anon Anovski do not redeeeem another voucher You only have 5 vouchers left
Voucher 200 redeemed
Please SAR Anon Anovski do not redeeeem another voucher You only have 4 vouchers left
Voucher 200 redeemed
Please SAR Anon Anovski do not redeeeem another voucher You only have 3 vouchers left
Voucher 500 redeemed
Please SAR Anon Anovski do not redeeeem another voucher You only have 2 vouchers left
Voucher 0.5 redeemed
Please SAR Anon Anovski do not redeeeem another voucher You only have 1 vouchers left
Voucher cow dung redeemed
Nooooooooooo SAR the village will starve
>>
emacbros, has the default value for truncate-lines been changed recently?

I'm pretty sure prog-mode buffers didn't wrap lines by default a few weeks ago, but now they do and I hate it. and I don't remember ever setting a value for this variable in my config
>>
>>101365406
nvm turns out I was setting this variable in my config
>>
>>101361310
https://xorvoid.com/forsp.html
>>
>>101357312
nope, for now I'm using the workaround
(->> (random-uuid) (assoc order :id) order-coercer)

which is about 5% slower than doing everything via the coercer, but still 35 times faster than calling malli.core/coerce directly
>>
>>101367382
good enough.
>>
>>101363007
>>101363796
>>101364638
So there's not a single Lisp that will get me a job?
>>
>>101367631
you can suck my dick, I'll give you five bucks if you do it while writing a Lisp program
>>
>>101367758
Dude I'm being serious here. I'm not shitposting Lisp
>>
>>101367972
clojure
>>
File: maxpayne_scowl.jpg (50 KB, 452x452)
50 KB
50 KB JPG
>>101367972
Lisp is for people who actually enjoy programming. It's not that there are no jobs at all, but if you're just in it for the money and want to be an employee at some corporation, you're better off learning a more mainstream language like Java, JS, C# or even Cobol.
>>
If I don't want to import the match library in scheme, is it bad practice to rewrite my function as a macro with pattern matching?
>>
>>101369476
if you want pattern matching, why not import pattern matching?
>>
>>101368690
>>101368697
I don't know how to code at all. I just want to use an easy to learn high tech language
I need a job really bad. I've been a neet for ten years
>>
>>101337439
why is Marii from Joshiraku there? Is she related to programming? I can understand Lain but not Marii.
Sorry my anime autism.
>>
>>101369791
learn Go
>>
>>101369791
java, python, c#, javascript
you probably have bigger issues to worry about than learning a language if you've been a neet for 10 years though
>>
File: 1716812659641237.jpg (100 KB, 1280x719)
100 KB
100 KB JPG
>>101369476
it's fine, just have fun writing your program
>>
>>101369791
I mean lisp is easy to learn it has most logical syntax. It could be a good starting point but If you are like me other languages will suck for you.
>>
>>101369791
Lisp is a good starting point to learn about programming because it's so simple.
Check out the books The Little Schemer and How to Design Programs for different didactic approaches.
>>
File: 1711256999378081.png (176 KB, 441x421)
176 KB
176 KB PNG
>>101369884
>why is Marii from Joshiraku there?
It's from this SICP edit, I don't think she's particularly related to programming.
>>
>>101369884
Mostly just the anime culture of this website and people posting a cute anime girl with a SICP rather than some deep connection to anything.
>>
I wanna try using CL (sbcl) for a game but I was burned by Java last time when it came to performance. Can I expect perf to be any better since there's no JVM overhead? I'm assuming there's some sort of runtime for all the recompilation magic to work, how heavy is it? Is it a one-time cost type-of-thing or will it scale up with my application like Java's?
I know performance will likely be better since I'll be relying on C libraries for rendering instead of the super shitty Java ones, but I'd still like an idea if anyone has a frame of reference.
>>
>>101369887
>>101369925
I can't learn that stuff
>>101369991
>>101370158
I just need something easy to get a job. Whys it so hard to get a job
I hate programming
>>
>>101374500
lol
anyways Lisp is fun but it's not "easy", just go learn JS or something
>>
File: redeemed.png (56 KB, 600x800)
56 KB
56 KB PNG
>>101364638
it's redeemed sar
>>
File: xyz_2.jpg (61 KB, 530x663)
61 KB
61 KB JPG
I am using chez scheme to develop a game using sdl (bindings from someone on github), but I'm stuck translating this line from lazyfoo's tutorials:
SDL_FillRect( screenSurface, NULL, SDL_MapRGB( screenSurface->format, 0xFF, 0xFF, 0xFF ) );

https://lazyfoo.net/tutorials/SDL/01_hello_SDL/index2.php
>>
File: 1720649072394150.png (38 KB, 800x549)
38 KB
38 KB PNG
>>101359991
Because it's cute.
>>
>>101364638
Epic
>>
>>101374500
learn clojure nigga
>>
>>101376877
>https://lazyfoo.net/tutorials/SDL/01_hello_SDL/index2.php

do you have a link to the bindings?

its common lisp, but here was someone else's interpretation of that tutorial:
https://github.com/TatriX/cl-sdl2-tutorial/blob/master/01-hello-sdl.lisp
>>
i want to read SICP and use scheme for academia and personal projects: guile or racket?
>>
File: solved.jpg (159 KB, 1500x1500)
159 KB
159 KB JPG
>>101376877
Depending on the types it'll be something like
(let* ([surface.format (parse-struct surface format sdl:surface-fields)]
[@format (bytevector->pointer surface.format)])
(sdl:fill surface %null-pointer (sdl:rgb @format #xff #xff #xff)))

chez' ffi differs tho
>>
>>101379521
racket is more orientated towards that, but either is ok
>>
>>101376877
sdl2:fill-rect screen-surface nil (sdl2:map-rgb (sdl2:surface-format screen-surface) #xff #xff #xff)
>>
>>101374500
>I hate programming
then do something else.
There are plenty of other jobs out there.

As for programming, check out the games Human Resource Machine and Exapunks. If you find you can't even enjoy programming when it's put in a puzzle game format, there's no point continuing down this path.
>>
>>101359991
Historical reasons. Downfall of AI in the 80s, proliferation of VM languages like Java and interpreted languages like Python. Just never recovered in terms of popularity.
>>
>>101379521
CHICKEN
>>
>>101379407
>>101379524
>>101379688
at first i was using https://github.com/steven741/chez-sdl now I'm using https://github.com/ovenpasta/thunderchez
this is really frustrating.
SDL_PixelFormat* SDL_GetSurfaceFormat(surface){
return surface->format;
}

I believe this ought to work, I can call it with ffi, but I wanted to go scheme only
(sdl-fill-rect surface #f (sdl-map-rgb (sdl-surface-format surface) #xff #xff #xff))
>>
>>101382725
I wish Scheme libs were written with threading macros in mind. That would be easier to read if you could write it as
(->> surface
sdl-surface-format
(sdl-map-rgb #xff #xff #xff)
(sdl-fill-rect surface #f))
>>
File: 1704072684210431.jpg (11 KB, 236x236)
11 KB
11 KB JPG
>>101382725
If you have a reference to surface then (ftype-&ref ftype-name (a ...) fptr-expr) or (foreign-ref type address offset) are ways to get the address of the format field (from the chez manual), there may a higher level interface or examples in the library you're using

>I believe this ought to work [...] (sdl-fill-rect surface #f
#f is a scheme object not a null pointer, (ftype-pointer-null? #f) raises an exception

and yes it's frustrating initially, would recommend writing a minimal binding against libsdl.so to understand how your scheme's ffi works. In guile structs are implemented with bytevectors so there's often copying or casting vectors involved in accessing struct fields, whereas chez seems to use foreign-alloc and *-&ref procedures to achieve much the same thing. Good luck anon
>>
>>101369887
go learn?
>>
File: 1707849972246038.png (1.12 MB, 849x1200)
1.12 MB
1.12 MB PNG
Read SICP.
>>
File: wizard.jpg (2.93 MB, 2448x3264)
2.93 MB
2.93 MB JPG
>>101387751
Yes, sir.
https://www.youtube.com/watch?v=RhSwBgF-g4I
>>
>>101387751
Hmmmmmmmm nyo.
>>
is the point of structural editing packages like paredit that sexps are always balanced? at first I thought it was navigation and stuff like killing sexps but literally everything but slurp/barf is present in vanilla emacs. I'm not understanding why I would use something like paredit
>>
>>101388930
How do I use vanilla emacs to keep parens balanced?
>>
>>101388930
For me it's
https://shaunlebron.github.io/parinfer/
>>
File: covfefe.jpg (43 KB, 481x568)
43 KB
43 KB JPG
>>101366657
nice forthlisp
>>
Chez syntax case and phasing was driving me insane. Rewriting symbolic derivatives using functions only.
(define (derive variable expr)
(format #t "~a ~a ~%" variable expr)
(if (list? expr)
(let ((op (car expr)))
(case (car expr)
('+ (derive-sum variable expr))
('* (derive-prod variable expr))
('expt (derive-expt variable expr))
(else (derive-atomic variable expr ))))
(derive-atomic variable expr)))

(define (derive-atomic variable expr)
(if (list? expr)
expr
(if (eqv? variable expr)
1
0)))

(define (derive-sum variable expr)
(let ((args (cdr expr)))
(cons '+ (map (lambda (e) (derive variable e)) args))))

(define (derive-prod variable expr)
(let* ((args (cdr expr))
(f (cadr expr))
(g (caddr expr)))
`(+ (* ,f ,(derive variable g))
(* ,g ,(derive variable f)))))

(define (derive-expt variable expr)
(let* ((args (cdr expr))
(base (car args))
(expoent (cdr args)))
(cond
[(eqv? variable base) `(* ,expoent (expt ,base (- ,expoent 1)) ,(derive variable base))]
[(or (number? base) (atom? base)) `(* (expt ,base ,expoent) (log ,base) ,(derive variable expoent))]
[else `(+ (* ,expoent (expt ,base (- ,expoent 1)) ,(derive variable base))
(* (expt ,base ,expoent) (log ,base) ,(derive variable expoent)))])))

>>
>>101393423
This allows me to simplify expressions:
(define (remove-identity args id)
(or (remove id args) id))

(define (simplify-atomic expr)
(if (> (length (cdr expr)) 1)
expr
(cadr expr)))

(define (simplify-op op args id)
(simplify-atomic (cons op (remove-identity args id))))

(define (simplify expr)
(if (list? expr)
(let ([op (car expr)]
[args (map simplify (cdr expr))])
(cond
[(eqv? op '+) (simplify-op '+ args 0)]
[(eqv? op '*) (if (member 0 args)
0
(simplify-op '* args 1))]
[else (cons op args)]))
expr))
>>
>>101393436
So I can still use general cases that produce garbage like division per zero or log 0:
;; f = x ^ 2 + y ^ 3
;;df/dx = 2 * x + 0

(derive 'x '(+ (expt x 2) (expt y 3)))
=> (+ (* 2 (expt x (- 2 1)) 1) (* (expt y 3) (log y) 0))

(simplify (derive 'x '(+ (expt x 2) (expt y 3))))
=> (* 2 (expt x (- 2 1)))
>>
>>101366657
Forth and lisp are nice combo. It always tought forth should be language for extra speed and lisp shoule be high level language calling system functions made in forth.
>>
>>101382725
>>101383759
Reading more of the user guide I found how to extract fields from foreign struct pointers and made a small example:
#include <stdlib.h>

typedef struct {
int x;
int y;
} Pair;

Pair *square(Pair *a)
{
Pair *pair = malloc(sizeof(Pair));
pair->x = a->x * a->x;
pair->y = a->y * a->y;
return pair;
}

Compile with cc -shared name.c -o name.so, then in your scheme buffer/repl:
(load-shared-object "/path/shared-object.so")

(foreign-entry? "square") => #t

(define-ftype Pair
(struct
[x int]
[y int]))

(define square
(foreign-procedure "square" ((* Pair)) (* Pair)))

(define pair (make-ftype-pointer Pair (foreign-alloc (ftype-sizeof Pair))))

pair => #<ftype-pointer Pair 726416>

(ftype-set! Pair (x) pair 2)
(ftype-set! Pair (y) pair 4)

(ftype-ref Pair (x) pair) => 2
(ftype-ref Pair (y) pair) => 4

(define new (square pair))

new => #<ftype-pointer Pair 19822448>
(ftype-ref Pair (x) new) => 4
(ftype-ref Pair (y) new) => 16

Basically `pair' and `new' have type #<blob address> which is just an opaque sequence of bytes to scheme, and set/ref look at the scheme definition of Pair to know at what byte offsets x and y are. Hope this helps with accessing SDL's structs
>>
>>101393476
God writting functions is so much easier.
Even testing is better, I made this test util that spits TOML
(make-simple-test #t "derive" (('(* x x) '(+ (* x 1) (* x 1)))
('(* x y) '(+ (* x 0) (* y 1)))
('(expt x 2) '(* 2 (expt x (- 2 1)) 1)))
(lambda (e) (derive 'x e)))
=>
[derive]
Case.1.expression = "((lambda (e) (derive 'x e)) (* x x))
Case.1.expected = "(+ (* x 1) (* x 1))
Case.1.result = "(+ (* x 1) (* x 1))
Case.1.status = true

Case.2.expression = "((lambda (e) (derive 'x e)) (* x y))
Case.2.expected = "(+ (* x 0) (* y 1))
Case.2.result = "(+ (* x 0) (* y 1))
Case.2.status = true

Case.3.expression = "((lambda (e) (derive 'x e)) (expt x 2))
Case.3.expected = "(* 2 (expt x (- 2 1)) 1)
Case.3.result = "(* 2 (expt x (- 2 1)) 1)
Case.3.status = true
>>
I'm using lsp-mode with flymake as a diagnostics provider

suppose I'm editing two buffers, A and B. in B I call a function that's defined in A. if I delete the function definition in A, the call in B becomes an error

the problem is: emacs only reports the error after I update and save B. if I keep B as it is, the compiler will tell me there's an error, but not emacs

is it possible to make emacs periodically check the whole project (or at least all the open buffers from the project) for errors every time I save any of the buffers? I tried searching for a function in both lsp-mode and flymake that would just run a check on a buffer, but I couldn't find one that works (at least not interactively)
>>
>>101396280
I tried to write a function that
- finds all the buffers from the same project
- inserts a character at the end
- deletes that character
- saves the buffer
but it still doesn't update diagnostics. fug
>>
>>101397154
What language? What is the problem with saving the buffers?
>>
>>101397186
rust. it's been a while since I wrote C# so I don't remember if it works the same way there
>>
>>101397217
I use eglot on a legacy python project that is so full of errors that it just gives up reporting, I don't have a lot of experience with LSPs. I know you can configure Flymake to run every so and so idle seconds or just when you save, but I am not aware of how it works for multiple files, since that is the LSPs job I think.
>>
File: output.webm (606 KB, 800x600)
606 KB
606 KB WEBM
>>101357706
I added a sky view, from the perspective of a point on any given planet. The planets all have axial tilt and some rotation speed.
(Planets in the video have mostly ~30 day years except the far away ones so they rotate quite quickly)
>>
i remember someone working on an alternative to geiser a while back, anyone know what it's called?
>>
>>101398130
Is geiser not good?
>>
>>101397933
>>101357706
that is actually pretty nice man. congratulations
>>
im getting ready to dropkick asdf and quicklisp and everything related to them and just load files myself
>>
>>101397933
>doesn't even simulate n-body problem
eugh
>>
>>101399131
it's hot garbage actually
i don't think i've ever seen anyone say anything positive about it
>>
File: 1690897383494764.jpg (104 KB, 567x708)
104 KB
104 KB JPG
>>101399655
n-body solutions don't add anything interesting for astrological purposes over regular Keplerian models in time scales on order of human lives
for context this is going into my CL game, for which I plan to add a magic system that relies on (or is strongly influenced by) the movement of stars
>>
>>101399131
It is terrible, I use it daily and I really wish sly or slime worked with scheemes.
>what is the problem
Compared to slime or sly, everything is janky.
>>
>>101357706
>Kepler's differential equation for gravity
what do you mean? do you have links? I am a noob to astronomy
>>
>>101399831
You can derive it from the equation for the force of gravity and the identity F = ma, then assuming the mass of the planet is negligible you get:
a = GMr/(|r|^3) where a is acceleration and r is position, so a = r'', which gives you a second order differential equation which you can solve to find r' (velocity) and r. The solutions to this differential equations are precisely orbital paths in a Keplerian model.
>>
>>101399865
ah yes of course, I just never heard that being called by that name.
>>
best way to setup emacs daemon in debian?
>>
why emacs uses c when it could abstract from asm? lisp can't be as portable as c? even with muh macros?
>>
>>101400910
There are lisps that compile to machine code, like common lisp.
Don't know why emacs chose not to, maybe it was just too much work
>>
File: AReimu-15.gif (29 KB, 595x510)
29 KB
29 KB GIF
>>101400910
read zoomer faakhead
>Therefore, when I wrote my second implementation of Emacs, I followed the same kind of design. The low level language was not machine language anymore, it was C. C was a good, efficient language for portable programs to run in a Unix-like operating system. There was a Lisp interpreter, but I implemented facilities for special purpose editing jobs directly in C — manipulating editor buffers, inserting leading text, reading and writing files, redisplaying the buffer on the screen, managing editor windows.
https://www.gnu.org/gnu/rms-lisp.html
>>
>>101400903
https://www.emacswiki.org/emacs/EmacsAsDaemon
>>
>>101401318
i tried this and works like shit
>>
>>101401318
sorry it worked now
>>
>>101398130
This?
https://emacsconf.org/2023/talks/scheme/
>>
>>101403148
>arei
yeah that was it, thanks anon
i recall someone saying that it's a pain to use outside of guix, guess ill just have to try
>>
Is there a way to replace stuff in a "smart" and fast way?
(passes (hashtable-ref header 'passes "undefined"))
^^copy paste this ^^

(passes (hashtable-ref header 'passes "undefined"))
(passes (hashtable-ref header 'passes "undefined"))

^^move to the second, C-M-SPC to select it, then M-X replace-string RET
passes => fails RET

(passes (hashtable-ref header 'passes "undefined"))
(fails (hashtable-ref header 'fails "undefined"))

Lots of typing, and this is getting recurrent in the thing I am working on.
What does that tsoding guy uses for example, or it is just really fast fingers?
>>
>>101404439
query-replace is bound to M-%, you don't have to use execute-extended-command (! replaces all matches, you don't have to hit y at every match). Otherwise if it is the same commands over and over define a keyboard macro and kbd-macro-query for the from and to string in query replace.
>>
>>101405168
amazing, emacs teaches me something every day
>>
File: Untitled.png (52 KB, 738x1000)
52 KB
52 KB PNG
>>101395116
https://paste.textboard.org/8c3cd3ff
Small sdl2 example, I'm not sure I defined the foreign pointer types right as it inverts the use of * and & from C, anyways it werks
>>
does anybody know how can I paste into vterm when using xah fly keys?
>>
>>101406373
if xfk can do mode specific keymaps do that, or just use it in insert state (or whatever xfk calls it). vterm defines several of its own commands for things like yank and undo, and the rest of the keys are bound to vterm--self-insert.
>>
>>101357753
>death-certificate
>>
Does Lisp make more sense as an extension language these days? It's not like a bunch of video games are written in it but I'd prefer it to Lua.
>>
File: 35.jpg (29 KB, 600x581)
29 KB
29 KB JPG
i want to write my own emac but i'm a nocooder, is knowledge inside of sicp sufficient to figure out how to make one
>>
>>101409999
>>
>>101409995
Are you just talking about making emacs your own, as in highly customizing it, or are you actually talking about making a whole new emacs like editor from scratch?
>>
Good afternoon, i don't know if this is a matter of permissions or that i'm not working in the emacs way, but i'm trying to take the most recent file like i would in a bash console, but in eshell i get this 'hangup' error or nothing at all, what can i do?

~/.emacs.d $ ls -t | head -1
hangup
~/.emacs.d $ ls -t | head -1
agenda.org
~/.emacs.d $ ls -t | head -1
~/.emacs.d $ ls -t | head -1
>>
>>101410223
>emacs like editor from scratch?
i would like it to be a bit more than an editor but yes i want to write an emacs
>>
>>101410458
I don't know why is that, but *| should fix it
https://www.gnu.org/software/emacs/manual/html_node/eshell/Pipelines.html
>>
>like eshell
>run it in EAT
>still full of weird ass latency problems
>can't handle parallel downloads in pacman either
i wish emacs wasn't so slow
>>
>>101410819
True, thank you
>>
>>101409995
Good luck,
https://emacswiki.org/emacs/EmacsImplementations
>>
>>101379524
Did she rotate the puzzle piece in the 4th dimension? How the fuck did she do that?
>>
>>101362485
Correct.
>>
>>101403148
Nice. Promising project.
>>
have any of you Racket guys used Fructure? How practical did you find it?
Asking because I'm planning to make something similar, but with vi keybindings on the desktop and perhaps a touch interface on phones, see >>101414651
>>
>>101414674
scratch is a lisp
>>
Who here Lisp+Neovim?
>>
File: moon.png (1.35 MB, 1680x1644)
1.35 MB
1.35 MB PNG
>>101416699
Checked
For me it's Coomjure
https://github.com/Olical/conjure
>>
this week I will learn more about emacs and lisp I swear
>>
>>101418131
M-x calendar-forward-week
>>
>can't even configure ipv4 forwarding in Guix
>copy&paste snippet from manual which should do this into services section of system configuration file
>reconfigure
>sysctl-service-type is unbound variable
Can't wait for all the stuff I have to configure in the interfaces file!
>>
>early reddit was written in CL
https://github.com/reddit-archive/reddit1.0
>>
>>101419829
yeah, it was rewritten by pythonshitters
truly grim
>>
>>101420039
python is the successor of lisp without parenthesis and like 10x shittier but it really is the philosophical child of lisp
>>
>>101418131
emacs is actually dogshit just use vim
>>
>>101420329
What's actually dogshit is vimscript. The dev environment for extending vim makes me feel like a caveman.
>>
>>101420437
i wont disagree but vim is almost perfect ootb and emacs has so much technical limitation and spaghetti it's impossible to achieve some functionality
i really fucking tried, it's just really bad
>>
>>101420437
>>101420460
>vimscript
Neovim fixes this with the Lua API.
You can even extend it with Fennel which is a Lisp if you're autistic enough: https://practical.li/neovim/reference/fennel/
>>
File: くう.gif (1.25 MB, 606x640)
1.25 MB
1.25 MB GIF
>>101420594
>https://practical.li/neovim/reference/fennel/
Very nice.
But I prefer the emac keybindings desu. I don't care about the hjkl vimeme slop.
>>
>>101419312
M-x calendar-end-of-week
>>
>>101420460
>technical limitation and spaghetti
Like what specifically?
>>
What's the most curious/funny/obscure shit you've built with Lisp? Mine:
(defun fb ()
(labels ((cute () (let ((pid (sb-ext:fork)))
(if (= pid 0)
(cute)
(cute)))))
(bomb)))
>>
File: ネコ.jpg (492 KB, 2000x1335)
492 KB
492 KB JPG
>>101423997
(do (not (rest (lazy-cat))))
>>
>>101423997
> (sb-ext:fork
I dont have fork function at all but I have sb-ext:
I also dont get the point IF seems usles its (cute) no matter what.
seems like infinite recursion to me.
>>
>>101423463
like i cant close the command prompt with just the escape key because of some spaghetti special cases
>>
>>101426997
I'm not sure what that even means.
The command prompt? Are you referring to a terminal? You could bind the escape key to close the terminal if you want.
That sounds like a you problem. Just because a terminal doesn't have a default keybinding of Escape doesn't mean anything is spaghetti.
If you're referring to using bindings like Ctrl-x or some other binding that needs to be intercepted by the terminal, you can either rebind that or just use Ctrl-c prefix which was designed for this exact problem.
If you're using something like evil mode, the same principles apply, just with the appropriate bindings instead of the ones I said specifically.
There is no spaghetti here.
>>
>>101427430
emacs has a command prompt you dumb chimp
>>
>>101427596
I've found the problem, and its you.
Are you talking about the minibuffer? You can bind whatever you want to close that too. Typically its Ctrl-g for cancelling an action or whatever your keybind mode binds it to. Again you can rebind it to whatever you want.
There is no "command prompt"
>>
>>101427655
>You can bind whatever you want to close that too
no you cant it's hardcoded you fucking mongrel get aids nigger
>>
>>101427700
You may be the single dumbest person I've ever seen try to use emacs.
No keybindings are "hard coded" lol
You got filtered by emacs haaaard
>>
>>101427836
>No keybindings are "hard coded" lol
>except when it's a prefix, this doesn't count
>>
>>101427882
Prefixes aren't hard coded either dumbass.
I have never see anybody so filtered lol
>>
>>101427950
yes they are you ESL fucking monkey
>>
>>101427981
meta-prefix-char
>>
>>101427981
Too bad I can change literally every keybinding to literally any key on my keyboard and you can't.
You're incompetent, and too stupid to even insult properly. I'm not even ESL, retard.
Can't you do anything right?
>>
>>101427994
>Too bad I can change literally every keybinding to literally any key on my keyboard and you can't.
i can via firmware and i do, i have ctrl on caps lock
>>101427994
it was org prefix iirc and the issue is that modes sometimes hard code to defaults
i'll try to config it to a usable state later today because org-mode would be useful for me
>>
File: 1694442201530092.png (19 KB, 591x313)
19 KB
19 KB PNG
>>
>>101429021
based faaking xah
>>
File: @sachac.png (54 KB, 931x466)
54 KB
54 KB PNG
yuge endorsement
https://x.com/xah_lee/status/1810534099893071895
>>
File: 1696513026607642.png (206 KB, 584x471)
206 KB
206 KB PNG
>>101429021
the fuck is xah doing
>>
File: xahlee_qq_ai.jpg (227 KB, 800x1257)
227 KB
227 KB JPG
>>101431140
>>101432396
TRVTHNVKE
>>
I recently assembled a elisp script for org-roam that will download and attach youtube subtitles to ref-captures of youtube videos.
There is probably a less retarded way of doing this via org-capture ref, but anyway:
(defun my/attach-subs-to-note ();
"attempt at attaching the subs of video-at-point."
(interactive)
(setq abuff (current-buffer))
(if (my/video-at-all-p)
;;then clause is begin
(let ((oldbuf (current-buffer)))
(with-current-buffer

(if (and (thing-at-point-url-at-point) (string-match-p (rx "/watch?v=") (thing-at-point-url-at-point)))
(my/youtube-sub-extractor-extract-subs-at-point)
(my/youtube-sub-extractor-automatic))
(rename-buffer (concat (substring (buffer-name (current-buffer)) 0 -2) "org"));;strip ".en" of subfile and use ".org" instead
(setq abuff (current-buffer))
)
(set-buffer oldbuf)


(if (not(org-attach-dir))
(org-attach-buffer (buffer-name abuff))
(if (member (buffer-name abuff) (org-attach-file-list (org-attach-dir)))
(message "subtitles are already present: %s " (buffer-name abuff))
(org-attach-buffer (buffer-name abuff))
)
)
(goto-char (point-min))
(org-roam-tag-add '("subtitles") )
(kill-buffer abuff)
(save-buffer)
(winner-undo)
)
(message "There is no videolink, neither at point nor in ROAM_REFS in the note %s" (buffer-name (current-buffer)))
)
)

(global-set-key (kbd "<f5> y m") 'my/attach-subs-to-note)
>>
>>101434088
I stg that I've seen someone do something very similar to this not too long ago....
>>
>I'm totally going to learn lisp and emacs and be one of those people who basically uses emacs as an operating system!!!
How many years and counting of procrastination
>>
>love lisp
>hate jews

what do?
>>
>>101435507
Life is complicated sometimes. On the whole, they've been a curse on humanity, but they have occasionally produced useful work. I can acknowledge the few good things they've done while simultaneously condemning their numerous crimes against humanity.
>>
File: theming-linux-demo.gif (3.04 MB, 1040x592)
3.04 MB
3.04 MB GIF
I'm intrigued. I might try out this when I get home.

https://github.com/jcaw/theme-magic
https://github.com/jcaw/theme-magic/raw/master/media/theming-linux-demo.gif
>>
>>101435507
do you think Jews who hate Germans refuse to drive cars just because cars were invented by Germans?
Use the Jew's creations against him and be proud of it.

Also, Clojure's creator is European American which makes Clojure "not lisp" according to self-appointed lisp gatekeeper jews like Richard Stallman, so just use Clojure.
>>
if /pol/acks want me to stop using schlomo's software they're welcome to provide something better
>>
Why ascii escape codes dont work with sly even if I run emacs inside a terminal? I want to be able to clear the screen for example but then I have to run sbcl in a separate pane, which feels like defeating the purpose of using emacs in the first place
>>
File: file.png (187 KB, 570x421)
187 KB
187 KB PNG
>>101426676
That's just a cute fork bomb, anon.
>>
>>101435849
>needs python, pywall and a bunch of other shit just to change the terminal colour
No, thanks mate.
>>
>>101426157
I love that one
>>
>>101419829
And it has to be about the worst CL codebase in existence. The worst part is that they blamed their struggles on CL which is what prompted the rewrite in python.
Truly the lisp curse: it makes writing unintelligible spaghetti too easy to trust anyone with it.
>>
>>101435507
Lmao do you actually refuse to use anything that a Jew invented or is this just posturing for /g/?
>>
>>101426997
Evil literally has code that does this
>>
>>101435849
Interesting
>>
>>101436904
Im glad semi jew invented. Lisp. Jews may be a plague on the world but north Europeans and germans suck at software. It always becomes a clusterfuck of complexity for the sake of complexity. Look at Bjarne Stroustrup or
Linus Torvalds. Its all autism 0 documentation cryptic code and error messages.
Jews on other hand make simple intuitive stuff. Emacs by Richard Stallman is way more intuitive and simple than unix way of germanic autists.
Common lisp by John McCarthy' is also simple.
Even that rabis framework for web apps CLOG is simple enough.
>>
>>101438522
>Truly the lisp curse: it makes writing unintelligible spaghetti too easy to trust anyone with it.

Not really even if you jerk off the spaghetti you produce will be shorter in size compared to other languages. Lisp acomplishes way more im way less code.
>>
>>101441214
jewish religion IS programming, as is contract law, as is financial speculation. Rabbis have thousands of years of experience building and navigating complex legalistic semantic structures by rote algorithm, often by intentionally twisting them into pretzels and subverting them for their own personal gain.
In other words they have an innate experience from a young age how many loopholes, edge cases, and logical contradictions come from complex rulesets and how extremely important it is to keep the syntax as simple and clear as possible with absolutely no room for misinterpretation or ambiguity.
>>
>>101441398
>In other words they have an innate experience from a young age how many loopholes, edge cases, and logical contradictions come from complex rulesets and how extremely important it is to keep the syntax as simple and clear as possible with absolutely no room for misinterpretation or ambiguity.

I doubt it I think lisp jews are rejects. Legal system and financial system controlled by jews are both clusterfuck of complexity.
>>
>>101441432
By design! It's a rejection of this that leads to lisp.
>>
>>101441486
So jews that reject judaism and its inherent complexity (torah, talmud, legal system, financial system)
Create the best systems.Makes sense
>>
forth is better
/thread
>>
File: 「PC」.png (287 KB, 500x500)
287 KB
287 KB PNG
>>101441885
>At MIT, John McCarthy taught an incredible course on LISP. That was my introduction to recursion, and to the marvelous variety of computer language. Wil Baden has noted that LISP is to Lambda Calculus as Forth is to Lukasewcleicz Postfix.
https://colorforth.github.io/HOPL.html
>>
>>101442026
I don't suck charles moore's dick like you suck mccarthy's. the stack-based rpn execution model existed long before forth was "invented." people always write their own implementation in complete disregard of the standard, if such a thing even exists. afaik even chuck recognizes this.
>>
>101442117
>101442026
>101441885
We urgently need to add emacs to the thread name to avoid this kind of retarded language autist to enter here.
>>
>>101442162
>to avoid this kind of retarded language autist to enter here.
to avoid getting this kind of retarded language autist into here.
* Sirs
>>
>>101441885
Post some useful free software written in Forth.
>>
>>101442177
ngl but there are prolly hundreds of satellites and associated equipment running on forth. But considering james webb runs on javascript, I don't think this is a good metric.
>>
>>101442427
Forth is just too low level dor most uses if you ask me. Its close to assembly.
>>
>>101442518
It is, and back in the day (and today too) there are bunch of radiation hardened microprocessors that just run forth.
>>
>>101442518
it's as low level as you need to be, but you can extend the language, so you can just implement an object system if you need it. just create your own tooling, I guess the closest comparison might be Scheme, except it's simpler.
>>
>>101443184
You can but do you really want to?
To me forth seems like a language to implement a driver in and then ffi it to lisp where I already have varios abstractions made. Im not interested in implementing map lambdas macros etc in forth. I know it can be done but why would i do it unless I want to do it for fun.
>>
>>101443184
how about you go to the forth general then
>>
>>101434580
I would be most interesting in seeing that solution. I spent way too much on mine, makes me suspect that there has to be a much more robust and elegant solution out there
>>
File: lisperati1000.jpg (57 KB, 557x500)
57 KB
57 KB JPG
>>101434088
Impressive.
>>
File: EmacsExperienceIDE.png (448 KB, 1024x560)
448 KB
448 KB PNG
>>101444491
thanks.
I could not post all the code because of character limit, sadly. But it basically relies on the package youtube-sub-extractor which, in turn, relies on yt-dlp.
The challenge was to handle the hard-coded opening of a new buffer with tons of useless (for me) decoration.

My next steps in this project will be:
- Automatically crawl my org-roam database for all notes having ROAM_REFS containing "youtube" but which are not channel names to auto-add subtitles to all of them (hardmode: get a list of open tabs in FF and auto-capture all who are youtube videos and download-attach subtitles)
- To get a better org-recoll going that eventually will be the basis of more advanced text analysis functionality. My dream would be to have something similar to lsp/intellisense for the entire note. Basically if I write on topic X, it will do some ML/AI thingamajing like LDA/LDS and suggest "videos most likely to cover the topic you seem to be writing about"
>>
>>101443238
I suppose you can use existing implementations, like you can with Lisp. But I think the strength in using Forth (or even Scheme) is building your own tooling and extensions. You can get a lot out of that in the long term, or even just building an EDSL to suit the problem domain when working to solve an individual problem. And it's not fair to say this overcomplicates things; if anything, Forth is simple. When you look at how simple Forth code can be to solve a problem compared to, say, C.. it's kinda ridiculous.

>>101443266
They got an Odin general now, but there's no general for Forth. All hope is lost. I must spread awareness.

> captcha: TASK
>>
>101445240
>They got an Odin general now, but there's no general for Forth. All hope is lost. I must spread awareness.
Leave us alone, ever since a retard added the lambda to the general we attract some of the worst language autists ever. go bother other people, forth is in fact not a lisp or is related to emacs.
>>
>>101445240
>Forth code can be to solve a problem compared to, say, C.. it's kinda ridiculous.
Forth is superior to C in every regard. Its amazing how forth and lisp sespite being older are sane logical homoiconic languages and c and everything spawned from it is a clusterfuck that looks like a random key binding you make on a fly for one session in emacs.
C has been a disaster for computing in general. I would like it if kernel was written in forth or something sane. But unfortunately we are stuck with this abomination of a language due to pure legacy and coorproate backing.
>>
>>101445240
>>101445583
How do I get into Forth anon? (make a thread)
>>
>>101445240
you code make a memelang general to talk about the stuff that's not either mainstream, webshit or Lisp.

Too bad it'll be killed by AI slop threads
>>
>>101445771
not the anon but this seems like a good start. Its really a simple language there is not much to it.
https://skilldrick.github.io/easyforth/
>>
>>101446088
slopshart containment board when
>>
Bump.
>>
org-babel + tangling is great for managing dotfiles, i noticed.
>>
>>101447331
What is a dotfile? Like a hidden file? how does it help you with that?
>>
>>101447380
configuration files for a lot of user programs on linux are text files. this puts everything into one file i can organize and once i type C-c C-v C-t, it puts all the files in the right places.
>>
>>101447331
I do this too for some config files and some small scripts even.

>>101447394
>this puts everything into one file i can organize
It's very good for that.
>>
i literally just discovered this today https://github.com/akirakyle/emacs-webkit
>>
>>101447830
You can even combine this stuff with bookmarks so it jumps to the heading for whatever programs you have configured.
>>
>>101447830
>>101447394
can you share an example? I am very interested.
>>
File: scripts.png (68 KB, 1314x607)
68 KB
68 KB PNG
>>101447890
Here's a little screenshot from the org document that contains some of my small scripts. What I've found over time is that it's best for things that don't change often. If you're doing active development, the act of tangling introduces one extra step which will slow you down.
>>
File: 1692954774192897.png (267 KB, 1920x1016)
267 KB
267 KB PNG
>>101447890
here's an example of me messing with my mpv config. every time i save it overwrites ~/.config/mpv/mpv.conf with the stuff in that code block. the weird man-show stuff is a hyperlink.
>>
>>101447851
I have not had good luck with emacs compiled with xwidgets. Using any of the xwidget functionality has often resulted in a core dump from emacs. The last time I tried was probably about a year ago.
>>
>>101448056
Thanks. What do you use for those lines on the border of the code block, sir?
>>101448063
thanks. I just have a bunch of annoying network stuff all over, and some janky .ssh and git configs because of work and personal stuff on the same pc.
>>
>>101448189
https://howardism.org/Technical/Emacs/literate-devops.html
Sounds like this article could be a good read for you.
>>
>>101395116
FFI between a non-GCed language and a GCed one is a highly tricky endeavor. I would recommend looking into how something like rxi's lite text editor does it. The long and skinny of it: use the lowest level shared representation possible, build and pass around command queues in flat buffers for marshaling compound or complex data, and ensure that anything fancy and abstract is all happening on top of the primitives on the GC'd language's side. Doing all of that will allow you to avoid the worst parts of FFI.
>>
>>101448189
>Thanks. What do you use for those lines on the border of the code block, sir?
It's kinda buggy, but I'm using a combo of org-modern and org-modern-indent.
>>
>>101447851
cool
but eww just werks 4 me
>>
>>101449961
all that's really good for is reading html documentation
>>
>>101445583
>Forth is superior to C in every regard
Can you give me a portable program that will call a syscall like fork?
>>101409995
You might like this https://viewsourcecode.org/snaptoken/kilo/.
>>101400903
Probably a Systemd user unit.
>>
>>101451732
i might thanks
>>
Why use corfu instead of autocomplete? Good morning sars
>>
File: guile.png (218 KB, 1719x946)
218 KB
218 KB PNG
Ok, after embarrassing myself months ago, it seems like a graphical lisp console is in the cards. I barely know scheme, but my hope is to make something in between a terminal and a web browser (with general widgets too). As useless as I am, I still make my way.
>>
>>101454434
I haven't seen fvwm in a while.
>>
>>101454514
It's like crack if you have autism. If you aren't using fvwm, are you even using a computer?
>>
File: fvwm.png (1.13 MB, 1920x1080)
1.13 MB
1.13 MB PNG
>>101454570
I meant to upload a screensot. (Excuse the poorness).
>>
>>101454434
Interesting project
>web browser (with general widgets too)
Reminds me of this
https://packages.guix.gnu.org/packages/nomad
>>
>>101456213
To explain my view: 1. Erik Naggum (my country!) said that HTML (XML) is like Lisp. Javascript is also said to have its origins in Lisp. Lisp may be able to unify the markup, scripting and styling of the current "web GUI" trend in one language.
2. The TRON project and Symbolics had "objects"; a program could be a button/link in a document or "ls" could be rendered as individual link objects.
I don't think I'm sharp enough to truly realize this project, but I might be able to create a prototype. I hope that the truly gifted may do something, but as they say, dogs are on a leash because they're useful. It's only the useless like me who have the time to do this.
>>
>>101456213
>nomad
Too bad the name overlaps with:
https://www.nomadproject.io/
.
>>
>>101456213
It's also been a while since the last commit.
https://git.savannah.nongnu.org/cgit/nomad.git/

At least nyxt is still being worked on.
https://github.com/atlas-engineer/nyxt
>>
File: symbolics.png (639 KB, 1920x1080)
639 KB
639 KB PNG
Before I disappear for about ~3 months. I have been drinking, as the northern culture dictates (I'm seeing double).
(Why does it have to be me who has to develop a graphical Lips environment like the educated before me?)
You can expect that either nothing happens, or it reaches “the above” and: 1. Functions as UNIX terminal emulator with images and buttons. 2. A fully Lisp controlled canvas that supports RSS (with mpv), music playback, and file-management. 3. Like FvwmButtons, it becomes a ruleset that nobody can fully grasp...
>>
>>101458319
Have fun.
>>
>>101337439
Xah only scored 1260 on SAT, you can see it on his linkedin
>>
>>101460576
how good/bad is a 1260 SAT? from the land of baked potatoes and bad teeth so I never did the SAT.
>>
>>101461757
It's above average, but not exceptional.
https://blog.prepscholar.com/sat-percentiles-and-score-rankings
82nd percentile nationwide
>>
I'm pleasantly surprised that this old thing still works.
https://github.com/vincekd/comment-tags
>>
>>101337439
I like Neovim and use it for everything, I only use the Emac for Org Mode.
>>
>>101464366
You at least configure it in fennel, right anon?

Also why not use neorg?
>>
Why yank not auto indent, aaaaa
I don't want to manual indent, this shouldn't be hard, I don't want to write anything to add feature aaa!!
>>
>>101464409
>You at least configure it in fennel, right anon?

I am not that autistic, anon.

>Also why not use neorg?

Inferior org mode and orgmode.nvim is not there yet.
>>
this is the worst lisp thread in the history of lisp threads. the OP text was completely butchered, useful shit was replaced by generic links and the alt-names list was removed. please restore the original OP text on the next one and bring back the list
>>
>>101464923
Go back to >>>/r/eddit newfaggot
>>
>>101464474
I use orgmode.nvim but in a very basic way, what features is it lacking?
>>
>>101460576
Not bad, not good. Very xah-like.



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