Phases 1-7: Complete CljElixir compiler through Malli schema adapter

Bootstrap compiler (reader, analyzer, transformer, compiler, Mix plugin),
core protocols (16 protocols for Map/List/Tuple/BitString), PersistentVector
(bit-partitioned trie), domain tools (clojurify/elixirify), BEAM concurrency
(receive, spawn, GenServer), control flow & macros (threading, try/catch,
destructuring, defmacro with quasiquote/auto-gensym), and Malli schema
adapter (m/=> specs, auto @type, recursive schemas, cross-references).

537 compiler tests + 55 Malli unit tests + 15 integration tests = 607 total.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-08 10:38:22 -04:00
commit d8719b6d48
26 changed files with 11487 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
defmodule CljElixir.Reader.Token do
@moduledoc """
A token produced by the CljElixir tokenizer.
Types:
:integer, :float, :string, :keyword, :symbol, :boolean, :nil,
:lparen, :rparen, :lbracket, :rbracket, :lbrace, :rbrace,
:hash_lbrace, :hash_el_lbracket, :hash_lparen, :hash_string,
:quote, :quasiquote, :unquote, :splice_unquote,
:meta, :deref
"""
defstruct [:type, :value, :line, :col]
end