I will always sign anything you bring.
Why?
Because I remember when all I could afford to bring to a book signing was a beat up paperback.
Don’t let any bookstore tell you I won’t sign your book.
#book
@marick . @ShriramKMurthi might have good perspective being a LISPer and in the Verification Systems side which is even stronger than the Haskell/ML type systems (e.g. think Agda and Coq), along with the directions they are taking in Pyret for dynamic ML types
Re. retros. Why do you need a format? Just have a conversation. Why do you need a retro, for that matter? Just have lots of conversations as issues come up. The key concept is *continuous* improvement, not improvement every two weeks in some meeting. 1/3
@khinsen @fngeekery@PyretLang You don't *have* to run it in the browser!
https://t.co/DJzE0eZtb0 says how to run it from a desktop. @joepolitz can probably say more.
@ShriramKMurthi Based off your history with dynamic languages and static types/verification, is there something that demonstrates a "left fold of apply/comp over a list of functions" in the static typing realm? e.g. (foldl (lambda (accum f) (apply f accum)) x '(k j i h g f))
@ShriramKMurthi@samth Yeah, not true magic, but was more in the sense of I can wave my hand and say "it works" without having to prove it. The more "magic" over science/engineering/math side ;)
@ShriramKMurthi@samth The question stemmed from showing off the Interceptor pattern in Clojure, where it is a context map that gets threaded through a procesing pipeline where keys get added. Being in the Static Type world, they were curious about ensuring type safety by keys being present
@ShriramKMurthi@samth And it may be that the part where the accum has the potential to changes its type on every "reduction" may be something that lives in the realm of dynamic type "magic"
@ShriramKMurthi@samth I think so, it looks like a good starting point to chew on. I think we were also wondering in the case where the apply, or compose, might change the type of the accumulated value at each step. e.g.
f: b -> c
g: a -> b
(foldl comp [f g]) : a -> c
@ShriramKMurthi Also, the `f` `g` and the like were symbols mapped to function names. I was translating from Clojure into a Scheme/Racket style but likely messed up the function names as symbols for passing functions around
@ShriramKMurthi Was pointing out the idea of the foldl of apply in the Lisp/dynamic world to those in static typing world, and we were wondering how it would translate.
Not sure if you know of anything as reference since your heart is in both worlds of dynamic Lisp and Verification. 😉