Open
Conversation
Author
|
Note: the comments I left above are not part of the PR really. They are just additional thoughts I had reading the first few chapters, but I did not want to open an issue for them. |
Author
|
I think the reason FP programmers find Set collection types (ie PowerSets) problematic is that there is often no serialisation order for them, meaning that different runs can have different results, creating indeterminacy. Here is an example of a Set of 4 tuples, for RDF DataSets https://rdf4j.org/javadoc/latest/org/eclipse/rdf4j/model/Model.html but one finds similar things in the cats scala library. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Other things that occurred to me:
List is a good example of a non-commutative monad
You mention that
Arity ≅ FinSetº. This is very close to opposite of Set it seems (see question on StackExchange), which make me wonder what the relation to boolean algebras may be...Whenever the Powerset monad pops up, there are some mathematicians (and programmers) that come up and ask awkward questions, which can get developers quite worried. It may be worth addressing this here and a bit more carefully in this book as a footnote, or as an appendix or as a pointer to a good explanation elsewhere (perhaps @paoloperrone's book).
Note I am really interested in the Powerset functor as the Kleisli category of Powerset is equivalent to the Category Rel of Relations, which is the key category in the definition of the Semantic Web as described by Evan Patterson in Knowledge Representation in Bicategories of Relations.