Skip to content

Releases: BuddhiLW/clojure-elisp

v0.5.0

19 Mar 16:25
a240503

Choose a tag to compare

What's Changed

  • v0.4.1: Module system, incremental compile, Babashka CLI by @BuddhiLW in #5
  • v0.4.2: Fix macro registry arity mismatch in compile-project by @BuddhiLW in #6
  • feat: module system, bb CLI, regression test suite by @BuddhiLW in #7
  • release: v0.5.0 by @BuddhiLW in #8

Full Changelog: v0.4.1...v0.5.0

v0.4.0

03 Mar 19:11
d42b941

Choose a tag to compare

Full Changelog: v0.3.2...v0.4.0

v0.3.1

23 Feb 02:15
83c0650

Choose a tag to compare

Full Changelog: v0.2.0...v0.3.1

v0.3.0

16 Feb 06:49
32a019f

Choose a tag to compare

Changes

  • 32a019f Merge pull request #4 from BuddhiLW/release/v0.1.0
  • 768e7dd ci: restore release notes generation from commit log
  • 30bf096 ci: add VERSION file (v0.3.0) and simplify release workflow
  • 89fc1e9 feat: lambda support, defn-, comment/binding/assert, extended mappings (clel-050)

v0.2.0

15 Feb 05:49
4e1fd47

Choose a tag to compare

Changes

  • 4e1fd47 Merge pull request #3 from BuddhiLW/release/v0.1.0
  • b6c2a59 feat: Add Result ADT, property tests, and CI/CD pipeline
  • 7b140a9 docs: Add DDD/SOLID/CLARITY refactoring plan
  • 29bf16b feat: Add multi-binding for/doseq with modifiers (clel-045)
  • f8297e9 feat: Add transducers, sets, and sequence functions (clel-041,043,044)
  • e9269f3 feat(strings): Add clojure.string namespace functions (clel-042)
  • 54cae8c feat(iteration): Add for list comprehension (clel-039)
  • 674c317 feat(runtime): Add iteration forms, nested data, seq generators, accessors
  • e3d363c feat(examples): Add hive-mcp-eca.cljel example with tests (clel-034)
  • 4a595b7 feat(examples): Add hive-mcp-log.cljel port (clel-024)
  • fdd3d1c feat(interop): Add Emacs buffer/process interop layer (clel-031)
  • 2be4b73 docs: Update progress log with clel-020 and clel-025
  • 4e5b1bc feat(runtime): Add string operation functions (clel-034)
  • a8a148e test(emitter): Add sequence function emission tests (clel-029)
  • f85fc6d feat(analyzer,emitter): Add extend-type, extend-protocol, satisfies?, reify (clel-025)
  • 605aeb4 feat(core): Add source location tracking with LineNumberingPushbackReader (clel-020)
  • 7b291b7 feat(analyzer,emitter): Add define-minor-mode and with-eval-after-load (clel-032, clel-033)
  • 907884e feat(analyzer,emitter): Add defgroup and defcustom for Emacs customize (clel-030, clel-031)

v0.1.0 — First Release

28 Jan 02:31
5beac62

Choose a tag to compare

ClojureElisp v0.1.0

First release of ClojureElisp — a Clojure dialect that compiles to Emacs Lisp.

Highlights

  • Full compiler pipeline: Reader → Analyzer → Emitter, producing valid Elisp with lexical-binding: t
  • Rich language support: defn, fn, let, if/when/cond/case, loop/recur, try/catch/finally, defmacro, defprotocol/defrecord/deftype, defmulti/defmethod, lazy-seq, atoms with watchers
  • 100+ core function mappings: arithmetic, collections, sequences, predicates, strings, higher-order functions
  • 55+ runtime functions in clojure-elisp-runtime.el implementing Clojure semantics in Elisp
  • Namespace system: ns with :require/:as/:refer, namespace-prefixed definitions, dependency-aware project compilation with topological sort
  • Macro system: defmacro with compile-time expansion, syntax-quote/unquote, macroexpand-1/macroexpand
  • Destructuring: vector and map patterns in let, fn, defn params — :keys, :as, :or, & rest
  • Elisp interop: .method dot-notation, elisp/fn namespace, .-property access
  • Emacs integration: clojure-elisp-mode major mode for .cljel files, nREPL/CIDER middleware
  • Source location tracking with optional ;;; L<line>:C<col> comments

Test Coverage

160 tests, 900+ assertions, 0 failures.

Requirements

  • Clojure 1.12+
  • Emacs 28.1+ (for compiled output)