Archive for the ‘Uncategorized’ Category

I went to the HackerX recruitment event this week and, while it was interesting, the event was awkward. It’s a bit like speed-dating: 36 companies show up and you have five minutes per company to hear their pitch and make your own, and then time is called and you move on to the next company. […]


Current Bibliography

Posted by Elf Sternberg as Uncategorized

I’m just keeping this here, to keep me honest about what I’m reading. A Play on Regular Expressions: A Functional Pearl. Sebastian Fischer, Frank Huch, Thomas Wilke. Solid introduction to parsing with semirings in Haskell Haskell is straightforward and accessible Readable, breezy style Semirings covered: Recognition, Counting, Viterbi-Best (Maxlong, Firstlong) Algebraic Foundations of Semiring Parsing. […]

Denis Kyashif recently wrote a piece called "Implementing a Regular Expression Engine," and showed how to do it in Javascript. It’s a good piece, and I recommend it. Kyashif does a very good job of describing regular expressions from a Turing-theoretic approach using finite automata, but there’s another way to think about regular expressions, and […]

When last we left our hero, he had successfully implemented Rigged Regular Expressions in Rust. There’s been a lot of progress since then. Matt Might’s Parse Result Data Type Is A Semiring! One of my strongest intuitions when I started reading A Play on Regular Expressions was that under the covers Matt Might’s implementation of […]

Okay, in part one I showed you what I’ve learned about writing regular expression engines in Haskell. The example shown uses Haskell chars, so is unicode-compliant. I also mentioned a semiring. Here’s what a Haskell semiring’s class looks like. (A Haskell ‘class’ is more like a Trait in Rust, or an Interface is Java; it […]

I’ve been working my way through A Play on Regular Expressions, a programming pearl by Sebastian Fischer, Frank Huch, and Thomas Wilke on the use of weighted values in regular expressions. The paper has six parts, and I’ve understood everything up through part two, and what I’ve understood already blows my mind. I recently put […]

Last night, I went to a huge “Tech Talk and Happy Hour” put on by one of the major automobile manufacturers. They were recruiting talent for their engineering teams to develop a new infrastructure for self-driving cars. They even had an example on display. It was invitation-only and the recruiter tried extra hard to make […]


I installed LSP and I Liked It

Posted by Elf Sternberg as Uncategorized

I was wrong about Visual Studio Code. Not in the particulars, mind you. I’m still an Emacs user. It’s still my one and only IDE. But there was something about Visual Studio Code that bugged the hell out of me: on-the-fly syntactic analysis. I hated it. I thought it was a lazy developer’s feature, a […]


Barre, progress report: IT LIVES!

Posted by Elf Sternberg as Uncategorized

Barre: Progress Report, second week of December The develop branch of Barre now fully implements all of the features of Adams, Might & Darais’s 2015 implementation, only it does so in Rust. The current price of running seems to be about 15μs (15 microseconds) per operation, although that’s a preliminary finding based on very short […]


A bit of analysis while working on Barre.

Posted by Elf Sternberg as Uncategorized

I’ve been worrying a lot about the next stage of my project and realizing that I had seriously screwed up somewhere along the way. The next task on my list is to convert the recognizer into a parser. I’m going to refer to a couple of different things here. A quick bibliography: Herp, Rerp, and […]

Subscribe to Feed



July 2019
« Jun