Clojure Workshop

Hosted By
Abhishek Anand A.

Details
Workshop Curriculum is borrowed from https://github.com/inclojure-org/organization/blob/master/workshop/curriculum.md
(Note: You'll need to bring your own laptop)
Clojure Basics
- Writing simple expressions; prefix notation; introduce the idea of forms/s-expressions
- Primitives: numbers, keywords, strings, booleans, nil
- Collection literals: lists, vectors, maps, sets
- Name things using def
- The idea of 'var's - and the idea of interning, namespaces and bindings
- And why 'def' is to be used with care, and at the top level (conventionally)
- Define basic functions with defn
- conditionals with if; truthiness and falsiness
- Bindings with let
- Collections: vectors, maps, sets. Introduce the ideas of immutability and persistent data structures
- Destructuring with let
### Working with functions
- Defining and calling functions
- Multi-arity functions
- varargs
- Destructuring
- pre/post conditions
- operating on functions: partial, comp, juxt
- anonymous functions and closures
- higher-order functions: map, filter, reduce
### Project Management
- namespaces and organising clojure code
- introduce leiningen
- setting up a project with lein new
- adding a dependency using lein, and requiring it in a namespace

Pune Clojure Meetup
See more events
Clojure Workshop