@mianmoreno made a thread on real-world rde configurations examples. Don't hesitate to press reply to thread button and share your. There is a config by authors of dwl-guile and a few more quite interesting ones. Talking today about Concurrency in Scheme and Fibers. Starting in 3 hours. https://youtu.be/jrwfl_hIcS4 Kudos to @wingo, @aconchillo, @civodul and all other people working on https://github.com/wingo/fibers. I noticed it only recently, but somebody radically improved guix profiles build time and now I can enjoy rebuilding my home environment. Kudos to him! Almost made guile-nrepl work with Rail Emacs nREPL client. It evaluates expressions, but doesn't print the prompt yet. https://git.sr.ht/~abcdw/guile-nrepl @abcdw my legacy lives! :ablobcatattentionreverse: The ultimate productivity tip: Add a task to your day agenda that you really don't want to do, and all other tasks will turn into a pure joy. What should I use for binary ports in scheme? (scheme base), (ice-9 binary-ports) or something else? The same question about (rnrs conditions) and (ice-9 exceptions). @abcdw for ports in general I use (rnrs io ports), but with exceptions you get the weird the r6rs error messages, which while fine on their own & r6rs providing the superior conditional system, they are disjoint from Guile's style which feels a little clunky I went with (scheme base) aka r7rs for binary port and (ice-9 exceptions) aka guile exceptions, but this fragmentation of ecosystem is not cool at all and raises learning curve to the sky. https://git.sr.ht/~abcdw/guile-nrepl/commit/fc2559710ce489d1e5922c6c5916675d67ee15bd @abcdw My personal preference: (ice-9 binary-ports) if you’re writing Guile-only code, or (rnrs io ports) if you’re aiming for R6 portability. These interfaces are roughly synonyms; the R6 one just pulls in more stuff. (I’m skeptical of R7, I think it didn’t start on the right foot.) Good video by Prot about emacs' built-in isearch, occur, grep and a few external packages for search and replace: We added EXWM to rde, so if you want to try out rde, but don't want to switch to wayland yet - you have an option now! :) Continuations Brief Summary. Studied the topic a bit and brought you a write-up. Should be interesting for people related to programming, and especially for scheme and lisp users. #programming #scheme #lisp #clojure #commonlisp #callcc #continuation In TXR Lisp I invented an alternative way to dealing with the local, scope-tied resources of blocks of code that are being entered and exited by continuations. (Like say you have a recursive walk with local resources, which is using continuations to yield incremental results elsewhere.) Bascially, I allow a Lisp form to be terminated by "absconding": a dynamic non-local return, without any unwinding. This allows continuation switches to be clean, like thread context switches. I remember watching a talk about some fancy REPL-related stuff (probably not about REPL itself, but it was extensively used in the demo) by a girl doing some R&D in this topic, but I don't remember the name and don't know how to find it :/ Share a link, please, if you accidentially know what am I talking about. Tonight a few friends sent me a message that #rde is on a front page of Hacker News. Is it something good? @abcdw frontpage of hackernews can either be a blessing or a curse. So far the comments on this post seem complimentary of Guix, at least. Is there is a good reason to have multi-value return in #Scheme? It seems returning a vector does the trick quite well. Am I missing something? @abcdw the only thing I can think of right now is just being explicit about it. Returning a vector doesn't help anyone understand that the vector is of a fixed length, or technically a tuple. oh actually I guess one thing I like about the ability to do it in Common Lisp is that unless you explicitly need the other return values you just get the first one. Although I guess that could be seen as a downside too. anyway, that's just my speculation and opinion, I don't usually need or want it. @abcdw I think this generally might be related to low-level optimization, like compiler being able to spill mutliple values into registers, as opposed to vector, which should be honest-to-god allocated in heap (or on stack). Guile is coming closer to web assembly. Impressive results. https://spritely.institute/news/scheme-to-wasm-lambdas-recursion.html @abcdw It is a game changer: "the Hoot-compiled WebAssembly ... is five times faster than native Guile!" "The web should be for everyone. We hope Hoot paves a path so that more languages may enter the web, including Python, Lua, Haskell, ML, and friends." That's what I'm eagerly waiting for :) rde Meetup #3 will take place in less than 5 hours. https://lists.sr.ht/~abcdw/rde-announce/%3C871qjmjaow.fsf%40trop.in%3E rde meetup #3 will take place this saturday, 13:00 UTC. We plan to discuss rde roadmap, modal editing and how to improve documentation. https://lists.sr.ht/~abcdw/rde-announce/%3C871qjmjaow.fsf%40trop.in%3E The reason I'm not very smart today is because I thought I was really smart yesterday. I can be your most boring blogger mate:
Show previous comments
@abcdw ngl this is kinda ideal for me as a reader, I just need the colors inverted.
[DATA EXPUNGED]
I guess I understood what a delimited continuation is! The examples in this talk by @wingo just clicked: https://youtu.be/uwiaT3MoDVs?t=1236 I love "a historicall accident" parts :) If you have other good learning resources on the topic of continuations, please share. @abcdw @wingo I'm not sure it qualifies, but Section 5 of this draft describes how to add delimited computations to a language using a meta language that can express delimited continuations https://people.rennes.inria.fr/Alan.Schmitt/papers/programming_draft.pdf @abcdw https://lists.gnu.org/archive/html/guile-user/2013-07/msg00054.html My implementation used call/cc, but then someone redid it using delimited continuations. |
@abcdw Markiplier's tasteful nudes calendar but it's Linus Torvalds