on master help sign in
unwrap prefix exprs
commitd9e37e7f1f4aa8926a0b00ac34a7e0dd94c3c995 authoriko <mail@iko.soy> dateTue 30 Jul 2024, 14:35 (2 years ago) parentd74d877
2 files changed+11−10
desk/lib/lua/parser.hoon+11−2 desk/ted/test-lua.hoon−8
desk/lib/lua/parser.hoon+11−2
@@ -33,7 +33,7 @@ apex
3333 parse-numeral
3434 ::
3535 %+ cook
36− |=(=prefix-expr [%prefix-expr prefix-expr])
36+ |=(=prefix-expr (unwrap-prefix [%prefix-expr prefix-expr]))
3737 (knee *prefix-expr |.(parse-prefix-expr))
3838 ::
3939 %+ cook
@@ -136,7 +136,11 @@ apex
136136 --
137137++ parse-expr
138138 %^ tnee %parse-expr expr
139− %+ cook process-expr-list parse-expr-list
139+ %+ cook unwrap-prefix
140+ ;~ pose
141+ %+ cook process-expr-list parse-expr-list
142+ (ifix [;~(plug (just '(') ws) ;~(plug ws (just ')'))] (knee *expr |.(parse-expr)))
143+ ==
140144++ parse-parened-expr
141145 %^ tnee %parse-parened-expr prefix-expr
142146 %+ cook
@@ -960,4 +964,9 @@ apex
960964 |= [nedl=* stak=(list *)]
961965 ^- ?
962966 ?=(^ (find ~[nedl] stak))
967+++ unwrap-prefix
968+ |= x=expr
969+ ^- expr
970+ ?: ?=([%prefix-expr %expr *] x) $(x +>.x)
971+ x
963972--
desk/ted/test-lua.hoon−8
@@ -74,14 +74,6 @@
7474 ?~ cycled-ast-unit (pure:m %err)
7575 =/ ast u.cycled-ast-unit
7676 ~? (has-flag %print-asts) ast
77− ~& %printing-parsed
78− =/ printed (lua-printer ast)
79− ~& %comparing-printed
80− ?. =(printed ^printed) (pure:m %err)
81− ~& %parsing-reprinted
82− =/ cycled-ast-unit (parse printed)
83− ?~ cycled-ast-unit (pure:m %err)
84− =/ ast u.cycled-ast-unit
8577 ~& %comparing-asts
8678 ?. =(^ast ast) (pure:m %err)
8779 (pure:m %ok)