FormationAI / dhall-bhat

Tasty meal of Dhall
66 stars 11 forks source link

Add Arrows, and related classes and instances. #32

Closed sellout closed 6 years ago

sellout commented 6 years ago

Mostly trying to get Category in, so we can generalize Functors, etc.

And this PR raises a few style questions:

  1. Capitalization of types vs. their instances. In dada I’ve been using this style, and so it’s in the directories I copied here. I prefer this style, but not sure if there are objections to it.
  2. Compose now has both a type and a class – is this a good naming convention? Should we rename type to class where appropriate, or should these things be renamed not to conflict or moved to separate directories or what?
joneshf commented 6 years ago

should these things be renamed not to conflict or moved to separate directories or what?

If going the rename route, two possible names are semicategory and semigroupoid.

sellout commented 6 years ago

@joneshf This is intended to be a configuration language for end-users! 🤣

Seriously, though – I had forgotten Semigroupoid. Is there any consensus (in the math world) about which is a better name? I don’t think I’ve heard Semicategory before.

joneshf commented 6 years ago

Sorry, no idea about consensus. I'd not heard of semicategory either until googling alternate names :sweat_smile:.

semigroupoid seems more analogous to semigroup than semicategory does. And there's some precedent in languages like Haskell and PureScript. Dunno if the familiarity there is a factor.

coreykanon commented 6 years ago

lower priority than other work (nice to have) - open source repo

coreykanon commented 6 years ago

@FintanH is this ready to be merged?

FintanH commented 6 years ago

@coreykanon: @sellout just needs to update the naming of type to Type. Sorry it was discussed off of the ticket, and as it's not high priority it's not being seen to immediately. To be honest, I'm going to remove the OE label because it's open source addition rather than Formation specific.

sellout commented 6 years ago

Yeah, I think this should be removed from the sprint milestone as well.

@coreykanon There’s going to be various work in our public repos that shouldn’t really be tracked as part of our board at all.

sellout commented 6 years ago

@FintanH I’m going to merge this and leave the renaming for afterward. The issue is that doing the renaming on a Mac is problematic, because it’s case-insensitive.