view todo.txt @ 75:0083b2f7b3c7

Partially working implementation of List. Modified build scripts to allow use of other compilers. Fixed some bugs involving method implementations on different types returning different numbers of outputs. Added Fold to the 'builtins' in the comipler.
author Mike Pavone <pavone@retrodev.com>
date Tue, 06 Jul 2010 07:52:59 -0400
parents a844c623c7df
children dbe95bfec970
line wrap: on
line source


"Soon":
	Tail call optimization
	Fix Array and Worker memory leaks

Needed for compiler to be self-hosting:
	Finish implementation of String
	Finish implementation of List
	Add support for List literals in compiler
	Implement Dictionary
	Implement File	
	Add support for implicit conversions
	Tweak extendlib to work with language changes introduced with compiler
	Tweak compiler to work with language changes introduced with compiler

Needed for web site to work in compiler:
	Pretty much everything needed for the compiler to be self-hosting
	Implement Net Connection (or whatever the TCP connection type gets called)
	Add support for multi-threaded execution in runtime (not strictly needed)
	Add support for global stores to compiler/runtime
	Tweak site to work with language changes introduced with compiler

Other Stuff:
	Add varargs and/or optional arguments
	Add sugar to be able to call a variable without having to do "[var]Call[...]"
	Implement "Call" on container types so you can do things like "somelist[2]"
		and also uses containers as if they were workers (pass them to Fold,
		Map, etc.). Call implementation should use varargs to allow some kind
		of slice notation or fetching multiple values depending on type.
	Support list literals that contain non-literals e.g. (1,foo,[bar]+[4])
	Add Javascript backend
	Add x86_64 backend (or maybe LLVM backend?)
	Support construction of new workers at runtime
	Get a REPL working on the new stack
	Flesh out ideas for having limited I/O within transactions
	Add module system
	Exception support