====== TODO ====== Articles to write; things to consider doing. ===== Why Clojure / Learning Clojure ===== - Clojure isn't about FP, but: * Data fundamentally takes a few core shapes and programs generically manipulate those few core shapes of data * What? * Sequences (lists, vectors) * Maps * Sets * Simple data types (numbers, strings, etc.) * Examples * clojure.java.io/input-stream - Set of input types * map/reduce (flatmap) have exactly one implementation in Clojure and will never need another one * (Contrast with Scala where every collection needs its own map/flatten/flatmap implementations) - Separating the customer's perspective/vocabulary from the program's * Concerns * Customer has one vocabulary (Objects formalize that vocabulary into protocols that make it impossible to process data generically) * Programs want to process data as generically as possible * These two concerns tend to be intertwined in OO programs. Lisp gives us tools to separate those concerns. * Internal DSLs - Compile-time type inference/checking with Specs ===== Scala / FP ===== [[Getting Started with PlayFramework in Eclipse]] [[PlayFramework Overview]] -- Implementing a Sinkhole Server in PlayFramework Object-oriented Pipelines in Java -- (Implementing Monads over Iterable) * Foreach * LazyParallel * ThreadPool ===== The Cloud ===== AWS? ===== EMF-Web ===== * Maximillian: I'd like a web-based version of the EMF Client Platform * Why Maven/OSGi integration is important ==== Home page modifications ==== * AWS?