mirror of
https://github.com/ilyakooo0/urbit.git
synced 2025-01-04 13:19:48 +03:00
Boots without old ford.
This commit is contained in:
parent
8d224e1279
commit
89a0a91c57
@ -1,109 +0,0 @@
|
||||
/+ ford-turbo
|
||||
::
|
||||
:: testing application for ford-turbo
|
||||
::
|
||||
:: To test our integration with clay, we have a minimal app which translates
|
||||
:: calls from vane move form to gall moves. This proxies filesystem calls
|
||||
:: back and forth.
|
||||
::
|
||||
=, clay
|
||||
::
|
||||
=/ test-pit=vase !>(.)
|
||||
=/ ford-gate (ford-turbo test-pit)
|
||||
::
|
||||
|%
|
||||
++ move (pair bone card)
|
||||
++ card
|
||||
$% [%warp wire sock riff]
|
||||
==
|
||||
--
|
||||
::
|
||||
|_ {bol/bowl:gall turbo/_(ford-gate)}
|
||||
:: +prep: clear the state on each reload
|
||||
::
|
||||
++ prep _`.
|
||||
:: +poke-noun: invoke with `:ford-turbo &atom 0`
|
||||
::
|
||||
++ poke-noun
|
||||
|= a/*
|
||||
^- [(list move) _+>.$]
|
||||
::
|
||||
=. turbo (turbo now.bol eny.bol our-scry)
|
||||
::
|
||||
=^ vane-moves turbo
|
||||
%- call:turbo
|
||||
:* duct=~[/ford-test] type=~ %make our.bol
|
||||
[%scry %c %x rail=[[our.bol %home] /hoon/code/gen]]
|
||||
==
|
||||
::
|
||||
(convert-moves vane-moves)
|
||||
:: clay response to a %multi
|
||||
::
|
||||
++ wris
|
||||
|= {way/wire p/[%da @da] q/(set (pair care path))}
|
||||
^- [(list move) _+>.$]
|
||||
~& [%wris way p q]
|
||||
::
|
||||
=. turbo (turbo now.bol eny.bol our-scry)
|
||||
::
|
||||
=^ vane-moves turbo
|
||||
%- take:turbo
|
||||
:* wire=way duct=~ *type [%c %wris p q]
|
||||
==
|
||||
(convert-moves vane-moves)
|
||||
:: clay response to a %sing
|
||||
::
|
||||
++ writ
|
||||
|= {way/wire rot/riot}
|
||||
^- [(list move) _+>.$]
|
||||
~& [%writ way rot]
|
||||
::
|
||||
=. turbo (turbo now.bol eny.bol our-scry)
|
||||
::
|
||||
=^ vane-moves turbo
|
||||
%- take:turbo
|
||||
:* wire=way duct=~ *type [%c %writ rot]
|
||||
==
|
||||
(convert-moves vane-moves)
|
||||
:: +convert-moves: converts vane moves to gall moves
|
||||
::
|
||||
:: The moves that come out of a raw call to ford-turbo are set up for
|
||||
:: arvo. Change them so they're in gall format.
|
||||
::
|
||||
++ convert-moves
|
||||
|= vane-moves=(list move:ford-gate)
|
||||
^- [(list move) _+>.$]
|
||||
::
|
||||
=/ gall-moves=(list move)
|
||||
%+ murn vane-moves
|
||||
|= [=duct card=(wind note:ford-gate gift:able:ford-api:ford-gate)]
|
||||
^- (unit move)
|
||||
::
|
||||
?+ -.card !!
|
||||
%pass
|
||||
=* wire p.card
|
||||
?+ -.q.card !!
|
||||
%c `[ost.bol %warp wire sock.q.card riff.q.card]
|
||||
==
|
||||
::
|
||||
%give
|
||||
:: print out the result, but don't do anything else.
|
||||
~& [%give card]
|
||||
~
|
||||
==
|
||||
::
|
||||
~& [%gall-moves gall-moves]
|
||||
::
|
||||
[gall-moves +>.$]
|
||||
:: +our-scry: scry function for ford to use.
|
||||
::
|
||||
:: OK, so maybe we can't just scry here. When we hit .^, we're telling what's
|
||||
:: interpreting us to block if we can't answer synchronously. So the real deal
|
||||
:: is to always block, so ford will emit moves asking for everything asynchronously.
|
||||
++ our-scry
|
||||
|= [one=* two=(unit (set monk)) =term =beam]
|
||||
^- (unit (unit cage))
|
||||
::
|
||||
~& [%scrying-for term beam]
|
||||
~
|
||||
--
|
@ -1,9 +1,9 @@
|
||||
/+ tester
|
||||
::
|
||||
/= ford-turbo /: /===/sys/vane/turbo
|
||||
/= ford-turbo /: /===/sys/vane/ford
|
||||
/!noun/
|
||||
::
|
||||
=, ford-api
|
||||
=, ford
|
||||
::
|
||||
:- %say
|
||||
|= [[now=@da eny=@ bek=beak] ~ ~]
|
||||
@ -5506,7 +5506,7 @@
|
||||
::
|
||||
%+ weld
|
||||
%- expect-eq !>
|
||||
:- %noun
|
||||
:- %foo
|
||||
p.cage
|
||||
::
|
||||
%+ weld
|
||||
|
@ -62,7 +62,6 @@
|
||||
[%g /vane/gall]
|
||||
[%e /vane/eyre]
|
||||
[%f /vane/ford]
|
||||
[%t /vane/turbo]
|
||||
==
|
||||
|- ^+ all
|
||||
?~ vay all
|
||||
|
@ -179,7 +179,6 @@
|
||||
[%e /vane/eyre]
|
||||
[%f /vane/ford]
|
||||
[%g /vane/gall]
|
||||
[%t /vane/turbo]
|
||||
==
|
||||
|= {p/@tas q/path}
|
||||
=+ way=`path`(welp top q)
|
||||
|
@ -200,7 +200,7 @@
|
||||
|%
|
||||
++ emit |=(a/card +>(..autoload (^emit a)))
|
||||
++ tracked-vanes
|
||||
`(list @tas)`~[%ames %behn %clay %dill %eyre %ford %gall %turbo]
|
||||
`(list @tas)`~[%ames %behn %clay %dill %eyre %ford %gall]
|
||||
::
|
||||
++ our-home /(scot %p our)/home/(scot %da now)
|
||||
++ sys-hash |=(pax/path .^(@uvI %cz :(welp our-home /sys pax)))
|
||||
@ -288,19 +288,16 @@
|
||||
abet:abet:(mere:(take way) are)
|
||||
::
|
||||
++ take-made
|
||||
|= [date=@da result=made-result:ford]
|
||||
abet
|
||||
:: ++ take-made ::
|
||||
:: |= {way/wire dep/@uvH reg/gage:ford}
|
||||
:: :: hack for |overload
|
||||
:: ::
|
||||
:: :: We might have gotten an ignorable response back for our cache priming
|
||||
:: :: ford call. If it matches our magic wire, ignore it.
|
||||
:: ::
|
||||
:: ?: =(/prime/cache way)
|
||||
:: ~& %cache-primed
|
||||
:: abet
|
||||
:: abet:abet:(made:(take way) dep reg)
|
||||
|= [way=wire date=@da result=made-result:ford]
|
||||
:: hack for |overload
|
||||
::
|
||||
:: We might have gotten an ignorable response back for our cache priming
|
||||
:: ford call. If it matches our magic wire, ignore it.
|
||||
::
|
||||
?: =(/prime/cache way)
|
||||
~& %cache-primed
|
||||
abet
|
||||
abet:abet:(made:(take way) date result)
|
||||
::
|
||||
++ take-coup-fancy ::
|
||||
|= {way/wire saw/(unit tang)}
|
||||
@ -345,25 +342,7 @@
|
||||
|= {way/wire $~}
|
||||
?> ?=({@ $~} way)
|
||||
=+ tym=(slav %dr i.way)
|
||||
:: TODO: Cache priming doesn't actually work yet.
|
||||
::
|
||||
:: :: this builds up a ford build for the front page to prime the cache.
|
||||
:: =. +>.$
|
||||
:: =/ request-data :~
|
||||
:: [0 [0 8.080] 0 'localhost' ~]
|
||||
:: :: associate 0 as the anonymous ship, which is the ++add result.
|
||||
:: [[0 (scot %p (add our ^~((bex 64))))] ~ ~]
|
||||
:: 'not-yet-implemented'
|
||||
:: `'en-US,en;q=0.9'
|
||||
:: `.127.0.0.1
|
||||
:: ==
|
||||
:: =/ monies/coin [%many ~[[%blob request-data] [%$ ~.n 0]]]
|
||||
:: =/ request/silk:ford [%bake %urb monies [our %home [%da now]] /web]
|
||||
:: (emit `card`[%exec /kiln/prime/cache our `[[our %home [%da now]] request]])
|
||||
:: =. +>.$
|
||||
:: (emit %wipe /kiln/overload/[i.way] our ~)
|
||||
:: =. +>.$
|
||||
:: (emit %wait /kiln/overload/[i.way] (add tym now))
|
||||
~& %wake-overload-deprecated
|
||||
abet
|
||||
::
|
||||
++ spam
|
||||
@ -489,30 +468,6 @@
|
||||
p.res
|
||||
(ford-fail p.res)
|
||||
::
|
||||
:: ++ gage-to-cages
|
||||
:: |= gag/gage:ford ^- (list (pair cage cage))
|
||||
:: (unwrap-tang (gage-to-tage gag))
|
||||
:: ::
|
||||
:: ++ gage-to-tage
|
||||
:: |= gag/gage:ford
|
||||
:: ^- (each (list (pair cage cage)) tang)
|
||||
:: ?. ?=($tabl -.gag)
|
||||
:: (mule |.(`$~`(ford-fail >%strange-gage< ~)))
|
||||
:: =< ?+(. [%& .] {@ *} .)
|
||||
:: |- ^- ?((list {cage cage}) (each $~ tang))
|
||||
:: ?~ p.gag ~
|
||||
:: ?- -.p.i.p.gag
|
||||
:: $tabl (mule |.(`$~`(ford-fail >%strange-gage< ~)))
|
||||
:: $| (mule |.(`$~`(ford-fail p.p.i.p.gag)))
|
||||
:: $&
|
||||
:: ?- -.q.i.p.gag
|
||||
:: $tabl (mule |.(`$~`(ford-fail >%strange-gage< ~)))
|
||||
:: $| (mule |.(`$~`(ford-fail p.q.i.p.gag)))
|
||||
:: $& =+ $(p.gag t.p.gag)
|
||||
:: ?+(- [[p.p p.q]:i.p.gag -] {@ *} -)
|
||||
:: ==
|
||||
:: ==
|
||||
::
|
||||
++ perform ::
|
||||
^+ .
|
||||
(blab [ost %merg /kiln/[syd] our syd her sud cas gem] ~)
|
||||
@ -549,82 +504,81 @@
|
||||
++ mere
|
||||
|= are/(each (set path) (pair term tang))
|
||||
^+ +>
|
||||
~& %todo-renable-mere
|
||||
+>
|
||||
:: ?: =(%meld gem)
|
||||
:: ?: ?=($& -.are)
|
||||
:: ?. auto
|
||||
:: =+ "merged with strategy {<gem>}"
|
||||
:: win:(spam leaf+- ?~(p.are ~ [>`(set path)`p.are< ~]))
|
||||
:: :: ~? > =(~ p.are) [%mere-no-conflict syd]
|
||||
:: =+ "mashing conflicts"
|
||||
:: => .(+>.$ (spam leaf+- ~))
|
||||
:: =+ tic=(cat 3 syd '-scratch')
|
||||
:: %- blab :_ ~
|
||||
:: :* ost %build /kiln/[syd] our live=%.n
|
||||
:: :: our ~ [our tic %da now] %tabl
|
||||
:: ^- schematic:ford
|
||||
:: :- %list
|
||||
:: ^- (list schematic:ford)
|
||||
:: :: ~& > kiln-mashing+[p.are syd=syd +<.abet]
|
||||
:: %+ turn ~(tap in p.are)
|
||||
:: |= pax/path
|
||||
:: ^- [schematic:ford schematic:ford]
|
||||
:: :- [%$ %path -:!>(*path) pax]
|
||||
:: =+ base=[%pin [%scry [[our tic] (flop pax)]]]
|
||||
:: :: =+ base=[%file [our tic %da now] (flop pax)]
|
||||
:: ?> ?=([%da @] cas)
|
||||
:: =+ alis=[%pin p.cas [%scry [[our syd] (flop pax)]]]
|
||||
:: :: =+ alis=[%file [her sud cas] (flop pax)]
|
||||
:: =+ bobs=[%file [our syd %da now] (flop pax)]
|
||||
:: =+ dali=[%diff base alis]
|
||||
:: =+ dbob=[%diff base bobs]
|
||||
:: =+ ^- for/mark
|
||||
:: =+ (slag (dec (lent pax)) pax)
|
||||
:: ?~(- %$ i.-)
|
||||
:: [%mash [our tic] for [her sud dali] [our syd dbob]]
|
||||
:: ==
|
||||
:: =+ "failed to merge with strategy meld"
|
||||
:: lose:(spam leaf+- >p.p.are< q.p.are)
|
||||
:: ?: ?=($& -.are)
|
||||
:: =+ "merged with strategy {<gem>}"
|
||||
:: win:(spam leaf+- ?~(p.are ~ [>`(set path)`p.are< ~]))
|
||||
:: ?. auto
|
||||
:: =+ "failed to merge with strategy {<gem>}"
|
||||
:: lose:(spam leaf+- >p.p.are< q.p.are)
|
||||
:: ?+ gem
|
||||
:: (spam leaf+"strange auto" >gem< ~)
|
||||
:: ::
|
||||
:: $init
|
||||
:: =+ :- "auto merge failed on strategy %init"
|
||||
:: "I'm out of ideas"
|
||||
:: lose:(spam leaf+-< leaf+-> [>p.p.are< q.p.are])
|
||||
:: ::
|
||||
:: $fine
|
||||
:: ?. ?=($bad-fine-merge p.p.are)
|
||||
:: =+ "auto merge failed on strategy %fine"
|
||||
:: lose:(spam leaf+- >p.p.are< q.p.are)
|
||||
:: => (spam leaf+"%fine merge failed, trying %meet" ~)
|
||||
:: perform(gem %meet)
|
||||
:: ::
|
||||
:: $meet
|
||||
:: ?. ?=($meet-conflict p.p.are)
|
||||
:: =+ "auto merge failed on strategy %meet"
|
||||
:: lose:(spam leaf+- >p.p.are< q.p.are)
|
||||
:: => (spam leaf+"%meet merge failed, trying %mate" ~)
|
||||
:: perform(gem %mate)
|
||||
:: ::
|
||||
:: $mate
|
||||
:: ?. ?=($mate-conflict p.p.are)
|
||||
:: =+ "auto merge failed on strategy %mate"
|
||||
:: lose:(spam leaf+- >p.p.are< q.p.are)
|
||||
:: => .(gem %meld)
|
||||
:: =+ tic=(cat 3 syd '-scratch')
|
||||
:: => =+ :- "%mate merge failed with conflicts,"
|
||||
:: "setting up scratch space at %{(trip tic)}"
|
||||
:: [tic=tic (spam leaf+-< leaf+-> q.p.are)]
|
||||
:: (fancy-merge tic our syd %init)
|
||||
:: ==
|
||||
?: =(%meld gem)
|
||||
?: ?=($& -.are)
|
||||
?. auto
|
||||
=+ "merged with strategy {<gem>}"
|
||||
win:(spam leaf+- ?~(p.are ~ [>`(set path)`p.are< ~]))
|
||||
:: ~? > =(~ p.are) [%mere-no-conflict syd]
|
||||
=+ "mashing conflicts"
|
||||
=> .(+>.$ (spam leaf+- ~))
|
||||
=+ tic=(cat 3 syd '-scratch')
|
||||
%- blab :_ ~
|
||||
=, ford
|
||||
:* ost %build /kiln/[syd] our live=%.n
|
||||
^- schematic
|
||||
:- %list
|
||||
^- (list schematic)
|
||||
:: ~& > kiln-mashing+[p.are syd=syd +<.abet]
|
||||
%+ turn ~(tap in p.are)
|
||||
|= pax/path
|
||||
^- [schematic schematic]
|
||||
:- [%$ %path -:!>(*path) pax]
|
||||
=/ base=schematic [%scry %c %x `rail`[[our tic] (flop pax)]]
|
||||
?> ?=([%da @] cas)
|
||||
=/ alis=schematic
|
||||
[%pin p.cas `schematic`[%scry %c %x [[our syd] (flop pax)]]]
|
||||
=/ bobs=schematic
|
||||
[%scry %c %x [[our syd] (flop pax)]]
|
||||
=/ dali=schematic [%diff [our syd] base alis]
|
||||
=/ dbob=schematic [%diff [our syd] base bobs]
|
||||
=+ ^- for/mark
|
||||
=+ (slag (dec (lent pax)) pax)
|
||||
?~(- %$ i.-)
|
||||
^- schematic
|
||||
[%mash [our tic] for [[her sud] for dali] [[our syd] for dbob]]
|
||||
==
|
||||
=+ "failed to merge with strategy meld"
|
||||
lose:(spam leaf+- >p.p.are< q.p.are)
|
||||
?: ?=($& -.are)
|
||||
=+ "merged with strategy {<gem>}"
|
||||
win:(spam leaf+- ?~(p.are ~ [>`(set path)`p.are< ~]))
|
||||
?. auto
|
||||
=+ "failed to merge with strategy {<gem>}"
|
||||
lose:(spam leaf+- >p.p.are< q.p.are)
|
||||
?+ gem
|
||||
(spam leaf+"strange auto" >gem< ~)
|
||||
::
|
||||
$init
|
||||
=+ :- "auto merge failed on strategy %init"
|
||||
"I'm out of ideas"
|
||||
lose:(spam leaf+-< leaf+-> [>p.p.are< q.p.are])
|
||||
::
|
||||
$fine
|
||||
?. ?=($bad-fine-merge p.p.are)
|
||||
=+ "auto merge failed on strategy %fine"
|
||||
lose:(spam leaf+- >p.p.are< q.p.are)
|
||||
=> (spam leaf+"%fine merge failed, trying %meet" ~)
|
||||
perform(gem %meet)
|
||||
::
|
||||
$meet
|
||||
?. ?=($meet-conflict p.p.are)
|
||||
=+ "auto merge failed on strategy %meet"
|
||||
lose:(spam leaf+- >p.p.are< q.p.are)
|
||||
=> (spam leaf+"%meet merge failed, trying %mate" ~)
|
||||
perform(gem %mate)
|
||||
::
|
||||
$mate
|
||||
?. ?=($mate-conflict p.p.are)
|
||||
=+ "auto merge failed on strategy %mate"
|
||||
lose:(spam leaf+- >p.p.are< q.p.are)
|
||||
=> .(gem %meld)
|
||||
=+ tic=(cat 3 syd '-scratch')
|
||||
=> =+ :- "%mate merge failed with conflicts,"
|
||||
"setting up scratch space at %{(trip tic)}"
|
||||
[tic=tic (spam leaf+-< leaf+-> q.p.are)]
|
||||
(fancy-merge tic our syd %init)
|
||||
==
|
||||
::
|
||||
++ tape-to-tanks
|
||||
|= a/tape ^- (list tank)
|
||||
@ -639,60 +593,62 @@
|
||||
|= [date=@da result=made-result:ford]
|
||||
:: |= {dep/@uvH reg/gage:ford}
|
||||
^+ +>
|
||||
~& %todo-reenable-made
|
||||
+>
|
||||
:: ::
|
||||
:: ?. ?=([%complete %success *] result)
|
||||
:: =+ "failed to mash"
|
||||
:: lose:(spam leaf+- p.reg)
|
||||
:: ?> ?=([%complete %success %list *] result)
|
||||
:: =+ ^- can/(list (pair path (unit miso)))
|
||||
:: %+ turn results.build-result.result
|
||||
:: |= res=build-result
|
||||
:: ^- (pair path (unit miso))
|
||||
:: ?> ?=(%$ -.res)
|
||||
:: =+ pax=(result-to-cage:ford head.res)
|
||||
:: =+ dif=(result-to-cage:ford tail.res)
|
||||
:: ::
|
||||
:: ?. ?=($path p.pax)
|
||||
:: ~| "strange path mark: {<p.pax>}"
|
||||
:: !!
|
||||
:: [((hard path) q.q.pax) ?:(?=($null p.dif) ~ `[%dif dif])]
|
||||
:: :: ~& > kiln-made+[(turn can head) syd=syd +<.abet]
|
||||
:: =+ notated=(skid can |=({path a/(unit miso)} ?=(^ a)))
|
||||
:: =+ annotated=(turn `(list (pair path *))`-.notated head)
|
||||
:: =+ unnotated=(turn `(list (pair path *))`+.notated head)
|
||||
:: =+ `desk`(cat 3 syd '-scratch')
|
||||
:: =+ ^- tan/(list tank)
|
||||
:: %- zing
|
||||
:: ^- (list (list tank))
|
||||
:: :~ %- tape-to-tanks
|
||||
:: """
|
||||
:: done setting up scratch space in {<[-]>}
|
||||
:: please resolve the following conflicts and run
|
||||
:: |merge {<syd>} our {<[-]>}
|
||||
:: """
|
||||
:: %^ tanks-if-any
|
||||
:: "annotated conflicts in:" annotated
|
||||
:: ""
|
||||
:: %^ tanks-if-any
|
||||
:: "unannotated conflicts in:" unnotated
|
||||
:: """
|
||||
:: some conflicts could not be annotated.
|
||||
:: for these, the scratch space contains
|
||||
:: the most recent common ancestor of the
|
||||
:: conflicting content.
|
||||
::
|
||||
?: ?=([%incomplete *] result)
|
||||
=+ "failed to mash"
|
||||
lose:(spam leaf+- tang.result)
|
||||
?: ?=([%complete %error *] result)
|
||||
=+ "failed to mash"
|
||||
lose:(spam leaf+- message.build-result.result)
|
||||
?> ?=([%complete %success %list *] result)
|
||||
=+ ^- can/(list (pair path (unit miso)))
|
||||
%+ turn results.build-result.result
|
||||
|= res=build-result:ford
|
||||
^- (pair path (unit miso))
|
||||
?> ?=([%success ^ *] res)
|
||||
~! res
|
||||
=+ pax=(result-to-cage:ford head.res)
|
||||
=+ dif=(result-to-cage:ford tail.res)
|
||||
::
|
||||
?. ?=($path p.pax)
|
||||
~| "strange path mark: {<p.pax>}"
|
||||
!!
|
||||
[((hard path) q.q.pax) ?:(?=($null p.dif) ~ `[%dif dif])]
|
||||
:: ~& > kiln-made+[(turn can head) syd=syd +<.abet]
|
||||
=+ notated=(skid can |=({path a/(unit miso)} ?=(^ a)))
|
||||
=+ annotated=(turn `(list (pair path *))`-.notated head)
|
||||
=+ unnotated=(turn `(list (pair path *))`+.notated head)
|
||||
=+ `desk`(cat 3 syd '-scratch')
|
||||
=+ ^- tan/(list tank)
|
||||
%- zing
|
||||
^- (list (list tank))
|
||||
:~ %- tape-to-tanks
|
||||
"""
|
||||
done setting up scratch space in {<[-]>}
|
||||
please resolve the following conflicts and run
|
||||
|merge {<syd>} our {<[-]>}
|
||||
"""
|
||||
%^ tanks-if-any
|
||||
"annotated conflicts in:" annotated
|
||||
""
|
||||
%^ tanks-if-any
|
||||
"unannotated conflicts in:" unnotated
|
||||
"""
|
||||
some conflicts could not be annotated.
|
||||
for these, the scratch space contains
|
||||
the most recent common ancestor of the
|
||||
conflicting content.
|
||||
|
||||
:: """
|
||||
:: ==
|
||||
:: =< win
|
||||
:: %- blab:(spam tan)
|
||||
:: :_ ~
|
||||
:: :* ost %info /kiln/[syd] our
|
||||
:: (cat 3 syd '-scratch') %&
|
||||
:: %+ murn can
|
||||
:: |= {p/path q/(unit miso)}
|
||||
:: `(unit (pair path miso))`?~(q ~ `[p u.q])
|
||||
:: ==
|
||||
"""
|
||||
==
|
||||
=< win
|
||||
%- blab:(spam tan)
|
||||
:_ ~
|
||||
:* ost %info /kiln/[syd] our
|
||||
(cat 3 syd '-scratch') %&
|
||||
%+ murn can
|
||||
|= {p/path q/(unit miso)}
|
||||
`(unit (pair path miso))`?~(q ~ `[p u.q])
|
||||
==
|
||||
--
|
||||
--
|
||||
|
@ -126,34 +126,38 @@
|
||||
::
|
||||
++ poke--data
|
||||
|= {{ext/(unit @t) pax/path} dat/data} ^+ abet
|
||||
abet
|
||||
:: ?~ ext $(ext [~ -.dat])
|
||||
:: =+ cay=?-(-.dat $json [-.dat !>(+.dat)], $mime [-.dat !>(+.dat)])
|
||||
:: ?: =(u.ext -.dat)
|
||||
:: (made pax ~ &+cay)
|
||||
:: =< abet
|
||||
:: %^ emit %build write+pax live=%.n :: XX defer %nice
|
||||
:: ^- schematic:ford :: SYNTAX ERROR AT START OF LINE?
|
||||
:: =/ =beak beak-now
|
||||
:: [%cast [p q]:beak u.ext [%$ cay]]
|
||||
?~ ext $(ext [~ -.dat])
|
||||
=+ cay=?-(-.dat $json [-.dat !>(+.dat)], $mime [-.dat !>(+.dat)])
|
||||
?: =(u.ext -.dat)
|
||||
(made pax now [%complete %success %$ cay])
|
||||
=< abet
|
||||
%- emit :*
|
||||
%build
|
||||
write+pax
|
||||
our
|
||||
live=%.n :: XX defer %nice
|
||||
^- schematic:ford :: SYNTAX ERROR AT START OF LINE?
|
||||
=/ =beak beak-now
|
||||
[%cast [p q]:beak u.ext [%$ cay]]
|
||||
==
|
||||
::
|
||||
++ made
|
||||
|= [pax=wire date=@da result=made-result:ford]
|
||||
^+ abet
|
||||
abet
|
||||
:: :: |= {pax/wire @ res/gage:ford} ^+ abet
|
||||
:: :: ?. =(our src)
|
||||
:: :: ~|(foreign-write/[our=our src=src] !!)
|
||||
:: ?: ?=(%incomplete -.result)
|
||||
:: (mean tang.result)
|
||||
:: ::
|
||||
:: =/ build-result build-result.result.sih
|
||||
:: ::
|
||||
:: ?: ?=([%error *] build-result)
|
||||
:: (mean message.build-result)
|
||||
:: ::
|
||||
:: =/ =cage (result-to-cage:ford build-result)
|
||||
:: ::
|
||||
:: =- abet:(emit %info write+~ our -)
|
||||
:: (foal :(welp (en-beam beak-now ~) pax /[-.p.cage]) p.cage)
|
||||
:: |= {pax/wire @ res/gage:ford} ^+ abet
|
||||
:: ?. =(our src)
|
||||
:: ~|(foreign-write/[our=our src=src] !!)
|
||||
?: ?=(%incomplete -.result)
|
||||
(mean tang.result)
|
||||
::
|
||||
=/ build-result build-result.result
|
||||
::
|
||||
?: ?=([%error *] build-result)
|
||||
(mean message.build-result)
|
||||
::
|
||||
=/ =cage (result-to-cage:ford build-result)
|
||||
::
|
||||
=- abet:(emit %info write+~ our -)
|
||||
::
|
||||
(foal :(welp (en-beam beak-now ~) pax /[-.cage]) cage)
|
||||
--
|
||||
|
@ -3791,7 +3791,7 @@
|
||||
:: for the kernel we're already running. Note that this fails
|
||||
:: referential transparency if |autoload is turned off.
|
||||
::
|
||||
?: ?& =(disc [our %home])
|
||||
?: ?& |(=(disc [our %home]) =(disc [our %base]))
|
||||
:: is :date.build the latest commit on the %home desk?
|
||||
::
|
||||
?| =(now date.build)
|
||||
|
@ -1,10 +0,0 @@
|
||||
/+ ford-turbo, tester
|
||||
::
|
||||
|_ _tester:tester
|
||||
++ test-ford-call
|
||||
~& %ford-compiles
|
||||
%- expect-eq !>
|
||||
[1 1]
|
||||
:: :- ~
|
||||
:: -:(call:(ford-turbo *@da *@ *sley))
|
||||
--
|
Loading…
Reference in New Issue
Block a user