ok so! this is sort of an evaluation order thing. in a lazy lang you can construct a record w/o providing each field by using e.g. fix id as the value of the field—something divergent—and just not touching it
Conversation
(cf existentialtype.wordpress.com/2012/08/25/pol for more details. I actually find the argument about polarity in relation to products a tiny bit weak since you could presumably push thunks into the context, but that would certainly not be minimal.)
1
1
Tbh I'm thinkin of going the other way - having a record-like syntax for functions - where functions always have named args. It might be a bit weird though!
Like, I'm building in records to my core language - ie. labelled sigma types, and it feels a bit weird not to also have labelled product types… but maybe *I'm* the weird one.
1
keyword args have a lot to recommend them tho yeah I recall us chatting about some of the challenges in a DT setting.
tbh I feel like the ergonomic issues with DTs undermine their utility for non-proof-assistant stuff :\
1
1
Yeah that's kind of why I want to focus on using them for non-proof-assistant stuff. As an expressive programming system for working with types, terms, and modules in a unified language. but yeah there are indeed annoyances.
1
1
Show replies

