Haskell Hackers: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
(initial commit, placeholder words for now)
 
(21 intermediate revisions by 12 users not shown)
Line 1: Line 1:
== Weekly Haskell Salon ==
[[File:Haskell_logo.png|left]]
 
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.
 
= Next Meeting =
 
Thursday 9/29/2016.
 
* 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
 
== Possible Hacks ==
 
Here's a place to brainstorm prior to the meeting about possible stuff to code.
 
begriffs:
  * 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
 
epaniagua (e7a):
  * 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.


[[File:Haskell_logo.png|left]]
victordenisov:
  * Mongodb driver
  * Scope highlighter for editors
 
cdsmith:
  * CodeWorld (https://github.com/google/codeworld)
 
jefdaj:
  * 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. [https://tarql.github.io/ Tarql]
    already translates tables to RDF, and [https://jena.apache.org/documentation/query/cmds.html 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.
 
radoye:
  * learn/understand the relationship between Free / FreeER / TTF
 
alanvx:
  * learning Yesod


Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ut est quis mauris tempus eleifend at eu nulla. Vivamus et nisi efficitur, commodo erat ac, sagittis leo. Etiam iaculis massa faucibus dui blandit, eu dapibus erat interdum. Duis efficitur metus vel ornare gravida. Fusce ultrices efficitur laoreet. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed convallis lectus enim, ac rhoncus mauris gravida nec. Etiam cursus tellus leo, eu consequat ex tempor eu. Duis mollis turpis nec tellus mattis pellentesque. Suspendisse ligula lectus, tincidunt non ante at, aliquam rutrum lacus. Nam aliquet dolor nec efficitur malesuada. Aliquam non dapibus est. Cras luctus mattis dolor vel sodales. Suspendisse varius tellus eget diam vehicula, a luctus diam aliquet. Aenean malesuada rutrum dui ut auctor. Nam mattis odio id egestas condimentum.
isovector:
  * a template haskell function to generate vacuous instances of type classes for uninhabited types


Sed sodales fermentum nibh, sit amet dapibus orci auctor id. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum et diam nibh. Nullam vitae felis ipsum. Etiam efficitur, est ut auctor placerat, dolor purus pellentesque dolor, at mollis felis odio quis elit. Etiam lacinia sapien vel lorem posuere viverra. Quisque ante elit, pulvinar vel dapibus eu, gravida ac orci. Sed tempor faucibus velit, eu mattis augue eleifend sit amet. Mauris bibendum justo leo. Etiam tortor nisi, porta vel metus non, mattis laoreet dolor. Sed ornare augue vitae purus varius elementum. Ut turpis mauris, molestie sed tempor ut, cursus sit amet erat. Aenean malesuada sed arcu in congue. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
[add your ideas]:
  * foo
  * bar

Revision as of 14:39, 29 September 2016

Haskell logo.png

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.

Next Meeting

Thursday 9/29/2016.

  • 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

Possible Hacks

Here's a place to brainstorm prior to the meeting about possible stuff to code.

begriffs:

 * 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

epaniagua (e7a):

 * 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.

victordenisov:

 * Mongodb driver
 * Scope highlighter for editors

cdsmith:

 * CodeWorld (https://github.com/google/codeworld)

jefdaj:

 * 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.

radoye:

 * learn/understand the relationship between Free / FreeER / TTF 
 

alanvx:

 * learning Yesod

isovector:

 * a template haskell function to generate vacuous instances of type classes for uninhabited types

[add your ideas]:

 * foo
 * bar