Skip to content

Neat 0.2.2: New Year of Lexing

Compare
Choose a tag to compare
@FeepingCreature FeepingCreature released this 01 Jan 20:31
· 363 commits to master since this release

Small release. Biggest impact is a change in parser API: several operations no longer return an Error, as the error case now happens during lexing. This will require some change in macro use, but largely just removing ?s.

Oh, and depending on codebase, you might see a 20% to 200% speedup, as the C importer now only depends on the neat.base module, reducing the cost to use this macro. (I'm pretty happy with that one.) There's some other speedups around sumtype case expressions as well: the LLVM backend now tries to more aggressively avoid large structure load and store instructions, which are not well optimized by LLVM.

As compared to 0.2.1, neat building itself is down to 0.85s. Still not as big as hoped, but I'll take it.