SlideShare a Scribd company logo
Things to in Clojure
Jiri Knesl
Things I already like
• static typing makes me write types everywhere (inference
helps but only a little)
• schema allows me to type only in places I like
• types are data (you can create them, modify them, merge
them)
• you can add validators to types (only even size of vector?)
• optional keys & Maybe
• Disadvantage: magic happens in runtime :(
• https://github.com/prismatic/schema
• Install:
• [prismatic/schema “0.2.1”]
• Require:
• (:require [schema.core :as s])
Thing to love in Clojure
Parallelism for free
• Simple as (future (do something))
• Or Atoms/Agents…
• Or core.async
One day
• One day I improved performance of my
application by 100 %
• With only a few characters
• Without need to think
• I put my model queries to (future) and
@deref’d them in template
More
parallel/concurrent/async
goodness
• Software Transactional Memory
• Futures, Promises
• Actors
• Core.async
• Actors (more on this later)
• Homoiconicity for the great good
Great presentation on topic
“The Future is Parallel, and the
Future of Parallel is Declarative”
Simon Peyton Jones
Leiningen everywhere
• lein deps (Clojure is just another dependency)
• lein kibit & lein eastwood (lint)
• lein uberjar
• lein midje
• …
Hiccup
• Turing-complete templates
• Compile-time checking
• Adding own helpers & logic became natural
• And templates are shorter
• With RouteOne
Hiccup looks like…
Things I believe I will like
Double-check
https://github.com/cemerick/do
uble-check
now you can test on thousands
of inputs
and then get the minimal input
ZMQ-Async
https://github.com/lynaghk/zmq-async
http://www.avout.io
distributed atom & ref
Pulsar
http://docs.paralleluniverse.co/pulsar/
Erlang-like Actors
Next step
• Install Clojure & try your first project
• Luminus framework & RouteOne & Hiccup &
Midje
• Follow @jiriknesl
• E-mail me to jiri@sprintmasters.cz (I would be
happy to help you with transition to functional
programming)

More Related Content

ZIP
URUG Ruby on Rails Workshop - Sesssion 5
PPT
Customizing the custom loop wordcamp 2012-jeff
KEY
CatalystX::SimpleLogin
PDF
RubyConf Taiwan 2016 - Large scale Rails applications
PPTX
TypeScript and Angular2 (Love at first sight)
PDF
RubyConf China 2015 - Rails off assets pipeline
PDF
Smooth Animations for Web & Hybrid
PDF
Getting started with dev tools (4/10/17 DC)
URUG Ruby on Rails Workshop - Sesssion 5
Customizing the custom loop wordcamp 2012-jeff
CatalystX::SimpleLogin
RubyConf Taiwan 2016 - Large scale Rails applications
TypeScript and Angular2 (Love at first sight)
RubyConf China 2015 - Rails off assets pipeline
Smooth Animations for Web & Hybrid
Getting started with dev tools (4/10/17 DC)

What's hot (20)

PPTX
ReactJS Code Impact
PPTX
Valentine with Angular js - Introduction
PPT
Backbone.js versus AngularJS
PDF
Make your Rails console AWESOME (Ruby SG meetup 2016-03-29)
PDF
Bridging the gap between UX and development - A Storybook by Marko Letic at F...
PDF
Webcomponents are your frameworks best friend
PDF
Angular ❤️ CMS from #AngularUp
PPT
Angular js
PPTX
C# Async/Await Explained
PDF
Frameworks and webcomponents
PDF
Cloud Shadows to Crepuscular Rays
PDF
SPA, Scalable Application & AngularJS
PDF
Refactoring Workshop (Rails Pacific 2014)
PDF
Responsiveness
PDF
Fast Web Applications with Go
PDF
How to Use WebVR to Enhance the Web Experience
PPTX
Advanced AngularJS Tips and Tricks
KEY
PPTX
Build Authentication in Conversational AI
PPTX
Next generation testing
ReactJS Code Impact
Valentine with Angular js - Introduction
Backbone.js versus AngularJS
Make your Rails console AWESOME (Ruby SG meetup 2016-03-29)
Bridging the gap between UX and development - A Storybook by Marko Letic at F...
Webcomponents are your frameworks best friend
Angular ❤️ CMS from #AngularUp
Angular js
C# Async/Await Explained
Frameworks and webcomponents
Cloud Shadows to Crepuscular Rays
SPA, Scalable Application & AngularJS
Refactoring Workshop (Rails Pacific 2014)
Responsiveness
Fast Web Applications with Go
How to Use WebVR to Enhance the Web Experience
Advanced AngularJS Tips and Tricks
Build Authentication in Conversational AI
Next generation testing
Ad

Similar to Thing to love in Clojure (20)

PDF
Introduction to Clojure
PDF
From Java to Parellel Clojure - Clojure South 2019
PDF
Clojure in real life 17.10.2014
ODP
Clojure basics
PDF
Functional (web) development with Clojure
ODP
Getting started with Clojure
PDF
The Ideas of Clojure - Things I learn from Clojure
PDF
Clojure 1.1 And Beyond
PDF
Functional web with clojure
PPTX
Clojure Fundamentals Course For Beginners
PPTX
Clojure through the eyes of a Java Nut | [Mixed Nuts] at Pramati Technologies
PDF
Microservices in Clojure
PDF
Clojure Programming Cookbook Makoto Hashimoto Nicolas Modrzyk
PDF
Introductory Clojure Presentation
PDF
Clojure for Java developers
PDF
Solving New School with the Old School (Clojure)
PDF
FP Days: Down the Clojure Rabbit Hole
PDF
The never changing face of immutability
PDF
Schema tools-and-trics-and-quick-intro-to-clojure-spec-22.6.2016
PDF
3 years with Clojure
Introduction to Clojure
From Java to Parellel Clojure - Clojure South 2019
Clojure in real life 17.10.2014
Clojure basics
Functional (web) development with Clojure
Getting started with Clojure
The Ideas of Clojure - Things I learn from Clojure
Clojure 1.1 And Beyond
Functional web with clojure
Clojure Fundamentals Course For Beginners
Clojure through the eyes of a Java Nut | [Mixed Nuts] at Pramati Technologies
Microservices in Clojure
Clojure Programming Cookbook Makoto Hashimoto Nicolas Modrzyk
Introductory Clojure Presentation
Clojure for Java developers
Solving New School with the Old School (Clojure)
FP Days: Down the Clojure Rabbit Hole
The never changing face of immutability
Schema tools-and-trics-and-quick-intro-to-clojure-spec-22.6.2016
3 years with Clojure
Ad

Recently uploaded (20)

PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
ai tools demonstartion for schools and inter college
PPTX
Transform Your Business with a Software ERP System
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
top salesforce developer skills in 2025.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Introduction to Artificial Intelligence
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Digital Strategies for Manufacturing Companies
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
ai tools demonstartion for schools and inter college
Transform Your Business with a Software ERP System
Design an Analysis of Algorithms II-SECS-1021-03
Which alternative to Crystal Reports is best for small or large businesses.pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
top salesforce developer skills in 2025.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Navsoft: AI-Powered Business Solutions & Custom Software Development
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Introduction to Artificial Intelligence
How to Migrate SBCGlobal Email to Yahoo Easily
Wondershare Filmora 15 Crack With Activation Key [2025
Designing Intelligence for the Shop Floor.pdf
Softaken Excel to vCard Converter Software.pdf
Digital Strategies for Manufacturing Companies
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx

Thing to love in Clojure