https://github.com/calebwin/l
a very fast synthesizer of L-system grammars, solving a form of the "Inverse L-system" problem
https://github.com/calebwin/l
l-systems racket rosette solver
Last synced: 2 months ago
JSON representation
a very fast synthesizer of L-system grammars, solving a form of the "Inverse L-system" problem
- Host: GitHub
- URL: https://github.com/calebwin/l
- Owner: calebwin
- Created: 2018-12-19T22:38:03.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-05-15T04:39:01.000Z (over 6 years ago)
- Last Synced: 2025-03-23T18:50:54.454Z (7 months ago)
- Topics: l-systems, racket, rosette, solver
- Language: Racket
- Homepage:
- Size: 20.5 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# l
l is a simple [Rosette](http://emina.github.io/rosette/index.html)-based synthesizer for L-system grammars. Given a specification of states, the production rule set for a valid L-system will be generated, essentially providing a solution to the "Inverse L-system" problem.
```racket
(define state-1 (list "a" "b" "c"))
(define state-2 (list "a" "b" "a" "c" "a"))
(define state-3 (list "a" "b" "a" "a" "b" "c" "a" "a" "b")); find production rule-set
(define production-rule-set (find-production-rule-set (list state-1 state-2 state-3))); print production rule-set
(print-production-rule-set production-rule-set)
```
The source code is in [`main.rkt`](https://github.com/calebwin/l/blob/master/main.rkt).