[MLton-devel] grant proposals

Stephen Weeks MLton@mlton.org
Tue, 16 Jul 2002 16:58:09 -0700


Here's a list of stuff I'd like to see done with MLton.  Some of them
would just be fun or improve performance, some of them would at least
make a nice paper, and some might lead to a reasonable thesis topic.
I've grouped stuff below by topic.


Practical
----------------------------------------
implement 80 bit reals (and compare performance to 64 bit)
implement 64 bit integers
implement CML
generating libraries (.so) files instead of standalone programs
	also involves adding the ability to call SML from C
source level debugging (should talk to Norman Ramsey about this -- he showed
	interest at some point)

Runtime system
----------------------------------------
mutability flag in object types -- Henry mentioned this can be used
	to implement a function that maximizes heap sharing.  It could also
	probably be used in various ways by a clever GC.
alignment flag in object types so that objects can be double-word aligned
tagless GC (requires propagating better type info through the MACHINE IL)
implement weak refs

Profiling
----------------------------------------
how to relate profiling information to higher-order source code
	and present it to the user
profile-directed optimization
	including inlining, cache-conscious data layout
use x86 instrumentation to evaluate cache behavior
language/compiler/runtime support for adaptive algorithms (like FFTW)

Optimizations
----------------------------------------
exception handler implementation
	(somewhat done -- need strategies for placement of sethandler statements
		and performance evaluation)
limit check placement (much done, need performance evaluation)
overflow detection elimination (I may do this later this year)
array bounds check elimination (I'm doing this later this year)
array/vector flattening (I'm doing this later this year)
flatter closure conversion (I sent an email about this ages ago detailing an
	approach, but never started on implementation)
elimination of repeated redundant array subscripts
how to place tuple selects, delaying them as much as possible, while avoiding
	moving them in loops, avoiding too much code duplication, and
	maintaining space safety 

Miscellaneous
----------------------------------------
semantics of MLton.size
semantics of serialization/deserialization
	also, make it safe like in Java

Foundational
----------------------------------------
show how to implement non-uniform datatypes and polymorphic recursion by
	automating the Okasaki transformation 
make MLton's RSSA and MACHINE ILs type safe -- which means handling 
	limit checks, frontier and stack manipulation, liveness information
	gc masks, object layouts, etc.
make MLton generate proof-carrying code
see how well translation validation works on MLton's SSA IL and optimizations


-------------------------------------------------------
This sf.net email is sponsored by: Jabber - The world's fastest growing 
real-time communications platform! Don't just IM. Build it in! 
http://www.jabber.com/osdn/xim
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel