Does *anyone* actually like Moscow ML's insistence that structures live in files with identical names (e.g., `structure Foo_Fabricator` MUST live in the file `Foo_Fabricator.sml` and MUST have a signature with identical name `signature Foo_Fabricator` which itself lives in the file `Foo_Fabricator.sig`)?
I always thought it idiomatic Standard ML to use SCREAMING_SNAKE_CASE for signature names, which breaks Moscow ML's conventions (unless you put it in SCREAMING_SNAKE_CASE-sig.sml and compiled it as a toplevel unit...which kinda breaks the whole module-as-compilation-unit idea?).
And Moscow ML *hates* it when you include the signature and a structure within the *same* file, because that violates its hardcoded assumptions about the world.
And another thing...
#MoscowML #StandardML #functional_programming #naming #convention #programming