* supports for all of Standard ML, including modules, pattern matching, higher-order functions, generative exceptions, etc. * Standard ML Basis Library support * SMLtoJs supports calling JS functions and for executing plain JS. Standard ML functions may be exported and called by JavaScript code. * Simple DOM access. Simple DOM access and support for installing Standard ML functions as DOM event handlers and timer call back functions. * Optimization. All Standard ML module language constructs, including functors, functor applications, and signature constraints, are eliminated at compile time. SMLtoJs performs a series of compile time optimizations, so it generates fairly efficient JS code * Reactive Web Programming. SMLtoJs has library support for Reactive Web Programming. See the rwp_ex1 example. The simple library API captures the basic notions of behaviors and event streams as well as the concepts of behavior transformers and event stream transformers.