Personal tools

Hac φ/Projects

From HaskellWiki

< Hac φ(Difference between revisions)
Jump to: navigation, search
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Generic information ==
+
== Sharing your code ==
   
You can apply for an account and a project using
+
If you need a place to host a project so that others can help with it, we suggest [http://patch-tag.com/ patch-tag], which offers free hosting for public darcs repositories. If you're using git, [http://github.com github] is just dandy as well.
  +
  +
You can also apply for an account on
 
[http://community.haskell.org/admin/ the community server].
 
[http://community.haskell.org/admin/ the community server].
 
Once you have an account and/or a project, you upload a Darcs repository as follows. First, initialize your repository on the server:
 
 
$ ssh community.haskell.org
 
you@haskell:~$ cd /srv/code/yourproject
 
you@haskell:/srv/code/yourproject$ darcs init
 
 
Then, log out and push your repository:
 
 
$ darcs push community.haskell.org:/srv/code/yourproject
 
   
 
== Projects ==
 
== Projects ==
Line 28: Line 18:
 
-->
 
-->
   
=== xmonad ===
+
=== Diagrams ===
   
General [http://www.xmonad.org xmonad] love: features, documentation, catch up with patch backlog, etc.
+
The [http://code.google.com/p/diagrams diagrams project] is coming along quite nicely and there will be lots to work on: developing fun/interesting examples and contrib modules that provide higher-level diagram facilities, tools to aid in diagram development, and lots of individual [http://code.google.com/p/diagrams/issues/list bugs to squash and features to add].
 
Maybe some floating layer improvements!
 
   
 
* Brent Yorgey
 
* Brent Yorgey
   
=== diagrams ===
+
=== GHC cross compilation ===
   
The [http://code.haskell.org/diagrams/ diagrams library] provides an embedded domain-specific language (EDSL) for creating simple pictures and diagrams in Haskell.
+
GHC has had several recent fixes to help turn it into a cross compiler (thanks to Irene Knapp and Mark Lentczner,) but it's still not quite possible to easily cross compile stage2, and there still remains a hefty bit of build system and preprocessor cruft remaining.
   
Incorporate patches and bug fixes, improved documentation, new features (better curve types, grid layout, control points + connectors, cache size computations for better performance)
+
* Austin Seipp
  +
* Irene Knapp
  +
* Dan Peebles
   
* Brent Yorgey
+
=== Meta-Project ===
   
=== HSFFIG ===
+
This is not a real project, but the cannibalization of bits and pieces of others. I'm teaching a Haskell course in the Fall, and I'm always on the lookout for homework/project ideas. Stumble on anything cool in the code you are currently working on? Or, what was it about Haskell really hooked you? Last year I had fun with a SAT solver, a GADT-certified Red black tree, a concurrency monad, and the implementation of a simple imperative language.
  +
[http://www.cis.upenn.edu/~cis552/11fa/schedule.html Class schedule from last year]
   
Work on the [http://code.haskell.org/hsffig/ HSFFIG] project is almost done, so HSFFIG and its successor [http://www.haskell.org/haskellwiki/FFI_imports_packaging_utility ffipkg] may be useful for projects involving bindings to C (but not C++) libraries. Please mention here if you are interested to give HSFFIG a try.
+
* Stephanie Weirich
 
'''Update:''' HSFFIG has been [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HSFFIG-1.1 released] on Hackage.
 
 
* Dmitry Golubovsky
 
 
=== mathlink ===
 
 
[http://code.haskell.org/~TracyWadleigh/mathlink/ mathlink] is a package for making Haskell functions callable from ''Mathematica''. Given that the project is essentially limited to users of ''Mathematica'', I don't expect a whole lot of actual coding help (though it is certainly welcome!), but I'm certainly looking forward to getting suggestions on how I might improve it.
 
 
* Tracy Wadleigh
 
 
=== gitit ===
 
 
[http://www.johnmacfarlane.net/ Gitit] is a wiki program written in Haskell. It uses [http://happstack.com Happstack] for the web server and [http://johnmacfarlane.net/pandoc/ pandoc] for markup processing. Pages and uploaded files are stored in a git or darcs repository and may be modified either by using the VCS’s command-line tools or through the wiki’s web interface.
 
 
I (anton) plan to work on developing Gitit extensions to provide more general content management and application framework capabilities. Some previous work I've done on this is described [http://groups.google.com/group/gitit-discuss/msg/8130f2bc060f9fb2 here] (this work has since been integrated into Gitit).
 
 
* Anton van Straaten
 
 
=== formlets ===
 
 
[http://github.com/chriseidhof/formlets/ Formlets] is a library providing simple form creation and handling for Haskell data types.
 
 
=== happstack-auth ===
 
 
[http://github.com/mightybyte/happstack-auth/tree Happstack-auth] is a drop-in authentication framework for Happstack.
 
 
=== hpc ===
 
 
I (ravi) am interested in getting [http://projects.unsafeperformio.com/hpc/ hpc (Haskell Program Coverage)] to work when you're trying to generate code coverage for multiple binaries (with different Main modules in different source files) that otherwise are built from a shared pool of source code. IIRC, the generated coverage information itself has everything I want, the problem is that the hpc command-line tools don't know how to cope with multiple source files being identified with the same module (Main). Before I get to Hac Phi, I'm planning to ask Andy Gill (one of the people behind hpc) for guidance on how to approach this.
 
 
=== Data.Binary enhancements ===
 
 
There are two reasons I (ravi) can't use the [http://code.haskell.org/binary/ Data.Binary] library at my day job (and therefore waste time maintaining a less useful homegrown replacement):
 
 
* Data.Binary doesn't have clean support for persisting types where you want to encode them in a shared form. For a shared binary encoding, I want to spit out the full representation the first time you see a particular value of that type, but spit out a reference to the previously persisted representation every subsequent time you come across a value Eq to a value that has been previously encoded in the same stream.
 
 
* Data.Binary doesn't have support for gathering statistics about what is taking up space in a particular binary stream. Sometimes the natural binary encodings we write take up much more space than we expect, so we have some simple statistics markers we can insert that let us get useful size information for debugging those sorts of problems. Our implementation of statistics-gathering isn't ideal because there's some conceptually unnecessary strictness we haven't been able to get rid of (which makes it harder than seems necessary to get statistics in some of our blow-up cases), so I'd also like help getting that right.
 
   
   
Line 58: Line 48:
 
| [http://www.xmonad.org xmonad], [http://code.haskell.org/diagrams diagrams]
 
| [http://www.xmonad.org xmonad], [http://code.haskell.org/diagrams diagrams]
 
|-
 
|-
| golubovsky
+
| ccasin
| [http://code.haskell.org/hsffig/ HSFFIG]
+
| [http://hcross.sourceforge.net hcross]
|-
 
| [[User:Twadleigh|twadleigh]]
 
| [http://code.haskell.org/~TracyWadleigh/mathlink/ mathlink]
 
|-
 
| anton van straaten
 
| [http://www.johnmacfarlane.net gitit], [http://happstack.com/ happstack]
 
|-
 
| sclv
 
| HStringTemplate, [http://happstack.com/ happstack]
 
 
|-
 
|-
 
| mightybyte
 
| mightybyte
| [http://www.johnmacfarlane.net gitit], [http://happstack.com/ happstack], formlets, happstack-auth
+
| [http://snapframework.com snap], [http://hackage.haskell.org/package/heist heist]
|-
+
|-
| ravi
+
| sweirich
| I've built GHC and tweaked both the compiler and RTS
+
| [http://code.google.com/p/replib/ RepLib and Unbound]
 
|}
 
|}

Revision as of 15:31, 2 August 2012

Contents

1 Sharing your code

If you need a place to host a project so that others can help with it, we suggest patch-tag, which offers free hosting for public darcs repositories. If you're using git, github is just dandy as well.

You can also apply for an account on the community server.

2 Projects

If you have a project that you want to work on at the Hackathon, please describe it here.

Since Hackathons are great for teamwork, consider joining one of the projects mentioned below. If you're interested in one of these projects, add your name to the list of hackers under that project.

2.1 Diagrams

The diagrams project is coming along quite nicely and there will be lots to work on: developing fun/interesting examples and contrib modules that provide higher-level diagram facilities, tools to aid in diagram development, and lots of individual bugs to squash and features to add.

  • Brent Yorgey

2.2 GHC cross compilation

GHC has had several recent fixes to help turn it into a cross compiler (thanks to Irene Knapp and Mark Lentczner,) but it's still not quite possible to easily cross compile stage2, and there still remains a hefty bit of build system and preprocessor cruft remaining.

  • Austin Seipp
  • Irene Knapp
  • Dan Peebles

2.3 Meta-Project

This is not a real project, but the cannibalization of bits and pieces of others. I'm teaching a Haskell course in the Fall, and I'm always on the lookout for homework/project ideas. Stumble on anything cool in the code you are currently working on? Or, what was it about Haskell really hooked you? Last year I had fun with a SAT solver, a GADT-certified Red black tree, a concurrency monad, and the implementation of a simple imperative language. Class schedule from last year

  • Stephanie Weirich


3 Experience

Please list projects with which you are familiar. This way, people know whom to contact for more information or guidance on a particular project.

Name Projects
byorgey xmonad, diagrams
ccasin hcross
mightybyte snap, heist
sweirich RepLib and Unbound