Clojure tutorial in Bahasa Indonesia (video version)
This tutorial assumes you have an introductory programming background (preferrably using Haskell). If you don't then try this one. Why Clojure? here.
- JDK 1.8
- [Download nightcode] (https://sekao.net/nightcode/)
- Language Basic & REPL
1.1 Installation & Clojure Introduction
1.2 Basic Data Types & Operations
1.3 Collections (List, Vector, Maps, Set)
1.4 Symbols & Identifier
1.5 Exercise 1: Expression
1.6 Exercise 2: List Manipulation
1.7 Exercise 3: Vector Manipulation
1.8 Exercise 4: Set and Maps
1.9 Exercise 5: Defining a Function
1.9.1 Function can beget another
1.9.2 Higher-order function take function arguments - Source Code
2.1 How to Make Clojure File
2.2 4Clojure Introduction
2.3 Conditional (if
andcond
)
2.4 Conditional Continue & Collections
2.5 Clojure Docs & Clojure Evaluation
2.6 Clojure Evaluation Continue
2.7 Recursion ex. Factorial
2.8 Recursion Continue - Clojure Expression
3.1 Function
3.2 Data Structure
3.3if
Conditional
3.4 Recursion
3.5 True and False Conditional
3.6 Brute-force Prime
3.7 Efficient Prime Algorithm
3.8 Pure Recursion & Looping - Higher Order Functions
4.1 Idiomatic clojure: destructuring with[[x & xs]]
style. Start at 9.05:map
,reduce
4.2 Pattern:->
,->>
4.3 High order fn, input fn:map-indexed
,keep
,when
,mapv
,filter
,filterv
4.4 Global and local scope:let
4.5 High order fn, input fn:remove
,shuffle
,sort
,sort-by
,apply
,max
,min
,partition
,partition-by
,take-while
,drop-while
,group-by
4.6 Map manipulation:zipmap
,keys
,vals
,into
,identity
4.7 Map manipulation:assoc
,dissoc
,merge
,merge-with
,get-in
,update-in
,assoc-in
4.8 High order fn, input fn:every?
,some
,mapcat
,iterate
4.9 High order fn, output fn: soal generator.comp
,juxt
,partial
- For, side-effects, and many others
5.1for
5.2for
continue
5.3apply
,reduce
,eval
5.4 Impure function, side effect!. Finallyatom
,reset!
,@
,dotimes
,println
,do
,doseq
5.5 ProjectEuler No. 1
5.6 ProjectEuler No. 2,memoize
5.7 IO Side effect!,slurp
,read-string
, edn???
5.8 ProjectEuler No. 14,max-key
,juxt
- Using Paredit to boost productivity (VERY IMPORTANT!).
The examples for this part is on a different repo somehow