Commit Graph

10 Commits

Author SHA1 Message Date
dimgigov 2bc64eca22 feat: add fullscreen TUI with illwill
- New screens: Main Menu, Compile, Run, REPL, AI Generator, AI Settings, Help
- AI configuration persisted in ~/.config/cljnim/config.json
- Navigate with arrow keys, Enter, Escape
- illwill added as dependency in cljnim.nimble
2026-05-09 01:51:28 +03:00
dimgigov 6249d8a251 feat: AI-assisted compilation and code generation
- New src/ai_assist.nim module with DeepSeek/OpenAI/MiMo API support
- AI explains compiler errors automatically when compilation fails
- New CLI command: cljnim ai '<description>' for code generation
- REPL :ai command for interactive AI assistance
- API keys read from environment vars (DEEPSEEK_API_KEY, OPENAI_API_KEY, MIMO_API_KEY)
- Tests for prompt building and response formatting
- Updated README with AI integration docs
2026-05-08 22:24:46 +03:00
dimgigov 9996bc38de Fix: isolate temp/cache build dirs to avoid shadowing Nim stdlib modules. All 7 examples pass. 2026-05-08 20:52:07 +03:00
dimgigov feb9cee287 T7.4: Dependency resolution — deps.edn parser, Git deps, cljnim deps command, 12 tests 2026-05-08 20:05:19 +03:00
dimgigov 62ca70d05a Phase 4/7: nREPL, Tool-call format, Module caching
T4.5 nREPL: TCP-based JSON REPL (cljnim repl --tcp 9999)
T4.6 Tool-call: {"tool":"cljnim/eval","args":{"form":"..."}}
T7.3 Module caching: nimcache/ in project dir, skip regen if unchanged

Phase 4 now 100% complete. Phase 7: 3/4 tasks done.
2026-05-08 19:57:39 +03:00
dimgigov 66d91cd086 Phase 7: ns declaration + multi-file compilation
T7.1: Namespace declaration parsing
  (ns my.app (:require [lib :as l])) with :require/:as support
  Hyphen-to-underscore filename convention (math-utils -> math_utils.clj)

T7.2: Multi-file compilation
  Resolves requires, recursively loads dependencies
  Inlines all defs into single Nim file
  Namespace alias resolution (mu/square -> square)

86 tests pass, all examples work.
2026-05-08 19:37:35 +03:00
dimgigov 301231787c Fix macro expansion in REPL; update roadmap to reflect actual capabilities 2026-05-08 17:05:53 +03:00
dimgigov 5971c062d1 Add AI-first REPL with JSON mode 2026-05-08 16:51:05 +03:00
dimgigov 87d6028487 Phase 1-4: Reader, Runtime, Macros, Nim Interop — 543x faster than JVM Clojure
- Reader: maps, sets, syntax-quote, dispatch macros, metadata
- Runtime: CljVal type system, 80+ core functions (collections, strings, math, IO)
- Emitter: full CljVal-based code generation, macro expansion, inline fns
- Macros: defmacro with compile-time evaluator, ->, ->>, and, or, when, cond, for, doseq
- Nim Interop: nim/module/function syntax, auto-import, type mapping
- CLI: cljnim -e '<code>' for quick evaluation
- Tests: 60 unit tests (reader + emitter)
- Benchmarks: AOT suite showing 543x startup, 679x factorial vs JVM Clojure
- CI: GitLab CI pipeline
- Runtime library: lib/cljnim_runtime.nim (1070+ lines)
2026-05-08 16:34:39 +03:00
dimgigov f89b381fdb Initial commit 2026-05-08 14:51:47 +03:00