This blog post was originally posted on my blogpost blog at this URL, and was later migrated to this place. There may be some comments at the original URL.
A talk from Chris Marshall, on wrapping an imperative Java API in a typed, algebraic, functional API, using Scalaz. It seems the video for the talk hasn’t been uploaded yet.
In January, Martin Thompson gave a talk on top 10 performance myths, where he spoke a bit about immutable/persistent data structures and STM. Here’s a Clojure mailing list thread where he expands on his points, and answers some questions from the Clojure community.
Tracy Harms’ talk on the J language. I have only seen the slides, and the talk seems to have good, elaborate examples, which may help you understand the core J ideas and probably inspire you to look into array/tacit programming model deeper.
Patrick Thomson asserts that, “recursion schemes are just as essential to idiomatic functional programming as for and while are to idiomatic imperative programming.” In this post, he demonstrates top-down and bottom-up traversals, which are simplest of recursion schemes. He will be writing about other recursion schemes in future posts in the series.
I still haven’t read “Bananas, Lenses, Envelopes, and Barbed Wire”, the paper he alludes to in this post. Oh, I have so much to learn!
Session is a live-coding environment or a web REPL for Clojure, built atop Om and Datomic. It saves your REPL sessions in Datomic database, so that you can revisit them in future. It also has a “data-oriented” rendering model, where all graphic renderings have a backing EDN representation.
It is a notebook environment like Mathematica or IPython, which could probably also be used as a teaching tool.
Eugene Burmako and Lars Hupel’s NEScala talk is out. They go into pros and cons of both approaches, and how to combine the two together for fun and profit. They also talk about the latest “shadow embedding” and “yin yang” stuff, which I mentioned in the last post in the series.
A project very similar to Session, but without all the database stuff. Gorilla worksheets are saved as simple Clojure files with all the text it between as comments.
Chris Granger is working on a new programming environment called Aurora. Get details at the above link.
This presentation is not about naming in programming; sorry for the confusion. It is about some amazing web tools that will help you come up with awesome names for your blogs, events, sites.
It is difficult to find good resources on some of the advanced Haskell topics. Gabriel Gonzalez of haskellforall and pipes fame is here to help you with some pointers on monad transformers, parsers, Free, and such.
A very impressive Scala library for quantities, units of measure, and dimensional analysis.
I was having a conversation with my colleague, Mushtaq, about pattern matching, where he pointed me to this interesting language called Bondi, which is based on pattern calculus, something the author claims is strictly more expressive than lambda calculus. I couldn’t find any easy resources on the subject and haven’t looked at it very deeply, but it sure sounds very interesting.
Ken Scambler’s talk slides on free monads in Scala.
Rust seems to have a very structured and powerful macro system. Here is an example of its (ab-)use for a card game called Dominion.
ClojureWest videos are out. I watched a few of them, a few are scheduled for next week. I quite liked David Nolen’s talk on Om. Priyatam’s talk on a “poet REPL” they built is also interesting. Zach Tellman’s “predictably fast Clojure” was pretty amazing.
Runar Oli talks about how functional programming can be terrible “in Scala” due to a certain characteristics of JVM, Scala the language, and Scala’s type system, and then concludes with why FP in Scala is awesome and beneficial nevertheless.
Until next time!