We sneakily released Arei Guile Scheme IDE 0.9.5 a couple weeks ago. Mostly because there is not much user-visible new functionality, we just keep polishing sharp edges before 1.0 release.
To keep you updated: Yesterday I implemented extensions resolution mechanism, Nikita is cleaning up session handling on Emacs side and a couple more things left to do.
While we are getting ready for 1.0, @lil started to work on Hoot support!
@graywolf Answering your question in Guile's IRC about record introspection: to obtain fields of a record-type there is record-type-fields function.
You can go even further and get a list of fields from record itself.
(record-type-fields (record-type-descriptor (%make-some-record 1 2 3)))
r6rs records introspection have a bit more consistent naming:
(use-modules (rnrs records inspection))
(record-type-fields (record-rtd (%make-record 1 2 3)))
I was missing #clojure -alike data structures (immutable vectors and hash-tables) and basic operations on them (get, get-in, assoc, assoc-in, update, update-in) and a basic atom operations (ref, reset!, swap!) a lot in #Guile#Scheme.
@abcdw Thanks!, this is really useful (great short video format). I haven't done any multi-threading programming yet, but I think the first examples should be useful to create some debugging helpers.
📢 Curious about the the transactional deployment model #nix invented? Intrigued by functional programming #scheme#guile? Looking for tips on #guix? David Wilson (@daviwil) will be giving a talk TOMORROW (Wednesday 29th) at 17:00 UTC - Register here!
I just opened registration for the June iteration of the "Hands-On Guile Scheme for Beginners" course!
This is an 8-week course that is a mixture of on-demand learning content, live Q&A sessions, practical exercises, and a private forum where I answer all your questions.
This iteration officially begins on June 8th, full details and schedule can be found here:
Streaming Day 4 of my Spring Lisp Game Jam project right now!
Today I'll start implementing a minimal, Scheme-like scripting language for the monsters in the game. We'll finally start to see it become somewhat playable!
It uses some of the (grand scheme) syntax, namely the matching variant of lambda, matching variant of the and-let* form and the "is" predicate combinator, all of which are defined here:
To anyone writing programs in #Scheme right now, this is just a reminder that you can search through a huge cluster of Scheme libraries indexed by procedure name, including all SRFIs, at the https://index.scheme.org/ website. If you need code to do something, try searching by keyword to see if someone has already written it. Most APIs listed there even have Haskell-like types and are tagged as "pure" if they are pure.
Streaming Day 3 of my Spring Lisp Game Jam project right now!
Today I'll start building the interactive script editor that will enable you to edit the logic scripts for the game's monsters. This will be my first attempt at writing DOM-manipulating UI code in Hoot so it should be fun!
Streaming Day 2 of my Spring Lisp Game Jam project right now!
We'll continue building out the game world by adding a few game objects and possibly wiring up their basic logic. If we have time, we might start working on the interactive editor!
@daviwil it also looks like the GC wasm features hoot depends on have been mainlined by all the major browsers so people won't have to run nightly versions to run the games this time around