This gist is a collection of my rough notes from Strange Loop 2012.
Follow me on GitHub or Twitter to get updates as they're posted.
I'm posting these notes immediately after each talk. Expect typos, formatting glitches, incomplete thoughts, and ...
This gist is a collection of my rough notes from Strange Loop 2012.
Follow me on GitHub or Twitter to get updates as they're posted.
I'm posting these notes immediately after each talk. Expect typos, formatting glitches, incomplete thoughts, and ...
--- rough notes ---
--- rough notes ---
update-state function takes the current state and an event and returns the new statemap, mapcat, filter, etc.)reduce is the universal accumulatormap and reduceprocess with many discrete steps
similar "shape" of data at each step; usually a map or record
only one execution path
example:
(defn large-process [input]
(-> input
subprocess-a
subprocess-ab
subprocess-c))
(defn subprocess-a [data]
; ...
)
useful to be able to easily the exact order of the steps; show it to business users to vet that you've ordered it correctly?
--- rough notes ---
Gary introduces a side project that Gary has been working on part-time for a little over a year, including ...
And, we've all been punk'd. All lies. None of the things above actually exist.
Editor's note: With Light Table, Catnip, aneditor/anterminal, and Bret Victor's upcoming talk, it seems like "Re-imagining Your Development Environment" will be one of the themes of Strange Loop 2012
--- rough notes ---
Revised talk title? "Using Haskell Type Signatures as a Functional Design Notation"
Haskell type signatures useful for thinking about design
Even in Ruby code, Michael finds himself adding Haskell-esque type signatures as comments (i.e., documentation for methods)
String -> [String] -> [[String]] -> [String] -> String
Look at the shape of your data and how each function transforms the data; doing so will influence how you want to name your functions
Focuses on data
Think of problems as transformations from one thing to another thing
--- rough notes ---
#map, #reduce, #filter, etc.)Proc.curry added in 1.9)callcc)Editor's note: If this topic interests you, you might also enjoy Alan Dipert's "Functional Programming in Ruby" slides from Ruby Hoedown 2011.
--- rough notes ---
[A] Editor's note: Debugging is probably better than you expect. It's better than I expected.
[B] Editor's note: Check out the "Differences from Clojure" wiki page for a good breakdown.
Amanda Laucher and Paul Snively
--- rough notes ---
forAll made me think, "could/should that be a type?"[A] Editor's note: Testing Anti-Patterns — How to Fail With 100% Test Coverage
[B] Editors note: This might be a problem if you're coding in a cave. But you're not. So, go talk to your customer. Just sayin'.
Yea, thanks for this
Thanks for doing this Jason.
Thank you!
Thanks
Thanks!
👍 A great help!
This is great. Thanks!
Awesome, stumbled over this from hearing about the Computer Whisperer talk. Unfortunately, it doesn't look like that one will get released until next April, but for anyone else looking for video of the Strange Loop talks, https://thestrangeloop.com/news/strange-loop-2012-video-schedule
Thank you!