Difference between revisions of "HacFreiburg2017/ListOfProjects"

From HaskellWiki
Jump to: navigation, search
Line 9: Line 9:
 
* In general: projects using Scala, Docker, Microservices...
 
* In general: projects using Scala, Docker, Microservices...
   
== ghc/haddock ==
+
== Beginner Projects ==
  +
  +
* https://github.com/jaspervdj/haskell-beginners-projects
  +
  +
== ghc/haddock (Alex B.) ==
   
 
=== Revamp the haddock type-class specializer ===
 
=== Revamp the haddock type-class specializer ===
Line 26: Line 26:
   
 
When debugging it is commonly needed to look into the generated haddock-interface files. https://github.com/haskell/haddock/pull/645 laid the groundwork for such a feature. It adds a command line parameter which dumps an interface file to json. If you are interested in this task talk to Alex Biehl.
 
When debugging it is commonly needed to look into the generated haddock-interface files. https://github.com/haskell/haddock/pull/645 laid the groundwork for such a feature. It adds a command line parameter which dumps an interface file to json. If you are interested in this task talk to Alex Biehl.
  +
  +
== Qua-Kit (Artem) ==
  +
  +
https://github.com/achirkin/qua-kit
  +
  +
== Writing Documentation for Haskell Packages (David, Franz) ==
  +
  +
* http://hackage.haskell.org/package/monad-control
  +
* http://hackage.haskell.org/package/trifecta
  +
  +
== Spock (Alex T.) ==
  +
  +
* https://github.com/agrafix/Spock

Revision as of 13:51, 4 August 2017

  • purescript compiler, type and analysis related topics
  • ghcjs, some language server protocol implementation
  • Spock, PureScript
  • Snowdrift.coop
  • hayoo!, hunt
  • simplexhc, ghc
  • Not sure right now. Probably guide (https://guide.aelve.com/)
  • I'm at beginner level, so would be willing to join to a project that matches my current skills.
  • In general: projects using Scala, Docker, Microservices...

Beginner Projects

ghc/haddock (Alex B.)

Revamp the haddock type-class specializer

For convenient display of type-class instances haddock inserts the instance head into the type-class methods type signatures. However in the current implementation haddock does no alpha-conversion on type variables if they are not bound by forall. See https://github.com/haskell/haddock/issues/654 for an example.

This is an easy starter ticket. Changes would be pretty local `rename` (see https://github.com/haskell/haddock/blob/master/haddock-api/src/Haddock/Interface/Specialize.hs#L229) and could be done in a few hours. If you are interested in this task talk to Alex Biehl.

Handle `pattern` exports

The PatternSynonyms extension introduced `pattern` exports which can be used to export single constructors of a data type without the data type itself. Currently when haddock sees a name in an export list it tries to find its corresponding declaration. From an ASTs viewpoint single data constructors do not have a declaration. Instead they are nested in its owning data declaration. See https://github.com/haskell/haddock/issues/653 for an example.

A fix would try to beef up `findDecl` to handle the case of a data constructor name by returning the owning data declaration (see https://github.com/haskell/haddock/blob/master/haddock-api/src/Haddock/Interface/Create.hs#L701). `mkExportDecl` then would prepare the constructor for rendering. If you are interested in this task talk to Alex Biehl.

Finish --show-interface

When debugging it is commonly needed to look into the generated haddock-interface files. https://github.com/haskell/haddock/pull/645 laid the groundwork for such a feature. It adds a command line parameter which dumps an interface file to json. If you are interested in this task talk to Alex Biehl.

Qua-Kit (Artem)

https://github.com/achirkin/qua-kit

Writing Documentation for Haskell Packages (David, Franz)

Spock (Alex T.)