I’ve got two parser combinators today for you to play with, both whipped up this evening from pieces of earlier experiments.
Category Archives: Uncategorized
Schrodinger’s Yacc
There was a small controversy last year about parser combinators, a convenient way of rapidly developing parsers in a functional style. Yacc is presumably chosen as the archetypal non-combinator parser generator, requiring separate external parser compiler, known for being a pain to use.
Like Schrodinger’s cat, Yacc seems to be indeterminately alive or dead (though the last article conclusively opened the box for me).
Eval in Python
I’ll just leave this here for you:
Wait what. Python compiles? That is correct. CPython and PyPy (the implementations worth caring about currently) are in fact creating a code object from the string you pass to exec or eval before executing it. And that’s just one of the things many people don’t know about the exec statement.
It doesn’t always have to be about theory, nor should it be. I might recommend this article for programmers already versed in Python, to read side by side or leading up to SICP’s “Metalinguistic Abstractions” chapter.
Kindle programming (part 1)
I bought an Amazon Kindle 3G back in October. So far I’ve mostly been reading research papers on it (that 3rd gen eInk really is amazing), occasionally proggit.
I applied for SDK access, but heard nothing back. So instead, I’m using the built in “experimental” web browser. It has canvas support, so I’m golden.
As you might have noticed, I couldn’t resist the urge to design a vector font for the task; please be gentle, I know the font leaves a lot to be desired, it’s a work in progress. The Kindle browser didn’t seem to have font support anyway, while public domain, I didn’t particularly enjoy the Hershey fonts. The Hershey fonts are nice, but they’re unsuitable for programming.
PDC 2009 top picks
Personal picks for PDC 2009 thus far. Haven’t watched them yet, so no reviews.
- Dynamic Binding in C# 4.0 — last I saw this was pre Beta, so need to catch up on what was improved in the final design.
- Concurrency Fuzzing & Data Races — data races = debugging pain.
- C++ Forever: Interactive Applications in the Age of Manycore – I’m a bit skeptical about the title though — forever? really? I guess we’ll wait an see.
- Microsoft .NET Micro Framework and Intelligent Devices – mostly interested in seeing where the MF is at, and what their public future directions are.
- Microsoft Perspectives on the Future of Programming – some big names here, Erik Meijer, Herb Sutter I’m most aware of; Don Box interesting, I haven’t seen what he’s up to lately.
- Future of Garbage Collection – Patrick Dussud.
- Rx: Reactive Extensions for .NET – Erik Meijer’s latest work
- Axum: A .NET Language for Safe Scalable Concurrency — mostly to remain abreast of different async patterns and their consequences.
- F# for Parallel and Asynchronous Programming – again, to remain informed of async developments.
Small complaint on behalf of those who were physically in attendance: I imagine it’s really annoying to find related topics always be in the same slot. Concurrency Fuzzing and C++ manycore; Axum and F# Parallel/Async; I would think it would be annoying to have to choose between those pairs.
Of course, I always watch online after-the-fact when the videos are up, so no negative consequence for me.
#aaron
