https://github.com/mdda/arc-dsl-llm
LLM-legible version of Michael Hodel's arc-dsl
https://github.com/mdda/arc-dsl-llm
arc-prize
Last synced: 22 days ago
JSON representation
LLM-legible version of Michael Hodel's arc-dsl
- Host: GitHub
- URL: https://github.com/mdda/arc-dsl-llm
- Owner: mdda
- License: mit
- Created: 2024-10-10T11:47:46.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-13T10:21:15.000Z (over 1 year ago)
- Last Synced: 2025-01-13T11:33:13.565Z (over 1 year ago)
- Topics: arc-prize
- Language: Python
- Homepage:
- Size: 1.4 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Domain Specific Language for the Abstraction and Reasoning Corpus (ARC-DSL-LLM)
## Updated (from [`arc-dsl`](https://github.com/michaelhodel/arc-dsl/)) to be LLM-legible
The original DSL (released as `arc-dsl`) was created with the aim of
being expressive enough to allow programs solving arbitrary ARC tasks,
and generic, i.e. consisting of only few primitives, each useful for many tasks (see [`dsl.py`](dsl.py)).
As a proof of concept, solver programs for the training tasks were written (see [`solvers.py`](solvers.py)).
See Hodel's [`arc_dsl_writeup.pdf`](https://github.com/michaelhodel/arc-dsl/blob/main/arc_dsl_writeup.pdf)
for a more detailed description of the original work.
## `arc-dsl-llm` and LLM-legibility
There were several kinds of changes made to the original `arc-dsl` to make it more LLM-legible (and, frankly, more human-legible).
The following are the most significant updates made:
* Significantly updating the DSL function names to be more LLM-friendly (see below for a list)
+ A motivating example : `fork(outer,a,b)` is more 'legible' when named `combine_two_function_results(outer,f1,f2)`
* Rectifying the use of `COLOR_X` constants:
+ Remove implicit assumptions that `COLOR_BLACK==0` or `COLOR_BLACK