simple k, after kparc
- C 93%
- KCL 4.7%
- Makefile 2.3%
| doc | doc/types: Init | |
| ref @9e78504684 | Add kparc/ksimple as submodule | |
| .gitignore | Add Makefile | |
| .gitmodules | Add kparc/ksimple as submodule | |
| a.c | No nested arrays for now | |
| a.h | No nested arrays for now | |
| LICENSE | initial commit | |
| Makefile | Add tiny testsuite | |
| README.md | doc/types: Init | |
| t.k | Add tiny testsuite | |
K
Note
A fork of the venerable ksimple.
After studying the original code obsessively, I figured it was about time to try and change some stuff myself; this repo is the result of that. Eternally WIP.
Layout
a.c the whole thing a.h common header
t.k tests
TODOs
What follows are the suggested exercises of ksimple, and how far along
I am.
i'm too young to die:
- inspect verb implementations provided by atw for edge cases, and add checks (which are intentionally omitted)
- implement a few more simple verbs, e.g. dyadic
divide f%x. [Addedf%xand&X; more to probably come]
hurt me plenty:
- [~] extend maximum vector length to
MAX_UINT - [1/3] find and fix at least three segfaults
ultraviolence:
- [~] change base type from 8bit integer to
long - fix tokenizer to support integer numerals greater than 9 and less than 0
- fix tokenizer to support efficient direct vector input (e.g.
42 57 120instead of1,2,3,4)
nightmare:
- implement a simple parser (e.g. to support quoted strings and parens)
- implement nested vectors, and monadic verb
flipakatranspose - make vector arithmetic penetrating
- implement copy-on-write
- implement floating point type
- implement functions and local scope
- [~] implement a test suite for your
k