کلوژر (به انگلیسی: Clojure) گویشی از زبان برنامهنویسی لیسپ است که توسط ریچ هیکی ایجاد شدهاست. این زبان، یک زبان همهمنظوره تابعی است[۶].
کد کلوژر به بایتکد ماشین مجازی جاوا کامپایل میشود[۷]، و بنابراین میتوانید از کتابخانههای جاوا استفاده کند.
اکثر زبانهای مرسوم، ویژگیهای پایهای همروندی، یعنی ریسمانها و قفلها را در اختیار میگذارند. زبانهایی مانند جاوا، تعدادی کتابخانه کمکی نیز برای کنترل همروندی اضافه میکنند، ولی تغییری اساسی در چگونگی طراحی برنامههای همروند ایجاد نمیکنند، و تنها میزان کد مورد نیاز را کم میکنند[۸].
کلوژر بهصورت اساسی از همهٔ لحاظها متفاوت است. کلوژر ابزارهای اولیه، ریسمان و قفل، را در اختیار نمیگذارد. در عوض، مدلهای برنامهنویسی همروند در کلوژر کاملاً متفاوت است بطوریکه نیازی به ریسمانها و قفلها نیست[۸].
به علت اینکه دادهساختارهای اصلی زبان تغییرناپذیر هستند، میتوان آنها را بین ریسمانهای اجرا به اشتراک گذاشت[۹].
Hello World:
(println "Hello world!")
تعریف یک تابع:
(defn square [x] (* x x))