https://github.com/voidwyrm-2/vern
An array programming language focused on simplicity
https://github.com/voidwyrm-2/vern
array-language array-programming-language interpreted-language interpreted-programming-language
Last synced: about 2 months ago
JSON representation
An array programming language focused on simplicity
- Host: GitHub
- URL: https://github.com/voidwyrm-2/vern
- Owner: voidwyrm-2
- License: apache-2.0
- Created: 2025-09-26T09:32:44.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-10-24T21:32:35.000Z (2 months ago)
- Last Synced: 2025-10-24T23:21:07.660Z (2 months ago)
- Topics: array-language, array-programming-language, interpreted-language, interpreted-programming-language
- Language: Nim
- Homepage:
- Size: 260 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- License: license
Awesome Lists containing this project
README
# Vern
An array programming language whose focus is simplicity, creating complexity from that simplicity.
## Example
```
Sum <- `+/
Fac <- ɩ1~`*⍀
Fib <- `(0 1)_ `(, + :)@⌄
[1 2 3 4 5] Sum ; 15
5 Fac ; [1 2 6 24 120]
11 Fib ; 89
```
## Todo
- [x] Implement list syntax
- [x] Finalize the 'pop' operator's character (was `'`, finalized as `⌄`)
- [x] Add an escape formatter for unicode characters (in the form of `\[char]` and `\.[name]\`)
- [x] Get the escape formatter working with files
- [x] Implement the 'reduce' operator
- [x] Implement the 'range/iota' operator
- [x] Implement character literals (e.g. `'a`, `' `)
- [ ] Implement public/private bindings with `·`
- [ ] Implement equals and not-equals
- [ ] Add additional named built-in operators (à la, Uiua's `&p`, `&ffi`, etc)
- [ ] Add basic examples
- [ ] Add a 1D convulsion, AoC, and Project Euler as examples
- [ ] Optimize arrays via reference counting
- [ ] Image manipulation (?)
## Building
### Debug
```bash
nimble build -l
./vern -repl
```
### Release
```bash
./build.nims host
./bin/host/vern -repl
```
### Distribution
```bash
./build.nims all
ls dist
```