3 ms·
Mint appeals to me a lot. The two bits that have stopped me from diving in past times it's cropped up are: - No way to render a page outside of a browser. It'd
by mintplant 7y ago
Mint appeals to me a lot. The two bits that have stopped me from diving in past times it's cropped up are:
- No way to render a page outside of a browser. It'd suffice to be able to run a CLI tool or import Mint as a library and generate static HTML for a given component and input data.
- The fact that two record types can't coexist with the same key names and type signatures. I worry this will lead to all kinds of headache dealing with dependency compatibility: any change to a record definition, even an internal one, becomes a breaking API change, and some libraries may not be usable together due to coincidental naming. I would much rather the compiler require that I annotate record literals with explicit type names to disambiguate, ie:
record Todo {
label : String,
done : Bool
}
...
foo = Todo { label = ..., done = ... }
Haskell dealt with a similar problem for a long time and it meant that best-practice code gave all its data type keys unwieldy prefixes to disambiguate between data types that were imported together (todoLabel and todoDone vs issueLabel and issueDone). In Mint I guess you'd also want to stick the project name in, too (so myLibTodoLabel).