Neat 0.2.2: New Year of Lexing
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.