Traits, Monads, and language design

Tony Garnock-Jones wrote “I’ve been amusing myself recently by designing a programming language. Over the past few weeks, to explore some design ideas for it, I implemented a small traits system and a runtime-checked overloaded monad implementation in Scheme. For those interested in learning more about what I’ve been doing, I’ve just written up an article covering some…”

Something about early, and often?

Tony Garnock-Jones wrote “Naturally, almost as soon as I’d posted about my extensions to pregexp, I discovered a bug in said extensions. It was something I should have caught, too: in the code I had a constant (3) which I couldn’t explain. I had expected it to be 2, not 3, and the need for the extra increment…”

xxexpr.ss – an SXML-to-XML converter

Tony Garnock-Jones wrote “The SSAX XML parsing- and processing-library provides robust, high-quality XML reading tools for Scheme, but doesn’t include a general purpose XML writer. Over the past couple of years, a few of my projects have had a need to convert SXML-like data to an XML 1.0 external representation, and so I’ve written a portable SXML-to-XML printing…”

A SRFI-10-style extension to JSON

Tony Garnock-Jones wrote “Background The data language JSON is a great replacement for XML for many applications. It’s very similar in spirit to Lisp and Scheme S-expressions, as well as to XML: it is a pure data language, with no intrinsic semantics. XML doesn’t allow direct literal representation of any data types other than strings and XML nodes…”

By Alex Proimos from Sydney, Australia (Small Talk) [CC BY 2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons

Simple AJAX (with JSON) Chat Application for ASP 3.0

Tony Garnock-Jones wrote “The code in this package (not only a snapshot, but also a darcs repository) was originally developed for two reasons: for use in teaching a course in Javascript as part of a guest lecture series for the University of Westminster, and as a consequence of my personal interest in experimenting with modern client-server programming techniques.…”

pregexp over streams, and other random hackery

Tony Garnock-Jones wrote “Over at eighty-twenty I recount a couple of recent random excursions into various bits and pieces of code. Besides those developments, I also spent some time on Sunday morning modifying Dorai Sitaram‘s pregexp version 20050502 to operate over streams as well as strings, so that I could use it for lexing arbitrary character sources (for…”

JSON for MzScheme, and a Portable Packrat Parsing Combinator library

Tony Garnock-Jones wrote “I’ve taken my Scheme Packrat Parser library, ported it to MzScheme, documented it, and implemented a JSON reader-writer library on top of it. The code is all available under the MIT license. A darcs repository is available at https://www.lshift.net/~tonyg/json-scheme/, or you can grab a snapshot tarball including a PDF version of the documentation. $ darcs…”

JSON, Squeak, and Seaside

Tony Garnock-Jones wrote “Today I implemented a JSON reader/writer library for Squeak, and a small extension to Seaside‘s existing LivePage features for doing XMLHttpRequest-based server-push. The JSON code is available on Squeakmap and also via SqueakSource, under either SqueakL (see here) or the MIT license. The Seaside extension is still in flux, but I’ll release something as soon…”

StoJ Open-sourced

Tony Garnock-Jones wrote “I’m pleased to announce the open-source release of StoJ. The code is being released under the MIT license, and can be downloaded from this github project. $ git clone git://github.com/tonyg/stoj.git Alternatively, you can download a snapshot.”

TiddlyWiki adaptation

Michael Bridgen wrote “I’ve started work on an adaption of TiddlyWiki. The things I want to improve: – TiddlyWiki has a degree of reflection — editing the node ‘MainTitle’ changes the displayed title, for example. It does these inconsistently though, with bits of privileged markup. I’d rather it kept them as nodes and simply styled those nodes specially…”

A Lisp Interpreter for Squeak

Tony Garnock-Jones wrote “This is a simple-minded (and slightly weird) Lisp interpreter for Squeak Smalltalk. It doesn’t have a REPL under Morphic, but I’ve hacked on it to provide a minimal Morphic UI. It got me thinking about Lisp Machines again. What if the existing Squeak infrastructure could be exploited to build a Scheme Machine? The minimal addition…”