Developers are increasingly choosing datastores that sacrifice strong consistency guarantees in exchange for improved performance and availability. Unfortunately, writing reliable distributed programs without the benefit of strong consistency can be very challenging.
In this talk, Recorded as BashoChats 004 in San Francisco, Neil Conway discusses work from his group at UC Berkeley that aims to make it easier to write distributed programs without relying on strong consistency. Bloom is a declarative programming language for distributed computing, while CALM is an analysis technique that identifies programs that are guaranteed to be eventually consistent. He then discussed his recent work on extending CALM to support a broader range of programs, drawing upon ideas from CRDTs.
Cascalog is a data processing library for Clojure that mixes functional and logic programming. It makes data processing code very concise, easier to grasp and reason about.
Being just a Clojure library, all of Clojures’ features are just a keystroke away – no need to learn another custom language (like Pig or Hive). This also allows for powerful abstraction and composition capabilities.
Although Hadoop being its major use case, Cascalog can be used for local data crunching as well. The talk will mainly focus on how Cascalog leverages logic programming, but real-life experience with Hadoop clusters will be mixed in as well.
One of the deepest mysteries in the functional programming world is the Y-Combinator. Many have heard of it, but few have mastered its mysteries.
Although fairly useless in real world software, understanding how the Y-Combinator works and why it is important gives the student an important insight into the nature of functional programming.
Join with us on this journey of understanding.
Be prepared to curry your functions and bind your lambdas as we delve into the whys and wherefores of this paragon of functional programming.
Although you will probably never have a need for the combinator, the effort put forth to understand it will improve your functional programming chops.
This talk is not for the faint of heart, but the successful student will be richly rewarded.
Also, you will understand why "Y-Combinator" is the perfect name for Paul Graham's start-up funding company.