Tim Humphries@thumphriees·Oct 16, 2017overloading is overrated, laws aren't https://twitter.com/mxavier/status/920050260919042048…This Tweet is unavailable.314
crow emoji@glaebhoerl·Oct 17, 2017By the way is there any reason you couldn't attach laws to just like, a record of functions? Why are classes special?44
Cyrus Omar @ VL/HCC in Rome@neurocy·Oct 17, 2017You're on to something very fundamental about type classes ;-)11
crow emoji@glaebhoerl·Oct 17, 2017What is it? (Not sure if I should be thinking in the direction of "they're actually not special" or "they're more special than I think!")21
Brendan Zabarauskas@brendanzab·Oct 17, 2017Type classes are just a fancy, built-in way of passing records of functions around implicitly. Alas, they live in a separate language space.12
crow emoji@glaebhoerl·Oct 17, 2017Yeah; I'm kind of hoping @neurocy has something more profound or subtle in mind :)13
Cyrus Omar @ VL/HCC in Rome@neurocy·Oct 17, 2017I mean nothing too profound -- type classes tie "laws" to type-directed implicit arguments in a way that mystifies the two distinct concepts24
Brendan Zabarauskas@brendanzab·Oct 17, 2017Yup. And laws can just be fields on a record/typeclass/module/whatever if you have a more powerful type system.12
Brendan Zabarauskas@brendanzabReplying to @brendanzab @neurocy and 2 othersRequiring laws is probably a good rule of thumb to avoid overuse, however.11:37 PM · Oct 17, 2017·Twitter Web Client