|
# The 2006 GHC hackathon: 14,15 September 2006, Portland
|
|
CONVERSION ERROR
|
|
|
|
|
|
|
|
Error: HttpError (HttpExceptionRequest Request {
|
|
GHC is used by lots of people, but its implementation is rather over-centralised, even though GHC is a BSD-licensed, open-source project. The biggest obstacle to more people getting involved is that GHC is a big, and hence intimidating, system. The purpose of the GHC hackathon is to give a tutorial in GHC’s innards, plus time to work on some projects in a context where there are plenty of people around to help. The objective is to substantially broaden (more numbers) and deepen (more confidence) the community of people who feel they know enough to fix and enhance GHC.
|
|
host = "ghc.haskell.org"
|
|
|
|
port = 443
|
|
|
|
secure = True
|
|
These days, GHC is more than just a batch compiler:
|
|
requestHeaders = []
|
|
|
|
path = "/trac/ghc/wiki/Hackathon"
|
|
- It's an interactive interpreter
|
|
queryString = "?version=47"
|
|
- It's a (Haskell) library
|
|
method = "GET"
|
|
|
|
proxy = Nothing
|
|
|
|
rawBody = False
|
|
The latter, in particular, opens up new possiblities, such as using GHC to parse and type-check Haskell, before analysing or transforming it with your own program. However, GHC-as-a-library has a pretty big interface that uses a lot of data types, which will be among the things we'll describe at the hackathon.
|
|
redirectCount = 10
|
|
|
|
responseTimeout = ResponseTimeoutDefault
|
|
|
|
requestVersion = HTTP/1.1
|
|
We'll suggest some projects, but you're welcome to come along with your own wacky ideas or itches that you want to scratch, and work on them in an environment with a high-bandwidth connection to developers who really know the innards of GHC. You could work on something individual, or in small groups. We anticipate all being in one room, or in a tight group of rooms, so there’d be lots of informal interaction.
|
|
}
|
|
|
|
(StatusCodeException (Response {responseStatus = Status {statusCode = 403, statusMessage = "Forbidden"}, responseVersion = HTTP/1.1, responseHeaders = [("Date","Sun, 10 Mar 2019 06:53:55 GMT"),("Server","Apache/2.2.22 (Debian)"),("Strict-Transport-Security","max-age=63072000; includeSubDomains"),("Vary","Accept-Encoding"),("Content-Encoding","gzip"),("Content-Length","250"),("Content-Type","text/html; charset=iso-8859-1")], responseBody = (), responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}) "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>403 Forbidden</title>\n</head><body>\n<h1>Forbidden</h1>\n<p>You don't have permission to access /trac/ghc/wiki/Hackathon\non this server.</p>\n<hr>\n<address>Apache/2.2.22 (Debian) Server at ghc.haskell.org Port 443</address>\n</body></html>\n"))
|
|
|
|
|
|
Also there's a good chance it'll be fun :-)
|
|
Original source:
|
|
|
|
|
|
|
|
```trac
|
|
## Date and programme
|
|
= The 2006 GHC hackathon: 14,15 September 2006, Portland =
|
|
|
|
|
|
|
|
GHC is used by lots of people, but its implementation is rather over-centralised, even though GHC is a BSD-licensed, open-source project. The biggest obstacle to more people getting involved is that GHC is a big, and hence intimidating, system. The purpose of the GHC hackathon is to give a tutorial in GHC’s innards, plus time to work on some projects in a context where there are plenty of people around to help. The objective is to substantially broaden (more numbers) and deepen (more confidence) the community of people who feel they know enough to fix and enhance GHC.
|
|
The hackathon will be held in Portland, Oregon, on Thursday September 14th and Friday 15th, immediately before the [ International Conference on Functional Programming (ICFP'06)](http://icfp06.cs.uchicago.edu/) in Portland. There are various interesting ICFP workshops on Sat 16th ([ Generic programming](http://www.informatik.uni-bonn.de/~ralf/wgp2006.html), [ ML](http://www.cl.cam.ac.uk/ml2006/), [ Erlang](http://www.erlang.se/workshop/2006/)), but if people are enthusiastic to continue on Saturday, the space will be available.
|
|
|
|
|
|
These days, GHC is more than just a batch compiler:
|
|
|
|
* It's an interactive interpreter
|
|
We have in mind the following.
|
|
* It's a (Haskell) library
|
|
|
|
The latter, in particular, opens up new possiblities, such as using GHC to parse and type-check Haskell, before analysing or transforming it with your own program. However, GHC-as-a-library has a pretty big interface that uses a lot of data types, which will be among the things we'll describe at the hackathon.
|
|
- One full day of tutorial from Simon PJ & Simon M about GHC’s glorious innards (14th)
|
|
|
|
|
|
We'll suggest some projects, but you're welcome to come along with your own wacky ideas or itches that you want to scratch, and work on them in an environment with a high-bandwidth connection to developers who really know the innards of GHC. You could work on something individual, or in small groups. We anticipate all being in one room, or in a tight group of rooms, so there’d be lots of informal interaction.
|
|
- Then one or two days of hacking on projects (15th, 16th)
|
|
|
|
|
|
Also there's a good chance it'll be fun :-)
|
|
|
|
|
|
We expect that some of you will come with GHC-related projects that you want to work on, but we'll also offer a [list of possible projects](hackathon-projects), so you can come without anything in mind and choose on the day. The list is a wiki; please add your own suggestions to it, even if you can't come!
|
|
== Date and programme ==
|
|
|
|
|
|
### Venue
|
|
The hackathon will be held in Portland, Oregon, on Thursday September 14th and Friday 15th, immediately before the [http://icfp06.cs.uchicago.edu/ International Conference on Functional Programming (ICFP'06)] in Portland. There are various interesting ICFP workshops on Sat 16th ([http://www.informatik.uni-bonn.de/~ralf/wgp2006.html Generic programming], [http://www.cl.cam.ac.uk/ml2006/ ML], [http://www.erlang.se/workshop/2006/ Erlang]), but if people are enthusiastic to continue on Saturday, the space will be available.
|
|
|
|
|
|
|
|
We have in mind the following.
|
|
Galois will be hosting the meeting. Their offices are in Beaverton, a suburb of Portland.
|
|
|
|
|
|
* One full day of tutorial from Simon PJ & Simon M about GHC’s glorious innards (14th)
|
|
- Galois will provide a large room, with desks, a projector, and wireless access.
|
|
|
|
- We will also have other rooms that can be used for side-projects.
|
|
* Then one or two days of hacking on projects (15th, 16th)
|
|
- Bring your own laptop (capable of building GHC).
|
|
|
|
|
|
We expect that some of you will come with GHC-related projects that you want to work on, but we'll also offer a [wiki:HackathonProjects list of possible projects], so you can come without anything in mind and choose on the day. The list is a wiki; please add your own suggestions to it, even if you can't come!
|
|
<table><tr><th> Address: </th>
|
|
|
|
<th> 12725 SW Millikan Way
|
|
=== Venue ===
|
|
</th></tr>
|
|
|
|
<tr><th></th>
|
|
Galois will be hosting the meeting. Their offices are in Beaverton, a suburb of Portland.
|
|
<th> Suite 290
|
|
* Galois will provide a large room, with desks, a projector, and wireless access.
|
|
</th></tr>
|
|
* We will also have other rooms that can be used for side-projects.
|
|
<tr><th></th>
|
|
* Bring your own laptop (capable of building GHC).
|
|
<th> Beaverton, OR 97005
|
|
|
|
</th></tr></table>
|
|
|| Address: || 12725 SW Millikan Way||
|
|
|
|
|| || Suite 290||
|
|
|
|
|| || Beaverton, OR 97005||
|
|
Galois is located right next to a light-rail line, allowing easy commuting from
|
|
|
|
down town and the ICFP venue hotel.
|
|
Galois is located right next to a light-rail line, allowing easy commuting from
|
|
|
|
down town and the ICFP venue hotel.
|
|
[ Directions to Galois](http://www.galois.com/files/Directions.pdf)
|
|
|
|
|
|
[http://www.galois.com/files/Directions.pdf Directions to Galois]
|
|
[ Web page about the training center we will be using](http://www.beavertonround.biz/meetingrooms.htm)
|
|
|
|
|
|
[http://www.beavertonround.biz/meetingrooms.htm Web page about the training center we will be using]
|
|
not handled: Image
|
|
|
|
|
|
[[Image(TrainingCenter033.jpg)]]
|
|
### Registration
|
|
|
|
|
|
=== Registration ===
|
|
|
|
|
|
If you want to come, we strongly encourage you to tell us, in two ways:
|
|
If you want to come, we strongly encourage you to tell us, in two ways:
|
|
|
|
* Email [mailto:jodee@galois.com], stating you wish to attend the GHC Hackathon.
|
|
- Email jodee@…, stating you wish to attend the GHC Hackathon.
|
|
* Add your name to the list of participants below (this page is a Wiki, so you can do that yourself).
|
|
- Add your name to the list of participants below (this page is a Wiki, so you can do that yourself).
|
|
|
|
|
|
Registration is not absolutely required, but any Pizza, manuals, and workspace will be allocated on a first come, first served basis, so registration is a good plan!
|
|
|
|
|
|
Registration is not absolutely required, but any Pizza, manuals, and workspace will be allocated on a first come, first served basis, so registration is a good plan!
|
|
|
|
|
|
=== Cost ===
|
|
### Cost
|
|
|
|
|
|
Zero. But you may have to feed yourself if you don't register.
|
|
|
|
|
|
Zero. But you may have to feed yourself if you don't register.
|
|
== History of Hackathons ==
|
|
|
|
|
|
## History of Hackathons
|
|
Wikipedia has an [http://en.wikipedia.org/wiki/Hackathon article about Hackathons]
|
|
|
|
|
|
|
|
--------------------
|
|
Wikipedia has an [ article about Hackathons](http://en.wikipedia.org/wiki/Hackathon)
|
|
== Participants ==
|
|
|
|
|
|
---
|
|
If you want to come, please add your name to the list below. Add a sentence or two about yourself and why you want to come. If you are working on a project to do with GHC, tell us about that too.
|
|
|
|
|
|
## Participants
|
|
* [http://www.haskell.org/~simonmar Simon Marlow] One of the main authors of GHC, particularly the back end, run-time system, and libraries.
|
|
|
|
* [http://research.microsoft.com/~simonpj Simon Peyton Jones] One of the main authors of GHC, particularly the type system and Core intermediate language.
|
|
|
|
|
|
If you want to come, please add your name to the list below. Add a sentence or two about yourself and why you want to come. If you are working on a project to do with GHC, tell us about that too.
|
|
* [http://www.gill-warbington.com/home/andy Andy Gill], Galois, Previous contributor to GHC, wanting tools for high assurance Haskell.
|
|
|
|
* [http://www.cs.york.ac.uk/~malcolm Malcolm Wallace], nhc98-hacker, wanting to steal ideas :-), particularly from the type-system.
|
|
- [ Simon Marlow](http://www.haskell.org/~simonmar) One of the main authors of GHC, particularly the back end, run-time system, and libraries.
|
|
* [http://wiki.freespire.org/index.php/Freespire_Technology_Board_Home Clifford Beshers], Linspire, particularly interested in GHC as a library.
|
|
- [ Simon Peyton Jones](http://research.microsoft.com/~simonpj) One of the main authors of GHC, particularly the type system and Core intermediate language.
|
|
* [http://www.galois.com/ Paul Graunke], Galois, interested in formal methods (Isabelle) and GHC intermediate representations
|
|
|
|
* [http://www.research.att.com/info/kfisher Kathleen Fisher], ATT, interested in adding support for data description to Haskell
|
|
- [ Andy Gill](http://www.gill-warbington.com/home/andy), Galois, Previous contributor to GHC, wanting tools for high assurance Haskell.
|
|
* [mailto://lambda@10k.org Jake Luck], interested in interactive debugging and accessing GHC internals from embedded systems.
|
|
- [ Malcolm Wallace](http://www.cs.york.ac.uk/~malcolm), nhc98-hacker, wanting to steal ideas :-), particularly from the type-system.
|
|
* [http://www.cis.upenn.edu/~geoffw/ Geoffrey Washburn], UPenn. Previous GHC contributor (original implementation of GADTs in Core). Wide variety of language interests involving expressiveness, security, and practical programming.
|
|
- [ Clifford Beshers](http://wiki.freespire.org/index.php/Freespire_Technology_Board_Home), Linspire, particularly interested in GHC as a library.
|
|
* [http://www.galois.com/ Mark Tullsen], Galois, interested in tools for Haskell and high assurance run-time systems.
|
|
- [ Paul Graunke](http://www.galois.com/), Galois, interested in formal methods (Isabelle) and GHC intermediate representations
|
|
* [http://www.comlab.ox.ac.uk/jeremy.gibbons/ Jeremy Gibbons], University of Oxford, generally curious about GHC internals - especially advanced aspects of typing
|
|
- [ Kathleen Fisher](http://www.research.att.com/info/kfisher), ATT, interested in adding support for data description to Haskell
|
|
* [http://www.galois.com/ Brett Letner], Galois, interested in code coverage tool for Haskell.
|
|
- Jake Luck, interested in interactive debugging and accessing GHC internals from embedded systems.
|
|
* [http://www.pnl.gov Chad Scherrer], Pacific Northwest National Laboratory, interested in computational math and statistics
|
|
- [ Geoffrey Washburn](http://www.cis.upenn.edu/~geoffw/), UPenn. Previous GHC contributor (original implementation of GADTs in Core). Wide variety of language interests involving expressiveness, security, and practical programming.
|
|
* [http://www.cs.cmu.edu/~crary Karl Crary], CMU, working on a Haskell-driven typesetting system
|
|
- [ Mark Tullsen](http://www.galois.com/), Galois, interested in tools for Haskell and high assurance run-time systems.
|
|
* [mailto://Luke.Maurer@alumni.carleton.edu Luke Maurer], recent graduate of Carleton College, just looking to get my hands dirty
|
|
- [ Jeremy Gibbons](http://www.comlab.ox.ac.uk/jeremy.gibbons/), University of Oxford, generally curious about GHC internals - especially advanced aspects of typing
|
|
* [http://www.cs.uu.nl/wiki/Atze/WebHome Atze Dijkstra], Universiteit Utrecht, working on [http://www.cs.uu.nl/wiki/Ehc/WebHome EHC], interested to see what can be reused/learned/shared/etc.
|
|
- [ Brett Letner](http://www.galois.com/), Galois, interested in code coverage tool for Haskell.
|
|
* [http://www.cs.uu.nl/wiki/Swierstra/WebHome Doaitse Swierstra], Universiteit Utrecht, working on [http://www.cs.uu.nl/wiki/Ehc/WebHome EHC], interested to see what can be reused/learned/shared/etc.
|
|
- [ Chad Scherrer](http://www.pnl.gov), Pacific Northwest National Laboratory, interested in computational math and statistics
|
|
* [http://www.eecs.harvard.edu/~nr Norman Ramsey], interested in either code generation or refactoring some part of the run-time system (and would really like to learn more about how the run-time system is put together, even if it's too big for a weekend hack).
|
|
- [ Karl Crary](http://www.cs.cmu.edu/~crary), CMU, working on a Haskell-driven typesetting system
|
|
* [http://www.csee.ogi.edu/~diatchki Iavor S. Diatchki], interested in Haskell for systems programming/type checking (general improvement rules)
|
|
- Luke Maurer, recent graduate of Carleton College, just looking to get my hands dirty
|
|
* [mailto://devriese@cs.tcd.ie Edsko de Vries], interested in type systems (I work on uniqueness typing, a substructural type system), and generic programming
|
|
- [ Atze Dijkstra](http://www.cs.uu.nl/wiki/Atze/WebHome), Universiteit Utrecht, working on [ EHC](http://www.cs.uu.nl/wiki/Ehc/WebHome), interested to see what can be reused/learned/shared/etc.
|
|
* [mailto://mboes@galois.com Mathieu Boespflug] Interested in implementing John Meacham's [http://repetae.net/john/recent/out/classalias.html class alias proposal].
|
|
- [ Doaitse Swierstra](http://www.cs.uu.nl/wiki/Swierstra/WebHome), Universiteit Utrecht, working on [ EHC](http://www.cs.uu.nl/wiki/Ehc/WebHome), interested to see what can be reused/learned/shared/etc.
|
|
* [mailto:adams-moran@galois.com Andy Adams-Moran], interested in making cross-compiling with GHC easier, and in learning more about the innards of the compiler (versus the RTS)
|
|
- [ Norman Ramsey](http://www.eecs.harvard.edu/~nr), interested in either code generation or refactoring some part of the run-time system (and would really like to learn more about how the run-time system is put together, even if it's too big for a weekend hack).
|
|
* [mailto:atomb@soe.ucsc.edu Aaron Tomb], University of California, Santa Cruz, interested in formal verification of Haskell programs, advanced type systems, and learning about the internals of GHC
|
|
- [ Iavor S. Diatchki](http://www.csee.ogi.edu/~diatchki), interested in Haskell for systems programming/type checking (general improvement rules)
|
|
* [http://www.cs.chalmers.se/~bringert/ Björn Bringert], Chalmers University of Technology and Göteborg University, want to learn about the internals of GHC for future projects, possibly implement instance deriving for GADTs
|
|
- Edsko de Vries, interested in type systems (I work on uniqueness typing, a substructural type system), and generic programming
|
|
* [http://www.iai.uni-bonn.de~/loeh/ Andres Löh], University of Bonn, interested in type systems and generic programming
|
|
- Mathieu Boespflug Interested in implementing John Meacham's [ class alias proposal](http://repetae.net/john/recent/out/classalias.html).
|
|
* [http://www.xoltar.org Bryn Keller], interested bystander. Interested in generating code for unusual targets (e.g. JavaScript, Flash, .Net, etc.).
|
|
- Andy Adams-Moran, interested in making cross-compiling with GHC easier, and in learning more about the innards of the compiler (versus the RTS)
|
|
* Ian Lynagh, interested in all parts.
|
|
- Aaron Tomb, University of California, Santa Cruz, interested in formal verification of Haskell programs, advanced type systems, and learning about the internals of GHC
|
|
* [mailto:brandonm@yahoo-inc.com Brandon Moore], Yahoo. Interested in types, syntax extension.
|
|
- [ Björn Bringert](http://www.cs.chalmers.se/~bringert/), Chalmers University of Technology and Göteborg University, want to learn about the internals of GHC for future projects, possibly implement instance deriving for GADTs
|
|
* Ravi Nanavati, Bluespec. Interested in being able to fix GHC bugs before they burn me.
|
|
- [ Andres Löh](http://www.iai.uni-bonn.de~/loeh/), University of Bonn, interested in type systems and generic programming
|
|
|
|
- [ Bryn Keller](http://www.xoltar.org), interested bystander. Interested in generating code for unusual targets (e.g. JavaScript, Flash, .Net, etc.).
|
|
``` |
|
- Ian Lynagh, interested in all parts.
|
|
|
|
- Brandon Moore, Yahoo. Interested in types, syntax extension. |
|
|