Here's a sample of signature naming conventions:
Jane Street Base: Snake_case
Lwt: CamelCase (but the signature that I found, OrderedType, is identical to several stdlib signatures)
Dune: Capitalized (All the examples that I found are single words)
Utop: No sigs found
Batteries: CamelCase (but it's supposed to be compatible with the standard library IIRC)
Llvm: No sigs found
Can anyone suggest other #OCaml libraries to check?
Which name do you prefer: bind, flat map, or >>=?
Anime (New Game) Show more
Ko and Rin handholding comic:
https://www.reddit.com/r/learnprogramming/comments/8yz57q/comment/e2f9i8t Whoa, did Bjarne Stroustrup himself just reply to this r/learnprogramming submission?
Star Wars Show more
Whoa, check this out: https://www.reddit.com/r/StarWars/comments/8yysmn/combining_two_of_my_favorite_things_star_wars/ (Action figure depiction of #RogueOne scene, please upvote Reddit submission instead of favoriting my toot) #StarWars
Functional programming starter pack
A good type system enhances, not restricts. What I mean is that literally, typechecking will always reject valid programs, hence restricting, but figuratively, types should enhance the program's meaning, helping the programmer build stronger and clearer abstractions.
“…the keynote speaker asked the audience to indicate by show of hands, one, how many people disliked C++, and two, how many people had written a C++ program. There were twice as many people in the first group than the second. Expressing dislike of something you don’t know is usually known as prejudice.” - Bjarne Stroustrup Source: https://www.technologyreview.com/s/406923/the-problem-with-programming/
Immutability is good for reasoning about programs, but in some cases, mutability can lead to a cleaner solution. See http://okmij.org/ftp/ML/generalization.html, a variation of Hindley-Milner type inference that uses refs instead of pure substitution for efficiency. I’d say that the algorithm here is very elegant! #HindleyMilner
#OCaml 4.07 adds a Float module (http://caml.inria.fr/pub/docs/manual-ocaml/libref/Float.html) and Seq (lazy list) module (http://caml.inria.fr/pub/docs/manual-ocaml/libref/Seq.html) to the standard library! For the latter, here's a #throwback to #SICP: https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-24.html
The #OCaml manual for release 4.07 has apparently received a modest makeover! http://caml.inria.fr/pub/docs/manual-ocaml/index.html
As a corollary, if I ever toot anything political, please don't assume that the people whom I follow or who follow me agree with me.
Disclaimer: In case it isn’t obvious, I do not necessarily share political beliefs with the people whom I follow or boost.