cd python
./run_tests.sh # run the tests
./tychon.py <sourcefile>.ty # execute a source file
./tychon.py # a REPL
brew install entr
cd python
pip install -r requirements.txt
cd tychon
honcho start
open http://localhost:3000
Now you can edit main.ty and it's loaded into browser.
cd wasm-as ./runit.sh # launch server and compiler npm test # run unit tests npm run test:watch # re-run test when a file changes
- communication
- reference docs
- tutorial docs
- examples
- executable specifications
- overview of system — tools to build SVG illustrations of how subsystems relate, with hyperlinks into the generated documentation so new developer can get overview of system without reviewing every file.
- relationships - what files are imported by other files? What functions are used by other functions?
- architectural rules — set contraints for how the subsystems may communicate.
- separation of concerns - E.g. controllers and views can call models, but not vice versa
- mark functions as 'pure', and they can only call other 'pure' functions.
- Eifel style contracts