Reinventing the Wheel
Sure, there’s existing code. Somebody Else’s Code. It works fine, maybe not as fast as you’d like, or the interface isn’t quite right. That’s how it often is with me and SRFI-13. Olin Shivers is a...
View ArticleBasic Games in Scheme
The first project I write in any new language is usually a guess-the-number game, a die roller, or an RPN calculator, then I start collecting those and other toys and utilities into a single “main...
View ArticleScript the Scheme REPL with Expect
Routinely I want to open the Chez Scheme REPL in my code dir and load my standard libraries; I’ve been copy-pasting from a Stickies to get my setup each time, because you can’t easily set a common...
View ArticleHaunted Dungeon early beta
Haunted Dungeon on itch.io Hey, it’s a new and slightly more usable build (still Mac only) of the Haunted Dungeon! You can now use all the weapons & armor, eat & drink food & potions,...
View ArticleGambit is a risky scheme
(puns about “scheme” names are mandatory) Neat: New version 4.9.4 of Gambit Scheme is out and they have a web site again after like 3 years. OK: So I start adapting my little module/how do you run...
View ArticleGambit hits a mark
(see, the X-Men Gambit has perfect aim and a stupid accent, which still makes him more interesting than Hawkeye; and of course I’m Mark and so is Marc) With much appreciated help from Marc Feeley, got...
View ArticleFormatting Strings in Scheme
Most of the time I use primitive display, or print functions: ;; displays a series of args to stdout (define (print . args) (for-each display args) (flush-output-port) ) ;; displays a series of args to...
View ArticleA Schemer in Common Lisp Land
I got my Land of Lisp tshirt (shop is now closed), and thought for my weekend goof-off I’d read thru the book again and try actually using the Common Lisp examples; before I’d just converted it on the...
View ArticleOld Man in the Woods Way of Argument Parsing
So, my premise is that only developers use command lines anymore. And after years of corporate enslavement, it’s nice to run off to the woods, make a log cabin and all your tools yourself. Therefore...
View ArticleScheme Parent Protocols
Here’s a subtle point of using Scheme (Chez, R6RS) records with inheritance: ;; creates a record, two default fields (define-record-type Foo (fields (mutable x) (mutable y)) (protocol (λ (new) (λ ()...
View Article