@typeswitch Branch displacement optimization, deciding whether a relative jump is short enough to use the smaller instruction encoding, is also messy fun.
@typeswitch I ended up going through a monoidal description record in my assembler because of the damn prefixes. Too much back and forth to go directly to bytes cleanly.
@brendanzab@kamatsu8 @wenkokke @cyberglot @jonmsterling Yes: Sixty does NbE with De Bruijn indices in the syntax and fresh vars in the domain to avoid shifting during pattern matching elaboration, which can make modifications to the middle of the context. But I guess implementations might have different tradeoffs than formalisations.
@brendanzab@andrasKovacs6 @jonmsterling There it is! Also note that the sentinel https://t.co/1t9bSyTEtG unifies with anything without error in an attempt not to get cascades of errors due to errors.
It's a bit crude now, but if you want the fastest parser library in Haskell, which is a) on Hackage b) can be used for real-world programming language parsing with reasonable effort, see this: https://t.co/188Aubexvs
Has anyone seen this monoid with a cute action on lists before?
empty = (∞, 0)
(t₁, d₁) ⋄ (t₂, d₂) = (min t₁ (t₂ - d₁), d₁ + d₂)
act (t, d) = take t . drop d
London Perf Summit #2 is almost here ! Meet Olle Fredriksson (@ollfredo) as he presents how to build real-time tooling and incremental compilers using a build system library called Rock
#londonperfsummit Sign-up here: https://t.co/caX4tmwQOQ
https://t.co/gcUTm2p5VC