305 views
PureScript Online Meetup 2021 July 5 ==== @Adriel has worked on a [canvas rendering library](https://github.com/lunarcast/lunarlog/tree/develop/packages/geometry/) - Presented the support for events, layouts, padding, etc - Based on TEA (right now at least) - High level wrapper of a [geometry typescript package](https://thi.ng/geom) - Passing implicit parameters with [a hacky typeclass](https://github.com/lunarcast/lunarlog/blob/develop/packages/loglude/src/Ask.purs) - [Cancelable monad](https://github.com/lunarcast/lunarlog/blob/develop/packages/loglude/src/Cancelable.purs) - Support for [custom components](https://github.com/lunarcast/lunarlog/blob/develop/packages/geometry/src/Shapes/Text.purs) - [Flexbox-inspired layouting system demo](https://twitter.com/yugiohxlight/status/1410933266010497030) and [implementation](https://github.com/lunarcast/lunarlog/blob/develop/packages/geometry/src/Shapes/Flex.purs) - Discussion about testing & generating bindings from typescript types - Discussion about creating an organization dedicated to bindings for [thi.ng](thi.ng) repositories. @Paluh has shown us his work on providing beginner friendly error messages @Tomek has shown us his [resource managment game](http://edu.tprimke.net/projects/edusim/sim/opt.html): - Custom prect bindings with an emphasis on output size Discussion about the pros and cons of using [ReasonMl](https://reasonml.github.io/) over Purescript. Pros: - much faster compilation times - much better error messages - much more readable generated code & runtime representations of types - Purescript doesnt have nice tuple support - Pretty nice [reference docs](https://reasonml.github.io/docs/en/overview) Cons: - More basic type system - Closer to javascript More tuple discussion: - @Paluh demonstrated the use of /\ for nicer tuple syntax - @Paluh also demonstrated the compiler support for multi-value pattern matching - Discussion about `let in` vs `do let` - Discussion about debug functions (`traceM`, `spy` etc) Discussion about practicallity issues with the purescript type system compared to the typescript type system: - Case study: material ui bindings and the complicated code for doing simple mix and matching on records (record merging, optional & required props, prop inheritence & overriding).