[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