performance and code size improvements

- Use default case for constructors with no explicit match.
- self-compile is 15s now
- code size is 60% smaller

code size and self compile time on par with the idris-built version
This commit is contained in:
2025-01-18 21:33:49 -08:00
parent f991ca0d52
commit e3ae301c9c
11 changed files with 371 additions and 10 deletions

View File

@@ -4,6 +4,9 @@ module Lib.Prettier
import Prelude
import Data.Int
-- TODO I broke this when I converted from Nat to Int, and we're disabling it
-- by flattening the Doc for now.
-- `Doc` is a pretty printing document. Constructors are private, use
-- methods below. `Alt` in particular has some invariants on it, see paper
-- for details. (Something along the lines of "the first line of left is not