>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 Resourceshttps://gnu.org/s/emacshttps://github.com/emacs-tw/awesome-emacshttps://github.com/systemcrafters/crafted-emacs>Learning EmacsC-h t (Interactive Tutorial)https://emacs-config-generator.fly.devhttps://systemcrafters.net/emacs-from-scratchhttp://xahlee.info/emacshttps://emacs.tv>Emacs Distroshttps://spacemacs.orghttps://doomemacs.org>ElispDocs: 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.htmlhttps://gnu.org/s/emacs/manual/elisp.htmlhttps://github.com/emacs-tw/awesome-elisp>Common Lisphttps://lispcookbook.github.io/cl-cookbookhttps://cs.cmu.edu/~dst/LispBookhttps://gigamonkeys.com/bookhttps://lem-project.github.iohttps://stumpwm.github.iohttps://nyxt-browser.comhttps://awesome-cl.com>Schemehttps://scheme.orghttps://try.scheme.orghttps://get.scheme.orghttps://books.scheme.orghttps://standards.scheme.orghttps://go.scheme.org/awesomehttps://research.scheme.org/lambda-papers>Clojurehttps://clojure.orghttps://tryclojure.orghttps://clojure-doc.orghttps://calva.iohttps://clojure.landhttps://www.clojure-toolbox.comhttps://mooc.fi/courses/2014/clojurehttps://clojure.org/community/resources>Otherhttps://github.com/dundalek/awesome-lisp-languages>Guixhttps://guix.gnu.orghttps://nonguix.orghttps://systemcrafters.net/craft-your-system-with-guixhttps://futurile.net/resources/guixhttps://github.com/franzos/awesome-guix>SICP/HtDPhttps://web.mit.edu/6.001/6.037/sicp.pdfhttps://htdp.org>More Lisp Resourceshttps://lisp.nexushttps://rentry.org/lispresourcesprevious: >>107543874
>>107624320meowmacs
>>107624320good pic
leg
>>107624353thank anon, the recorded sicp lectures and the cover is what got me into lisps (wizards are super cool)
thoughts on meow?? https://github.com/meow-edit/meowconsidering moving to it over evil
hmmmm
>>107624384i just use vanilla emacs with some saner defaults for ctr-z, alt-tab etc.
TIL that holding shift while scrolling with the mouse will scroll horizontally.(describe-variable 'mouse-wheel-scroll-amount)
(describe-variable 'mouse-wheel-scroll-amount)
>>107624320I get that we cut him slack for being a wizard, but why did his family never think to change their name when they came to an English-speaking country? You can't just go around being a sussy man for your whole life.
>>107625022>ctr-zI prefer C-/, that way you can use C-z as an additional prefix for your own keymaps.
>>107625179psychotic.
>>107625223C-/ is the canonical blessed way to undo anon, don't resist the light of IGNUcius
>>107625223Why? C-/ for undo and C-? for redo. One shift key difference, as it should be.
>>107624384compared to vim/evil it's a superior approach to modal editing, but using anything other than Doom Emacs or Spacemacs is not feasible for me because all of Emacs' default settings are stupid and I don't have time to change them all by myself.
>>107624384I use it and enjoy it. But I don't really like the way they intend for you to do some things by default, so I had to customize it a bunch before I really started liking it.I think they have the idea that everything which can possibly be done via selections should be. And it makes some stuff feel awkward.Like the fact that there's no backward find (like when you press F in vim it finds the next char backward). In meow you're supposed to either manually enter a negative argument first (press "ctrl-u -" then "f"), or you just do a forward search and then reverse.Both methods are way too many keystrokes for such a highly used feature. So I had to make my own reverse find (just a 1-line function).I could give a bunch of examples of minor irritants like that too, but you get the idea. Don't expect it to feel quite as efficient as vim unless you want to do some customization for it.Also, one feature you're definitely going to miss is the repeat key ".". Meow has a repeat function but it literally repeats the last thing you did. So after an insert if you move down and then try to repeat the insert it will instead repeat the move-down action. Making it completely useless. I don't even have it bound anymore.
M-x spook RET
Poasting one more time since thread died:Anons pls halp.I can't bring down GC pauses in my game engine (SBCL) to an acceptable amount, I've already reduced the amount of garbage being generated considerably and pooling wherever it makes sense, but then when a GC triggers every ~5-10 seconds, it takes too long and the FPS goes down to ~30-40 from 800. It sucks cause the 1% and 0.1% FPS are both great, but that microstutter every 5-10 seconds is unacceptable for me. I tried playing with bytes-consed-between-gcs but didn't find much of a difference..Anyone dealt with this sort of thing before?
dickmacs
Can you make games in common lisp? like platformers or something
>>107625747I don't know, but have you tried capping the fps at all? Even if it's 500?Also this may be a long shot, but what if you change the order or your main loop. Like putting rendering at the top of it's at the bottom (or vice versa). Rendering on the gpu occurs asynchronously, so if you can get the gc to occur while it's rendering then you might not even notice it.
>>107625808I'm this anon >>107625747 and yes, there's Kandria for example. GC seems like mostly the same as in other languages I've tried, not better or worse, so similar challenges in that regard. Performance in general is surprisingly good; I have a version of my engine in Nim and the CL one outperforms it by 20-30%, to my surprise. Granted I don't have to deal with GC in Nim but it's still impressive.
>>107625820Capping does help since what little garbage is generated is reduced, the issue is when a pause does happen it's a little too lengthy. It sucks cause it's so close but I can wait for the realtime GC, worst-case scenario. I got some insider info he's still planning on working on it.I also had some success with some out-of-the-box thinking. Like for example, running the game without GC, and then I have some hit feedback that "freezes" the game for visual effect, and I run the GC on any freezes lengthier than 50ms (gc pause takes less than that) and then freeze for the remainder of the time. Same with every time you die, just run the GC kek. I'll try what you said changing the order, it doesn't make sense in my head but that's frequently the case for me lol.
>>107625747Have you tried GC'ing manually once per frame?
>>107625849Oh well if you know how to trigger gc whenever you want then instead of messing with the loop order I'd say just try putting gc immediately after the rendering part of the loop, and see if that improves anything.
>>107625882>>107625890Yup. It takes a chunk of performance and the pauses still occur, unless I do (sb-ext:gc :full t) which makes it run like doodoo consistently.
>>107625759(reverse "eelhax")
(reverse "eelhax")
>>107625747Interestingly, looks like lowering the heap size makes the pauses more frequent but also shorter. I thought just setting bytes-consed-between-gcs would have the same effect but it didn't. I think this might be good enough for now.
emaclip.
>>107625972At code level you can try pooling objects/stuff instead of creating and destroying. I'm not good with code, I am just a mere webdev. Also the SBCL community has people that actually are autistic so they can answer you directly, problably someone there has had this problem too.
>>107625747Shrink the heap? I found a reddit thread about minimizing SBCL GC pauses for a game
>>107626762Yeah I'm pooling a ton, it's a good suggestion. There's also `dynamic-extent` which works to stack allocate quite a few things. It's just kind of inevitable to have some random thing leaking garbage unless I'm extremely autistic with keeping it in check (rapidly approaching that).>>107626912Yeah this helped, that's what I meant here >>107625972. I was just using bytes-consed-between-gcs but the size being smaller actually helped a noticeable amount.
>>107626693emags clip