* 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.
jsc is a decompiler or a cross compiler if you will. It is not a source-code parser nor an IDE. It is a command line utility like any other compiler. jsc was originally an anagram for csharp to javascript.
H. Santos, P. Alves, I. Costa, и F. Quintao Pereira. Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), стр. 1--11. IEEE Computer Society, (2013)
M. Chevalier-Boisvert, и M. Feeley. 30th European Conference on Object-Oriented Programming (ECOOP 2016), том 56 из Leibniz International Proceedings in Informatics (LIPIcs), стр. 7:1--7:24. Dagstuhl, Germany, Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, (2016)