mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-17 20:01:32 +03:00
Integrated but not compiling.
This commit is contained in:
parent
83de18e6c3
commit
5a33bdc64a
127
arvo/jael.hoon
127
arvo/jael.hoon
@ -559,25 +559,11 @@
|
|||||||
:: planets, a (set) is kind of lame...
|
:: planets, a (set) is kind of lame...
|
||||||
::::
|
::::
|
||||||
|_ a/pile
|
|_ a/pile
|
||||||
:: :: ++uni:py
|
:: :: ++dif:py
|
||||||
++ uni :: merge two piles
|
++ dif :: add/remove a->b
|
||||||
|= b/pile
|
|= b/pile
|
||||||
^- pile
|
^- (pair pile pile)
|
||||||
?~ b a
|
[(sub(a b) a) (sub b)]
|
||||||
?~ a b
|
|
||||||
?. (vor p.n.a p.n.b) $(a b, b a)
|
|
||||||
?: (lth +(q.n.b) p.n.a)
|
|
||||||
$(b r.b, l.a $(a l.a, r.b ~))
|
|
||||||
?: (lth +(q.n.a) p.n.b)
|
|
||||||
$(b l.b, r.a $(a r.a, l.b ~))
|
|
||||||
?: =(n.a n.b) [n.a $(a l.a, b l.b) $(a r.a, b r.b)]
|
|
||||||
?: (lth p.n.a p.n.b)
|
|
||||||
?: (gth q.n.a q.n.b)
|
|
||||||
$(b l.b, a $(b r.b))
|
|
||||||
$(b l.b, a $(b r.b, a $(b r.a, r.a ~, q.n.a q.n.b)))
|
|
||||||
?: (gth q.n.a q.n.b)
|
|
||||||
$(a l.a, b $(a r.a, b $(a r.b, r.b ~, q.n.b q.n.a)))
|
|
||||||
$(a l.a, b $(a r.a))
|
|
||||||
:: :: ++div:py
|
:: :: ++div:py
|
||||||
++ div :: allocate
|
++ div :: allocate
|
||||||
|= b/@ud
|
|= b/@ud
|
||||||
@ -605,30 +591,26 @@
|
|||||||
$| [%| :(add top p.al p.ar)]
|
$| [%| :(add top p.al p.ar)]
|
||||||
==
|
==
|
||||||
==
|
==
|
||||||
:: :: ++dif:py
|
::
|
||||||
++ dif :: add/remove a->b
|
++ gas :: ++gas:py
|
||||||
|= b/pile
|
|= b/(list ship) ^- pile :: insert list
|
||||||
^- (pair pile pile)
|
|
||||||
[(sub(a b) a) (sub b)]
|
|
||||||
::
|
|
||||||
++ sub
|
|
||||||
|= b/pile ^- pile
|
|
||||||
?~ b a
|
?~ b a
|
||||||
?~ a a
|
$(b t.b, a (put i.b))
|
||||||
?: (gth p.n.a q.n.b)
|
:: :: ++gud:py
|
||||||
$(b r.b, l.a $(a l.a, r.b ~))
|
++ gud :: validate
|
||||||
?: (lth q.n.a p.n.b)
|
=| {bot/(unit ship) top/(unit ship)}
|
||||||
$(b l.b, r.a $(a r.a, l.b ~))
|
|- ^- ?
|
||||||
%- uni(a $(a l.a, r.b ~))
|
?~ a &
|
||||||
%- uni(a $(a r.a, l.b ~))
|
?& (lte p.n.a q.n.a)
|
||||||
?: (gte p.n.a p.n.b)
|
?~(top & (lth +(q.n.a) u.top))
|
||||||
?: (lte q.n.a q.n.b)
|
?~(bot & (gth p.n.a +(u.bot)))
|
||||||
~
|
::
|
||||||
$(b r.b, a [[+(q.n.b) q.n.a] ~ ~])
|
?~(l.a & (vor p.n.a p.n.l.a))
|
||||||
?: (lte q.n.a q.n.b)
|
$(a l.a, top `p.n.a)
|
||||||
$(b l.b, a [[n.a(q (min q.n.a (dec p.n.b)))] ~ ~])
|
::
|
||||||
%- uni(a $(b r.b, a [[+(q.n.b) q.n.a] ~ ~]))
|
?~(l.a & (vor p.n.a p.n.l.a))
|
||||||
$(b l.b, a [[n.a(q (min q.n.a (dec p.n.b)))] ~ ~])
|
$(a r.a, bot `q.n.a)
|
||||||
|
==
|
||||||
:: :: ++int:py
|
:: :: ++int:py
|
||||||
++ int :: intersection
|
++ int :: intersection
|
||||||
|= b/pile ^- pile
|
|= b/pile ^- pile
|
||||||
@ -649,37 +631,54 @@
|
|||||||
[n.b(q q.n.a) ~ ~]
|
[n.b(q q.n.a) ~ ~]
|
||||||
%- uni(a $(l.a ~, b r.b))
|
%- uni(a $(l.a ~, b r.b))
|
||||||
[n.b ~ ~]
|
[n.b ~ ~]
|
||||||
::
|
:: :: ++put:py
|
||||||
::
|
++ put :: insert
|
||||||
++ put
|
|
||||||
|= b/ship ^- pile
|
|= b/ship ^- pile
|
||||||
(uni [b b] ~ ~)
|
(uni [b b] ~ ~)
|
||||||
::
|
:: :: ++sub:py
|
||||||
++ gas
|
++ sub :: subtract
|
||||||
|= b/(list ship) ^- pile
|
|= b/pile ^- pile
|
||||||
?~ b a
|
?~ b a
|
||||||
$(b t.b, a (put i.b))
|
?~ a a
|
||||||
|
?: (gth p.n.a q.n.b)
|
||||||
|
$(b r.b, l.a $(a l.a, r.b ~))
|
||||||
|
?: (lth q.n.a p.n.b)
|
||||||
|
$(b l.b, r.a $(a r.a, l.b ~))
|
||||||
|
%- uni(a $(a l.a, r.b ~))
|
||||||
|
%- uni(a $(a r.a, l.b ~))
|
||||||
|
?: (gte p.n.a p.n.b)
|
||||||
|
?: (lte q.n.a q.n.b)
|
||||||
|
~
|
||||||
|
$(b r.b, a [[+(q.n.b) q.n.a] ~ ~])
|
||||||
|
?: (lte q.n.a q.n.b)
|
||||||
|
$(b l.b, a [[n.a(q (min q.n.a (dec p.n.b)))] ~ ~])
|
||||||
|
%- uni(a $(b r.b, a [[+(q.n.b) q.n.a] ~ ~]))
|
||||||
|
$(b l.b, a [[n.a(q (min q.n.a (dec p.n.b)))] ~ ~])
|
||||||
::
|
::
|
||||||
++ tap
|
++ tap
|
||||||
=| out/(list (pair ship ship))
|
=| out/(list (pair ship ship))
|
||||||
|- ^+ out
|
|- ^+ out
|
||||||
?~ a out
|
?~ a out
|
||||||
$(a l.a, out [n.a $(a r.a)])
|
$(a l.a, out [n.a $(a r.a)])
|
||||||
:: :: ++gud:py
|
:: :: ++uni:py
|
||||||
++ gud :: validate
|
++ uni :: merge two piles
|
||||||
=| {bot/(unit ship) top/(unit ship)}
|
|= b/pile
|
||||||
|- ^- ?
|
^- pile
|
||||||
?~ a &
|
?~ b a
|
||||||
?& (lte p.n.a q.n.a)
|
?~ a b
|
||||||
?~(top & (lth +(q.n.a) u.top))
|
?. (vor p.n.a p.n.b) $(a b, b a)
|
||||||
?~(bot & (gth p.n.a +(u.bot)))
|
?: (lth +(q.n.b) p.n.a)
|
||||||
::
|
$(b r.b, l.a $(a l.a, r.b ~))
|
||||||
?~(l.a & (vor p.n.a p.n.l.a))
|
?: (lth +(q.n.a) p.n.b)
|
||||||
$(a l.a, top `p.n.a)
|
$(b l.b, r.a $(a r.a, l.b ~))
|
||||||
::
|
?: =(n.a n.b) [n.a $(a l.a, b l.b) $(a r.a, b r.b)]
|
||||||
?~(l.a & (vor p.n.a p.n.l.a))
|
?: (lth p.n.a p.n.b)
|
||||||
$(a r.a, bot `q.n.a)
|
?: (gth q.n.a q.n.b)
|
||||||
==
|
$(b l.b, a $(b r.b))
|
||||||
|
$(b l.b, a $(b r.b, a $(b r.a, r.a ~, q.n.a q.n.b)))
|
||||||
|
?: (gth q.n.a q.n.b)
|
||||||
|
$(a l.a, b $(a r.a, b $(a r.b, r.b ~, q.n.b q.n.a)))
|
||||||
|
$(a l.a, b $(a r.a))
|
||||||
--
|
--
|
||||||
:: :: ++ry
|
:: :: ++ry
|
||||||
:::: ## 3.b :: rights algebra
|
:::: ## 3.b :: rights algebra
|
||||||
|
Loading…
Reference in New Issue
Block a user