when do you graphics programming as a hobby you are doomed to rewrite spinning cube examples until you die. this time I'm using guile bindings to sdl3 gpu. rendered using vulkan.
22 posts total
12
when do you graphics programming as a hobby you are doomed to rewrite spinning cube examples until you die. this time I'm using guile bindings to sdl3 gpu. rendered using vulkan. did you know that we are but 10 days away from the start of the autumn lisp game jam?? warm up your repl, mix in some mulling spices, and let's hack! Guile Goblins 0.14.0 is out! Goblins is Spritely's distributed programming library and this time around we've got a lot of improvements to our persistence layer and also we can now communicate over libp2p! https://spritely.institute/news/spritely-goblins-v0140-libp2p-and-improved-persistence.html @tsyesika did a lot of incredible work on this release! Guile Hoot 0.4.0 has been released! We've got lots of goodies, the biggest of which being much improved support for Scheme modules. At long last, users can now define their own modules and Hoot's giant prelude file that provided the standard library has been split into a collection of importable modules. Full release notes: https://spritely.institute/news/guile-hoot-v040-released.html @dthompson It seems very interesting, but how do you run the example? I tried this: $ LANG=en_US.UTF-8 guix shell -f manifest.scm -- make I totally missed that MIT Press published Essentials of Compilation last year, which is an evolution of one of my favorite papers: An Incremental Approach to Compiler Construction. https://mitpress.mit.edu/9780262047760/essentials-of-compilation/ MIT Press moved their physical store several years ago from the very convenient and iconic location right next to the Kendall/MIT red line station to somewhere that's far from campus and the T. maybe a cost cutting measure? idk but it has made visiting the store not fun and I haven't returned. miss the old location. Guile Hoot v0.3.0 has been released! Quality of life improvements, bug fixes, more R7RS stuff, hashtables, and a really solid start on a module system thanks to the one and only @wingo Get yourself some Scheme in the browser like it's 1995 in a parallel universe! https://spritely.institute/news/guile-hoot-v030-released.html Guile Hoot 0.2.0 is out now! https://spritely.institute/news/guile-hoot-v020-released.html More R7RS features! A foreign function interface! Record types! Structured exceptions! I also wrote an accompanying post that shows how you can use Hoot's new FFI to call browser APIs and build interactive web pages. https://spritely.institute/news/building-interactive-web-pages-with-guile-hoot.html 🦉 hoot hoot! 🦉 if you use guix and the nonguix channel, you can check out the demo in the ffi blog post like so: guix shell google-chrome-unstable -- google-chrome-unstable https://spritely.institute/news/building-interactive-web-pages-with-guile-hoot.html (soon you will be able to use firefox instead of chrome but there's no guix package that has wasm gc and tail calls yet) @dthompson Now I only need symbolic CSS and I'd have all I want for web development with Guile 👍 The very first release of Guile Hoot, Spritely's Scheme to WASM compiler, is now available! Was a joy to be a small part of making this happen. https://spritely.institute/news/guile-hoot-v010-released.html and according to the website, *none* of these talks conflict with each other! you can catch all of them if you're going to SeaGL! Hey there I wrote an update about Guile Hoot, Spritely's Scheme -> WASM compiler project, and it includes an embedded demo that works on the latest Chrome Dev or Firefox Nightly. The WASM GC future is here. We think Hoot is a pretty unique and cool project in the WASM world and I hope this post explains why in an understandable way. https://spritely.institute/news/scheme-wireworld-in-browser.html @dthompson Looks like Hoot already provides a very nice tool set. That it’s self-contained and merely a set of regular Scheme libraries is wonderful. 👍 The Lisp Game Jam has begun! 60 registered participants! This is a 10 day jam so still plenty of time to join in if you want! https://itch.io/jam/spring-lisp-game-jam-2023 #lisp #scheme #gamejam #gamedev #lispgamejam Spritely Goblins 0.10 has been released! This is a big release for the project and the first release I was a part of! Developer usability is much improved with better docs and dev tools and network programming via OCapN is even better. Check it out! https://spritely.institute/news/spritely-goblins-v010-for-guile-and-racket.html New blog post: Installing Guix on a 10th gen Thinkpad X1
Show previous comments
@dthompson The question is that of the best strategy to increase the reach of free software. I hear what you say about lack of support for certain devices being an obstacle for the adoption of free systems; I can see it happening. But if we do want that software to be free as well, what should we do? Debian had a lever; now that it includes non-free firmware, it seems that we, collectively, are sending hardware vendors the message that we’ve given up. Tough issues. @David Wilson
Thanks-- I'll definitely check it out and see if it's something I should attempt right now vs a nice winter break project... BTW, if I simply want to emulate your Emacs-for-everything setup just sticking with PopOS ('coz I know it's working!), how can I do that part? the lisp game jam is coming up at the end of the week, so I decided to write a little blog post about what I've been working on leading up to it: https://dthompson.us/catbird-an-experimental-game-engine-for-scheme-programmers.html the intro to guix home talk by @daviwil from #Guix10Years is very good. I used to have my own ad-hoc, bug ridden setup that was similar in spirit, but I eventually got sick of dealing with it. I just haven't found the motivation to actually learn guix home until now. https://10years.guix.gnu.org/video/an-introduction-to-guix-home/ did you know that geiser is now project aware? thanks to recent project.el integration, geiser can manage one repl per project if you set geiser-repl-per-project-p to a non-nil value. pressing C-c C-a in a scheme buffer will jump you to the proper repl for that project, launching one if necessary. it also automatically adds the project's root directory to the scheme implementation's load path. this is the biggest quality of life improvement I've ever experienced with geiser. it rocks. My onions did not get very big but this is the best I've done yet. Multisowing works great and made planting quick and easy. I accidentally missed a parsnip when harvesting last fall so I let it go to seed and now I have more parsnip seeds than I know what to do with. I didn't have any garlic to harvest last year because my supplier cancelled my order due to the crop failing a disease test so I'm happy to have a lot this year. @dthompson i once again missed the garlic. It dissapeared already and will show up again in march. One day I will have homegrown garlic to Cook with. And by then it is completely adapt to our garden, because I grow it for years already. 12
|
in sdl2 and sdl1, you mostly deal with opaque handles to sdl objects. this makes writing bindings easy as there are very few C structs that your host language needs to fiddle with. this is *not* the case with sdl3, especially when it comes to the gpu api. by my count there are 31 structs that need to be dealt with. I've put in considerable effort towards making an api that makes this doable in guile.
@dthompson Well, at least I put a spinning cube in an AR view on the G1 developer phone. Would've been around 2010 or so?
I feel that's worth doing a spinning cube for.
(Somewhere I may still have the video I did for that... maybe)