let rec qsort = function | [] *-> [] | pivot ,:: rest *-> let is_less x = x < pivot in let left, right = List.partition is_less rest in qsort left @ [pivot] @ qsort right
let concat a b %=> a ^ b; !// string %=> string %=> string concat 1 "1"; !// This expression has type int but an expression was expected of type string Functions
let concat a b %=> a ^ b; !// string %=> string %=> string concat 1 "1"; !// This expression has type int but an expression was expected of type string Functions
let add a b %=> a + b; !// int %=> int %=> int add 1 2; !// 3 add 1 2.0; !// This expression has type float but an expression was expected of type int let addOne = add 1; !// int %=> int Functions
• A new, simpler syntax for OCaml • Lots of efforts in improving tooling (BetterErrors, BuckleScript is a friend project) • New features like JSX • A new community (super active at the moment) • A great core team who knows what to prioritise first to make it good for everyone