4 ms·
At least in Haskell this can be expressed as type classes. For each condition, you can create a (possibly empty) type class to guarantee that the condition is m
by crvdgc 4y ago
At least in Haskell this can be expressed as type classes. For each condition, you can create a (possibly empty) type class to guarantee that the condition is met. Then the call site type class constraints will be checked at compile time.
- dwohnitmok 4y agoThis doesn't really work because you still end up needing specific types for the output of every "parser" you have and then you still need a way of combining those types together. Or you get the ability to forge evidence (e.g. you use the evidence provided by a parser for one integer as evidence for another). This works better for dependency injection scenarios (the Has* pattern).