Skip to content
Brian Svoboda edited this page Nov 18, 2017 · 15 revisions

Welcome to the Bok development wiki!

Roadmap

  • Test build procedure with setup.py
  • Implement the local bok.config with ConfigParser
  • Command line interface for running scripts $ bok foo.bok
  • Include a more complete interface to numpy
    • array literals with {1 2 3}
    • calling attributes like @pi push to stack
  • Special purpose registers for python positional and keyword arguments
    • >* for positional arguments
    • >** for keyword arguments
  • Calling methods and attributes on python objects
    • syntax, leading ".", e.g. {{1 2}} .T
    • check if callable for methods/attributes
    • dictionaries [['a' 2] ['b' 3]] dict, M['a' 2, 'b' 3]
    • sets [1 2 3 3] set, S[1 2 3 3]
    • tuples [1 2 3] tuple, T[1 2 3]
  • Object system
    • quoting a single word with \foo like Factor
    • default method .clone to take a word and gives it the name \foo Bar.clone
    • see the Factor white-paper for object system
  • Improved error handling
    • More descriptive error handling with tracebacks
    • Interactive stepping debugger
  • Tests, either with pytest or hypothesis
  • Documentation
    • Complete docstrings for builtin functions
    • Manual and reference documentation with sphinx
  • Interactive REPL improvements
    • Command shortcuts with the F-keys (dump stack, repeat macro, help-browser, etc)
    • Define macros like IPython to save typing
    • Completion for sub-words, e.g. foo.b -> foo.bar
    • Interactive help-browser, like an info page for the docs
  • Fix the import system
    • Diamond problem for multiple imports to the same module
    • Recursive/circular imports to the same module
Clone this wiki locally