[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology

Name
Options
Comment
Verification
4chan Pass users can bypass this verification. [Learn More] [Login]
File
  • Please read the Rules and FAQ before posting.
  • You may highlight syntax and preserve whitespace by using [code] tags.

08/21/20New boards added: /vrpg/, /vmg/, /vst/ and /vm/
05/04/17New trial board added: /bant/ - International/Random
10/04/16New board for 4chan Pass users: /vip/ - Very Important Posts
[Hide] [Show All]


[Advertise on 4chan]


File: image.png (477 KB, 1112x816)
477 KB
477 KB PNG
>Lisp is a family of programming languages with a long history and a distinctive parenthesized prefix notation. There are many dialects of Lisp, including Common Lisp, Scheme, Clojure and Elisp.

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

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

>Learning Emacs
C-h t (Interactive Tutorial)
https://emacs-config-generator.fly.dev
https://systemcrafters.net/emacs-from-scratch
http://xahlee.info/emacs
https://emacs.tv

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

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

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

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

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

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

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

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

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

previous: >>107543874
>>
File: mew.png (1.66 MB, 690x628)
1.66 MB
1.66 MB PNG
>>107624320
meowmacs
>>
File: 1758134817037333.png (255 KB, 539x426)
255 KB
255 KB PNG
>>107624320
good pic
>>
leg
>>
>>107624353
thank 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/meow

considering moving to it over evil
>>
hmmmm
>>
>>107624384
i 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)
>>
>>107624320
I 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-z
I prefer C-/, that way you can use C-z as an additional prefix for your own keymaps.
>>
>>107625179
psychotic.
>>
>>107625223
C-/ is the canonical blessed way to undo anon, don't resist the light of IGNUcius
>>
>>107625223
Why? C-/ for undo and C-? for redo. One shift key difference, as it should be.
>>
>>107624384
compared 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.
>>
>>107624384
I 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
>>
File: cat.jpg (6 KB, 260x194)
6 KB
6 KB JPG
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
>>
>>107625747
I 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.
>>
>>107625808
I'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.
>>
>>107625820
Capping 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.
>>
>>107625747
Have you tried GC'ing manually once per frame?
>>
>>107625849
Oh 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
>>107625890
Yup. 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")
>>
>>107625747
Interestingly, 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.



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