fix issue in prettier
This commit is contained in:
@@ -22,10 +22,9 @@ I'd kinda like to see array run in js...
|
|||||||
|
|
||||||
Idris does a common array for metas and defs.
|
Idris does a common array for metas and defs.
|
||||||
|
|
||||||
|
Prettier was missing a Lazy.
|
||||||
|
|
||||||
|
Zoo3, mostly runs aside from eqTest.
|
||||||
Something exponential is going on with zoo3.newt. Adding code makes it quickly worse.
|
|
||||||
|
|
||||||
|
|
||||||
Parser:
|
Parser:
|
||||||
- [x] unify broken for zoo3 `cons`
|
- [x] unify broken for zoo3 `cons`
|
||||||
|
|||||||
@@ -33,19 +33,39 @@ refl = \ A x p px => px
|
|||||||
list1 : List Bool
|
list1 : List Bool
|
||||||
list1 = cons _ true (cons _ false (nil _))
|
list1 = cons _ true (cons _ false (nil _))
|
||||||
|
|
||||||
-- 9 sec
|
|
||||||
|
|
||||||
|
|
||||||
Nat : U
|
Nat : U
|
||||||
Nat = (N : U) -> (N -> N) -> N -> N
|
Nat = (N : U) -> (N -> N) -> N -> N
|
||||||
|
|
||||||
-- 30 sec
|
five : Nat
|
||||||
|
five = \ N s z => s (s (s (s (s z))))
|
||||||
|
|
||||||
-- five : Nat
|
add : Nat -> Nat -> Nat
|
||||||
-- five = \ N s z => s (s (s (s (s z))))
|
add = \ a b N s z => a N s (b N s z)
|
||||||
|
|
||||||
-- add : Nat -> Nat -> Nat
|
mul : Nat -> Nat -> Nat
|
||||||
-- add = \ a b N s z => a N s (b N s z)
|
mul = \a b N s z => a N (b N s) z
|
||||||
|
|
||||||
|
ten : Nat
|
||||||
|
ten = add five five
|
||||||
|
|
||||||
|
hundred : Nat
|
||||||
|
hundred = mul ten ten
|
||||||
|
|
||||||
|
thousand : Nat
|
||||||
|
thousand = mul ten hundred
|
||||||
|
|
||||||
|
-- All of these fail, but are they funext?
|
||||||
|
-- works for zoo3, but maybe I'm expanding stuff too eagerly
|
||||||
|
|
||||||
|
-- eq : Eq _ true true
|
||||||
|
-- eq = refl
|
||||||
|
|
||||||
|
-- eqTest2 : Eq _ five five
|
||||||
|
-- eqTest2 = refl
|
||||||
|
|
||||||
|
-- -- This one breaks
|
||||||
|
-- eqTest : Eq _ hundred hundred
|
||||||
|
-- -- eqTest = refl _ _
|
||||||
|
|
||||||
-- Add the rest
|
-- Add the rest
|
||||||
|
|
||||||
|
|||||||
@@ -35,12 +35,13 @@ layout (TEXT str x) = str ++ layout x
|
|||||||
|
|
||||||
||| Whether a documents first line fits.
|
||| Whether a documents first line fits.
|
||||||
fits : Nat -> DOC -> Bool
|
fits : Nat -> DOC -> Bool
|
||||||
fits w x = if w < 0 then False else case x of
|
fits w x = if w == 0 then False else case x of
|
||||||
EMPTY => True
|
EMPTY => True
|
||||||
(LINE k x) => True
|
(LINE k x) => True
|
||||||
(TEXT s x) => fits (w `minus` length s) x
|
(TEXT s x) => fits (w `minus` length s) x
|
||||||
|
|
||||||
better : Nat -> Nat -> DOC -> DOC -> DOC
|
-- The lazy is important
|
||||||
|
better : Nat -> Nat -> DOC -> Lazy DOC -> DOC
|
||||||
better w k x y = if fits (w `minus` k) x then x else y
|
better w k x y = if fits (w `minus` k) x then x else y
|
||||||
|
|
||||||
be : Nat -> Nat -> List (Nat, Doc) -> DOC
|
be : Nat -> Nat -> List (Nat, Doc) -> DOC
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ processDecl (TypeSig nm tm) = do
|
|||||||
|
|
||||||
-- FIXME - this should be in another file
|
-- FIXME - this should be in another file
|
||||||
processDecl (Def nm raw) = do
|
processDecl (Def nm raw) = do
|
||||||
let m : MonadError Error M := %search
|
|
||||||
putStrLn "def \{show nm}"
|
putStrLn "def \{show nm}"
|
||||||
ctx <- get
|
ctx <- get
|
||||||
let pos = case raw of
|
let pos = case raw of
|
||||||
|
|||||||
Reference in New Issue
Block a user