From d5d8715b3c9325cdb89ea3f95cec9a1be4b62d75 Mon Sep 17 00:00:00 2001 From: Anton Dyudin Date: Tue, 13 Dec 2016 11:49:48 -0800 Subject: [PATCH] fixy uno~by, other vor-based code duplication --- sys/hoon.hoon | 54 +++++++++++---------------------------------------- 1 file changed, 11 insertions(+), 43 deletions(-) diff --git a/sys/hoon.hoon b/sys/hoon.hoon index bdde77e9fb..1efddeb85d 100644 --- a/sys/hoon.hoon +++ b/sys/hoon.hoon @@ -1405,27 +1405,19 @@ :: +- uni :: union ~/ %uni - =+ b=a - |% - +- $ + |* b=_a ?: =(a b) a |- ^+ a ?~ b a ?~ a b - ?: (vor n.a n.b) + => ?.((vor n.a n.b) . .(a b, b a)) ?: =(n.b n.a) [n.b $(a l.a, b l.b) $(a r.a, b r.b)] ?: (hor n.b n.a) $(a [n.a $(a l.a, b [n.b l.b ~]) r.a], b r.b) $(a [n.a l.a $(a r.a, b [n.b ~ r.b])], b l.b) - ?: =(n.a n.b) - [n.b $(b l.b, a l.a) $(b r.b, a r.a)] - ?: (hor n.a n.b) - $(b [n.b $(b l.b, a [n.a l.a ~]) r.b], a r.a) - $(b [n.b l.b $(b r.b, a [n.a ~ r.a])], a l.a) - -- :: +- wyt :: size of set =< $ @@ -1568,26 +1560,18 @@ :: +- int :: intersection ~/ %int - =+ b=a - |% - +- $ + |* b=_a |- ^+ a ?~ b ~ ?~ a ~ - ?: (vor p.n.a p.n.b) + => ?:((vor p.n.a p.n.b) . .(a b, b a)) ?: =(p.n.b p.n.a) [n.b $(a l.a, b l.b) $(a r.a, b r.b)] ?: (gor p.n.b p.n.a) %- uni(a $(a l.a, b [n.b l.b ~])) $(b r.b) %- uni(a $(a r.a, b [n.b ~ r.b])) $(b l.b) - ?: =(p.n.a p.n.b) - [n.b $(b l.b, a l.a) $(b r.b, a r.a)] - ?: (gor p.n.a p.n.b) - %- uni(a $(b l.b, a [n.a l.a ~])) $(a r.a) - %- uni(a $(b r.b, a [n.a ~ r.a])) $(a l.a) - -- :: +- mar :: add with validation |* {b/* c/(unit *)} @@ -1656,51 +1640,35 @@ :: +- uni :: union, merge ~/ %uni - =+ b=a - |% - +- $ + |* b=_a |- ^+ a ?~ b a ?~ a b - ?: (vor p.n.a p.n.b) + => ?:((vor p.n.a p.n.b) . .(a b, b a)) ?: =(p.n.b p.n.a) [n.b $(a l.a, b l.b) $(a r.a, b r.b)] ?: (gor p.n.b p.n.a) $(a [n.a $(a l.a, b [n.b l.b ~]) r.a], b r.b) $(a [n.a l.a $(a r.a, b [n.b ~ r.b])], b l.b) - ?: =(p.n.a p.n.b) - [n.b $(b l.b, a l.a) $(b r.b, a r.a)] - ?: (gor p.n.a p.n.b) - $(b [n.b $(b l.b, a [n.a l.a ~]) r.b], a r.a) - $(b [n.b l.b $(b r.b, a [n.a ~ r.a])], a l.a) - -- :: +- uno :: general union - =+ b=a - |% - +- $ - |* meg/$-({* * *} *) + |= b=_a + |= meg/$-({_p:node _q:node _q:node} _q:node) |- ^+ a ?~ b a ?~ a b - ?: (vor p.n.a p.n.b) - ?: =(p.n.b p.n.a) - [n.b $(a l.a, b l.b) $(a r.a, b r.b)] - ?: (gor p.n.b p.n.a) - $(a [n.a $(a l.a, b [n.b l.b ~]) r.a], b r.b) - $(a [n.a l.a $(a r.a, b [n.b ~ r.b])], b l.b) + => ?:((vor p.n.a p.n.b) . .(a b, b a)) ?: =(p.n.a p.n.b) :+ [p.n.a (meg p.n.a q.n.a q.n.b)] $(b l.b, a l.a) $(b r.b, a r.a) ?: (gor p.n.a p.n.b) - $(b [n.b $(b l.b, a [n.a l.a ~]) r.b], a r.a) - $(b [n.b l.b $(b r.b, a [n.a ~ r.a])], a l.a) - -- + $(a [n.a $(a l.a, b [n.b l.b ~]) r.a], b r.b) + $(a [n.a l.a $(a r.a, b [n.b ~ r.b])], b l.b) :: :: +- urn :: apply gate to nodes