Tlen Lisp !!install!! Access
(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.
(defn add [x : Int, y : Int] -> Int (+ x y)) But this also works: 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: (compute-stats data | log-result | write-to-db) It reads
(let !counter 0 (each! [1 2 3] (fn [x] (set! counter (+ counter x)))) counter) ;; returns 6 The ! is a visual signal — no hidden side effects. Type systems are great, but they can interrupt flow. Tlen introduces soft types — optional, gradual, and runtime-erasable . You can add them when you need confidence, ignore them when prototyping. annotation for local, controlled mutation when it actually