← Home ← Back to /g/

Thread 106004428

102 posts 50 images /g/
Anonymous No.106004428 [Report] >>106006512 >>106030399 >>106037907
(λ) - Lisp General
>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://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://rentry.org/lispresources

(reset! prev-bread >>105917285)
Anonymous No.106004502 [Report] >>106004764
>>105992030
Also Clobber (Clojure)
https://youtu.be/kRd4JYIiWb0
https://github.com/phronmophobic/clobber
Anonymous No.106004581 [Report]
>>105992246
>https://wiki.call-cc.org/eggref/5/edward
Ed, man! !man ed
https://www.gnu.org/fun/jokes/ed-msg.html
Anonymous No.106004764 [Report]
>>106004502
How do you run clobber?
Anonymous No.106004931 [Report] >>106005262 >>106008427 >>106014841
I'm going back to Clojure after fucking around with Elixir, Rust, and a bunch of other shit. I'm so done with the bullshit man.
Give me my JVM hog, I love that pig. It snorts at me as I paint it with immutable symbology.
Anyway, to get into the spirit, and to "solidify" this decision (I REALLY need to embrace one language and just build shit with it), I am going to switch from Neovim (used for over a decade) to Doom Emacs and set up REPL integration.
Thanks for reading my blog post.
BTW here is a screenshot of an experimental hash map I wrote in Rust. It outperforms Swiss Table in some cases but got BTFO by a certain key arrangement.
Anonymous No.106005262 [Report] >>106005882
>>106004931
CIDER is great.
https://cider.mx
Anonymous No.106005322 [Report] >>106005996 >>106007252 >>106014826
I'm about a hundred pages into Practical Common Lisp, and I gotta say, the equality functions and their naming conventions are shit. Really the only issue I have with the language so far.
Anonymous No.106005368 [Report] >>106005388 >>106005395 >>106005559 >>106005957
finally a new guix mirror 4 russia
https://lists.gnu.org/archive/html/guix-devel/2025-07/msg00129.html
https://mirror.yandex.ru/mirrors/guix
Anonymous No.106005388 [Report] >>106005436
>>106005368
Is Guix still slow as fuck?
Anonymous No.106005395 [Report]
>>106005368
Good.
https://libreplanet.org/wiki/Group:Guix/Mirrors
Anonymous No.106005436 [Report]
>>106005388
It's OK for me (Thinkpad + SSD)
Anonymous No.106005559 [Report]
>>106005368
Nice.
But for me it's PantherX!
https://www.pantherx.org
Anonymous No.106005882 [Report] >>106005982
>>106005262
>install Doom Emacs
>long lines do not wrap
>go to `config.el`, try to change `(setq display-line-numbers-type t)` to `(setq display-line-numbers-type 'relative)`
>put cursor over the t
>press s to substitute, like in Vim
>does nothing
>s is not bound to substitute by default
bruh, who the fuck thought it would be a good idea to rebind a very common Vim keybinding
Anonymous No.106005957 [Report]
>>106005368
>yandex.ru
i'm paranoid about these guys, manually checking hashes for iso files might be necessary
still this happening is a good thing, for a variety of reasons.
Anonymous No.106005982 [Report]
>>106005882
>long lines do not wrap
I recently learned about visual-wrap-prefix-mode. It'll wrap lines while also respecting indentation. It's like line wrap for programming modes.
Anonymous No.106005996 [Report]
>>106005322
Yeah it took me some time to get accustomed as well but I think this distinction is important. When you say that two things are 'same' it can actually mean completely different things depending on context.
That both objects live in the same memory region?(Eq)
That both objects have the same byte representation?(Eql)
That both numbers are same regardless of internal representation? (=)
That both lists have the same structure even if they inhibit different regions of memory? (Tree-equal)
Anonymous No.106006042 [Report] >>106006065 >>106006084 >>106006099 >>106007875 >>106008120 >>106008802 >>106014920
why would i use lisp when lua and C exist?
Anonymous No.106006065 [Report]
>>106006042
The only thing of value from lua is luajit.
The language is pretty terrible.

C is a wonderful bootstrapper into lisp and scheme.
Anonymous No.106006084 [Report] >>106006472 >>106014866
>>106006042
C doesn't even have namespaces. Lua doesn't even have macros.
Common Lisp has a full numeric tower, powerful macro system (that allows for endless language extension, see the Coalton project that puts Haskell 98 types into Common Lisp via the macro system), the Common Lisp Object System (that implements an object system that is a superset of even Java, an "object oriented" language, btw was initially implemented as an extension to Common Lisp), conditions (a superset of exceptions in other languages, allowing for correction of errors without unwinding of the callstack), and a first class REPL.
C and Lua are jokes to the liveness of Common Lisp.
Anonymous No.106006099 [Report] >>106006240
>>106006042
>Dennis Ritchie: I have to admire languages like Lisp
http://www.gotw.ca/publications/c_family_interview.htm
Anonymous No.106006240 [Report]
>>106006099
based dmr
Anonymous No.106006472 [Report] >>106006752
>>106006084
i don't see how most of the things you list are even remotely helpful. the lack of a C repl is sad, but other than that why do i need "powerful" macros, numeric towers, OOP, and whatnot? i think a lot of modern languages (like lua) have taken all the best bits from various lisps. we're not in the 70's anymore, anon. C and lua are, in my opinion, all you really need anymore with most programming.
Anonymous No.106006512 [Report]
>>106004428 (OP)
NAKAD4SHITANIA SEXO AND IMPREGNATE, LITERAL NAKAD4SHI QUEEN
Anonymous No.106006752 [Report] >>106007113
>>106006472
why even ask questions like these if you think you are correct? you should really sit down and ask yourself why you think that you know more than someone with over a decade of experience programming.
tl;dr: write more code
Anonymous No.106006881 [Report]
Has anyone been able to build extempore on Guix? It keeps failing in my machine.
Anonymous No.106007113 [Report]
>>106006752
i'm not the one simping for (((lisp)))
Anonymous No.106007252 [Report]
>>106005322
Honestly, we should have eq and equal with the latter being a generic function. Everything else is just redundant.
Anonymous No.106007373 [Report] >>106007493 >>106010470
https://fukamachi.hashnode.dev/
Anonymous No.106007493 [Report] >>106010470
>>106007373
absolute chad
Anonymous No.106007643 [Report] >>106007881 >>106007899 >>106008120 >>106011831
>>106003763
>it's strange how many developers there are that are completely resistant to different looking languages
>you'd think those kinds of people would be underrepresented considering how many different things they have to learn on a regular basis if they're a half decent dev
Even among Lisp programmers, lots of people are like this. Remember, Lisp is simple and elegant, but APL is alien and unreadable.
>the ones that claim it's too many parens are the most idiotic. it's literally the same amount of parens
It's not, especially if you compare with infix notation. While foo(arg) and (foo arg) are the same, in Lisp-like languages you also use parens all the time for control structures and that's where sexps become particularly unreadable, IMHO. Compare pattern matching in Scheme or ELisp with pattern matching in Haskell or OCaml, the readability difference is massive (though you can kinda get used to parsing (match (foo bar) (() (baz)) ((a . d) (quux a d))), it's still bad).
S-expressions are verbose and very uniform, without any visual clues. I think this should be an admitted problem (and ppl should experiment with various solutions), but Lisp community mostly sweeps it under the rug and fears any kind of criticism of their beloved parentheses.
Anonymous No.106007875 [Report]
>>106006042
dwarf fortress recently added lua scripting. mods go brrrrrrrrrrrrrrrrr
Anonymous No.106007881 [Report]
>>106007643
even though it does not matter for the reader, indentation matters for the human reader. Try reading ocaml without identation too.
Anonymous No.106007899 [Report]
>>106007643
It is not sweeping anything under the rug. I simply cannot understand your difficulty and don't share it, so I cannot admit to there being any problem. I think most people who spend serious time with Lisp also learn to see "through" the parentheses. IDEs will also highlight pairs for you nowadays, making the problem largely irrelevant, and the syntax of things like Clojure is worse for having square brackets and so on.
Anonymous No.106008120 [Report]
>>106007643
lisp pattern matchers are all macros, and sufficiently developed macros all have conditional functionality based on the fact what you're giving them. Specifically, (my-match z (case-a case-b ...)) will behave differently not only based on the base type of a case (is it a symbol or a list?), but also based on the structure of a case if it's a list as well as the type and structure of its elements. This nested matching has no visual clues, and flycheck will not save you from making mistakes from sheer confusion.
>>106006042
>lua
awesomewm is unironically everything stumpwm wishes to be, except lua makes tinkering with the configuration a pain. well, i, at least, have the problem. i would have preferred to take a bunch of parentheses and infix notation that the sheer retardation of overnested curly braces with commas up my ass.
but i have to give it to lua, i didn't even need to check out the docs to use the language, and outside of list nesting it's fine.
>c
no one avoid C anyway, so your wish is fulfilled.
Anonymous No.106008427 [Report]
>>106004931
Babashka is decent for CI tasks.
Anonymous No.106008802 [Report] >>106017268 >>106025931
>>106006042
you could use the superior lua version instead https://fennel-lang.org/
Anonymous No.106008854 [Report]
>>106004188
>Can someone explain lexical scoping? I've implemented my own lisp, but it uses dynamic scope, and I don't quite understand how lexical scope works on the level of implementation.
;; a lambda like
(lambda (x y) x)

;; is represented internally as a closure (the parameter list, body list, and current environment)
(((x y) (x)) environment)

;; which is really (at toplevel, where the environment only contains a lambda primitive)
(((x y) (x)) ((lambda . #<procedure>)))

;; let's evaluate this application
((lambda (x y) x) 1 2)

;; during apply the current environment is extended using
(cons (map cons (x y) (1 2)) environment)

;; producing a new environment (if we had another closure in the body list, this is the environment that would get captured the same way as before)
(((x . 1) (y . 2))
((lambda . #<procedure>) ...))

;; the body list (x) is then evaluated in the new environment
(last (map eval (x) (((x . 1) (y . 2)) ((lambda . #<procedure>) ...))))
Anonymous No.106010470 [Report]
>>106007373
>>106007493
The Lisper Samurai
Anonymous No.106010519 [Report] >>106010954
eng ver when for us dekinais
Anonymous No.106010954 [Report] >>106011490 >>106011722
>>106010519
https://github.com/zick/Magical-Language-Lyrical-Lisp
Anonymous No.106011203 [Report] >>106020864
Babashka + HTMX
https://clojure.org/news/2025/07/20/deref
>Clojure, Babashka, and Web CGI (https://blog.nundrum.net/posts-output/2025-07-09-clojure-cgi/)
Anonymous No.106011490 [Report] >>106011645
>>106010954
It doesn't work...
Anonymous No.106011645 [Report]
>>106011490
Okay that error was because of the 1000x folded nippon code that only works with the JP locale, but I tried creating the nscript with both the .exe tool, compiling the c code on windows and on linux and it still doesn't work...
Anonymous No.106011722 [Report]
>>106010954
Wait a second... that repo doesn't have the translations at ALL why did you lie to me??
Anonymous No.106011831 [Report] >>106011994 >>106014809
>>106007643
>without any visual clues
I'm glad Rich Hickey introduced [ ] and { }. That was a step in the right direction.
Anonymous No.106011994 [Report] >>106012631
>>106011831
it was not, this is worse for macros and is only "good" because he did not give Clojure reader macros
it is compromise at best
Anonymous No.106012631 [Report]
>>106011994
He had his reasons.
https://groups.google.com/g/clojure/c/8RSLNWno0nU
Anonymous No.106013971 [Report] >>106014068
Can someone spoonfeed me how to configure, whatever is autoformatting, so that it doesn't autosort the includes in C++ files?

I'm on doom emacs and I have enabled:
(format +onsave) ; automated prettiness
Anonymous No.106014068 [Report] >>106014250
>>106013971
>I'm on doom emacs
Who knows. I don't use a massive pile of hacky lisp code in my config. I actually understand what's going on in mine because I built it myself.
Anonymous No.106014250 [Report] >>106014860
>>106014068
yeah... thanks
Anonymous No.106014809 [Report]
>>106011831
>I'm glad Rich Hickey introduced [ ] and { }. That was a step in the right direction.

No.

On Common Lisp you can use whichever reader macros you like, thus, you can select which meaning will [] and {} have in the SPECIFIC file where you need to use/enable them.

Rich Hickey basically fucked up this functionality. And as a side effect, code looks even uglier.

One of the many ill decisions by Rich. I will concede, though, that centering on immutable data was a good decision.
Anonymous No.106014826 [Report] >>106014976
>>106005322
>I'm about a hundred pages into Practical Common Lisp, and I gotta say, the equality functions and their naming conventions are shit.

They appear "shit" but then you realize that comparison is not so simple. There are many ways to compare two things. Thus the need for eq, eql, equal, etc.

Quite the opposite, on other languages, whenever i use something like "==", i have to go back and read the lang reference to make sure exactly how this operator would behave.
Anonymous No.106014841 [Report] >>106015228
>>106004931
>I'm going back to Clojure after fucking around with Elixir, Rust, and a bunch of other shit. I'm so done with the bullshit man.

Try Erlang instead of Elixir.

Try OCaml instead of Rust.

>Give me my JVM hog, I love that pig. It snorts at me as I paint it with immutable symbology.

Ok, then use Scala3, in my opinion right now is the best mainstream language available for the JVM.

>BTW here is a screenshot of an experimental hash map I wrote in Rust

This is a Lisp thread. Lispers, generally, consider Rust users to be pathetic braindead losers.
Anonymous No.106014860 [Report] >>106014887
>>106014250
snide comments aside it's hard for us to help because emacs "distros" have their own complete layer of complexity wrapped around "normal" emacs. most of us still use homegrown configs so we don't know how the hell doom works.
Anonymous No.106014866 [Report] >>106015874
>>106006084
>C doesn't even have namespaces. Lua doesn't even have macros.
>Common Lisp has a full numeric tower, powerful macro system (that allows for endless language extension, see the Coalton project that puts Haskell 98 types into Common Lisp via the macro system), the Common Lisp Object System (that implements an object system that is a superset of even Java, an "object oriented" language, btw was initially implemented as an extension to Common Lisp), conditions (a superset of exceptions in other languages, allowing for correction of errors without unwinding of the callstack), and a first class REPL.

Not to mention CL also allows you to execute code at read time, compile time, and runtime.

>the Common Lisp Object System

The absolutely superior OOP system , even right now in 2025.

>C and Lua are jokes to the liveness of Common Lisp.

Based.
Only Smalltalk can compete in this regard, except that CL executes at lighning speed compared to Smalltalk.
Anonymous No.106014887 [Report]
>>106014860
I fully understand. I solved it temporarily by adding a .clang-format file with the contents:

# .clang-format
BasedOnStyle: LLVM
SortInclude: Never

it activated some other weird stuff like 2 spaces indentation, even if I included a line like
IndentWidth: 4

but whatever, I left it like this for now
Anonymous No.106014920 [Report] >>106014926 >>106014969
>>106006042
C is good

lua is garbage only good for embedded scripting in game modifications
Anonymous No.106014926 [Report]
>>106014920
>C is good
lmfao
Anonymous No.106014969 [Report] >>106015874
>>106014920
>C is good

Good for bootstrapping Lisp. And then, the best Lisp implementations contain no C code.
Anonymous No.106014976 [Report]
>>106014826
You're right, having more options isn't bad. I'm mostly complaining about the fact that I will have to memorize what each comparison function does and in what cases to use them instead of the naming being more intuitive.
Anonymous No.106015006 [Report] >>106015130
How does one host a Guix package mirror? How much storage/bandwidth is required? I have a server with 3TB redundant NVMe storage and 10Gbps uplink I can dedicate to it if it's enough. I don't personally use Guix btw
Anonymous No.106015130 [Report] >>106015545
>>106015006
https://www.futurile.net/2023/05/01/guix-publish-caching-substitution-server/
Anonymous No.106015228 [Report]
>>106014841
>Lispers, generally, consider Rust users to be pathetic braindead losers.
Nah. Rust actually takes a lot of good things from Lisp:
>Scheme: hygienic macros
https://doc.rust-lang.org/reference/influences.html
Also, Helix + Steel (Scheme) looks very promising.
https://github.com/mattwparas/steel
https://github.com/helix-editor/helix/pull/8675
Anonymous No.106015545 [Report]
>>106015130
Is there any additional setup necessary for hosting a public server? Other than firewall setup obviously
Anonymous No.106015874 [Report]
>>106014969
lisp vms should be implemented in assembly rather than C.
>>106014866
>The absolutely superior OOP system , even right now in 2025.
Indeed, now that the OOP hype is long behind us, the score seems to be forever settled.
Anonymous No.106016052 [Report] >>106016141 >>106016144 >>106018863
good evening sirs!
what's the best way to write a gui program with lisp? I'm partial to CL but if clojure or something has better libraries I'll check it out
Anonymous No.106016141 [Report] >>106021636
>>106016052
CL has https://github.com/rabbibotton/clog
Clojure can use Java Swing or JavaFX (never forget that Clojure can trivially use ANY Java lib)
you can always just deploy a local webserver (this has the advantage that you can throw the program onto a server and then access it remotely)
Anonymous No.106016144 [Report]
>>106016052
Clojure has bindings for JavaFX and you also have Clojuredart. Or just anything with imgui or SDL bindings.
Anonymous No.106017268 [Report] >>106021262
>>106008802
>https://fennel-lang.org
Interesting
Anonymous No.106018447 [Report]
>tfw lisp project is getting me interviews
Anonymous No.106018863 [Report]
>>106016052
racket has basic ui capabilities out of the box sir
Anonymous No.106020864 [Report]
>>106011203
I’m the CEO of HTMX.
Anonymous No.106021026 [Report] >>106021343 >>106021510 >>106022124 >>106023997
hey so do any of you bros actually use EXWM? it looks pretty interesting...
Anonymous No.106021262 [Report]
>>106017268
so i had some free time at work and
Anonymous No.106021343 [Report] >>106023997 >>106025604
>>106021026
are you sure you want your entire desktop environment to be single threaded?
it's not worth it
Anonymous No.106021510 [Report]
>>106021026
I've been using it for like two years now, and I've become so accustomed to (or dependent on) Emacs that i can't even seriously consider switching to a different WM. You should give it a try, it doesn't require much configuration imo
Anonymous No.106021636 [Report]
>>106016141
>CL has https://github.com/rabbibotton/clog
Based kosherware
Anonymous No.106021850 [Report] >>106022074 >>106025414
Modern alternative to quicklisp sirs:
https://github.com/ocicl/ocicl
Anonymous No.106022074 [Report]
>>106021850
Neat!
>has local projects
>has versions and dep lock files
>has shasums
>has signed repositories
>no extra commands, just use asdf and it auto-downloads packages not on the system already
That's basically all my complaints about quicklisp solved.

>has pregenned AI summaries of changelogs
Interesting but bound to be unreliable.
Anonymous No.106022124 [Report]
>>106021026
EXWM?
Rather use EMWM.
Anonymous No.106023997 [Report]
>>106021026
I use it and love it. The best part is that there's no separate layer for X window manipulation and you can just reuse your Emacs commands for that. It also means that no one sits on the super key, so you can bind commands to s- which is very convenient. Also you can configure exwm-input-simulation-keys making e.g. C-n look like to your web browser (picrel is from my config).
>>106021343
Unless you often block your Emacs to the state when you can't unstuck it with a couple of SIGUSR2s sent from tty, it's not a problem.
Anonymous No.106024508 [Report]
Racket meet-up: Saturday, 2 August 2025
(San Francisco, Boston, and online?)
https://racket.discourse.group/t/racket-meet-up-saturday-2-august-2025/3872

Online
https://meet.jit.si/Racketmeet-up
Anonymous No.106025414 [Report] >>106025632
>>106021850
ocicl looks well designed. The main questions I have after skimming its README are:
- How do I create an OCI artifact for my own asdf systems?
- How do I put that artifact in an existing OCI registry?

I'm not familiar with the OCI ecosystem, so this part is a bit mysterious for me.
Anonymous No.106025604 [Report]
>>106021343
It's not as big of a problem as you'd expect. I've got stuck only like 5 times in the last 2 years since I started using it. And most of it was because I couldn't abort dired with C-g which seems to work much better in 30.1.

I was surprised too ngl
Anonymous No.106025632 [Report] >>106025675
>>106025414
I think you open a issue and link your package and they'll add it?
Anonymous No.106025675 [Report]
>>106025632
It seems that way. I just found this.
https://github.com/ocicl/request-system-additions-here
Anonymous No.106025931 [Report] >>106026347 >>106026580
>>106008802
wonder how hard it would be go get this going with defold in 2025, looks like people poked at it last like 4 years ago
Anonymous No.106026347 [Report]
>>106025931
>defold
https://defold.com/manuals/lua/
Anonymous No.106026580 [Report] >>106035744
>>106025931
Defold Editor is written in Clojure 4tw
https://github.com/defold/defold/tree/dev/editor
Anonymous No.106028016 [Report] >>106030152
What problem did deps.edn solve that wasn't already solved by lein?
https://codeberg.org/leiningen/leiningen
Anonymous No.106030152 [Report]
>>106028016
it's official or something
Anonymous No.106030399 [Report] >>106033802
>>106004428 (OP)
How does transpose-array determine which values to return in Guile?
-- Scheme Procedure: transpose-array array dim1 dim2 ...
-- C Function: scm_transpose_array (array, dimlist)
Return an array sharing contents with ARRAY, but with dimensions
arranged in a different order. There must be one DIM argument for
each dimension of ARRAY. DIM1, DIM2, ... should be integers
between 0 and the rank of the array to be returned. Each integer
in that range must appear at least once in the argument list.

The values of DIM1, DIM2, ... correspond to dimensions in the array
to be returned, and their positions in the argument list to
dimensions of ARRAY. Several DIMs may have the same value, in
which case the returned array will have smaller rank than ARRAY.

(transpose-array '#2((a b) (c d)) 1 0) #2((a c) (b d))
(transpose-array '#2((a b) (c d)) 0 0) #1(a d)
(transpose-array '#3(((a b c) (d e f)) ((1 2 3) (4 5 6))) 1 1 0)
#2((a 4) (b 5) (c 6))

Why does the first example for instance not return a different order of letters? Why does the second example only return (a d) regardless if I add other cells, such as ((a b) (c d) (e f)....)). Why does the third example return in the order it does and not another? I've played around with different argument values, extra elements, etc. but I just don't understand how this procedure returns the order it does.
Anonymous No.106031529 [Report]
installed stumpwm today bros. it took a while to get it going with slynk and everything, but it works now! i can live eval code and have it immediately applied. i can run internal functions or view the values of things right from the repl while it's running. This is such a good feeling after trying fvwm and xmonad where you can't do this. like on xmonad i wanted a way to see what workspace was focused on a given monitor and it turns out you practically need a phd in haskell to accomplish that. like there's no way to see the values of things going through your function because the whole thing just has to be compiled together and you can't connect a repl to it to run things piece by piece.

Now I'm just debating how i want to set this thing up. The emacs style bindings feel kind of strange for doing window manager stuff. i might just bind everything top-level so i can use the super key like in any other wm. but maybe it's worth getting used to the leader key way, not sure yet. Also, no separate workspaces per monitor is a problem for me... I'm not sure how I'll work around that. given that it's been an open issue for like 8 years, I'm probably too retarded to actually find a solution lol but that won't stop me from sinking a weekend or two into trying.
Anonymous No.106031868 [Report] >>106034034
>>105977667
>Is there a way to create a Windows notification once emacs' daemon has fully loaded and BEFORE a frame has been created?
I've been playing around with this a little, and I'm starting to think this might be a bug in w32-notifications-notify. It's like it requires a frame to exist before it'll send a win32 notification. It doesn't crash when it fails, either. It just silently fails with no hint of any error.
Anonymous No.106032200 [Report]
>>105977667
I got something to work, but it is ugly. The working Elisp currently looks like this.
(start-process "notification" nil
"wscript" "C:\\Users\\Admin\\Me\\psrunhidden.vbs"
"C:\\Users\\Admin\\Me\\notify2.ps1")


The solution involves a combination of fbscript and powershell.
https://stackoverflow.com/questions/60416813/how-to-run-a-powershell-script-in-the-background-and-receive-a-toast-notificatio
- Use the vbscript from the accepted answer to this question.
- Combine it with the powershell script from the non-accepted answer, or write your own powershell. (I get the feeling there's a lot of wiggle room on the powershell side, so a lot of different things could work here.)

I'm probably wiping Windows from this machine soon, so this is the last Windows help I'm offering until I get another laptop in a few years.
Anonymous No.106032343 [Report] >>106034034
>>105977667
I got something to work, but it is ugly. The working Elisp currently looks like this.
(start-process "notification" nil
"wscript" "C:\\Users\\Admin\\Me\\psrunhidden.vbs"
"C:\\Users\\Admin\\Me\\notify2.ps1")


The solution involves a combination of vbscript and powershell.
https://stackoverflow.com/questions/60416813/how-to-run-a-powershell-script-in-the-background-and-receive-a-toast-notificatio
- Use the vbscript from the accepted answer to this question.
- Combine it with the powershell script from the non-accepted answer, or write your own powershell. (I get the feeling there's a lot of wiggle room on the powershell side, so a lot of different things could work here.)

I'm probably wiping Windows from this machine soon, so this is the last Windows help I'm offering until I get another laptop in a few years.
Anonymous No.106033459 [Report]
https://news.ycombinator.com/item?id=44685119
Anonymous No.106033802 [Report]
>>106030399
>Why does the second example only return (a d) regardless if I add other cells, such as ((a b) (c d) (e f)....)).
If transpose does this kind of transform
a b
c d
e f

a c e
b d f
(0 0) will always be #(a d) as extra pairs of cells just get added to the end, it's clearer with a square array:
a b c
d e f
g h i

a d g
b e h
c f i
for (0 0) the line the array was flipped around runs through #(a e i)
Anonymous No.106034034 [Report] >>106039845
>>106031868
>>106032343
Thank you very very very much! It works perfectly now. I was aware of running ps scripts silently using VBS but I never even considered the thought of using it this way.
Anonymous No.106035744 [Report]
>>106026580
>https://github.com/defold/defold/tree/dev/editor
Very nice
Anonymous No.106037907 [Report]
>>106004428 (OP)
lets say i wanted to interface with opengl to test math before moving to cuda. i have experience in neither but im lisping decently. anyone know of a toolkit?
Anonymous No.106039845 [Report]
>>106034034
Notifications in Windows was kind of weird and awkward, but I kept searching until I found a way. It's unfortunate that the solution had to be this convoluted. Elisp -> VBScript -> PowerShell (omg)