Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-04-16 | Play around with a vector typeHEADmaster | Adrian Kummerlaender | |
Using _vectors_ as fundamental datatype could make for a really neat experience. Imagine e.g.: * fundamental arithmetic operations that apply to both vectors and scalars * implicit component-wise or vector-wise operations * scalar values as 1D vectors * higher order functions to manipulate those vectors * `map` function that applies a (quoted?) word to all vector elements and returns the result * efficient parallel operations * a rich library of vector manipulation functions * or even: matrices as a fundamental datatype? * problem: probably harder to conveniently enter via a 1-D repl * sound more and more like a RPN version of APL… Back to reality, here is what this prototype actually adds: * new `DList!int` based datatype alongside the existing int, string and bool types * basic support for printing such values in a readable fashion * new fundamental `:` word that constructs a vector of two elements * `1 2 :` yields `[1, 2]` * adapted `+` and `*` to support component-wise operations * `1 2 : 3 +` yields `[4, 5]` | |||
2017-04-21 | Unify file / stdin input processing | Adrian Kummerlaender | |
2017-04-19 | Automatically process files passed as arguments | Adrian Kummerlaender | |
2017-04-18 | Rename `over` to `ovr` so that all stack operations are three letter words | Adrian Kummerlaender | |
2017-04-18 | Rename boolean operators | Adrian Kummerlaender | |
2017-04-17 | Add logic negation operation; and, or conditions | Adrian Kummerlaender | |
2017-04-17 | Add debug instruction for non-destructive printing of the whole stack | Adrian Kummerlaender | |
2017-04-17 | Add some more Forth stack operators | Adrian Kummerlaender | |
2017-04-16 | Prevent definition nesting | Adrian Kummerlaender | |
2017-04-16 | Clean up state, primitives, processing distinction | Adrian Kummerlaender | |
2017-04-16 | Extract variable management, move into `state` package | Adrian Kummerlaender | |
2017-04-15 | Move top level processing into `machine` module | Adrian Kummerlaender | |
2017-04-15 | Hide module implementation details | Adrian Kummerlaender | |
2017-04-15 | Clearly separate handling of core, conditional and definition primitives | Adrian Kummerlaender | |
2017-04-15 | Handle definition, conditional primitive words in respective modules | Adrian Kummerlaender | |
2017-04-15 | Abstract stack prepending | Adrian Kummerlaender | |
2017-04-15 | Perform custom word definition at the same level as conditional primitives | Adrian Kummerlaender | |
2017-04-15 | Add README.md, example | Adrian Kummerlaender | |
2017-04-14 | Convert structure to _dub_ build system | Adrian Kummerlaender | |