Fix ames timer to actually work.

This commit is contained in:
C. Guy Yarvin 2014-04-23 10:02:36 -07:00
parent 507f006ba4
commit 2c3c4c8b1d
5 changed files with 185 additions and 28 deletions

View File

@ -1284,7 +1284,10 @@
(gth now (add ~s32 u.rue.puz))
(lth u.rue.puz hop.fox)
==
== +>.$
==
~& [%poff her]
+>.$
~& [%pong her]
(wool [/a hen] /q/pi ~)
::
++ thaw :: thaw:ho:um:am

View File

@ -5,6 +5,25 @@
^- vane :: kernel instrument
=> =~
|% :: structures
::
++ ju :: XX lose after reset
|/ a=(jug)
+- get
|* b=*
=+ c=(~(get by a) b)
?~(c ~ u.c)
::
+- has
|* [b=* c=*]
^- ?
(~(has in (get(+< a) b)) c)
::
+- put :: XX slow
|* [b=* c=*]
^+ a
=+ d=(get(+< a) b)
(~(put by a) b (~(put in d) c))
--
++ bolo :: eyre state
$: gub=@t :: random identity
hov=(unit ,@p) :: master for remote
@ -208,6 +227,7 @@
?> ?=([~ @ ~] hot)
[[sec (rash i.u.hot thor:epur)] p.ryp q.ryp]
==
=. p.p.pul |(p.p.pul =([& /localhost] r.p.pul))
(hell pul +.fav [p.heq mah s.heq])
::
%thud :: cancel request
@ -779,11 +799,11 @@
::
?+ two |
%e & :: stranger
::%u p.p.pul :: guest
%u &
%u p.p.pul :: guest
::%u &
%i p.p.pul :: neighbor
::%o p.p.pul :: identified
%o &
%o p.p.pul :: identified
::%o &
==
::
?= $? %p :: application
@ -800,14 +820,9 @@
=(3 (met 3 nep))
==
~
~& [%aut aut.ced]
?: &(=(%i two) =(~ aut.ced))
(holt ~ pul)
?: ?& =(%o two)
=+ urb=(~(get by aut.ced) %$)
~& [%urb urb]
?~(urb & !(levy u.urb |=(a=@ =(our (need (rush a fed:ag))))))
==
?: &(=(%o two) !(~(has ju aut.ced) %$ (scot %p our)))
(holt [~ our] pul)
?+ one ~
%g
@ -1401,12 +1416,10 @@
?. =(%foobar r.som.pip)
~& [%login-bad som.pip]
$(som.pip [%lon [~ p.som.pip] q.som.pip])
=+ tau=(~(get by aut.ced) %$)
=+ hoo=`@t`(rsh 3 1 (scot %p p.som.pip))
~& [%login-good hoo som.pip]
~& [%login-good som.pip]
%= $
som.pip [%red q.som.pip]
aut.ced (~(put by aut.ced) %$ ?~(tau [hoo ~] [hoo u.tau]))
aut.ced (~(put ju aut.ced) %$ (scot %p p.som.pip))
==
::
%red

132
arvo/ford.hoon Normal file
View File

@ -0,0 +1,132 @@
!: :: %ford, new execution control
!? 164
::::
|= pit=vase
^- vane
=> =~
|% :: structures
++ axle :: all %ford state
$: wad=(map duct task) :: tasks by duct
== ::
++ bone ,@ud :: abstract duct
++ claw :: startup chain
$: est=@da :: startup date
eny=@ :: entropy
joy=(unit viol) :: local context
ran=(unit viol) :: arguments
jiv=(unit viol) :: app configuration
kyq=(unit viol) :: app customization
gam=(unit viol) :: app image
== ::
++ crab :: ascending card
$% [%halt ~] :: interrupt
[%ride p=(list skit) q=(each path twig)] :: start/restart
== ::
++ crib :: execution thread
$: kit=(map ,@ud kite) :: dependencies
eve=(qeu ,[p=wire q=card]) :: pending cards
war=(each claw (unit vial)) :: execution
== ::
++ croc ,* :: descending card
++ hawk :: untyped effect
$% [%call p=bone q=wire r=*] :: advance card
[%give p=bone q=*] :: produce card
[%play p=bone q=*] :: reprocess card
== ::
++ hide :: engine state
$: own=[p=ship q=@tas] :: static identity
^= seq :: dynamic sequence
$: num=@ud :: change number
eny=@ :: entropy
now=@da :: date
== == ::
++ hive :: typed engine
|* [cud=,_* wad=,_* bag=_,*] :: condensed state
$_ ^? ::
|_ hide ::
++ pack *bag :: save as bag
++ poke :: apply
|+ $: kul=(unit keel) :: acting agent
tea=wire :: logical place
fav=cud :: present event
== ::
[*(list wad) +>] :: effects
++ poll :: current subchange
|+ tea=path ::
_@ud ::
::
++ peek :: view
|+ $: kyl=keel :: inspecting agent
asp=?(%view %diff) :: desired aspect
tea=wire :: logical place
dev=path :: device identity
== ::
[*?(%view %diff) *vase] ::
++ prep :: restore from bag
|= bux=bag ::
+> ::
== ::
++ keel (unit ship khan) :: general identity
++ khan ,[p=@tas q=@tas] :: foreign identity
++ lamp :: task definition
$: wor=writ :: authority
sac=(list skit) :: library structure
lac=(each path twig) :: indirect/direct
== ::
++ logo ,@tas :: logical type
++ skit ,[p=(unit ,@ta) q=(list ,@ta) r=(list ,@ta)] :: tracking path
++ task :: execution
$: lam=lamp :: task definition
nah=crib :: task state
== ::
++ vial ,* :: untyped vase
--
. ==
=| axle
=* lex -
|= [now=@da eny=@ sky=$+(* (unit))] :: activate
^? :: opaque core
|% ::
++ beat :: process move
|= [wru=(unit writ) tea=wire hen=duct fav=curd]
=> .(fav ((hard card) fav))
=. ney (shax :(mix (shax now) +(eny) ney)) :: XX!! shd not need
?: ?=(%crud -.fav)
[[[wru [/d hen] %flog fav] ~] ..^$]
^- [p=(list move) q=vane]
=. gub ?.(=(0 gub) gub (cat 3 (rsh 3 1 (scot %p (end 6 1 eny))) '-'))
=^ mos bol
abet:apex:~(adit ye [[wru tea hen fav] [now eny sky] ~] bol)
[mos ..^$]
::
++ come
|= [sam=? old=vase]
^- vane
(load old)
::
++ doze
|= [now=@da hen=duct]
^- (unit ,@da)
~
::
++ load
|= old=vase
^- vane
?. (~(nest ut -:!>(`bolo`+>-.^$)) | p.old)
~& %eyre-reset
..^$
..^$(+>- (bolo q.old))
::
++ raze
^- vane
..$(+>- *bolo)
::
++ scry
|= [our=ship ren=@tas who=ship syd=disc lot=coin tyl=path]
^- (unit)
~
::
++ stay
`vase`!>((colt `bolo`+>-.$))
++ vern [164 0]
--

View File

@ -1406,9 +1406,9 @@
=+ c=(~(get by a) b)
?~(c ~ u.c)
::
+- add :: XX slow
+- add
|* [b=* c=*]
=+ d=(get b)
=+ d=(get(a +>) b)
(~(put by a) [d c])
--
::
@ -1419,10 +1419,16 @@
=+ c=(~(get by a) b)
?~(c ~ u.c)
::
+- put :: XX slow
+- has
|* [b=* c=*]
=+ d=(get b)
(~(put by a) (~(put in d) c))
^- ?
(~(has in (get(+< a) b)) c)
::
+- put
|* [b=* c=*]
^+ a
=+ d=(get(+< a) b)
(~(put by a) b (~(put in d) c))
--
::
++ by :: map engine
@ -8193,7 +8199,11 @@
--
--
::
++ vial :: vane tools
++ vint :: create vane
|= [vil=vile bud=vase pax=path txt=@ta] ::
(vent vil bud (slam (slap bud (rain pax txt)) [viz.vil bud]))
::
++ viol :: vane tools
|= but=type
^- vile
=+ pal=|=(a=@t ^-(type (~(play ut but) (vice a))))
@ -8204,10 +8214,6 @@
viz=(pal '_vase')
==
::
++ vint :: create vane
|= [vil=vile bud=vase pax=path txt=@ta] ::
(vent vil bud (slam (slap bud (rain pax txt)) [viz.vil bud]))
::
++ is :: operate in time
|= [eny=@ vil=vile bud=vase fan=(list ,[p=@tas q=vase])]
|_ now=@da
@ -8305,7 +8311,7 @@
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
=+ pit=`vase`!>(.) ::
=+ bud=pit :: becomes tang
=+ vil=(vial p.bud) ::
=+ vil=(viol p.bud) ::
=| eny=@ :: entropy
=| fan=(list ,[p=@tas q=vase]) ::
=| hom=path :: source path

View File

@ -1510,7 +1510,7 @@
++ head
^- tape
;: weld
?:(p.p.pul "https://" "http://")
?:(&(p.p.pul !=([& /localhost] r.p.pul)) "https://" "http://")
::
?- -.r.p.pul
| (trip (rsh 3 1 (scot %if p.r.p.pul)))
@ -1540,6 +1540,9 @@
|%
++ apat (cook deft ;~(pfix fas (more fas smeg))) :: 2396 abs_path
++ auri
%+ cook
|= a=purl
?.(=([& /localhost] r.p.a) a a(p.p &))
;~ plug
;~ plug
%+ sear
@ -2335,7 +2338,7 @@
++ clip (each ,@if ,@is) :: client IP
++ cred :: credential
$: hut=hoot :: client host
aut=(map ,@tas (list ,@t)) :: client identities
aut=(jug ,@tas ,@t) :: client identities
orx=oryx :: CSRF secret
acl=(unit ,@t) :: accept-language
cip=(each ,@if ,@is) :: client IP