We assemble to construct software that matters, far from the madding crowd of callbacks, runtime errors and brogrammers. The Noisebrige Haskell Hackers is a community who learns by doing.
Rather than being a meetup focused on talks, this is a recurring hack night where participants learn by actively programming together. Actions speak louder than words, and we strive to make useful contributions to open source, documentation, or personal experiments while making friends with likeminded developers.
- 6:00 - Mingle
- 6:30 - Form a circle, announce what you'd like to work on or learn. Find a partner/group and get to work
- ??:00 - bye bye
Here's a place to brainstorm prior to the meeting about possible stuff to code.
* Fix issues on https://github.com/begriffs/postgrest * Continue with exemplary CI template https://github.com/begriffs/haskell-circle-example * Experiment with writing example parsers for megaparsec's documentation * Add code examples to Haddock docs for packages lacking examples
* Write a tagless final embedding of the simply typed lambda calculus, along with a few evaluation functions like printing, beta reduction, and evaluation for primitive operations on primitive types. Implement Hindley-Milnor type inference for terms. * Write a framework for writing proof assistants along the lines of Coq, though perhaps more modest in scope. To limit scope, maybe focus on the architecture and data structures to be used during proof tree search. * Experiment with packrat parsing or packrat parser generation. * Implement an object language with dependent types, for example dependently typed lambda calculus. * Implement a bijection between inductive types and boolean-valued functions in the spirit of Curry-Howard. * Software for keeping a personal schedule. Input would be a DAG of tasks and a calendar. Output would be a calendar with time scheduled for construing those tasks if feasible, otherwise an explanation of by how much the dag is overcommitted and perhaps a few schedules for feasible subgraphs. * Actually, even just a good data model for the scheduling problem would be a win. * Work through Write Yourself a Scheme in 48h tutorial (https://en.m.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours). * Write a gRPC server in Haskell. There are a few libraries, but I haven't tried any of them yet.
* Mongodb driver * Scope highlighter for editors
* CodeWorld (https://github.com/google/codeworld)
* A program for aggregating lots of small, simple lists and/or spreadsheets into an RDF knowledgebase, then querying it with SPARQL. I've been brainstorming how it would manage stuff in a biology lab (cell lines, freezer boxes, gene sequences, experimental measurements, etc), but the idea is fairly general. Tarql already translates tables to RDF, and Arq already does queries, so this would mostly be about figuring out the overall data model--how to encode everything it needs in simple text files without too much confusing "magic"? * Would also be interested in learning about tagless-final (but at a pretty basic level!), or working on the personal schedule DAG model.
* learn/understand the relationship between Free / FreeER / TTF
* learning Yesod
* a template haskell function to generate vacuous instances of type classes for uninhabited types
[add your ideas]:
* foo * bar