Se rendre au contenu

Tlen Lisp ((top)) -

I’ll admit it — I’m a sucker for Lisp dialects. Over the years, I’ve spent countless hours with Common Lisp, Clojure, Racket, and even Emacs Lisp (begrudgingly, at times). So when I stumbled across Tlen Lisp — whose name comes from the Polish word for “oxygen” — I was curious. Another Lisp? Really?

(defn add [x : Int, y : Int] -> Int (+ x y)) But this also works: tlen lisp

Have you tried Tlen? What’s your favorite “modern Lisp”? Let me know in the comments. I’ll admit it — I’m a sucker for Lisp dialects

(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. Another Lisp

(-> data (filter even?) (map square) (reduce + 0)) But here’s the twist — in Tlen, every function call is implicitly pipeable. You can write:

But after a weekend of tinkering, I’m genuinely excited. Tlen Lisp isn’t trying to be the fastest or the most purely functional. Instead, it’s focused on something most Lisps overlook: . What Makes Tlen Different? Tlen Lisp keeps the classic homoiconic syntax (function args...) but introduces a few opinionated changes: 1. Pipeline-first semantics Inspired by Clojure’s -> and Elixir’s |> , Tlen makes the pipeline operator a core syntactic element , not just a macro.