Data update

This commit is contained in:
Ingy döt Net 2024-10-16 18:07:41 -07:00
parent 81fd053722
commit 52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions

View file

@ -8,6 +8,4 @@ logRoot = loggingVersion sqrt "obtained square root, "
logAddOne = loggingVersion (+1) "added 1, "
logHalf = loggingVersion (/2) "divided by 2, "
halfOfAddOneOfRoot = logRoot >=> logAddOne >=> logHalf
main = print $ runWriter (halfOfAddOneOfRoot 5)
main = print . runWriter $ (logRoot >=> logAddOne >=> logHalf) 5

View file

@ -1,27 +1,4 @@
root=: %:
incr=: >:
half=: -:
tostr=: ,@":
loggingVersion=: conjunction define
n;~u
)
Lroot=: root loggingVersion 'obtained square root'
Lincr=: incr loggingVersion 'added 1'
Lhalf=: half loggingVersion 'divided by 2'
loggingUnit=: verb define
y;'Initial value: ',tostr y
)
loggingBind=: adverb define
r=. u 0{::y
v=. 0{:: r
v;(1{::y),LF,(1{::r),' -> ',tostr v
)
loggingCompose=: dyad define
;(dyad def '<x`:6 loggingBind;y')/x,<loggingUnit y
)
W =: {{u;n"_}} NB. create Kleisli fns (a -> Writer c b)
unit=: ;'Initial value: ',,@":
bind=: {{b;w,LF,W,' -> ',,":b['b W'=.u a['a w'=.y}}
comp=: [: > {{<x`:6 bind>y}}/@(,<) NB. multi-compose

View file

@ -1,6 +1,9 @@
0{::Lhalf`Lincr`Lroot loggingCompose 5
wRoot=: %: W 'obtained square root'
wIncr=: >: W 'added 1'
wHalf=: -: W 'divided by 2'
0{::result=: wHalf`wIncr`wRoot comp unit 5
1.61803
1{::Lhalf`Lincr`Lroot loggingCompose 5
1{::result
Initial value: 5
obtained square root -> 2.23607
added 1 -> 3.23607