diff --git a/base/ape/hood.hoon b/base/ape/hood.hoon index ce5d3318c2..b719c7e9e8 100644 --- a/base/ape/hood.hoon +++ b/base/ape/hood.hoon @@ -88,6 +88,7 @@ ++ poke-kiln-cp (wrap poke-cp):from-kiln ++ poke-kiln-rm (wrap poke-rm):from-kiln ++ poke-kiln-mv (wrap poke-mv):from-kiln +++ poke-kiln-schedule (wrap poke-schedule):from-kiln ++ poke-will (wrap poke-will):from-helm ++ mere-kiln (wrap take-mere):from-kiln ++ mere-kiln-sync (wrap take-mere-sync):from-kiln diff --git a/base/arvo/ford.hoon b/base/arvo/ford.hoon index 881f66c36f..fa7c31e082 100644 --- a/base/arvo/ford.hoon +++ b/base/arvo/ford.hoon @@ -820,6 +820,8 @@ ++ keel :: apply mutations |= [cof=cafe suh=vase yom=(list (pair wing vase))] ^- (bolt vase) + %+ cool => |=([a=wing b=type *] [a b]) + |.(leaf/"ford: keel {} {<(turn yom +)>}") %^ maim cof %+ slop suh |- ^- vase @@ -960,8 +962,8 @@ =* for p.i.all =+ raf=(fang cof for) ?: ?=(%2 -.q.raf) - %- (slog 0 leaf/"! {<`mark`for>} build failed, ignoring:" q.q.raf) - (fine cof lil) + =. q.q.raf :_(q.q.raf leaf/"! {<`mark`for>} build failed, ignoring.") + ((slog 0 (flop q.q.raf)) (fine cof lil)) %+ cope `(bolt vase)`raf |= [cof=cafe vax=vase] %+ fine cof @@ -1023,11 +1025,12 @@ ++ link :: translate |= [cof=cafe too=mark for=mark vax=vase] ^- (bolt vase) + :: %+ cool |.(leaf/"ford: link {} {} {}") ?: =(too for) (fine cof vax) ?: |(=(%noun for) =(%$ for)) ((lake too) cof vax) %+ cope (fang cof for) - |= [cof=cafe pro=vase] + |= [cof=cafe pro=vase] ^- (bolt vase) ?: &((slob %grow p.pro) (slob too p:(slap pro [%cnzy %grow]))) %+ cope (keel cof pro [[%& 6]~ vax]~) |= [cof=cafe pox=vase] diff --git a/base/arvo/zuse.hoon b/base/arvo/zuse.hoon index 55fe5cf595..e6590e7ba6 100644 --- a/base/arvo/zuse.hoon +++ b/base/arvo/zuse.hoon @@ -1030,7 +1030,8 @@ =+ dir=((hard arch) .^(%cy pax)) ?~ q.dir [%ins val] =+ for=((hard mark) -:(flop pax)) - [%mut [for [%atom %$] .^(%cx pax)] val] + ?> =(for p.val) + [%mut [for p.q.val .^(%cx pax)] val] :: ++ file :: simple file load |= pax=path diff --git a/base/cat/hood/schedule.hoon b/base/cat/hood/schedule.hoon new file mode 100644 index 0000000000..8e94d034ca --- /dev/null +++ b/base/cat/hood/schedule.hoon @@ -0,0 +1 @@ +|=([^ [where=path tym=@da eve=@t ~] ~] kiln-schedule/[where tym eve]) diff --git a/base/lib/kiln.hoon b/base/lib/kiln.hoon index 8d32df42ab..cacc0c3cc8 100644 --- a/base/lib/kiln.hoon +++ b/base/lib/kiln.hoon @@ -101,23 +101,30 @@ abet:abet:(merge:(work syd) ali sud gim) :: ++ do-info - |= [mez=tape pax=path tor=toro] + |= [mez=tape tor=toro] abet:(emit:(spam leaf/mez ~) %info /kiln our tor) :: - ++ poke-rm |=(a=path (do-info "removed" a (fray a))) + ++ poke-rm |=(a=path (do-info "removed" (fray a))) ++ poke-cp |= [input=path output=path] - %^ do-info "copied" input + %+ do-info "copied" ?> =(-:(flop input) -:(flop output)) (foal output -:(flop input) %noun .^(%cx input)) :: XX type :: ++ poke-mv |= [input=path output=path] - %^ do-info "moved" input + %+ do-info "moved" ?> =(-:(flop input) -:(flop output)) %+ furl (fray output) (foal output -:(flop input) %noun .^(%cx input)) :: + ++ poke-schedule + |= [where=path tym=@da eve=@t] + =. where (welp where /sched) + %+ do-info "scheduled" + =+ old=;;((map ,@da cord) (fall (file where) ~)) + (foal where %sched !>((~(put by old) tym eve))) + :: ++ take |=(way=wire ?>(?=([@ ~] way) (work i.way))) :: general handler ++ take-mere :: |= [way=wire are=(each (set path) (pair term tang))] diff --git a/base/mar/sched.hoon b/base/mar/sched.hoon index 7d3b15682e..85a5cb82f0 100644 --- a/base/mar/sched.hoon +++ b/base/mar/sched.hoon @@ -3,7 +3,7 @@ :: |_ dat=(map ,@da cord) ++ grow :: convert to - |% ++ mime `^mime`[/text/x-sched (tact tape)] + |% ++ mime [/text/x-sched (tact tape)] ++ tape (zing `wall`(turn sorted-list |=([a=@da b=cord] "{} {(trip b)}\0a"))) ++ elem =< ;list: *{(turn sorted-list .)}