Verified dataset files
Every single program in these files was compiled and executed using the real Mycel compiler (mycel v0.1.0 on Node 24). Expected outputs and compiler diagnostics are recorded from execution, not fabricated.
| File | Rows | Size | Action |
|---|---|---|---|
| mycel-instruct.jsonl Instruction-tuning: beginner to app-level Mycel code |
364 |
127.6 KB | Download |
| mycel-fix.jsonl Broken program → real compiler diagnostic → fixed program |
76 |
52.7 KB | Download |
| mycel-translate.jsonl Python program → equivalent Mycel program (outputs match) |
40 |
28.1 KB | Download |
| README.md (Dataset Card) Provenance, license, how it was made, format, honest limits |
- | Docs | Card |
Format preview
mycel-instruct.jsonl (sample row)
Task instructions with verified compiler output stored in meta.output:
{"messages":[{"role":"user","content":"Write a Mycel program that prints 'Hello, World!'."},{"role":"assistant","content":"print(\"Hello, World!\")"}],"meta":{"output":"Hello, World!"}}...
SHA-256: dd69584b8ded604d3660a2fbd8f2c5b9da6fc399971a9daa1446fd956245be56
mycel-fix.jsonl (sample row)
Broken code with newcomer habits, real mycel check --json diagnostic, and verified fix:
{"messages":[{"role":"user","content":"Fix this Mycel program. It fails compiler checks with:\n`def` is Python — Mycel writes `fn name(args) { ... }`\n\nBroken program:\n```mycel\ndef f(x) { }\n```"},{"role":"assistant","content":"fn f(x: Int) -> Int {\n return x * 2\n}\nprint(f(21))"}],"meta":{"lang":"Python","habit"...
SHA-256: 23c178b1b1e138e7bbb4b85153e3467b361e6fa18a536c05bb2d7f4918482d29
mycel-translate.jsonl (sample row)
Python source to Mycel source where both programs execute and yield identical stdout:
{"messages":[{"role":"user","content":"Translate this Python program to equivalent, idiomatic Mycel:\n\n```python\nprint(\"hello, world\")\n```"},{"role":"assistant","content":"print(\"hello, world\")"}],"meta":{"python":"print(\"hello, world\")","output":"hello, world"}}...
SHA-256: 9218ce0c10cd35e36daca275a53db4609e2de846255a0baa533b9adf0a773a21
How to fine-tune with MLX / LoRA
These files use the standard OpenAI-compatible Chat JSONL format with messages arrays, making them compatible with MLX, HuggingFace TRL, Unsloth, Axolotl, and Ollama.
Fine-tuning on Apple Silicon (MLX LoRA)
1. Prepare training and validation splits from mycel-instruct.jsonl:
shuf mycel-instruct.jsonl > shuffled.jsonl head -n 327 shuffled.jsonl > train.jsonl tail -n 37 shuffled.jsonl > valid.jsonl
2. Run LoRA training with mlx_lm.lora:
python -m mlx_lm.lora \ --model mlx-community/Qwen2.5-Coder-7B-Instruct-4bit \ --train \ --data . \ --iters 600 \ --batch-size 4 \ --lora-layers 16
3. Test the adapted model with a Mycel prompt:
python -m mlx_lm.generate \ --model mlx-community/Qwen2.5-Coder-7B-Instruct-4bit \ --adapter-path adapters.npz \ --prompt "Write a Mycel function that checks if an integer is prime."
Teaching large cloud AI models
Looking to teach Claude, ChatGPT, or Gemini about Mycel without training weights? See /mycel/ai-learn/ for self-contained reference documents, habits tables, and system prompts you can attach or paste directly into conversation.