You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've had a blast the last few weeks in my continued study of and work on your protocol-monads library. Just last night, I capped off my recent work by creating a 1.1.0-SNAPSHOT branch and deploying it to my clojars account, to facilitate internal reuse and tire-kicking.
GitHub makes it fairly easy to compare branches between forks of the same project:
What I plan to do is take a day and compose a gist detailing the changes I made, my motivations for making them, and questions that arose during my work. There will be a lot (!!) to it, as I've made more than a few adjustments, and in the process of learning and coding I came upon all sorts of interesting possibilities and quandaries which would benefit from your insights.
I don't think I will have time to do the write-up this week, but I wanted to at least point you to my current work (that's why I've submitted this issue).
I'll go ahead and make a few quick points and ask a question ... question first:
License
Would you be willing to indicate a license for protocol-monads?
I think EPLv1 would be appropriate: it's the "standard license" in the world of open source Clojure projects; also, your project seems to be partially derived from algo.monads, and that library is licensed under EPLv1, and thus the "derivative work" terms may be applicable.
Notes
There is a NOTES.md file in my fork of protocol-monads. It outlines some (but not all) of the questions and possibilities I alluded to above. It needs to be cleaned up, since I've already taken action on some of the points therein. I'll do that clean-up on the same day I do the write-up.
Changes you may not agree with
I've renamed some things, re-organized parts of the library and test suite, etc. I don't expect that you will agree to everything I've changed and that's fine, since I don't expect that you will simply merge in all my commits. I'll provide more context in the write-up and then you can decide what changes of mine to keep or not. And if you end up deciding to take protocol-monads in a different direction, that's great too, since that's the beauty of open source development -- a fork can diverge from its parent project, and there's no harm done.
Lots more tests
I expanded the test suite. The code coverage is pretty good, I think, and writing the additional tests was a good learning exercise.
Examples
I've roughly ported the examples from Hinsen's algo.monads library:
Only the outputs of examples ex25, ex26 and ex27 diverge from their algo.monadscounterparts, and this is owing to some decisions I made in my work on the factory function and bind method for monads.core.MaybeTransformer. I will provide more of an explanation in the forthcoming write-up.
The text was updated successfully, but these errors were encountered:
Hi, Jim!
I've had a blast the last few weeks in my continued study of and work on your
protocol-monads
library. Just last night, I capped off my recent work by creating a 1.1.0-SNAPSHOT branch and deploying it to my clojars account, to facilitate internal reuse and tire-kicking.GitHub makes it fairly easy to compare branches between forks of the same project:
michaelsbradleyjr/protocol-monads@jduey:master...1.1.0-SNAPSHOT
What I plan to do is take a day and compose a gist detailing the changes I made, my motivations for making them, and questions that arose during my work. There will be a lot (!!) to it, as I've made more than a few adjustments, and in the process of learning and coding I came upon all sorts of interesting possibilities and quandaries which would benefit from your insights.
I don't think I will have time to do the write-up this week, but I wanted to at least point you to my current work (that's why I've submitted this issue).
I'll go ahead and make a few quick points and ask a question ... question first:
License
Would you be willing to indicate a license for
protocol-monads
?I think EPLv1 would be appropriate: it's the "standard license" in the world of open source Clojure projects; also, your project seems to be partially derived from
algo.monads
, and that library is licensed under EPLv1, and thus the "derivative work" terms may be applicable.Notes
There is a NOTES.md file in my fork of
protocol-monads
. It outlines some (but not all) of the questions and possibilities I alluded to above. It needs to be cleaned up, since I've already taken action on some of the points therein. I'll do that clean-up on the same day I do the write-up.Changes you may not agree with
I've renamed some things, re-organized parts of the library and test suite, etc. I don't expect that you will agree to everything I've changed and that's fine, since I don't expect that you will simply merge in all my commits. I'll provide more context in the write-up and then you can decide what changes of mine to keep or not. And if you end up deciding to take
protocol-monads
in a different direction, that's great too, since that's the beauty of open source development -- a fork can diverge from its parent project, and there's no harm done.Lots more tests
I expanded the test suite. The code coverage is pretty good, I think, and writing the additional tests was a good learning exercise.
Examples
I've roughly ported the examples from Hinsen's
algo.monads
library:protocol-monads/src/monads/examples.clj
Only the outputs of examples ex25, ex26 and ex27 diverge from their
algo.monads
counterparts, and this is owing to some decisions I made in my work on the factory function and bind method formonads.core.MaybeTransformer
. I will provide more of an explanation in the forthcoming write-up.The text was updated successfully, but these errors were encountered: