Tags: roman-mazur/ivy
Tags
ivy: fix version string No matter how much care I take, some stupid error always slips through. Fixes robpike#255
ivy: add support for libraries A new special command allows one to execute the contents of a pre-loaded library file. )lib foo loads (executes) library foo. If no library name is provided, all available libraries are listed by name. Even if the library is not loaded, )lib doc foo Shows documentation for the library foo, at the moment defined to be the leading comment in the file. )lib ops foo lists the user-defined operators in the library and )lib vars foo lists its global variables. Libraries may be added by adding an ivy file to lib/lib and running go generate in lib. At the moment there is only a single library, a nutty pile of code that tracks values and units of physical constants such as mass, velocity, and so on. That library, called units, still needs a lot of work but that can develop separately. Also clean up a few gofmt issues. What, gofmt does smart quotes now? Give me a break.
ivy: use box-drawing characters for multiline matrices and vectors (r… …obpike#248) Use Unicode box-drawing characters instead of pipes and parens. Matrices now print using square brackets; vectors use rounded brackets. At top level, matrices and vectors have no box, as always. That is, iota 5 still prints as "1 2 3 4 5" not "(1 2 3 4 5)". Boxes appear exactly when they did before, just with Unicode characters instead of ASCII characters. See the testdata changes for examples of the visual changes. Fixes robpike#236.
ivy: allow () to parse as the empty vector May roll this back if it causes trouble, but it's very easy and feels right. Fixes robpike#246
PreviousNext