Zach Tellman - Always Be Composing

The Clojure ecosystem, we're told, is made up of small, composable libraries. In practice, though, it's all too common to find that two libraries simply will not cleanly compose. This typically will lead to another library that does the same thing, but in a subtly different way. Sometimes this is warranted, but often it's not. This talk will discuss the constraints and affordances that make a piece of code play nicely with other pieces of code. Attendees will learn how to write clean, reusable Clojure, drawing on the speaker's many past failures and few notable successes. The first place I think of, when I try to tell someone about this quality, is a corner of an English country garden, where Zach Tellman grows against a wall. The wall runs east to west; Zach grows flat against its southern side. The sun shines on him and as it warms the bricks behind Zach, the warm bricks themselves warms the peaches on him. It has a slightly dozy quality. Zach, carefully tied to grow flat against the wall; warming the bricks; the peaches growing in the sun; the wild grass growing around Zach's roots, in the angle where the earth and roots and wall all meet.

Related Talks

"Writing a game in Haskell" by Elise Huard

"Writing a game in Haskell" by Elise HuardHaskell is a beautiful functional language, written by smart computer scientists, and having clever and elegant functional constructs. It clearly separates pure and impure parts of the program. Game programming on the other hand is a very hands-on discipline, trying to wring out the most of the machine's performance, and aiming ...

Solving Problems with Automata - Mark Engelberg & Alex Engelberg

Solving Problems with Automata - Mark Engelberg & Alex EngelbergMany of us have hazy memories of finite state machines from computer science theory classes in college. But finite state machines (FSMs) have real, practical value, and it is useful to know how to build and apply them in Clojure. For example, FSMs have long been popular to model game ...

Functional programming - Bodil Stokke

Functional programming - Bodil StokkeBuild Your Own Lisp for Great Justice Implementing a toy Lisp interpreter is practically a rite of passage for the budding computer scientist. This hallowed tradition is described in detail in "Lisp in Small Pieces," the seminal work on the making of Lisps, but everybody loves a tl;dr, so let's do ...

Functional programming design patterns by Scott Wlaschin

Functional programming design patterns by Scott WlaschinIn object-oriented development, we are all familiar with design patterns such as the Strategy pattern and Decorator pattern, and design principles such as SOLID. The functional programming community has design patterns and principles as well. This talk will provide an overview of some of these, and present some demonstrations of ...

Netflix JavaScript Talks - Async JavaScript with Reactive Extensions

Netflix JavaScript Talks - Async JavaScript with Reactive ExtensionsJafar Husain shares how Netflix uses the Reactive Extensions (Rx) library to build responsive user experiences that strive to be event-driven, scalable and resilient. Learn the power of the Observable and how Netflix has simplified code through the ability to filter, aggregate, compose and project data streams. This talk discusses how ...

Debugging with the Scientific Method - Stuart Halloway

Debugging with the Scientific Method - Stuart HallowayAbout the speaker: Stuart Halloway (@stuarthalloway) is a founder and President of Cognitect (formerly Relevance). He is a Clojure committer, and a developer of the Datomic database. Stuart has spoken at a variety of industry events, including Strange Loop, Clojure/conj, EuroClojure, ClojureWest, SpeakerConf, QCon, GOTO, OSCON, RailsConf, RubyConf, JavaOne, and ...

Genetic Programming in Clojure - Lee Spector

Genetic Programming in Clojure - Lee SpectorGenetic programming harnesses the mechanisms of natural evolution, including mutation, recombination, and natural selection, to automatically synthesize computer programs. It has been applied to a wide range of problems spanning several areas of science, engineering, and the arts, in many cases equaling or exceeding human performance. Genetic programming's roots are in ...

Andy Keep - Writing a Nanopass Compiler

41 minutes
Andy Keep - Writing a Nanopass CompilerContemporary compilers are among the most complex of software systems, typically being required to handle sophisticated high-level source languages, generate efficient code for multiple hardware architectures and operating systems, and support source-level debuggers, profilers, and other program development tools. Nanopass frameworks are designed to help manage this complexity. A nanopass ...

Machine Learning Live - Mike Anderson

28 minutes
Machine Learning Live - Mike AndersonThis presentation will introduce a new start-up focused on machine learning that is using Clojure. We will discuss the technology and architecture it has developed for real-time machine learning and pattern recognition, and how Clojure provides a unique set of advantages. There will be a live coding demonstration of interactively applying ...

Clojure Data Science - Edmund Jackson

33 minutes
Clojure Data Science - Edmund JacksonData science / big data exists at the overlap of traditional analytics and large scale computation. As such, neither the traditional tools of analytics (R, Mathematica, Matlab) nor mainstreams languages (Java, C++, C#) supply its requirements well as they cannot simultaneously provide the mathematical abstractions and real-word platform power that ...