mirror of
https://github.com/ilyakooo0/urbit.git
synced 2025-01-07 07:30:23 +03:00
Merge branch 'master' into mar-umd
This commit is contained in:
commit
2efd948bd9
154
app/dojo.hoon
154
app/dojo.hoon
@ -21,7 +21,7 @@
|
|||||||
$: say/sole-share :: command-line state
|
$: say/sole-share :: command-line state
|
||||||
dir/beam :: active path
|
dir/beam :: active path
|
||||||
poy/(unit dojo-project) :: working
|
poy/(unit dojo-project) :: working
|
||||||
{lib/(list hoof:ford) sur/(list hoof:ford)} :: lib+sur
|
{lib/(list hoof:ford) sur/(list hoof:ford)} :: lib+sur
|
||||||
var/(map term cage) :: variable state
|
var/(map term cage) :: variable state
|
||||||
old/(set term) :: used TLVs
|
old/(set term) :: used TLVs
|
||||||
buf/tape :: multiline buffer
|
buf/tape :: multiline buffer
|
||||||
@ -41,7 +41,7 @@
|
|||||||
r/purl:eyre
|
r/purl:eyre
|
||||||
==
|
==
|
||||||
{$poke p/goal} :: poke app
|
{$poke p/goal} :: poke app
|
||||||
{$show p/?($0 $1 $2 $3)} :: print val+span+twig
|
{$show p/?($0 $1 $2 $3)} :: print val+type+hoon
|
||||||
{$verb p/term} :: store variable
|
{$verb p/term} :: store variable
|
||||||
{$help p/(list term)} :: look up help
|
{$help p/(list term)} :: look up help
|
||||||
== ::
|
== ::
|
||||||
@ -53,10 +53,10 @@
|
|||||||
$% {$ur p/(unit knot) q/purl:eyre} :: http GET request
|
$% {$ur p/(unit knot) q/purl:eyre} :: http GET request
|
||||||
{$ge p/dojo-model} :: generator
|
{$ge p/dojo-model} :: generator
|
||||||
{$dv p/path} :: core from source
|
{$dv p/path} :: core from source
|
||||||
{$ex p/twig} :: hoon expression
|
{$ex p/hoon} :: hoon expression
|
||||||
{$sa p/mark} :: example mark value
|
{$sa p/mark} :: example mark value
|
||||||
{$as p/mark q/dojo-source} :: simple transmute
|
{$as p/mark q/dojo-source} :: simple transmute
|
||||||
{$do p/twig q/dojo-source} :: gate apply
|
{$do p/hoon q/dojo-source} :: gate apply
|
||||||
{$tu p/(list dojo-source)} :: tuple
|
{$tu p/(list dojo-source)} :: tuple
|
||||||
== ::
|
== ::
|
||||||
++ dojo-model :: data construction
|
++ dojo-model :: data construction
|
||||||
@ -201,22 +201,22 @@
|
|||||||
++ dp-hooves :: hoof list
|
++ dp-hooves :: hoof list
|
||||||
:(stag 0 %ex %clsg (most ;~(plug com gaw) dp-hoof))
|
:(stag 0 %ex %clsg (most ;~(plug com gaw) dp-hoof))
|
||||||
::
|
::
|
||||||
++ dp-hoof :: ++ford-hoof twig
|
++ dp-hoof :: ++ford-hoof hoon
|
||||||
;~ plug
|
;~ plug
|
||||||
:(stag %sand %f ;~(pose (cold %| tar) (easy %&)))
|
:(stag %sand %f ;~(pose (cold %| tar) (easy %&)))
|
||||||
:(stag %sand %tas sym)
|
:(stag %sand %tas sym)
|
||||||
%- dp-twig-punt
|
%- dp-hoon-punt
|
||||||
;~ (glue fas)
|
;~ (glue fas)
|
||||||
;~(pfix fas (sear dp-case-twig nuck:so))
|
;~(pfix fas (sear dp-case-hoon nuck:so))
|
||||||
(stag %sand ;~(plug (cold %p sig) fed:ag))
|
(stag %sand ;~(plug (cold %p sig) fed:ag))
|
||||||
==
|
==
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ dp-twig-punt :: twig of unit
|
++ dp-hoon-punt :: hoon of unit
|
||||||
|*(a/rule ;~(pose (stag [%bust %null] a) (easy [%bust %null])))
|
|*(a/rule ;~(pose (stag [%bust %null] a) (easy [%bust %null])))
|
||||||
::
|
::
|
||||||
++ dp-case-twig
|
++ dp-case-hoon
|
||||||
|= a/coin ^- (unit twig)
|
|= a/coin ^- (unit hoon)
|
||||||
?. ?=({$~ case} a) ~
|
?. ?=({$~ case} a) ~
|
||||||
%+ some
|
%+ some
|
||||||
[%rock %tas p.p.a]
|
[%rock %tas p.p.a]
|
||||||
@ -229,7 +229,7 @@
|
|||||||
;~(plug (cold %ur lus) dp-iden-url)
|
;~(plug (cold %ur lus) dp-iden-url)
|
||||||
;~(plug (cold %ge lus) dp-model)
|
;~(plug (cold %ge lus) dp-model)
|
||||||
;~(plug (cold %as pam) sym ;~(pfix ace dp-source))
|
;~(plug (cold %as pam) sym ;~(pfix ace dp-source))
|
||||||
;~(plug (cold %do cab) dp-twig ;~(pfix ace dp-source))
|
;~(plug (cold %do cab) dp-hoon ;~(pfix ace dp-source))
|
||||||
dp-value
|
dp-value
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
@ -256,8 +256,8 @@
|
|||||||
++ dp-model ;~(plug dp-server dp-config) :: ++dojo-model
|
++ dp-model ;~(plug dp-server dp-config) :: ++dojo-model
|
||||||
++ dp-path (en-beam he-beam) :: ++path
|
++ dp-path (en-beam he-beam) :: ++path
|
||||||
++ dp-server (stag 0 (most fas sym)) :: ++dojo-server
|
++ dp-server (stag 0 (most fas sym)) :: ++dojo-server
|
||||||
++ dp-twig tall:(vang | dp-path) :: ++twig
|
++ dp-hoon tall:(vang | dp-path) :: ++hoon
|
||||||
++ dp-rood :: 'dir' twig
|
++ dp-rood :: 'dir' hoon
|
||||||
=> (vang | (en-beam dir))
|
=> (vang | (en-beam dir))
|
||||||
;~ pose
|
;~ pose
|
||||||
rood
|
rood
|
||||||
@ -271,9 +271,9 @@
|
|||||||
==
|
==
|
||||||
++ dp-value :: ++dojo-source
|
++ dp-value :: ++dojo-source
|
||||||
;~ pose
|
;~ pose
|
||||||
(stag %ex dp-twig)
|
|
||||||
(stag %tu (ifix [sel ser] (most ace dp-source)))
|
|
||||||
(stag %sa ;~(pfix tar pam sym))
|
(stag %sa ;~(pfix tar pam sym))
|
||||||
|
(stag %ex dp-hoon)
|
||||||
|
(stag %tu (ifix [sel ser] (most ace dp-source)))
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ dp-config :: ++dojo-config
|
++ dp-config :: ++dojo-config
|
||||||
@ -536,7 +536,7 @@
|
|||||||
?- p.p.mad
|
?- p.p.mad
|
||||||
$0 ~
|
$0 ~
|
||||||
$1 [[%rose [~ " " ~] (skol p.q.cay) ~] (mar)]
|
$1 [[%rose [~ " " ~] (skol p.q.cay) ~] (mar)]
|
||||||
$2 [[%rose [~ " " ~] (dy-show-span-noun p.q.cay) ~] (mar)]
|
$2 [[%rose [~ " " ~] (dy-show-type-noun p.q.cay) ~] (mar)]
|
||||||
==
|
==
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
@ -558,17 +558,17 @@
|
|||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ dy-inspect
|
++ dy-inspect
|
||||||
|= {topic/(list term) sut/span}
|
|= {topic/(list term) sut/type}
|
||||||
%+ dy-rash %tan
|
%+ dy-rash %tan
|
||||||
|^ ^- tang
|
|^ ^- tang
|
||||||
=+ to-display=(find-item-in-span (flop topic) sut)
|
=+ to-display=(find-item-in-type (flop topic) sut)
|
||||||
?~ to-display
|
?~ to-display
|
||||||
[%leaf "Could not find help"]~
|
[%leaf "Could not find help"]~
|
||||||
(flop (print-item u.to-display))
|
(flop (print-item u.to-display))
|
||||||
:> # %models
|
:> # %models
|
||||||
+|
|
+|
|
||||||
::
|
::
|
||||||
:> an overview of all named things in the span.
|
:> an overview of all named things in the type.
|
||||||
:>
|
:>
|
||||||
:> each item in the overview list is either a documentation for a sublist
|
:> each item in the overview list is either a documentation for a sublist
|
||||||
:> or an association between a term and documentation for it.
|
:> or an association between a term and documentation for it.
|
||||||
@ -582,15 +582,15 @@
|
|||||||
{$item name/tape doc/what}
|
{$item name/tape doc/what}
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
:> the part of a {span} being inspected.
|
:> the part of a {type} being inspected.
|
||||||
++ item
|
++ item
|
||||||
$% :> overview of span
|
$% :> overview of type
|
||||||
{$view items/overview}
|
{$view items/overview}
|
||||||
:> inspecting a full core.
|
:> inspecting a full core.
|
||||||
$: $core
|
$: $core
|
||||||
name/tape
|
name/tape
|
||||||
docs/what
|
docs/what
|
||||||
sut/span
|
sut/type
|
||||||
con/coil
|
con/coil
|
||||||
children/(unit item)
|
children/(unit item)
|
||||||
==
|
==
|
||||||
@ -599,13 +599,13 @@
|
|||||||
name/tape
|
name/tape
|
||||||
docs/what
|
docs/what
|
||||||
f/foot
|
f/foot
|
||||||
sut/span
|
sut/type
|
||||||
==
|
==
|
||||||
:> inspecting a single chapter on a core.
|
:> inspecting a single chapter on a core.
|
||||||
$: $chapter
|
$: $chapter
|
||||||
name/tape
|
name/tape
|
||||||
docs/what
|
docs/what
|
||||||
sut/span
|
sut/type
|
||||||
con/coil
|
con/coil
|
||||||
chapter-id/@
|
chapter-id/@
|
||||||
==
|
==
|
||||||
@ -623,11 +623,11 @@
|
|||||||
+|
|
+|
|
||||||
:> returns the item to print while searching through {topic}.
|
:> returns the item to print while searching through {topic}.
|
||||||
:>
|
:>
|
||||||
:> this gate is called recursively to find the path {topic} in the span
|
:> this gate is called recursively to find the path {topic} in the type
|
||||||
:> {sut}. once it finds the correct part of the span, it switches to
|
:> {sut}. once it finds the correct part of the type, it switches to
|
||||||
:> ++build-inspectable-recursively to describe that part of the span.
|
:> ++build-inspectable-recursively to describe that part of the type.
|
||||||
++ find-item-in-span
|
++ find-item-in-type
|
||||||
|= {topics/(list term) sut/span}
|
|= {topics/(list term) sut/type}
|
||||||
^- (unit item)
|
^- (unit item)
|
||||||
?~ topics
|
?~ topics
|
||||||
:: we have no more search path. return the rest as an overview
|
:: we have no more search path. return the rest as an overview
|
||||||
@ -682,31 +682,31 @@
|
|||||||
~
|
~
|
||||||
?~ t.topics
|
?~ t.topics
|
||||||
`[%face (trip q.p.sut) p.p.sut (build-inspectable-recursively q.sut)]
|
`[%face (trip q.p.sut) p.p.sut (build-inspectable-recursively q.sut)]
|
||||||
(find-item-in-span t.topics q.sut)
|
(find-item-in-type t.topics q.sut)
|
||||||
::
|
::
|
||||||
{$fork *}
|
{$fork *}
|
||||||
=/ spans/(list span) ~(tap in p.sut)
|
=/ types/(list type) ~(tap in p.sut)
|
||||||
|-
|
|-
|
||||||
?~ spans
|
?~ types
|
||||||
~
|
~
|
||||||
=+ res=(find-item-in-span topics i.spans)
|
=+ res=(find-item-in-type topics i.types)
|
||||||
?~ res
|
?~ res
|
||||||
$(spans t.spans)
|
$(types t.types)
|
||||||
res
|
res
|
||||||
::
|
::
|
||||||
{$help *}
|
{$help *}
|
||||||
:: while we found a raw help, it's associated on the wrong side of a
|
:: while we found a raw help, it's associated on the wrong side of a
|
||||||
:: set of topics. Walk through it instead of showing it.
|
:: set of topics. Walk through it instead of showing it.
|
||||||
(find-item-in-span t.topics q.sut)
|
(find-item-in-type t.topics q.sut)
|
||||||
::
|
::
|
||||||
{$hold *} $(sut (~(play ut p.sut) q.sut))
|
{$hold *} $(sut (~(play ut p.sut) q.sut))
|
||||||
$noun ~
|
$noun ~
|
||||||
$void ~
|
$void ~
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
:> changes a {span} into an {item}.
|
:> changes a {type} into an {item}.
|
||||||
++ build-inspectable-recursively
|
++ build-inspectable-recursively
|
||||||
|= sut/span
|
|= sut/type
|
||||||
^- (unit item)
|
^- (unit item)
|
||||||
?- sut
|
?- sut
|
||||||
::
|
::
|
||||||
@ -730,13 +730,13 @@
|
|||||||
`[%face (trip q.p.sut) p.p.sut compiled-against]
|
`[%face (trip q.p.sut) p.p.sut compiled-against]
|
||||||
::
|
::
|
||||||
{$fork *}
|
{$fork *}
|
||||||
=* spans ~(tap in p.sut)
|
=* types ~(tap in p.sut)
|
||||||
=* items (turn spans build-inspectable-recursively)
|
=* items (turn types build-inspectable-recursively)
|
||||||
(roll items join-items)
|
(roll items join-items)
|
||||||
::
|
::
|
||||||
{$help *}
|
{$help *}
|
||||||
=* rest-span (build-inspectable-recursively q.sut)
|
=* rest-type (build-inspectable-recursively q.sut)
|
||||||
`[%view [%header p.sut (item-as-overview rest-span)]~]
|
`[%view [%header p.sut (item-as-overview rest-type)]~]
|
||||||
::
|
::
|
||||||
{$hold *} $(sut (~(play ut p.sut) q.sut))
|
{$hold *} $(sut (~(play ut p.sut) q.sut))
|
||||||
$noun ~
|
$noun ~
|
||||||
@ -782,7 +782,7 @@
|
|||||||
::
|
::
|
||||||
:> translate the internals of a core's {tomb} into an {overview}.
|
:> translate the internals of a core's {tomb} into an {overview}.
|
||||||
++ arms-as-overview
|
++ arms-as-overview
|
||||||
|= {a/(map term (pair what foot)) sut/span}
|
|= {a/(map term (pair what foot)) sut/type}
|
||||||
^- overview
|
^- overview
|
||||||
%+ turn ~(tap by a)
|
%+ turn ~(tap by a)
|
||||||
|= (pair term (pair what foot))
|
|= (pair term (pair what foot))
|
||||||
@ -807,7 +807,7 @@
|
|||||||
:> returns an overview for arms which are part of unnamed chapters,
|
:> returns an overview for arms which are part of unnamed chapters,
|
||||||
:> and an overview of the named chapters.
|
:> and an overview of the named chapters.
|
||||||
++ arm-and-chapter-overviews
|
++ arm-and-chapter-overviews
|
||||||
|= {sut/span con/coil core-name/tape}
|
|= {sut/type con/coil core-name/tape}
|
||||||
^- {overview overview}
|
^- {overview overview}
|
||||||
=| arm-docs/overview :< documented arms
|
=| arm-docs/overview :< documented arms
|
||||||
=| chapter-docs/overview :< documented chapters
|
=| chapter-docs/overview :< documented chapters
|
||||||
@ -830,7 +830,7 @@
|
|||||||
::
|
::
|
||||||
:> returns an overview of the arms in a specific chapter.
|
:> returns an overview of the arms in a specific chapter.
|
||||||
++ arms-in-chapter
|
++ arms-in-chapter
|
||||||
|= {sut/span con/coil chapter-id/@}
|
|= {sut/type con/coil chapter-id/@}
|
||||||
^- overview
|
^- overview
|
||||||
=* chapter-tomb (~(got by q.s.con) chapter-id)
|
=* chapter-tomb (~(got by q.s.con) chapter-id)
|
||||||
(sort-overview (arms-as-overview q.chapter-tomb sut))
|
(sort-overview (arms-as-overview q.chapter-tomb sut))
|
||||||
@ -850,8 +850,8 @@
|
|||||||
{$item *} name.ovr
|
{$item *} name.ovr
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ what-from-span
|
++ what-from-type
|
||||||
|= sut/span
|
|= sut/type
|
||||||
?+ sut ~
|
?+ sut ~
|
||||||
{$core *} q.r.q.sut
|
{$core *} q.r.q.sut
|
||||||
{$help *} p.sut
|
{$help *} p.sut
|
||||||
@ -876,7 +876,7 @@
|
|||||||
::
|
::
|
||||||
:> renders the documentation for a full core.
|
:> renders the documentation for a full core.
|
||||||
++ print-core
|
++ print-core
|
||||||
|= {core-name/tape docs/what sut/span con/coil uit/(unit item)}
|
|= {core-name/tape docs/what sut/type con/coil uit/(unit item)}
|
||||||
^- tang
|
^- tang
|
||||||
=+ [arms chapters]=(arm-and-chapter-overviews sut con core-name)
|
=+ [arms chapters]=(arm-and-chapter-overviews sut con core-name)
|
||||||
;: weld
|
;: weld
|
||||||
@ -902,19 +902,19 @@
|
|||||||
:> figures out which {what}s to use.
|
:> figures out which {what}s to use.
|
||||||
:>
|
:>
|
||||||
:> there are three places with a relevant {what}: the {arm-doc} on the
|
:> there are three places with a relevant {what}: the {arm-doc} on the
|
||||||
:> arm, the {what} in the computed span of the foot, and the {what} on
|
:> arm, the {what} in the computed type of the foot, and the {what} on
|
||||||
:> the product of the default arm when the computed span is a core.
|
:> the product of the default arm when the computed type is a core.
|
||||||
++ select-arm-docs
|
++ select-arm-docs
|
||||||
|= {arm-doc/what f/foot sut/span}
|
|= {arm-doc/what f/foot sut/type}
|
||||||
:> the computed arm documentation and the product documentation.
|
:> the computed arm documentation and the product documentation.
|
||||||
^- {what what}
|
^- {what what}
|
||||||
=+ foot-span=(~(play ut sut) p.f)
|
=+ foot-type=(~(play ut sut) p.f)
|
||||||
=+ raw-product=(what-from-span foot-span)
|
=+ raw-product=(what-from-type foot-type)
|
||||||
=/ product-product/what
|
=/ product-product/what
|
||||||
?. ?=({$core *} foot-span)
|
?. ?=({$core *} foot-type)
|
||||||
~
|
~
|
||||||
=* inner-span (~(play ut foot-span) [%limb %$])
|
=* inner-type (~(play ut foot-type) [%limb %$])
|
||||||
(what-from-span inner-span)
|
(what-from-type inner-type)
|
||||||
:-
|
:-
|
||||||
?~ arm-doc
|
?~ arm-doc
|
||||||
raw-product
|
raw-product
|
||||||
@ -925,7 +925,7 @@
|
|||||||
::
|
::
|
||||||
:> renders the documentation for a single arm in a core.
|
:> renders the documentation for a single arm in a core.
|
||||||
++ print-arm
|
++ print-arm
|
||||||
|= {arm-name/tape arm-doc/what f/foot sut/span}
|
|= {arm-name/tape arm-doc/what f/foot sut/type}
|
||||||
:: todo: need to get the sample here. also hoist this to the general
|
:: todo: need to get the sample here. also hoist this to the general
|
||||||
:: core printing machinery, too.
|
:: core printing machinery, too.
|
||||||
=+ [main-doc product-doc]=(select-arm-docs arm-doc f sut)
|
=+ [main-doc product-doc]=(select-arm-docs arm-doc f sut)
|
||||||
@ -939,7 +939,7 @@
|
|||||||
::
|
::
|
||||||
:> renders the documentation for a chapter in a core.
|
:> renders the documentation for a chapter in a core.
|
||||||
++ print-chapter
|
++ print-chapter
|
||||||
|= {name/tape doc/what sut/span con/coil chapter-id/@}
|
|= {name/tape doc/what sut/type con/coil chapter-id/@}
|
||||||
;: weld
|
;: weld
|
||||||
(print-header name doc)
|
(print-header name doc)
|
||||||
::
|
::
|
||||||
@ -1114,15 +1114,15 @@
|
|||||||
$(ret l, c t.c)
|
$(ret l, c t.c)
|
||||||
$(c t.c)
|
$(c t.c)
|
||||||
::
|
::
|
||||||
++ dy-show-span-noun
|
++ dy-show-type-noun
|
||||||
|= a/span ^- tank
|
|= a/type ^- tank
|
||||||
=- >[-]<
|
=- >[-]<
|
||||||
|- ^- $? $% {$atom @tas (unit @)}
|
|- ^- $? $% {$atom @tas (unit @)}
|
||||||
{$cell _$ _$}
|
{$cell _$ _$}
|
||||||
{$cube * _$}
|
{$cube * _$}
|
||||||
{$face {what $@(term tune)} _$}
|
{$face {what $@(term tune)} _$}
|
||||||
{$fork (set _$)}
|
{$fork (set _$)}
|
||||||
{$hold _$ twig}
|
{$hold _$ hoon}
|
||||||
==
|
==
|
||||||
wain :: "<|core|>"
|
wain :: "<|core|>"
|
||||||
$?($noun $void)
|
$?($noun $void)
|
||||||
@ -1130,20 +1130,20 @@
|
|||||||
?+ a a
|
?+ a a
|
||||||
{?($cube $face) ^} a(q $(a q.a))
|
{?($cube $face) ^} a(q $(a q.a))
|
||||||
{$cell ^} a(p $(a p.a), q $(a q.a))
|
{$cell ^} a(p $(a p.a), q $(a q.a))
|
||||||
{$fork *} a(p (silt (turn ~(tap in p.a) |=(b/span ^$(a b)))))
|
{$fork *} a(p (silt (turn ~(tap in p.a) |=(b/type ^$(a b)))))
|
||||||
{$help *} !!
|
{$help *} !!
|
||||||
{$core ^} `wain`/core
|
{$core ^} `wain`/core
|
||||||
{$hold *} a(p $(a p.a))
|
{$hold *} a(p $(a p.a))
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ dy-shown
|
++ dy-shown
|
||||||
$? twig
|
$? hoon
|
||||||
$^ {dy-shown dy-shown}
|
$^ {dy-shown dy-shown}
|
||||||
$% {$ur (unit knot) purl:eyre}
|
$% {$ur (unit knot) purl:eyre}
|
||||||
{$dv path}
|
{$dv path}
|
||||||
{$sa mark}
|
{$sa mark}
|
||||||
{$as mark dy-shown}
|
{$as mark dy-shown}
|
||||||
{$do twig dy-shown}
|
{$do hoon dy-shown}
|
||||||
{$ge path (list dy-shown) (map term (unit dy-shown))}
|
{$ge path (list dy-shown) (map term (unit dy-shown))}
|
||||||
==
|
==
|
||||||
==
|
==
|
||||||
@ -1156,7 +1156,7 @@
|
|||||||
?- -.bil
|
?- -.bil
|
||||||
$?($ur $dv $sa) bil
|
$?($ur $dv $sa) bil
|
||||||
$ex ?. ?=({$cltr *} p.bil) p.bil
|
$ex ?. ?=({$cltr *} p.bil) p.bil
|
||||||
|- ^- twig
|
|- ^- hoon
|
||||||
?~ p.p.bil !!
|
?~ p.p.bil !!
|
||||||
?~ t.p.p.bil i.p.p.bil
|
?~ t.p.p.bil i.p.p.bil
|
||||||
[i.p.p.bil $(p.p.bil t.p.p.bil)]
|
[i.p.p.bil $(p.p.bil t.p.p.bil)]
|
||||||
@ -1180,7 +1180,7 @@
|
|||||||
(dy-diff %mor [%det lic] [%bel ~] ~)
|
(dy-diff %mor [%det lic] [%bel ~] ~)
|
||||||
(dy-slam(per `dat) /edit u.pro !>((tufa buf.say)))
|
(dy-slam(per `dat) /edit u.pro !>((tufa buf.say)))
|
||||||
::
|
::
|
||||||
++ dy-span :: sole action
|
++ dy-type :: sole action
|
||||||
|= act/sole-action
|
|= act/sole-action
|
||||||
?- -.act
|
?- -.act
|
||||||
$det (dy-edit +.act)
|
$det (dy-edit +.act)
|
||||||
@ -1230,7 +1230,7 @@
|
|||||||
%- dy-silk-vase
|
%- dy-silk-vase
|
||||||
?~(b !>([~ ~]) (dy-vase p.u.b))
|
?~(b !>([~ ~]) (dy-vase p.u.b))
|
||||||
::
|
::
|
||||||
++ dy-twig-head :: dynamic state
|
++ dy-hoon-head :: dynamic state
|
||||||
:: todo: how do i separate the toplevel 'dojo state' comment?
|
:: todo: how do i separate the toplevel 'dojo state' comment?
|
||||||
:> dojo state
|
:> dojo state
|
||||||
:>
|
:>
|
||||||
@ -1286,7 +1286,7 @@
|
|||||||
(dy-meal (slot 7 vax))
|
(dy-meal (slot 7 vax))
|
||||||
::
|
::
|
||||||
$|
|
$|
|
||||||
=> .(vax (slap vax !,(*twig ?>(?=($| -) .)))) :: XX working spec #72
|
=> .(vax (slap vax !,(*hoon ?>(?=($| -) .)))) :: XX working spec #72
|
||||||
=+ typ={$| (unit knot) hiss:eyre *}
|
=+ typ={$| (unit knot) hiss:eyre *}
|
||||||
=+ [~ usr hiz ~]=((dy-cast typ !>(*typ)) vax)
|
=+ [~ usr hiz ~]=((dy-cast typ !>(*typ)) vax)
|
||||||
=. ..dy (he-diff %tan leaf+"< {(en-purl:html p.hiz)}" ~)
|
=. ..dy (he-diff %tan leaf+"< {(en-purl:html p.hiz)}" ~)
|
||||||
@ -1333,14 +1333,14 @@
|
|||||||
(slop hed $(p.bil t.p.bil))
|
(slop hed $(p.bil t.p.bil))
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ dy-twig-mark :: XX architect
|
++ dy-hoon-mark :: XX architect
|
||||||
=+ ^= ope
|
=+ ^= ope
|
||||||
|= gen/twig ^- twig
|
|= gen/hoon ^- hoon
|
||||||
?: ?=(?($sggl $sggr) -.gen)
|
?: ?=(?($sggl $sggr) -.gen)
|
||||||
$(gen q.gen)
|
$(gen q.gen)
|
||||||
=+ ~(open ap gen)
|
=+ ~(open ap gen)
|
||||||
?.(=(gen -) $(gen -) gen)
|
?.(=(gen -) $(gen -) gen)
|
||||||
|= gen/twig ^- (unit mark)
|
|= gen/hoon ^- (unit mark)
|
||||||
=. gen (ope gen)
|
=. gen (ope gen)
|
||||||
?: ?=({$cnts {@ $~} $~} gen)
|
?: ?=({$cnts {@ $~} $~} gen)
|
||||||
(bind (~(get by var) i.p.gen) head)
|
(bind (~(get by var) i.p.gen) head)
|
||||||
@ -1361,12 +1361,12 @@
|
|||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ dy-mare :: build expression
|
++ dy-mare :: build expression
|
||||||
|= gen/twig
|
|= gen/hoon
|
||||||
^- silk:ford
|
^- silk:ford
|
||||||
=+ too=(dy-twig-mark gen)
|
=+ too=(dy-hoon-mark gen)
|
||||||
=- ?~(too - [%cast u.too -])
|
=- ?~(too - [%cast u.too -])
|
||||||
:+ %ride gen
|
:+ %ride gen
|
||||||
:- [%$ dy-twig-head]
|
:- [%$ dy-hoon-head]
|
||||||
[%plan he-beam blob+** [zuse sur lib ~ ~]]
|
[%plan he-beam blob+** [zuse sur lib ~ ~]]
|
||||||
::
|
::
|
||||||
++ dy-step :: advance project
|
++ dy-step :: advance project
|
||||||
@ -1574,11 +1574,11 @@
|
|||||||
==
|
==
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ he-span :: apply input
|
++ he-type :: apply input
|
||||||
|= act/sole-action
|
|= act/sole-action
|
||||||
^+ +>
|
^+ +>
|
||||||
?^ poy
|
?^ poy
|
||||||
he-pine:(~(dy-span dy u.poy) act)
|
he-pine:(~(dy-type dy u.poy) act)
|
||||||
?- -.act
|
?- -.act
|
||||||
$det (he-stir +.act)
|
$det (he-stir +.act)
|
||||||
$ret (he-done (tufa buf.say))
|
$ret (he-done (tufa buf.say))
|
||||||
@ -1704,7 +1704,7 @@
|
|||||||
|= {moz/(list move) ses/session}
|
|= {moz/(list move) ses/session}
|
||||||
=> ~(. he moz ses)
|
=> ~(. he moz ses)
|
||||||
=- [wrap=- +]
|
=- [wrap=- +]
|
||||||
|* he-arm/_he-span
|
|* he-arm/_he-type
|
||||||
|= _+<.he-arm
|
|= _+<.he-arm
|
||||||
^- (quip move _..he)
|
^- (quip move _..he)
|
||||||
he-abet:(he-arm +<)
|
he-abet:(he-arm +<)
|
||||||
@ -1721,7 +1721,7 @@
|
|||||||
::
|
::
|
||||||
++ poke-sole-action
|
++ poke-sole-action
|
||||||
|= act/sole-action ~| poke+act %. act
|
|= act/sole-action ~| poke+act %. act
|
||||||
(wrap he-span):arm
|
(wrap he-type):arm
|
||||||
::
|
::
|
||||||
++ poke-lens-command
|
++ poke-lens-command
|
||||||
|= com/command:lens ~| poke-lens+com %. com
|
|= com/command:lens ~| poke-lens+com %. com
|
||||||
|
@ -110,7 +110,7 @@
|
|||||||
{$join p/where} ::
|
{$join p/where} ::
|
||||||
{$leave p/where} ::
|
{$leave p/where} ::
|
||||||
{$say p/(list speech)} ::
|
{$say p/(list speech)} ::
|
||||||
{$eval p/cord q/twig} ::
|
{$eval p/cord q/hoon} ::
|
||||||
{$invite p/knot q/(list partner)} :: whitelist add
|
{$invite p/knot q/(list partner)} :: whitelist add
|
||||||
{$banish p/knot q/(list partner)} :: blacklist add
|
{$banish p/knot q/(list partner)} :: blacklist add
|
||||||
{$block p/knot q/(list partner)} :: blacklist add
|
{$block p/knot q/(list partner)} :: blacklist add
|
||||||
@ -203,7 +203,7 @@
|
|||||||
++ sh-scad :: command parser
|
++ sh-scad :: command parser
|
||||||
=< work
|
=< work
|
||||||
|%
|
|%
|
||||||
++ expr :: [cord twig]
|
++ expr :: [cord hoon]
|
||||||
|= tub/nail %. tub
|
|= tub/nail %. tub
|
||||||
%+ stag (crip q.tub)
|
%+ stag (crip q.tub)
|
||||||
wide:(vang & [&1:% &2:% (scot %da now.hid) |3:%])
|
wide:(vang & [&1:% &2:% (scot %da now.hid) |3:%])
|
||||||
@ -968,7 +968,7 @@
|
|||||||
|= cod/command
|
|= cod/command
|
||||||
%_(+> coz [cod coz])
|
%_(+> coz [cod coz])
|
||||||
::
|
::
|
||||||
++ sh-twig-head ^- vase :: eval data
|
++ sh-hoon-head ^- vase :: eval data
|
||||||
!>(`{our/@p now/@da eny/@uvI}`[our.hid now.hid (shas %eny eny.hid)])
|
!>(`{our/@p now/@da eny/@uvI}`[our.hid now.hid (shas %eny eny.hid)])
|
||||||
::
|
::
|
||||||
++ sh-work :: do work
|
++ sh-work :: do work
|
||||||
@ -1211,8 +1211,8 @@
|
|||||||
..sh-work
|
..sh-work
|
||||||
::
|
::
|
||||||
++ eval :: run
|
++ eval :: run
|
||||||
|= {txt/cord exe/twig}
|
|= {txt/cord exe/hoon}
|
||||||
=> |.([(sell (slap (slop sh-twig-head seed) exe))]~)
|
=> |.([(sell (slap (slop sh-hoon-head seed) exe))]~)
|
||||||
=+ tan=p:(mule .)
|
=+ tan=p:(mule .)
|
||||||
(say [%fat tank+tan exp+txt] ~)
|
(say [%fat tank+tan exp+txt] ~)
|
||||||
::
|
::
|
||||||
|
@ -78,9 +78,8 @@
|
|||||||
:- %say
|
:- %say
|
||||||
|= *
|
|= *
|
||||||
=< [%noun (say-hello %world)]
|
=< [%noun (say-hello %world)]
|
||||||
=> :> #
|
=> :> # %arch
|
||||||
:> # %arch
|
:>
|
||||||
:> #
|
|
||||||
:> structures for our imaginary hello, world generator.
|
:> structures for our imaginary hello, world generator.
|
||||||
:>
|
:>
|
||||||
:> nothing forces us to put structures in a separate core.
|
:> nothing forces us to put structures in a separate core.
|
||||||
@ -95,24 +94,25 @@
|
|||||||
:> in a separate chapter (separated by {+|}).
|
:> in a separate chapter (separated by {+|}).
|
||||||
|%
|
|%
|
||||||
:> # %model
|
:> # %model
|
||||||
|
:>
|
||||||
:> models (molds) are functions that normalize nouns.
|
:> models (molds) are functions that normalize nouns.
|
||||||
:>
|
:>
|
||||||
:> arms producing molds are introduced with {+=}. for molds,
|
:> arms producing molds are introduced with {+=}. for molds,
|
||||||
:> we decorate the mold rather than the arm. the compiler
|
:> we decorate the mold rather than the arm. the compiler
|
||||||
:> will copy the mold decoration onto the arm.
|
:> will copy the mold decoration onto the arm.
|
||||||
+|
|
+|
|
||||||
+= spot {p/@ q/@} :< a coordinate
|
+= spot [p=@ q=@] :< a coordinate
|
||||||
+= tops :> also a coordinate
|
+= tops :> also a coordinate
|
||||||
{p/@ q/@}
|
[p=@ q=@]
|
||||||
+= goof :> a simple tuple
|
+= goof :> a simple tuple
|
||||||
$: foo/@ :< something mysterious
|
$: foo=@ :< something mysterious
|
||||||
bar/@ :< go here for drink
|
bar=@ :< go here for drink
|
||||||
moo/(binary-tree juice) :< cows do this
|
moo=(binary-tree juice) :< cows do this
|
||||||
==
|
==
|
||||||
+= juice :> fruity beverage
|
+= juice :> fruity beverage
|
||||||
$% {$plum p/@} :< fresh prune
|
$% [%plum p=@] :< fresh prune
|
||||||
{$pear p/@ q/@} :< good for cider
|
[%pear p=@ q=@] :< good for cider
|
||||||
{$acai p/@} :< aztec superfood
|
[%acai p=@] :< aztec superfood
|
||||||
==
|
==
|
||||||
:> #
|
:> #
|
||||||
:> # %pattern
|
:> # %pattern
|
||||||
@ -124,8 +124,8 @@
|
|||||||
:> or "higher-kinded types".
|
:> or "higher-kinded types".
|
||||||
+|
|
+|
|
||||||
++ binary-tree :< tree pattern
|
++ binary-tree :< tree pattern
|
||||||
|* a/$-(* *)
|
|* a=$-(* *)
|
||||||
$@($~ {n/a l/(binary-tree a) r/(binary-tree a)})
|
$@($~ [n=a l=(binary-tree a) r=(binary-tree a)])
|
||||||
:> #
|
:> #
|
||||||
:> # %constant
|
:> # %constant
|
||||||
:> #
|
:> #
|
||||||
@ -134,8 +134,9 @@
|
|||||||
++ answer :< answer to everything
|
++ answer :< answer to everything
|
||||||
42
|
42
|
||||||
--
|
--
|
||||||
|
:> #
|
||||||
:> # %work
|
:> # %work
|
||||||
:>
|
:> #
|
||||||
:> engines for our imaginary hello, world app.
|
:> engines for our imaginary hello, world app.
|
||||||
:>
|
:>
|
||||||
:> note that ++say-goodbye is the correct notation, even though
|
:> note that ++say-goodbye is the correct notation, even though
|
||||||
@ -147,7 +148,7 @@
|
|||||||
:>
|
:>
|
||||||
|= :> txt: friend to say hi to
|
|= :> txt: friend to say hi to
|
||||||
:>
|
:>
|
||||||
txt/term
|
txt=term
|
||||||
^- tape
|
^- tape
|
||||||
"hello, {(rip 3 txt)}"
|
"hello, {(rip 3 txt)}"
|
||||||
:> ++say-goodbye: say a really proper goodbye
|
:> ++say-goodbye: say a really proper goodbye
|
||||||
@ -164,8 +165,8 @@
|
|||||||
:>
|
:>
|
||||||
|= :> txt: departing friend
|
|= :> txt: departing friend
|
||||||
:> num: number of friends
|
:> num: number of friends
|
||||||
$: txt/term
|
$: txt=term
|
||||||
num/@
|
num=@
|
||||||
==
|
==
|
||||||
^- tape
|
^- tape
|
||||||
:> foo: four
|
:> foo: four
|
||||||
@ -176,6 +177,6 @@
|
|||||||
"goodbye and {(scot %ud moo)}, {(rip 3 txt)}"
|
"goodbye and {(scot %ud moo)}, {(rip 3 txt)}"
|
||||||
:> :> ++say-minimum
|
:> :> ++say-minimum
|
||||||
++ say-minimum :> minimal decoration
|
++ say-minimum :> minimal decoration
|
||||||
|= txt/term
|
|= txt=term
|
||||||
"nothing to say to {(rip 3 txt)}"
|
"nothing to say to {(rip 3 txt)}"
|
||||||
--
|
--
|
||||||
|
@ -350,14 +350,11 @@
|
|||||||
++ start-sync
|
++ start-sync
|
||||||
|= reset/?
|
|= reset/?
|
||||||
=. +>.$ (spam (render "activated sync" sud her syd) ~)
|
=. +>.$ (spam (render "activated sync" sud her syd) ~)
|
||||||
=. +>.$
|
%- blab
|
||||||
%- blab
|
:~ :* ost %warp
|
||||||
:~ :* ost %warp
|
[%kiln %sync syd (scot %p her) sud ?:(reset /reset /)]
|
||||||
[%kiln %sync syd (scot %p her) sud ?:(reset /reset /)]
|
[our her] sud ~ %sing %w [%da now] /
|
||||||
[our her] sud ~ %sing %w [%da now] /
|
== ==
|
||||||
== ==
|
|
||||||
?. =(%home syd) +>.$ :: XX less hard-coding
|
|
||||||
(blab [ost %mont /mount syd [our syd da+now] /]~)
|
|
||||||
::
|
::
|
||||||
++ writ
|
++ writ
|
||||||
|= {reset/? rot/riot}
|
|= {reset/? rot/riot}
|
||||||
|
@ -20,8 +20,8 @@
|
|||||||
++ yu yu:chrono:userlib :: UTC format constants
|
++ yu yu:chrono:userlib :: UTC format constants
|
||||||
++ moon en-mite:mimes:html :: mime type to text
|
++ moon en-mite:mimes:html :: mime type to text
|
||||||
++ perk perk.is :: parse cube fork
|
++ perk perk.is :: parse cube fork
|
||||||
++ poja en-json:html :: parse JSON
|
++ poja de-json:html :: parse JSON
|
||||||
++ pojo de-json:html :: print json
|
++ pojo en-json:html :: print json
|
||||||
++ poxo en-xml:html :: node to tape
|
++ poxo en-xml:html :: node to tape
|
||||||
++ poxa de-xml:html :: xml parser
|
++ poxa de-xml:html :: xml parser
|
||||||
++ jo dejs-soft:format :: json reparser
|
++ jo dejs-soft:format :: json reparser
|
||||||
@ -284,4 +284,7 @@
|
|||||||
++ kiss-arvo task-arvo :: in request ->$
|
++ kiss-arvo task-arvo :: in request ->$
|
||||||
++ note-arvo note-arvo :: out request $->
|
++ note-arvo note-arvo :: out request $->
|
||||||
++ sign-arvo sign-arvo :: in result $<-
|
++ sign-arvo sign-arvo :: in result $<-
|
||||||
|
++ nule nule:unix:userlib :: lines to unix cord
|
||||||
|
++ lore to-wain:format :: atom to line list
|
||||||
|
++ role of-wain:format :: line list to atom
|
||||||
--
|
--
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|_ mud/@t
|
|_ mud/@t
|
||||||
++ grow
|
++ grow
|
||||||
|%
|
|%
|
||||||
++ mime [/text/x-markdown (as-octs:mimes:html mud)]
|
++ mime [/text/x-unmark (as-octs:mimes:html mud)]
|
||||||
++ txt
|
++ txt
|
||||||
(to-wain:format mud)
|
(to-wain:format mud)
|
||||||
++ elem
|
++ elem
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
^- marl
|
^- marl
|
||||||
;= ;title: Urbit - A personal server
|
;= ;title: Urbit - A personal server
|
||||||
;meta(name "viewport", content "width=device-width, initial-scale=1");
|
;meta(name "viewport", content "width=device-width, initial-scale=1");
|
||||||
:: ;link(type "text/css", rel "stylesheet", href "//cdnjs.cloudflare.com/ajax/libs/codemirror/4.3.0/codemirror.min.css");
|
;link(type "text/css", rel "stylesheet", href "//cdnjs.cloudflare.com/ajax/libs/codemirror/4.3.0/codemirror.min.css");
|
||||||
;* ?. nopack.dbg
|
;* ?. nopack.dbg
|
||||||
:_ ~
|
:_ ~
|
||||||
;link(type "text/css", rel "stylesheet", href "/===/web/pack/css/codemirror-fonts-bootstrap-tree.css");
|
;link(type "text/css", rel "stylesheet", href "/===/web/pack/css/codemirror-fonts-bootstrap-tree.css");
|
||||||
@ -49,9 +49,9 @@
|
|||||||
;script(type "text/javascript", src "{(cdnjs "react/0.14.6/react-dom")}");
|
;script(type "text/javascript", src "{(cdnjs "react/0.14.6/react-dom")}");
|
||||||
;script(type "text/javascript", src "{(cdnjs "flux/2.1.1/Flux")}");
|
;script(type "text/javascript", src "{(cdnjs "flux/2.1.1/Flux")}");
|
||||||
;* (turn ~(tap by extras) |=({@ a/@t} ;script(type "text/javascript"):"{(trip a)}"))
|
;* (turn ~(tap by extras) |=({@ a/@t} ;script(type "text/javascript"):"{(trip a)}"))
|
||||||
:: ;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/codemirror/4.3.0/codemirror.js");
|
;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/codemirror/4.3.0/codemirror.js");
|
||||||
:: ;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/".
|
:: ;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/".
|
||||||
:: "codemirror/4.3.0/mode/markdown/markdown.min.js");
|
:: "codemirror/4.3.0/mode/markdown/markdown.min.js");
|
||||||
;* ?. nopack.dbg
|
;* ?. nopack.dbg
|
||||||
:_ ~
|
:_ ~
|
||||||
;script(type "text/javascript", src "{?.(aut "" "/~~/~/at")}".
|
;script(type "text/javascript", src "{?.(aut "" "/~~/~/at")}".
|
||||||
|
1177
sys/hoon.hoon
1177
sys/hoon.hoon
File diff suppressed because it is too large
Load Diff
@ -26,9 +26,9 @@
|
|||||||
$: p/(unit (set monk)) :: can be read by
|
$: p/(unit (set monk)) :: can be read by
|
||||||
q/(set monk) :: caused or created by
|
q/(set monk) :: caused or created by
|
||||||
== ::
|
== ::
|
||||||
++ curd {p/@tas q/*} :: spanless card
|
++ curd {p/@tas q/*} :: typeless card
|
||||||
++ duct (list wire) :: causal history
|
++ duct (list wire) :: causal history
|
||||||
++ hypo |*(a/mold (pair span a)) :: span associated
|
++ hypo |*(a/mold (pair type a)) :: type associated
|
||||||
++ hobo |* a/mold :: kiss wrapper
|
++ hobo |* a/mold :: kiss wrapper
|
||||||
$? $% {$soft p/*} ::
|
$? $% {$soft p/*} ::
|
||||||
== ::
|
== ::
|
||||||
@ -48,7 +48,7 @@
|
|||||||
$@ mark :: plain mark
|
$@ mark :: plain mark
|
||||||
$% {$tabl p/(list (pair marc marc))} :: map
|
$% {$tabl p/(list (pair marc marc))} :: map
|
||||||
== ::
|
== ::
|
||||||
++ mark @tas :: content span
|
++ mark @tas :: content type
|
||||||
++ mash |=(* (mass +<)) :: producing mass
|
++ mash |=(* (mass +<)) :: producing mass
|
||||||
++ mass (pair cord (each noun (list mash))) :: memory usage
|
++ mass (pair cord (each noun (list mash))) :: memory usage
|
||||||
++ mill (each vase milt) :: vase+metavase
|
++ mill (each vase milt) :: vase+metavase
|
||||||
@ -56,7 +56,7 @@
|
|||||||
++ monk (each ship {p/@tas q/@ta}) :: general identity
|
++ monk (each ship {p/@tas q/@ta}) :: general identity
|
||||||
++ muse {p/@tas q/duct r/arvo} :: sourced move
|
++ muse {p/@tas q/duct r/arvo} :: sourced move
|
||||||
++ move {p/duct q/arvo} :: arvo move
|
++ move {p/duct q/arvo} :: arvo move
|
||||||
++ ovum {p/wire q/curd} :: spanless ovum
|
++ ovum {p/wire q/curd} :: typeless ovum
|
||||||
++ pane (list {p/@tas q/vase}) :: kernel modules
|
++ pane (list {p/@tas q/vase}) :: kernel modules
|
||||||
++ pone (list {p/@tas q/vise}) :: kernel modules old
|
++ pone (list {p/@tas q/vise}) :: kernel modules old
|
||||||
++ ship @p :: network identity
|
++ ship @p :: network identity
|
||||||
@ -67,10 +67,10 @@
|
|||||||
(unit (unit (cask))) ::
|
(unit (unit (cask))) ::
|
||||||
++ slyt $-({* *} (unit (unit))) :: old namespace
|
++ slyt $-({* *} (unit (unit))) :: old namespace
|
||||||
++ vile :: reflexive constants
|
++ vile :: reflexive constants
|
||||||
$: typ/span :: -:!>(*span)
|
$: typ/type :: -:!>(*type)
|
||||||
duc/span :: -:!>(*duct)
|
duc/type :: -:!>(*duct)
|
||||||
pah/span :: -:!>(*path)
|
pah/type :: -:!>(*path)
|
||||||
mev/span :: -:!>([%meta *vase])
|
mev/type :: -:!>([%meta *vase])
|
||||||
== ::
|
== ::
|
||||||
++ wind :: new kernel action
|
++ wind :: new kernel action
|
||||||
|* {a/mold b/mold} :: forward+reverse
|
|* {a/mold b/mold} :: forward+reverse
|
||||||
@ -192,9 +192,9 @@
|
|||||||
?. hip ~ :: a vase is a cell
|
?. hip ~ :: a vase is a cell
|
||||||
=^ vax p.sew (~(slot wa p.sew) 2 tiv) ::
|
=^ vax p.sew (~(slot wa p.sew) 2 tiv) ::
|
||||||
=^ hip p.sew (~(nest wa p.sew) typ.vil p.vax) ::
|
=^ hip p.sew (~(nest wa p.sew) typ.vil p.vax) ::
|
||||||
?. hip ~ :: vase head is span
|
?. hip ~ :: vase head is type
|
||||||
%+ biff ::
|
%+ biff ::
|
||||||
=+ mut=(milt q.tiv) :: card span, value
|
=+ mut=(milt q.tiv) :: card type, value
|
||||||
|- ^- (unit (pair milt worm)) ::
|
|- ^- (unit (pair milt worm)) ::
|
||||||
?. ?=({$meta p/* q/milt} q.mut) `[mut p.sew] :: ordinary metacard
|
?. ?=({$meta p/* q/milt} q.mut) `[mut p.sew] :: ordinary metacard
|
||||||
=^ hip p.sew (~(nets wa p.sew) mev.vil p.mut)::
|
=^ hip p.sew (~(nets wa p.sew) mev.vil p.mut)::
|
||||||
@ -328,10 +328,10 @@
|
|||||||
(vent lal vil bud *worm (slym (slap bud (rain pax txt)) bud))
|
(vent lal vil bud *worm (slym (slap bud (rain pax txt)) bud))
|
||||||
::
|
::
|
||||||
++ viol :: vane tools
|
++ viol :: vane tools
|
||||||
|= but/span
|
|= but/type
|
||||||
^- vile
|
^- vile
|
||||||
=+ pal=|=(a/@t ^-(span (~(play ut but) (vice a))))
|
=+ pal=|=(a/@t ^-(type (~(play ut but) (vice a))))
|
||||||
:* typ=(pal '*span')
|
:* typ=(pal '*type')
|
||||||
duc=(pal '*duct')
|
duc=(pal '*duct')
|
||||||
pah=(pal '*path')
|
pah=(pal '*path')
|
||||||
mev=(pal '*{$meta $vase}')
|
mev=(pal '*{$meta $vase}')
|
||||||
|
@ -71,9 +71,9 @@
|
|||||||
{$bake p/calm q/(pair mark beam) r/(unit vase)} :: load
|
{$bake p/calm q/(pair mark beam) r/(unit vase)} :: load
|
||||||
{$boil p/calm q/(trel coin beam beam) r/vase} :: execute
|
{$boil p/calm q/(trel coin beam beam) r/vase} :: execute
|
||||||
{$path p/calm q/beam r/(unit beam)} :: -to/ transformation
|
{$path p/calm q/beam r/(unit beam)} :: -to/ transformation
|
||||||
{$slit p/calm q/{p/span q/span} r/span} :: slam type
|
{$slit p/calm q/{p/type q/type} r/type} :: slam type
|
||||||
{$slim p/calm q/{p/span q/twig} r/(pair span nock)}:: mint
|
{$slim p/calm q/{p/type q/hoon} r/(pair type nock)}:: mint
|
||||||
{$slap p/calm q/{p/vase q/twig} r/vase} :: compute
|
{$slap p/calm q/{p/vase q/hoon} r/vase} :: compute
|
||||||
{$slam p/calm q/{p/vase q/vase} r/vase} :: compute
|
{$slam p/calm q/{p/vase q/vase} r/vase} :: compute
|
||||||
== ::
|
== ::
|
||||||
++ deps :: depend state
|
++ deps :: depend state
|
||||||
@ -92,7 +92,7 @@
|
|||||||
-- ::
|
-- ::
|
||||||
|% ::
|
|% ::
|
||||||
++ calf :: reduce calx
|
++ calf :: reduce calx
|
||||||
|* sem/* :: a spansystem hack
|
|* sem/* :: a typesystem hack
|
||||||
|= cax/calx
|
|= cax/calx
|
||||||
?+ sem !!
|
?+ sem !!
|
||||||
$hood ?>(?=($hood -.cax) r.cax)
|
$hood ?>(?=($hood -.cax) r.cax)
|
||||||
@ -953,7 +953,7 @@
|
|||||||
=< |. ^- tank
|
=< |. ^- tank
|
||||||
:+ %palm [" " ~ ~ ~]
|
:+ %palm [" " ~ ~ ~]
|
||||||
~[leaf+"ford: keel" rose+[" " ~ ~]^(murn yom +)]
|
~[leaf+"ford: keel" rose+[" " ~ ~]^(murn yom +)]
|
||||||
|= {a/wing b/span *} ^- (unit tank)
|
|= {a/wing b/type *} ^- (unit tank)
|
||||||
=+ typ=(mule |.(p:(slap suh wing+a)))
|
=+ typ=(mule |.(p:(slap suh wing+a)))
|
||||||
?: ?=($| -.typ)
|
?: ?=($| -.typ)
|
||||||
(some (show [%c %pull] %l a))
|
(some (show [%c %pull] %l a))
|
||||||
@ -965,10 +965,10 @@
|
|||||||
|- ^- vase
|
|- ^- vase
|
||||||
?~ yom [[%atom %n ~] ~]
|
?~ yom [[%atom %n ~] ~]
|
||||||
(slop q.i.yom $(yom t.yom))
|
(slop q.i.yom $(yom t.yom))
|
||||||
^- twig
|
^- hoon
|
||||||
:+ %cncb [%& 2]~
|
:+ %cncb [%& 2]~
|
||||||
=+ axe=3
|
=+ axe=3
|
||||||
|- ^- (list (pair wing twig))
|
|- ^- (list (pair wing hoon))
|
||||||
?~ yom ~
|
?~ yom ~
|
||||||
:- [p.i.yom [%$ (peg axe 2)]]
|
:- [p.i.yom [%$ (peg axe 2)]]
|
||||||
$(yom t.yom, axe (peg axe 3))
|
$(yom t.yom, axe (peg axe 3))
|
||||||
@ -1035,10 +1035,10 @@
|
|||||||
?~ von [p=cof q=[%1 [%c %w bem ~] ~ ~]]
|
?~ von [p=cof q=[%1 [%c %w bem ~] ~ ~]]
|
||||||
(fine cof bem(r [%ud ((hard @) +.+:(need u.von))]))
|
(fine cof bem(r [%ud ((hard @) +.+:(need u.von))]))
|
||||||
::
|
::
|
||||||
++ lane :: span infer
|
++ lane :: type infer
|
||||||
|= {cof/cafe typ/span gen/twig}
|
|= {cof/cafe typ/type gen/hoon}
|
||||||
%+ (cowl cof) (mule |.((~(play ut typ) gen)))
|
%+ (cowl cof) (mule |.((~(play ut typ) gen)))
|
||||||
|=(ref/span ref)
|
|=(ref/type ref)
|
||||||
::
|
::
|
||||||
++ lash :: filter at beam
|
++ lash :: filter at beam
|
||||||
|* {cof/cafe bem/beam fun/(burg knot (unit))}
|
|* {cof/cafe bem/beam fun/(burg knot (unit))}
|
||||||
@ -1211,10 +1211,10 @@
|
|||||||
::
|
::
|
||||||
++ mail :: cached mint
|
++ mail :: cached mint
|
||||||
~/ %mail
|
~/ %mail
|
||||||
|= {cof/cafe sut/span gen/twig}
|
|= {cof/cafe sut/type gen/hoon}
|
||||||
^- (bolt (pair span nock))
|
^- (bolt (pair type nock))
|
||||||
%+ (clef %slim) (fine cof sut gen)
|
%+ (clef %slim) (fine cof sut gen)
|
||||||
|= {cof/cafe sut/span gen/twig}
|
|= {cof/cafe sut/type gen/hoon}
|
||||||
=+ puz=(mule |.((~(mint ut sut) [%noun gen])))
|
=+ puz=(mule |.((~(mint ut sut) [%noun gen])))
|
||||||
?- -.puz
|
?- -.puz
|
||||||
$| (flaw cof p.puz)
|
$| (flaw cof p.puz)
|
||||||
@ -1223,10 +1223,10 @@
|
|||||||
::
|
::
|
||||||
++ maim :: slap
|
++ maim :: slap
|
||||||
~/ %maim
|
~/ %maim
|
||||||
|= {cof/cafe vax/vase gen/twig}
|
|= {cof/cafe vax/vase gen/hoon}
|
||||||
^- (bolt vase)
|
^- (bolt vase)
|
||||||
%+ cope (mail cof p.vax gen)
|
%+ cope (mail cof p.vax gen)
|
||||||
|= {cof/cafe typ/span fol/nock}
|
|= {cof/cafe typ/type fol/nock}
|
||||||
%+ (coup cof) (mock [q.vax fol] (sloy syve))
|
%+ (coup cof) (mock [q.vax fol] (sloy syve))
|
||||||
|=(val/* `vase`[typ val])
|
|=(val/* `vase`[typ val])
|
||||||
::
|
::
|
||||||
@ -1416,10 +1416,10 @@
|
|||||||
::
|
::
|
||||||
++ malt :: cached slit
|
++ malt :: cached slit
|
||||||
~/ %slit
|
~/ %slit
|
||||||
|= {cof/cafe gat/span sam/span}
|
|= {cof/cafe gat/type sam/type}
|
||||||
^- (bolt span)
|
^- (bolt type)
|
||||||
%+ (clef %slit) (fine cof gat sam)
|
%+ (clef %slit) (fine cof gat sam)
|
||||||
|= {cof/cafe gat/span sam/span}
|
|= {cof/cafe gat/type sam/type}
|
||||||
%+ cool |.(%.(%have ~(dunk ut sam)))
|
%+ cool |.(%.(%have ~(dunk ut sam)))
|
||||||
%+ cool |.(%.(%want ~(dunk ut (~(peek ut gat) %free 6))))
|
%+ cool |.(%.(%want ~(dunk ut (~(peek ut gat) %free 6))))
|
||||||
=+ top=(mule |.((slit gat sam)))
|
=+ top=(mule |.((slit gat sam)))
|
||||||
@ -1433,33 +1433,33 @@
|
|||||||
|= {cof/cafe gat/vase sam/vase}
|
|= {cof/cafe gat/vase sam/vase}
|
||||||
^- (bolt vase)
|
^- (bolt vase)
|
||||||
%+ cope (malt cof p.gat p.sam)
|
%+ cope (malt cof p.gat p.sam)
|
||||||
|= {cof/cafe typ/span}
|
|= {cof/cafe typ/type}
|
||||||
%+ (coup cof) (mong [q.gat q.sam] (sloy syve))
|
%+ (coup cof) (mong [q.gat q.sam] (sloy syve))
|
||||||
|=(val/* `vase`[typ val])
|
|=(val/* `vase`[typ val])
|
||||||
::
|
::
|
||||||
++ meow :: assemble
|
++ meow :: assemble
|
||||||
:: =+ dyv=0
|
:: =+ dyv=0
|
||||||
|= {how/beam arg/coin}
|
|= {how/beam arg/coin}
|
||||||
=| $: rop/(map term (pair hoof twig)) :: structures
|
=| $: rop/(map term (pair hoof hoon)) :: structures
|
||||||
bil/(map term (pair hoof twig)) :: libraries
|
bil/(map term (pair hoof hoon)) :: libraries
|
||||||
boy/(list twig) :: body stack
|
boy/(list hoon) :: body stack
|
||||||
lit/? :: drop arguments
|
lit/? :: drop arguments
|
||||||
==
|
==
|
||||||
~% %meow ..meow ~
|
~% %meow ..meow ~
|
||||||
|%
|
|%
|
||||||
++ able :: assemble preamble
|
++ able :: assemble preamble
|
||||||
^- twig
|
^- hoon
|
||||||
:+ %tsgr
|
:+ %tsgr
|
||||||
?: =(~ rop)
|
?: =(~ rop)
|
||||||
[%$ 1]
|
[%$ 1]
|
||||||
:+ %brcn [~ ~]
|
:+ %brcn [~ ~]
|
||||||
=- [[0 [~ ~] -] ~ ~]
|
=- [[0 [~ ~] -] ~ ~]
|
||||||
(~(run by rop) |=({^ a/twig} [~ %ash a]))
|
(~(run by rop) |=({^ a/hoon} [~ %ash a]))
|
||||||
?: =(~ bil)
|
?: =(~ bil)
|
||||||
[%$ 1]
|
[%$ 1]
|
||||||
:+ %brcn [~ ~]
|
:+ %brcn [~ ~]
|
||||||
=- [[0 [~ ~] -] ~ ~]
|
=- [[0 [~ ~] -] ~ ~]
|
||||||
(~(run by bil) |=({^ a/twig} [~ %ash a]))
|
(~(run by bil) |=({^ a/hoon} [~ %ash a]))
|
||||||
::
|
::
|
||||||
++ abut :: generate
|
++ abut :: generate
|
||||||
|= {cof/cafe hyd/hood}
|
|= {cof/cafe hyd/hood}
|
||||||
@ -1867,9 +1867,9 @@
|
|||||||
%- %- lift |= (unit cage) :: ignore block
|
%- %- lift |= (unit cage) :: ignore block
|
||||||
%+ biff +<
|
%+ biff +<
|
||||||
|= cay/cage ^- (unit cage)
|
|= cay/cage ^- (unit cage)
|
||||||
?. -:(nets:wa +.ref `span`p.q.cay) :: error if bad type
|
?. -:(nets:wa +.ref `type`p.q.cay) :: error if bad type
|
||||||
~& :^ %ford-syve-lost `path`[tem (en-beam bem)]
|
~& :^ %ford-syve-lost `path`[tem (en-beam bem)]
|
||||||
want=;;(span +.ref)
|
want=;;(type +.ref)
|
||||||
have=p.q.cay
|
have=p.q.cay
|
||||||
~
|
~
|
||||||
`cay
|
`cay
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
++ roof (room vase) :: namespace
|
++ roof (room vase) :: namespace
|
||||||
++ room :: either namespace
|
++ room :: either namespace
|
||||||
|* vase/mold :: vase or maze
|
|* vase/mold :: vase or maze
|
||||||
$- $: ref/* :: reference span
|
$- $: ref/* :: reference type
|
||||||
lyc/(unit (set ship)) :: leakset
|
lyc/(unit (set ship)) :: leakset
|
||||||
car/term :: perspective
|
car/term :: perspective
|
||||||
bem/beam :: path
|
bem/beam :: path
|
||||||
@ -774,7 +774,7 @@
|
|||||||
== ::
|
== ::
|
||||||
++ hoof (trel ? term (unit (pair case ship))) :: resource reference
|
++ hoof (trel ? term (unit (pair case ship))) :: resource reference
|
||||||
++ hoop :: source in hood
|
++ hoop :: source in hood
|
||||||
$% {$& p/twig} :: direct twig
|
$% {$& p/hoon} :: direct hoon
|
||||||
{$| p/beam} :: resource location
|
{$| p/beam} :: resource location
|
||||||
== ::
|
== ::
|
||||||
++ hops :: XX late-bound path
|
++ hops :: XX late-bound path
|
||||||
@ -782,8 +782,8 @@
|
|||||||
pof/(unit {p/@ud q/tyke}) ::
|
pof/(unit {p/@ud q/tyke}) ::
|
||||||
== ::
|
== ::
|
||||||
++ horn :: resource tree
|
++ horn :: resource tree
|
||||||
$% {$ape p/twig} :: /~ twig by hand
|
$% {$ape p/hoon} :: /~ hoon by hand
|
||||||
{$arg p/twig} :: /$ argument
|
{$arg p/hoon} :: /$ argument
|
||||||
{$alt p/(list horn)} :: /| options
|
{$alt p/(list horn)} :: /| options
|
||||||
{$dep p/horn} :: /# insert dephash
|
{$dep p/horn} :: /# insert dephash
|
||||||
{$dub p/term q/horn} :: /= apply face
|
{$dub p/term q/horn} :: /= apply face
|
||||||
@ -795,9 +795,9 @@
|
|||||||
{$nap p/horn} :: /_ homo map
|
{$nap p/horn} :: /_ homo map
|
||||||
{$now p/horn} :: deprecated
|
{$now p/horn} :: deprecated
|
||||||
{$nod p/term q/horn} :: /_ @ list by odor
|
{$nod p/term q/horn} :: /_ @ list by odor
|
||||||
{$saw p/twig q/horn} :: /; operate on
|
{$saw p/hoon q/horn} :: /; operate on
|
||||||
{$see p/hops q/horn} :: /: relative to
|
{$see p/hops q/horn} :: /: relative to
|
||||||
{$sic p/twig q/horn} :: /^ cast
|
{$sic p/hoon q/horn} :: /^ cast
|
||||||
{$toy p/? q/mark} :: /mark/ static/hook
|
{$toy p/? q/mark} :: /mark/ static/hook
|
||||||
== ::
|
== ::
|
||||||
++ milk (trel ship desk silk) :: sourced silk
|
++ milk (trel ship desk silk) :: sourced silk
|
||||||
@ -820,7 +820,7 @@
|
|||||||
{$pact p/silk q/silk} :: patch
|
{$pact p/silk q/silk} :: patch
|
||||||
{$plan p/beam q/coin r/hood} :: structured assembly
|
{$plan p/beam q/coin r/hood} :: structured assembly
|
||||||
{$reef $~} :: kernel reef
|
{$reef $~} :: kernel reef
|
||||||
{$ride p/twig q/silk} :: silk thru twig
|
{$ride p/hoon q/silk} :: silk thru hoon
|
||||||
{$tabl p/(list (pair silk silk))} :: list
|
{$tabl p/(list (pair silk silk))} :: list
|
||||||
{$vale p/mark q/*} :: validate
|
{$vale p/mark q/*} :: validate
|
||||||
{$volt p/(cask *)} :: unsafe add type
|
{$volt p/(cask *)} :: unsafe add type
|
||||||
|
Loading…
Reference in New Issue
Block a user