Difference between revisions of "HacFreiburg2017/ListOfProjects"

From HaskellWiki
Jump to navigation Jump to search
(Created page with "* purescript compiler, type and analysis related topics * ghcjs, some language server protocol implementation * Spock, PureScript * Snowdrift.coop * hayoo!, hunt, ghc/haddock ...")
 
Line 3: Line 3:
 
* Spock, PureScript
 
* Spock, PureScript
 
* Snowdrift.coop
 
* Snowdrift.coop
* hayoo!, hunt, ghc/haddock
+
* hayoo!, hunt
 
* simplexhc, ghc
 
* simplexhc, ghc
 
* Not sure right now. Probably guide (https://guide.aelve.com/)
 
* 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.
 
* 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...
 
* In general: projects using Scala, Docker, Microservices...
  +
  +
== ghc/haddock ==
  +
  +
=== 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.

Revision as of 12:46, 31 July 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...

ghc/haddock

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.