Blog

List of all postsAtom feed

Negation blues

There’s a nasty little difficulty in the design of LES: negative literals.

(read more)

Ungglish

Do you ever wish that people who don’t speak English could still understand your writing? Would you like your software’s UI to have a reasonably reliable automatic translation?

(read more)

Thanks

I would just like to thank Chris, Shawn, and Jonathan, who emailed in support of my work after my last blog post. While you guys don’t have time right now to help develop Loyc or Enhanced C#, it’s nice to know there are people reading and liking my blog!

(read more)

Coders' block

I’ve had an intense passion for creating programming languages for over fifteen years. I started writing a specification for my first design around December 1999. In 2007 I started “Loyc”, which was going to be a multi-syntax compiler based on popular programming languages, but it didn’t attract any interest and I abandoned the idea two or three years later. Instead I took up a hobby making data structures and creating miniature alternatives to popular libraries like NUnit, but once again these attracted very little interest, especially the fanciest and most difficult family of data structures I created, the ALists. In 2012 I started building the ANTLR competitor LLLPG and created LES version 1 as a work product, all in the service of my bigger plan to create Enhanced C#. I wrote all about LLLPG on CodeProject and followed up with a Visual Studio SFG for it. In the end I was able to get a few dozen upvotes, but I could never confirm that I had any users, even after Enhanced C# became available as the input language.

(read more)

New articles about Loyc Core!

For several years I’ve been building a library themed “things that should be built into the .NET framework, but aren’t”. But I kept putting off writing articles about the things in there that should be built-in, but, you know, aren’t. No longer!

(read more)

LESv3 design nearing completion

LESv3 was set back somewhat by the news that WebAssembly’s developers weren’t interested in going beyond s-expressions for the MVP. I wanted to suggest using a subset of LESv3 as the text format, something that could be implemented quickly; for instance instead of using syntax like this:

(read more)

The trouble with Rosetta Stone

Merry Christmas my dear readers! Few though you may be….

(read more)

WebAssembly text format: LESv3

Background: WebAssembly is a new technology being standardized for running native applications (e.g. C/C++/Rust) on the web. It used to be an expression-based language that was typically viewed as an abstract syntax tree (AST) — basically a high-level assembly language, moreso than C ever was. Recently, however, the design shifted into a postorder “stack machine” which supports all the code that could have been expressed as an AST, plus some “oddball” code that is not expressible as an AST (details).

(read more)