top | item 45768819

(no title)

foobazgt | 4 months ago

Slava mentions both bidirectional inferencing and overloading as two of the big culprits.

I've been doing some language work recently, and I'm quite sympathetic to bidirectional inferencing. I think, though, that modern PLs need better solutions for adhoc overloading. It's notorious for its complexity, blowing up algorithmically, and confusing users with surprising results (why oh why did the compiler select this function over the one I intended). That said, I haven't discovered a good alternative (for my purposes) yet.

discuss

order

ondatra00|3 months ago

The paper The Simple Essence of Overloading: Making Ad-Hoc Polymorphism More Algebraic with Flow-Based Variational Type-Checking, should help with the overloading part hopefully

zozbot234|4 months ago

> I think, though, that modern PLs need better solutions for adhoc overloading.

So, something like "How to make ad-hoc polymorphism less ad hoc"?

mrkeen|4 months ago

Orphanless typeclasses FTW