Temporarily revert ++musk expansion.
:>
:> mold generator: produces a mold of a null-terminated list of the
:> homogeneous type {a}.
- |*(a/mold $@($~ {i/a t/(list a)}))
+ |*(a/$-(* *) $@($~ {i/a t/(list a)}))
::
++ lone
:> single item tuple
:: 6; if-then-else
::
{$6 b/* c/* d/*}
- :: use standard macro expansion (slow)
+ :: semantic expansion
::
- $(fol =>(fol [2 [0 1] 2 [1 c d] [1 0] 2 [1 2 3] [1 0] 4 4 b]))
+ %+ require
+ $(fol b.fol)
+ |= :: fig: boolean
+ ::
+ fig/noun
+ :: apply proper booleans
+ ::
+ ?: =(& fig) ^$(fol c.fol)
+ ?: =(| fig) ^$(fol d.fol)
+ :: stop on bad test
+ ::
+ ~
::
:: 7; composition
::
:: this performance fix should unify a bunch of trivial formulas,
:: but breaks on certain hacks in ++raid:zuse.
::
- :: ?. ?=(?($axil $leaf) -.sec) raw
- :: [%tsgr [%rock %n ~] raw]
- raw
+ ?. ?=(?($axil $leaf) -.sec) raw
+ [%tsgr [%rock %n ~] raw]
::
++ whip
|= axe/axis
==
::
{$bckt *} [%vine boil(gen p.gen) boil(gen q.gen)]
- {$bchp *} [%weed [%brsg [~ ~] p.gen [%bunt [%tsgr [%$ 7] q.gen]]]]
+ {$bchp *}
+ :- %weed
+ :+ %tsgr
+ [p.gen q.gen]
+ :^ %brsg [~ ~]
+ [%bcsm [%$ 2]]
+ [%tsgr [%$ 15] [%limb %$]]
+ ::
{$halo *} [%plow p.gen boil(gen q.gen)]
{$bcts *} [%bark p.gen boil(gen q.gen)]
{$bcwt *} =+ (turn p.gen |=(a/hoon boil(gen a)))
|- ^- hoon
?~ r.gen p.q.a
[%tstr [~ p.i.r.gen] q.i.r.gen $(r.gen t.r.gen)]
- {$brcl *} [%tsls [%cold q.gen] [%brdt p.gen r.gen]]
+ {$brcl *} [%tsls q.gen [%brdt p.gen r.gen]]
{$brdt *} :+ %brcn p.gen
=- [[0 [~ ~] -] ~ ~]
(~(put by *(map term (pair what foot))) %$ ~ [%ash q.gen])
==
::
{$bckt *} [%vine boil(gen p.gen) boil(gen q.gen)]
- {$bchp *} [%weed [%brsg [~ ~] p.gen [%bunt [%tsgr [%$ 7] q.gen]]]]
+ {$bchp *}
+ :- %weed
+ :+ %tsgr
+ [p.gen q.gen]
+ :^ %brsg [~ ~]
+ [%bcsm [%$ 2]]
+ [%tsgr [%$ 15] [%limb %$]]
+ ::
{$halo *} [%plow p.gen boil(gen q.gen)]
{$bcts *} [%bark p.gen boil(gen q.gen)]
{$bcwt *} =+ (turn p.gen |=(a/hoon boil(gen a)))
?: fab
pro
~| %musk-blocked
+ ~| [%subject bus ~]
+ ~| [%formula q.pro ~]
!!
[p.pro [%1 p.u.jon]]
::
