scottyp's latest activity

@noelrap
especially nowadays where strings are frozen by default, the distinction doesn't seem to matter much anymore.

Having a good type system means we can start using union literal types without having to define concrete enum classes, and so symbols might start to have a meaning again. We can elevate a parameter from something that might take a symbol to something that takes a value from a narrowly defined meaningful set.

I'm thinking about one of the talks that got me excited about typing, by Scott Wlaschin, "Domain Modelling Made Functional" (I think this one: youtube.com/watch?v=2JB1_e5wZm). He comes from a DDD perspective and starts modelling all the business concepts as types before even writing any logic. That really appeals to me and comes back to my point about having union types start to represent meaningful domain concepts rather than a parameter being "some sort of symbol or string idk good luck"

Anyway I'm rambling now.

0
Share
Share on Mastodon
Share on Twitter
Share on Facebook
Share on Linkedin

@noelrap For me it's about tightening up the feedback loop.

I want the type checker to tell me that assumptions I've made are wrong and that, for example, the method I've been testing with a symbol parameter is going to be passed a string from the API layer. It sucks to only find that one out in production when the alerts start going off.

Stupid mistakes like that should be surfaced as soon as I've finished typing the method call/signature.

1
Share
Share on Mastodon
Share on Twitter
Share on Facebook
Share on Linkedin
Replies