Difference between revisions of "ZuriHac2013"
Basvandijk (talk | contribs) (Add note about the Europlug) |
Basvandijk (talk | contribs) (Direct link to better.com) |
||
(38 intermediate revisions by 5 users not shown) | |||
Line 26: | Line 26: | ||
|- |
|- |
||
|Where: |
|Where: |
||
− | |Erudify, Zurich, Switzerland |
+ | |Erudify (now known as Better), Zurich, Switzerland |
|} |
|} |
||
---- |
---- |
||
'''Important:'''<br> |
'''Important:'''<br> |
||
− | Switzerland has [http://en.wikipedia.org/wiki/AC_power_plugs_and_sockets#Swiss_SEV_1011_.28Swiss_10.C2.A0A.2F250.C2.A0V.29.28Type_J.29 its own power sockets]. We can't provide converters for everybody so make sure to bring one along. Do note |
+ | Switzerland has [http://en.wikipedia.org/wiki/AC_power_plugs_and_sockets#Swiss_SEV_1011_.28Swiss_10.C2.A0A.2F250.C2.A0V.29.28Type_J.29 its own power sockets]. We can't provide converters for everybody so make sure to bring one along. Do note that the [http://en.wikipedia.org/wiki/AC_power_plugs_and_sockets#CEE_7.2F16_Europlug_.28Type_C.29 Europlug] will fit in a Swiss power socket. There's an electronics shop [https://maps.google.ch/maps?q=Fust+Center+Eschenmoser&hl=en&cid=6177809817081314569&gl=CH&t=m&z=16&iwloc=A Fust Center Eschenmoser] very near our office where you can buy converters. |
|
|
||
Line 50: | Line 50: | ||
== Sponsors == |
== Sponsors == |
||
− | [[ |
+ | [[File:better.png|300px]] |
− | [ |
+ | [http://www.better.com Better] (formerly known as Erudify) will host the Hackathon. |
Line 83: | Line 83: | ||
To learn more about the city, please see the [http://en.wikipedia.org/wiki/Zurich '''Wikipedia'''] and [http://wikitravel.org/en/Zurich '''Wikitravel'''] articles. |
To learn more about the city, please see the [http://en.wikipedia.org/wiki/Zurich '''Wikipedia'''] and [http://wikitravel.org/en/Zurich '''Wikitravel'''] articles. |
||
− | * The Zurich FP Afternoon will be hosted at ETH, building: CAB, room: G61, address: Universitätstrasse 6, Zürich. |
+ | * The Zurich FP Afternoon will be hosted at [http://www.rauminfo.ethz.ch/Rauminfo/grundrissplan.gif?region=Z&areal=Z&gebaeude=CAB&geschoss=G&raumNr=61 ETH, building: CAB, room: G61], address: [https://maps.google.com/maps?q=cab+zurich&hl=en&ll=47.378151,8.548077&spn=0.001041,0.005845&sll=37.0625,-95.677068&sspn=84.226897,191.513672&hq=cab&hnear=Zurich,+Canton+of+Zurich,+Switzerland&t=m&fll=47.378178,8.548114&fspn=0.009212,0.023378&layer=c&cbll=47.378152,8.548077&panoid=p0nIrEwC3UaWPZmRJjLN6g&cbp=11,64.77,,0,0&z=19 Universitätstrasse 6, Zürich]. |
+ | * ZuriHac will be hosted at the Erudify offices, [https://maps.google.ch/maps?q=Gr%C3%BCngasse+19,+Z%C3%BCrich&hl=en&ie=UTF8&ll=47.372947,8.525573&spn=0.008734,0.009559&sll=47.373386,8.524925&layer=c&cbp=13,222.55,,0,0.06&cbll=47.373504,8.525083&hnear=Gr%C3%BCngasse+19,+Kreis+4,+8004+Z%C3%BCrich&t=h&z=17&iwloc=A&panoid=vqb-ZHsYZ3d-SIhVYQeEoQ Grüngasse 19, Zürich]. |
||
− | * ZuriHac will be hosted at the Erudify offices, Grüngasse 19, Zürich. |
||
=== Getting around === |
=== Getting around === |
||
Line 124: | Line 124: | ||
Transport between the Hostel and Hackathon is very easy with the Trolley Bus 33. |
Transport between the Hostel and Hackathon is very easy with the Trolley Bus 33. |
||
− | Other options we recommend |
+ | Other options we recommend are [http://www.wimdu.com/zurich Wimdu] or [https://www.airbnb.com/s/Zurich--Switzerland?checkin=08%2F29%2F2013&checkout=09%2F01%2F2013 Airbnb]. |
== Schedule == |
== Schedule == |
||
Line 133: | Line 133: | ||
{| border=1 style="border: 1px solid darkgray; border-collapse:collapse; " |
{| border=1 style="border: 1px solid darkgray; border-collapse:collapse; " |
||
|- |
|- |
||
− | ! Time !! Speaker !! Title !! Abstract |
+ | ! Time !! Speaker !! Title !! Abstract !! Slides |
|- valign="top" valign="top" style="background: Chartreuse" |
|- valign="top" valign="top" style="background: Chartreuse" |
||
− | | 13:00 || [[File:Zurihac2013.png|50px|top]] || Registration || Food and drinks provided by Google |
+ | | 13:00 || [[File:Zurihac2013.png|50px|top]] || Registration || Food and drinks provided by Google || |
|- valign="top" |
|- valign="top" |
||
| 13:30 || [[File:Simon_Marlow.jpg|50px|top]] Simon Marlow || '''Keynote:''' The Haxl Project at Facebook || Writing code in an environment as large and complex as Facebook involves talking to many different back-end services, including databases, search engines, caches, and so forth. Each of these data sources has different characteristics and requires different access patterns to make best use of its resources. Typical front-end code will need to access many of these resources concurrently, but the programmer doesn't want to be concerned with the details of how best to access each resource. Moreover, we want to be able to write our code in a modular way and yet have concurrent accesses to the back-end services automatically batched and overlapped for us. |
| 13:30 || [[File:Simon_Marlow.jpg|50px|top]] Simon Marlow || '''Keynote:''' The Haxl Project at Facebook || Writing code in an environment as large and complex as Facebook involves talking to many different back-end services, including databases, search engines, caches, and so forth. Each of these data sources has different characteristics and requires different access patterns to make best use of its resources. Typical front-end code will need to access many of these resources concurrently, but the programmer doesn't want to be concerned with the details of how best to access each resource. Moreover, we want to be able to write our code in a modular way and yet have concurrent accesses to the back-end services automatically batched and overlapped for us. |
||
Line 146: | Line 146: | ||
operation, all external data access is implicitly performed in parallel where |
operation, all external data access is implicitly performed in parallel where |
||
possible. |
possible. |
||
+ | || [https://github.com/meiersi/HaskellerZ/blob/master/meetups/20130829-FPAfternoon_The_Haxl_Project_at_Facebook/The%20Haxl%20Project%20at%20Facebook.pdf?raw=true Slides] |
||
|- valign="top" style="background: Chartreuse;" |
|- valign="top" style="background: Chartreuse;" |
||
− | | 14:30 || ''Break'' || || Food and drinks provided by Google |
+ | | 14:30 || ''Break'' || || Food and drinks provided by Google || |
|- valign="top" |
|- valign="top" |
||
| 15:00 ||[[File:Erik Hesselink.jpg|50px|top]]Erik Hesselink || Functional programming at [http://silkapp.com/ Silk]. || At Silk we've been using functional programming for about 4 years now. We've used it to build a web application, coding in Haskell and Javascript. I will explain what we do, how we do it, and what we've found to be the strengths and weaknesses of Haskell and Javascript. |
| 15:00 ||[[File:Erik Hesselink.jpg|50px|top]]Erik Hesselink || Functional programming at [http://silkapp.com/ Silk]. || At Silk we've been using functional programming for about 4 years now. We've used it to build a web application, coding in Haskell and Javascript. I will explain what we do, how we do it, and what we've found to be the strengths and weaknesses of Haskell and Javascript. |
||
+ | || [https://github.com/meiersi/HaskellerZ/blob/master/meetups/20130829-FPAfternoon_Silk_Haskell_web_application_architecture/20130829-FPAfternoon_Silk_Haskell_web_application_architecture.pdf?raw=true Slides] |
||
|- valign="top" |
|- valign="top" |
||
− | | 15:35 || [[File:Gergely_Risko.png|50px|top]]Gergely Risko || [https://github.com/errge/ceh Ceh], power-user environments to share || It's a common problem to share user environments (editor, compiler, browser, etc.) between GNU/Linux computers: laptop on the move and desktop at home, or different engineering workstations of a product team. This is usually solved by using the GNU/Linux distribution's package manager. That fails if the |
+ | | 15:35 || [[File:Gergely_Risko.png|50px|top]]Gergely Risko || [https://github.com/errge/ceh Ceh], power-user environments to share || It's a common problem to share user environments (editor, compiler, browser, etc.) between GNU/Linux computers: laptop on the move and desktop at home, or different engineering workstations of a product team. This is usually solved by using the GNU/Linux distribution's package manager. That fails if the different engineers use different distributions or different versions. Ceh, building on Nix provides the same version controlled, reproducible power-user environment on top of any modern GNU/Linux, be it 64-bit or 32-bit. What makes it interesting for Haskellers is the fact that Nix applies the concept of purity and laziness on the filesystem level and package management level, and Ceh also has excellent GHC support with ~80 cabal packages included. ||[http://www.gergely.risko.hu/fpafternoon-zurich-20130829/ceh.html#(1) Slides] |
− | different engineers use different distributions or different versions. Ceh, |
||
− | building on Nix provides the same version controlled, reproducible power-user |
||
− | environment on top of any modern GNU/Linux, be it 64-bit or 32-bit. What |
||
− | makes it interesting for Haskellers is the fact that Nix applies the concept |
||
− | of purity and laziness on the filesystem level and package management level, |
||
− | and Ceh also has excellent GHC support with ~80 cabal packages included. |
||
|- valign="top" style="background: Chartreuse;" |
|- valign="top" style="background: Chartreuse;" |
||
− | | 16:10 || ''Break'' || || Food and drinks provided by Google |
+ | | 16:10 || ''Break'' || || Food and drinks provided by Google || |
|- valign="top" |
|- valign="top" |
||
| 16:40 || [[File:Thomas_Schilling.jpg|50px|top]]Thomas Schilling || A [https://github.com/nominolo/lambdachine virtual machine] for Haskell |
| 16:40 || [[File:Thomas_Schilling.jpg|50px|top]]Thomas Schilling || A [https://github.com/nominolo/lambdachine virtual machine] for Haskell |
||
Line 170: | Line 166: | ||
performed at runtime based on the program's behaviour. This talk describes |
performed at runtime based on the program's behaviour. This talk describes |
||
some of the challenges of the design and implementation of Lambdachine. |
some of the challenges of the design and implementation of Lambdachine. |
||
+ | || [https://github.com/meiersi/HaskellerZ/blob/master/meetups/20130829-FPAfternoon_Lambdachine/20130829-FPAfternoon_Lambdachine.pdf?raw=true Slides] |
||
|- valign="top" |
|- valign="top" |
||
| 17:15 || [[File:Luite_Stegeman.png|50px|top]]Luite Stegeman || Concurrent Haskell in the browser with [https://github.com/ghcjs/ghcjs GHCJS] || GHCJS is a Haskell to JavaScript compiler that supports many modern Haskell features, including lightweight threads, exceptions, Template Haskell and STM. Since It's based on GHC, we also get all recent type system extensions for free! |
| 17:15 || [[File:Luite_Stegeman.png|50px|top]]Luite Stegeman || Concurrent Haskell in the browser with [https://github.com/ghcjs/ghcjs GHCJS] || GHCJS is a Haskell to JavaScript compiler that supports many modern Haskell features, including lightweight threads, exceptions, Template Haskell and STM. Since It's based on GHC, we also get all recent type system extensions for free! |
||
Line 178: | Line 175: | ||
Haskell world, in particular how GHCJS lets us avoid callback hell for HTTP |
Haskell world, in particular how GHCJS lets us avoid callback hell for HTTP |
||
requests and event handling in the browser. |
requests and event handling in the browser. |
||
+ | || [https://github.com/meiersi/HaskellerZ/blob/master/meetups/20130829-FPAfternoon_GHCJS/20130829-FPAfternoon_GHCJS.pdf?raw=true Slides] |
||
+ | |- valign="top" style="background: Chartreuse;" |
||
+ | | 17:50 || ''Prizegiving'' || || Announcement of Google prizes || |
||
|} |
|} |
||
</small> |
</small> |
||
Line 183: | Line 183: | ||
=== ZuriHac === |
=== ZuriHac === |
||
+ | ==== Friday ==== |
||
− | The official hacking hours for ZuriHac are 10:00 to 20:00 on Friday, 09:00 to 20:00 on Saturday and Sunday. |
||
+ | |||
+ | Hacking hours: 10:00 to 18:00. |
||
+ | |||
+ | ===== Introduction ===== |
||
+ | |||
⚫ | |||
+ | |||
+ | ===== BBQ ===== |
||
+ | |||
+ | Since the weather is lovely we'll go BBQing at Lake Zurich this afternoon! |
||
+ | |||
+ | * The plan is to leave at 18:00. |
||
+ | |||
+ | * We'll close the office at 18:00 so make sure you've got your stuff with you. |
||
+ | |||
+ | * To make it easier we'll go in two groups: |
||
+ | ** Group A will be lead by Simon Meier. |
||
+ | ** Group B will be lead by Bas van Dijk. |
||
+ | ** We'll assemble the groups at around 17:45. |
||
+ | |||
+ | * Everybody should bring their own food & drinks so we'll go shopping at: [https://maps.google.ch/maps?saddr=Gr%C3%BCngasse+19,+Z%C3%BCrich&daddr=Genossenschaft+Migros+Z%C3%BCrich,+Wengistrasse+7,+8004+Zurich&hl=en&ie=UTF8&ll=47.374273,8.524227&spn=0.002594,0.005681&sll=47.375134,8.523663&sspn=0.002594,0.005681&geocode=FUrc0gIdfRSCACnT_ovwGwqQRzGzmw-qajTgrg%3BFYfi0gIdLQ6CACnf-nNzGQqQRzFyoNByzNxPpg&oq=grun&gl=CH&dirflg=w&mra=ls&t=m&z=18 Migros at Wengistrasse 7] which is a 5 min. walk from ZuriHac. |
||
+ | |||
+ | * Then we take the S8 train: [https://maps.google.ch/maps?saddr=Z%C3%BCrich,+Wiedikon+%4047.371469,8.523461&daddr=Wollishofen,+Zurich&hl=en&ie=UTF8&sll=47.359467,8.528566&sspn=0.041513,0.090895&geocode=Fc3U0gIdxQ6CAA%3BFVh40gIdEzaCACmRK9RF2AmQRzGqP7t2jjW0fQ&oq=wollis&gl=CH&dirflg=r&ttype=dep&date=08%2F30%2F13&time=18:40&noexp=0&noal=0&sort=def&mra=ls&t=m&z=14&start=0 from Wiedikon to Wollishofen] at 18:47. |
||
+ | |||
+ | * Make sure to [http://www.zvv.ch/en/tickets/automatic-ticket-machine/index.html buy a ticket] because Swiss train conductors know no mercy. I suggest you buy a "Tageskarte" (which is a ticket for 24 hours) for zone 10. |
||
+ | |||
+ | * The BBQ location is: [https://maps.google.ch/?ll=47.345842,8.536197&spn=0.001835,0.00284&t=h&z=19 in the park at the Bachstrasse near Lake Zurich]. |
||
+ | |||
+ | * If you like you can take a dive in the lake. The water is around 22°C. So make sure to pack a swimsuit and towel. |
||
+ | |||
+ | [[Image:ZuriHac_BBQ_1.jpg|x250px]] |
||
+ | [[Image:ZuriHac_BBQ_2.jpg|250px]] |
||
+ | [[Image:ZuriHac_BBQ_4.jpg|250px]] |
||
+ | [[Image:ZuriHac_BBQ_3.jpg|x250px]] |
||
+ | |||
+ | ==== Saturday ==== |
||
+ | |||
+ | Dinner: Pizza! |
||
+ | |||
+ | * We'll order pizzas at the standard Erudify pizza place: Molino at Stauffacher. |
||
+ | |||
+ | * Please [http://molino.ch/en/restaurants/zurich-stauffacher/food-beverages.html choose your order] (I can recommend Pizza Miss Italia) |
||
+ | |||
+ | * Bas will come by and take your order and your money ;-) |
||
+ | |||
+ | * The organizers will get the pizzas and we'll eat them at ZuriHac. |
||
+ | |||
+ | ==== Sunday ==== |
||
+ | |||
+ | ===== Demoday ===== |
||
+ | * We would like to organize a Demo / Lightning-talk session at '''13:30''' today. |
||
+ | |||
+ | * Please come to Bas if you would like to demo something or like to give a lightning talk. |
||
+ | |||
+ | * Please keep your demo's/talks shorter than '''5 minutes'''. |
||
+ | * Program: |
||
⚫ | |||
+ | ** Duncan Coutts: Lightning talk: "async I/O vs sync I/O" & "[http://new-new-hackage.haskell.org/ Hackage 2]". |
||
+ | ** Simon Meier: Demo: "Outlook on an improved binary serialization". |
||
+ | ** Simon Hengel: Demo: "Source locations for error / undefined / failing tests". |
||
+ | ** Patrick Premont: Talk: "[http://hackage.haskell.org/package/perdure Easily Persisting Large Immutable Data Structures]". |
||
+ | ** '''Break''' |
||
+ | ** Sjoerd Visscher: Demo: "[http://hackage.haskell.org/package/free-functors Free Functors]". |
||
+ | ** Roman Cheplyaka: Lightning talk: The status of the [https://github.com/haskell-suite Haskell Suite] |
||
+ | ** Erik Hesselink: Demo: "Halberd: automatically generating imports". |
||
+ | ** Mihaly Barasz: Demo: "SSTM, it's a thing!". |
||
+ | ** Gergely Risko: Demo: "[http://hackage.haskell.org/package/final the final library]". |
||
+ | ** Adam Bergmark: Talk: "[https://github.com/faylang/fay/wiki Fay]: status update". |
||
+ | [[Image:ZuriHac_Demoday_3.jpg|250px]] |
||
− | If the weather is good during ZuriHac we will stop a little earlier to go to Lake Zurich to have a BBQ. Make sure to pack your swimming suit! |
||
+ | [[Image:ZuriHac_Demoday_1.jpg|250px]] |
||
+ | [[Image:ZuriHac_Demoday_2.jpg|250px]] |
||
== Attendees == |
== Attendees == |
||
Line 198: | Line 266: | ||
The main communication channel during the Hackathon will be our IRC channel: '''#zurihac''' at Freenode. |
The main communication channel during the Hackathon will be our IRC channel: '''#zurihac''' at Freenode. |
||
− | '''#zurihac''' is our Twitter hashtag as well. |
+ | '''#zurihac''' is our Twitter/Google+ hashtag as well. |
== Organizers == |
== Organizers == |
Latest revision as of 12:15, 8 April 2014
Zurich FP Afternoon:
When: | Thursday, Aug 29th 2013 |
Hours: | 13:00 ~ 18:00 |
Where: | ETH, Zurich, Switzerland |
ZuriHac 2013:
When: | Friday, Aug 30th 2013 – Sunday, Sep 1st 2013 |
Hours: | 09:00 ~ 20:00 |
Where: | Erudify (now known as Better), Zurich, Switzerland |
Important:
Switzerland has its own power sockets. We can't provide converters for everybody so make sure to bring one along. Do note that the Europlug will fit in a Swiss power socket. There's an electronics shop Fust Center Eschenmoser very near our office where you can buy converters.
About
On Thursday, 29 August 2013 the Zurich HaskellerZ Meetup group will hold the "Zurich FP Afternoon". This will be a half-day event consisting of talks themed "Functional Programming in Industry". It will be held at ETH and will start with a keynote from Simon Marlow!
The Zurich FP Afternoon is followed by ZuriHac 2013, a three day Haskell Hackathon from Friday, 30 August until Sunday, 1 September hosted at the Erudify offices.
The Haskell Hackathon is an international, grassroots collaborative coding festival with a simple focus: build and improve Haskell libraries, tools, and infrastructure.
This is a great opportunity to meet your fellow haskellers in real life, find new contributors for your project, improve existing libraries and tools or even start new ones!
See ZuriHac for previous Hackathons in Zurich.
Sponsors
Better (formerly known as Erudify) will host the Hackathon.
Google Switzerland are providing financial and food support
ETH will host the Zurich FP Afternoon.
News
- 19 August 2013
- Google Switzerland is an official co-sponsor of ZuriHac 2013.
This enables us to give all attendees this free T-shirt:
and free food and drinks during the FP Afternoon!
Thanks Google!
- 24 July 2013
- Completed speakers schedule for the FP Afternoon.
- 10 June 2013
- Registration is now open!
Registration
To register please fill in the form.
Location
Zurich, Switzerland
To learn more about the city, please see the Wikipedia and Wikitravel articles.
- The Zurich FP Afternoon will be hosted at ETH, building: CAB, room: G61, address: Universitätstrasse 6, Zürich.
- ZuriHac will be hosted at the Erudify offices, Grüngasse 19, Zürich.
Getting around
Google map with important places
Local transport links:
Getting to the FP Afternoon Talks on the 29th from the Airport
Follow signs to the Tram 10 from the Airport arrivals. Take the Tram 10 direct to the stop "ETH/Universitätsspital"
Getting to the Zurich Youth Hostel from the Airport
Take any train that stops at Zurich Bahnhof Hardbrücke, transfer to the 33 Trolley bus going direction Morgental. Take 33 to Jugendherberge and you will see the Hostel.
Getting from the Youth Hostel to the FP Afternoon Talks
Walk to Morgental and take the number 7 Tram direction Bahnhof Stettbach. Change to the Number 10 or Number 6 Tram at the stop "Central" (direction Flughafen/Oerklion and Zoo) and get off at "ETH/Universitätsspital"
A note on day tickets:
Day tickets in Zurich run for 24 hours and can be used on all forms of transport, bus, train, tram.
Accommodation
We have spoken with the local Youth Hostel in Zurich and they will be able to group Haskellers together if you mention the code "ZuriHac2013" when booking and when you check in.
The website to book is here http://www.youthhostel.ch/en/hostels/zurich
Please be advised we do not have a hold on rooms so you should book sooner rather than later if you will attend! Erudify and the Youth Hostel can't guarantee space
The Hostel has good public transport links to the Hackathon and downtown Zurich.
Transport between the Hostel and Hackathon is very easy with the Trolley Bus 33.
Other options we recommend are Wimdu or Airbnb.
Schedule
FP Afternoon
Time | Speaker | Title | Abstract | Slides |
---|---|---|---|---|
13:00 | ![]() |
Registration | Food and drinks provided by Google | |
13:30 | ![]() |
Keynote: The Haxl Project at Facebook | Writing code in an environment as large and complex as Facebook involves talking to many different back-end services, including databases, search engines, caches, and so forth. Each of these data sources has different characteristics and requires different access patterns to make best use of its resources. Typical front-end code will need to access many of these resources concurrently, but the programmer doesn't want to be concerned with the details of how best to access each resource. Moreover, we want to be able to write our code in a modular way and yet have concurrent accesses to the back-end services automatically batched and overlapped for us.
This talk describes a system that we're building using Haskell that allows the front-end programmer writing business logic to access all the back-end services in a concise and consistent way, while the system handles batching and overlapping of requests to multiple data sources behind the scenes. The programming model is one of implicit concurrency: there's no fork or async operation, all external data access is implicitly performed in parallel where possible. |
Slides |
14:30 | Break | Food and drinks provided by Google | ||
15:00 | ![]() |
Functional programming at Silk. | At Silk we've been using functional programming for about 4 years now. We've used it to build a web application, coding in Haskell and Javascript. I will explain what we do, how we do it, and what we've found to be the strengths and weaknesses of Haskell and Javascript. | Slides |
15:35 | ![]() |
Ceh, power-user environments to share | It's a common problem to share user environments (editor, compiler, browser, etc.) between GNU/Linux computers: laptop on the move and desktop at home, or different engineering workstations of a product team. This is usually solved by using the GNU/Linux distribution's package manager. That fails if the different engineers use different distributions or different versions. Ceh, building on Nix provides the same version controlled, reproducible power-user environment on top of any modern GNU/Linux, be it 64-bit or 32-bit. What makes it interesting for Haskellers is the fact that Nix applies the concept of purity and laziness on the filesystem level and package management level, and Ceh also has excellent GHC support with ~80 cabal packages included. | Slides |
16:10 | Break | Food and drinks provided by Google | ||
16:40 | ![]() |
A virtual machine for Haskell | The Glasgow Haskell Compiler is a very good static compiler, but the code it produces is often large and it can be difficult to predict performance.
Furthermore, profiling a program often requires recompiling the program and all libraries it uses. This talk describes Lambdachine, a virtual machine and trace-based just-in-time (JIT) compiler for Haskell, which attempts to address these problems. Lambdachine reuses GHC for type checking and (optional) static optimisations, and complements it with additional optimisations performed at runtime based on the program's behaviour. This talk describes some of the challenges of the design and implementation of Lambdachine. |
Slides |
17:15 | ![]() |
Concurrent Haskell in the browser with GHCJS | GHCJS is a Haskell to JavaScript compiler that supports many modern Haskell features, including lightweight threads, exceptions, Template Haskell and STM. Since It's based on GHC, we also get all recent type system extensions for free!
In this talk I will explain how GHCJS hooks into the GHC pipeline to translate Haskell to JavaScript and discuss the challenges of compiling to a high level language. We will see how we can interact with JavaScript code from the Haskell world, in particular how GHCJS lets us avoid callback hell for HTTP requests and event handling in the browser. |
Slides |
17:50 | Prizegiving | Announcement of Google prizes |
ZuriHac
Friday
Hacking hours: 10:00 to 18:00.
Introduction
Please come before 11:00. At 11:00 there will be projects introduction and discussion.
BBQ
Since the weather is lovely we'll go BBQing at Lake Zurich this afternoon!
- The plan is to leave at 18:00.
- We'll close the office at 18:00 so make sure you've got your stuff with you.
- To make it easier we'll go in two groups:
- Group A will be lead by Simon Meier.
- Group B will be lead by Bas van Dijk.
- We'll assemble the groups at around 17:45.
- Everybody should bring their own food & drinks so we'll go shopping at: Migros at Wengistrasse 7 which is a 5 min. walk from ZuriHac.
- Then we take the S8 train: from Wiedikon to Wollishofen at 18:47.
- Make sure to buy a ticket because Swiss train conductors know no mercy. I suggest you buy a "Tageskarte" (which is a ticket for 24 hours) for zone 10.
- The BBQ location is: in the park at the Bachstrasse near Lake Zurich.
- If you like you can take a dive in the lake. The water is around 22°C. So make sure to pack a swimsuit and towel.
Saturday
Dinner: Pizza!
- We'll order pizzas at the standard Erudify pizza place: Molino at Stauffacher.
- Please choose your order (I can recommend Pizza Miss Italia)
- Bas will come by and take your order and your money ;-)
- The organizers will get the pizzas and we'll eat them at ZuriHac.
Sunday
Demoday
- We would like to organize a Demo / Lightning-talk session at 13:30 today.
- Please come to Bas if you would like to demo something or like to give a lightning talk.
- Please keep your demo's/talks shorter than 5 minutes.
- Program:
- Duncan Coutts: Lightning talk: "async I/O vs sync I/O" & "Hackage 2".
- Simon Meier: Demo: "Outlook on an improved binary serialization".
- Simon Hengel: Demo: "Source locations for error / undefined / failing tests".
- Patrick Premont: Talk: "Easily Persisting Large Immutable Data Structures".
- Break
- Sjoerd Visscher: Demo: "Free Functors".
- Roman Cheplyaka: Lightning talk: The status of the Haskell Suite
- Erik Hesselink: Demo: "Halberd: automatically generating imports".
- Mihaly Barasz: Demo: "SSTM, it's a thing!".
- Gergely Risko: Demo: "the final library".
- Adam Bergmark: Talk: "Fay: status update".
Attendees
See the list of people who are attending the FP Afternoon / ZuriHac 2013.
Projects
See the projects page.
IRC, Twitter
The main communication channel during the Hackathon will be our IRC channel: #zurihac at Freenode.
#zurihac is our Twitter/Google+ hashtag as well.
Organizers
The events are organized in name of the Zurich HaskellerZ meetup group by the following people:
- Alexander Bernauer (Google)
- Thomas Schilling (Erudify)
- Simon Meier (Erudify)
- Michela D'Amelio (Erudify)
- Dominic Small (Erudify)
- Ales Pospisil (Erudify)
- Bas van Dijk (Erudify)
For any questions or emergencies, you can always call Bas () at +41 791 285 624 or send an email to zurihac@erudify.com