– Below are the topics that were discussed, April 4 2019 –
“ProLang Meetup”
- Wanna learn some cool programming languages?
- Let’s meet up, once a month, to learn Racket, Clojure, Prolog, OCaml, Coq, & more!
- Our first meet will be this friday, at McMaster university’s ITB 225 at 4pm.
- We’re planning on starting with OCaml via the freely available online “Real World OCaml”.
- Please bring your machine and an open mind to learn!
----
- OCaml
- try ocaml online
- Rust
- Borrow checker, add to thesis lists
- concurrency and memory management
- C#
- Linq –programmer friendly monad notation
- Python
- Decorators
- sugar for higher order functions
- allows for aspect oriented programming
- MetaOCaml
- Typed metaprogramming;
~200 line extension to OCaml.
- Brackets: <>
- Expansion: .~
- rewriting code
- Run: !
- evaluating code
E.g.,
B = <1 + 1> E = < .~B + .~B > = < (1 + 1) + (1 + 1) > -- at the tree level. R = !E = 4
Note: .~<T> = T, but only inside brackets. Outside
- Pure OOP
- SmallTalk, Objective-C, and Ruby came into this discussion.
Ruby allows “method missing” akin to Objective-C’s message passing; or Python’s “getAdder”.