
WebML: A Standard ML Compiler for the Web - lelf
https://github.com/KeenS/webml
======
melling
There's also a well supported ML for the web from Facebook:

[https://reasonml.github.io/](https://reasonml.github.io/)

With React:

[https://reasonml.github.io/reason-react/](https://reasonml.github.io/reason-
react/)

~~~
Athas
None of these are Standard ML! There are people who prefer SML for various
reasons.

Somewhat unexpectedly, there is in fact already a very good SML-to-browser
solution, namely the unfortunately named SMLtoJs:
[https://github.com/melsman/mlkit/blob/master/README_SMLTOJS....](https://github.com/melsman/mlkit/blob/master/README_SMLTOJS.md)

It's from 2011 and so predates most other Javascript-targeting languages. It's
unfortunate it never got any traction.

~~~
eatonphil
SOSML [0] came out recently, written in TypeScript and sporting an online
interpreter. Then there's this prominent SML-er's JavaScript backend for
Moscow ML [1]. And Andreas Rossberg's HaMLet [2] also has a JavaScript
backend.

[0] [https://github.com/SOSML/SOSML](https://github.com/SOSML/SOSML)

[1] [https://github.com/kfl/mosml-js](https://github.com/kfl/mosml-js)

[2] [https://people.mpi-sws.org/~rossberg/hamlet/](https://people.mpi-
sws.org/~rossberg/hamlet/)

------
eatonphil
The usual pitch: if you're interested in seeing more Standard ML news, check
out /r/sml on Reddit. There's relatively good discussion and postings for a
small subreddit.

~~~
jez
as a link: [https://reddit.com/r/sml](https://reddit.com/r/sml)

------
mhd
Interesting, the second new ML compiler to arrive on the scene, after
Morel[1].

[1]:
[https://github.com/julianhyde/morel](https://github.com/julianhyde/morel)

~~~
eatonphil
Cool! I hadn't heard of this. SOSML [0] is the other most recent one I'm aware
of.

[0] [https://github.com/SOSML/SOSML](https://github.com/SOSML/SOSML)

------
xuejie
While I certainly agree a Standard ML compiler can be quite useful(and huge
respect for the author!), I noticed the compiler is purely written from
scratch, and the question remains when the quality of generated code can be as
decent as BuckleScript behind ReasonML. Unless SML fits well with the model of
WASM(which I believe is not the case), significant work will be required to
tweak the compiler.

------
darksaints
I don't really follow web development much...what is the status of DOM APIs in
WebAssembly? Is it now possible to use a WebAssembly-compiled language end to
end, without any javascript acting as an intermediary?

~~~
enos_feedler
I've been wondering the same, but also trying to understand the impact of DOM
access in WebAssembly. This might create a massive fragmentation problem for
web platform code and I am not sure the benefit. ObjC -> Swift worked. Java ->
Kotlin might work for Android, though still somewhat annoying.

I don't know what the future of communicating web code with snippets would be
like if everyone chose their own language. I am not a web developer, but is
this happening with TypeScript now? Is it a problem?

EDIT: I am pro-WebAssembly, but I am starting to think the benefits are
actually about taking the philosophy of the web outside the browser and leave
DOM-based pages to html/css/js

------
protomyth
Is there a license? I looked at the source for a few files and found none.

------
adultSwim
Curious if they will be using Javascript garbage collection or rolling their
own

~~~
hajile
If you're compiling to wasm, you don't have access to JS directly.

------
Koshkin
Meta: I have an eye strain each time I have to figure out which of the two
things ML stands for. (Well, "Standard" kinda helps in this particular case,
but I do not trust myself.)

~~~
GolDDranks
Not two but three things: * Meta language * Markup language * Machine learning

