diff --git a/LICENSE b/LICENSE index 98b554b..35e493b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,13 +1,13 @@ The contents of the SixtyPical distribution are distributed under the following three licenses. -The documentation and tests (in the `doc` directory) is covered by the -following BSD-compatible license, modelled after the "Report on the -Programming Language Haskell 98" license: +The documentation and tests (in the `doc` and `tests` directories) is +covered by the following BSD-compatible license, modelled after the +"Report on the Programming Language Haskell 98" license: ----------------------------------------------------------------------------- - Copyright (c)2014 Chris Pressey, Cat's Eye Technologies. + Copyright (c)2014-2015 Chris Pressey, Cat's Eye Technologies. The authors intend this Report to belong to the entire SixtyPical community, and so we grant permission to copy and distribute it for @@ -24,7 +24,7 @@ The source code for the reference implementation and supporting tools (in the ----------------------------------------------------------------------------- - Copyright (c)2014, Chris Pressey, Cat's Eye Technologies. + Copyright (c)2014-2015, Chris Pressey, Cat's Eye Technologies. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/README.markdown b/README.markdown index 1f0295c..69cf59a 100644 --- a/README.markdown +++ b/README.markdown @@ -18,10 +18,35 @@ The reference implementation is written in Python instead of Haskell. The language is much simpler — we're going to try to get the analysis completely right before adding more sophisticated and useful features. -Documentation: +Documentation +------------- +* Design Goals — coming soon. * [doc/SixtyPical.md](SixtyPical.md) — the spec * [tests/SixtyPical Execution.md](SixtyPical Execution.md) — literate test suite for running SixtyPical programs * [tests/SixtyPical Analysis.md](SixtyPical Analysis.md) — literate test suite for statically analyzing SixtyPical programs + +TODO +---- + +For 0.2: + +* analyze `if` correctly. + +For 0.3: + +* explicitly-addressed memory locations. +* generate 6502 code (either Ophis assembler or machine code `PRG` files.) +* `while` loops. +* a little demo that actually compiles and runs on a C64 emulator. + +For 0.4 and/or beyond: + +* hexadecimal literals. +* `word` type. +* `table` type constructor and indirect addressing. +* `if not`. +* 6502-mnemonic aliases (`sec`, `clc`) +* other handy aliases (`eq` for `z`, etc.)