(defn add [x : Int, y : Int] -> Int (+ x y)) But this also works:
(compute-stats data | log-result | write-to-db) It reads left-to-right, no nesting, no parentheses confusion. Like Clojure, Tlen’s data structures are persistent and immutable. But Tlen adds a lightweight ! annotation for local, controlled mutation when it actually makes code clearer. tlen lisp
(-> data (filter even?) (map square) (reduce + 0)) But here’s the twist — in Tlen, every function call is implicitly pipeable. You can write: (defn add [x : Int, y : Int]