Skip to content

hpersh/OOL

Repository files navigation

* TODO

- strings include \0 terminator


- expose alists?
- goto for blocks?
- need to distinguish current module to add to vs. current module running (i.e. method running -> class -> module)
- unify frame scheme; subsume scanner buffers, modules,whiles, blocks, method_calls
- short cut for "super": [<recvr> super: <sel> eval: <args>] => [[[[[[<recvr> instance-of] parent] instance-methods] at: <sel>] cdr] eval: <args>]
- extend error processing in modules
- exceptions?
- perhaps a shortcut for a sequence of exprs, eg. {{ ... }} for [{() ... } eval: ()]
- with indirect calling of methods, cannot assume type of receiver
- use GNU autobuild
- load init tbls, then unload
- avoiding duplicate strings?
- readline
- infinite-range integers
- cleaner root-set interface for modules
- complete methods
- complete error checking in methods
- get rid of class constants, replace with env lookups
- alloc/init split
- unevalled args?
- constants
  - names starting with #
  - names in env, inst vars
- Set class
- macros
  - eval method, then eval result
  - {{ }} syntax?
  - class Macro, derived from Block?
  - macros need unaevalled args?
- error handling
  - distinguish parse error from EOF
    - use flex EOF rule 
- cleanup
  - forward declarations
  - refactoring, e.g. common code

About

An object-oriented language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published