(Retrospective edit to show the Monad workshop that took place. (I'm applying for a teaching job, and need evidence that the workshop really happened!))
|(2 intermediate revisions by 2 users not shown)|
Latest revision as of 22:42, 16 November 2009
AngloHaskell 2009 is taking place on the 7th of August at MSR Cambridge, with further activities on the 8th. It's free, and everyone is invited! Simply add your name to the wiki and we'll see you there :-)
Organisational contact: Neil Mitchell, 07876 126 574. If you are lost or confused just give Neil a ring. If Neil's phone is busy, you can also drop Sam Martin a line on 07947 249 476. If you need help when you arrive at the train station, Peter McArthur (07804 596282) lives just nearby.
We're still looking for people willing to put someone up for the night (even if on a floor) would also be much appreciated. Any volunteers?
 1 Date and Venue
7th-8th of August in Cambridge, UK, starting with talks at Microsoft Research and with more planning to happen below.
 1.1 Directions to MSR
MSR has some directions, which can be best summarised as ‘get a taxi’. Here is (hopefully) a Google Earth location of MSR, as well as a Google Maps link. (J J Thomson Avenue is immediately west of Clerk Maxwell Road.)
If the weather is co-operative, the best way to get around Cambridge is by bike. If you're bringing a bike, you could ask Peter McArthur to be your guide.
If you do take a taxi and the driver doesn't know where it is, tell him or her to drive down Madingley Road until you reach the West Cambridge site, J J Thomson Avenue. The Computer Laboratory (next door) has marginally better instructions.
The fastest way to MSR (on foot and public transport) from the station is to cut through to Trumpington Road via Bateman Street (don't follow the driving directions!), and take the Citi 4 or Uni 4. There's a bus stop just across the road from Bateman Street.
To get to the city centre by bus, take the Citi 1 or Citi 3. Do ask to make sure they're going in the right direction though! There are also a number of clearly marked shuttle busses between the centre and station running during the day every 10 minutes or so.
To walk to the centre (20 minutes not carrying luggage), go straight down the road facing you when you come out of the station, bear right when the road ends at some traffic lights / a WW1 memorial / the botanic gardens, and keep walking straight (Hills Road / Regent St / St Andrews St) for quite a while until you reach a pedestrianised bit, at which point you are in the centre.
From the city centre to MSR, you can catch the number 77 Madingley Road Park and Ride which goes from bus stop M on Emma St. (Or find your way to Pembroke or Silver Street, and catch the Citi 4 / Uni 4 from there.) (Note that the 77 doesn't stop by MSR any more, it goes to the park and ride from which you have to walk back, 10-15 mins. This caught me out the other day --SimonM)
 1.1.1 Parking
To be verified:
Some parking spaces will be available around the back of the MSR building. To get out again, drivers will need to talk to reception to obtain a token.
 2 Attendees
Per last year, all attendees should bring or make a nametag that identifies you by your real name and/or IRC name. If anyone wants to drag a roll of stickers and a pen along that'll help!
If you can't make the start on Friday, or can only make it on Saturday, that's fine. If you're not sure where everyone's going to be, give one of the contacts a call or a text.
 2.1 Definite
- Philippa Cowderoy
- Neil Mitchell
- Eric Kow
- Tom Schrijvers
- Eric Macaulay
- Peter McArthur
- Tristan Allwood (Friday only)
- Neil Brown (Friday only)
- Sam Martin
- Thomas Schilling
- Edwin Brady
- Tony Cowderoy
- Ashley Moran
- Richard Smith
- Tom Ellis
- A O Van Emmenis (Friday only)
- Joe Edmonds
- Derek Wright
 2.2 Possible
- Lennart Augustsson
- Magnus Therning
- Michael Dever (Travelling over from Ireland, so if anyone else is going, get in touch :) )
- Cal Paterson
- Jón Fairbairn (probably only Friday afternoon)
- Michael Furniss
- James Rowe (Friday only)
- Richard Barrell
- Jon Pretty
- Chris Doran
- Jeremy Yallop (Friday only)
 2.3 Wifi signup
Wifi accounts are available on request. The signup deadline's the 31st of July. Everyone wanting an account should provide:
- Full name
- Country of residence
- email address
If you'd prefer not to give details here, please email Philippa at flippa at flippac dot org with the subject "Wifi signup".
- Philippa Cowderoy, flippac.org, UK, flippa at flippac dot org
- Ganesh Sittampalam, Credit Suisse, UK, email@example.com
- Neil Brown, University of Kent, UK, firstname.lastname@example.org
- Eric Kow, University of Brighton, UK, kowey at darcs dot net
- Peter McArthur, dysfunctor.org, UK, peter dot mcarthur at gmail dot com
- Tristan Allwood, Imperial College, UK, email@example.com
- Edwin Brady, University of St Andrews, UK, firstname.lastname@example.org
- Tony Cowderoy, MML, UK, tony dot cowderoy at mml-net dot com
- Richard Barrell, ???, UK, mycatverbs at gmail dot com.
 3 Lodging
It's likely that there'll be people in need of crashspace and so forth, so please organise here! Both offers and requests are good.
- I live in a studio flat near the station. I could accommodate one person, but if you value your personal space or privacy then this isn't the place for you. Peter McArthur
 3.1 Nearby Colleges
Many of undergraduate colleges offer cheap accommodation over the holidays. Locations near MSR include Churchill College (online booking), Wolfson Court (an annexe of Girton College), Fitzwillian College, Robinson College,
New Hall (female only; recently renamed) and Burwells Field (an annexe of Trinity College). (This map might prove useful.)
 3.2 Hostels
There's a fairly inexpensive YHA hostel in Cambridge.
Another guest house right next to the station is Tenison Towers (01223 363924).
 4 Programme
Planning will be taking place on IRC as per previous years: #anglohaskell on irc.freenode.net
If you're having trouble following things on IRC, the discussion page on the wiki might be a good place to leave comments and questions.
Previous years in Cambridge we had talks in the day on a Friday, followed by pubbage in the evening and assorted activities on the Saturday. This seemed to work, so we'll follow a similar model this year. Sadly we can't have talk space at MSR on a Saturday.
 4.1 Timetable
This is somewhat preliminary and subject to change as talks are confirmed or otherwise, but the overall structure should hold:
|Friday||10am||People start arriving at MS Research|
|10:30 am||Tea, coffee and biscuits|
|shortly after||Talk 1|
|~11:30 pm||Talk 2|
|~12:00 pm||Talk 3|
|~12:30 pm||Talk 4|
|2pm||Future of Anglohaskell|
|3:30pm||Tea, coffee and biscuits|
|4:??pm||Functional Grit - small talks that may grow into functional pearls. Open session, anyone can give a quick talk!|
|When people get hungry or MSR kick us out||Food! Likely we'll head out for a curry|
|Beer o'Clock||When everyone's finished eating, we'll head for a nearby pub|
|Saturday||11am||Brunch, chat and impromptu hacking at The Regal - at least someone will stay on until 1pm, next activity may start earlier though, anyone who may show up late should keep phone numbers for one or more of the contacts|
|1pm||Afternoon activities - Monad workshop|
 4.2 Talks
Volunteers please! Previously we have had a largely more practical set of talks than you might find at Fun in the Afternoon or an academic event. This was a good thing, and some of the best talks were from people who were far from considering themselves as experts, so feel free to tell us about your experiences.
In the event that more talks are offered than we have time for at MSR, we'll have to work out what we can do to find more time.
Talks planned and/or offered:
- Neil Mitchell - hopefully "Make Considered Harmful"
- Tom Schrijvers - "Monadic Constraint Programming"
- Tristan Allwood - "Using the GHC API to automatically find errors"
- Neil Brown - "CSP Models on the Cheap" (like several others, I spoke last year -- so others should have priority if we get too many talks)
- Sam Martin - "Functional languages in games development: plotting the coup"
- Peter McArthur - Saturday afternoon workshop: "From Map to Monads" Monads for the nervous
 4.2.1 Abstracts
People giving talks should add these as they have them :-)
- Monadic Constraint Programming
A constraint programming system combines two essential components: a constraint solver and a search engine. The constraint solver reasons about satisfiability of conjunctions of constraints, and the search engine controls the search for solutions by iteratively exploring a disjunctive search tree defined by the constraint program.
The Monadic Constraint Programming framework gives a monadic definition of constraint programming where the solver is defined as a monad threaded through the monadic search tree. Search and search strategies can then be defined as first-class objects that can themselves be built or extended by composable search transformers. Search transformers give a powerful and unifying approach to viewing search in constraint programming, and the resulting constraint programming system is first class and extremely flexible.
- CSP Models on the Cheap
Hoare's Communicating Sequential Processes and the model-checker FDR provide a way to check implementations of concurrent programs against formal specifications and also to check for deadlock-freedom. The Communicating Haskell Processes (CHP) library already provides a way to implement CSP-style message-passing concurrency in Haskell using a CHP monad. In this talk, I discuss substituting the definition of the CHP monad for one that emits a formal model of the program, never requiring the full program to be executed and bypassing the need for source code analysis. This model can then be checked for deadlock or refinement of a specification. I will explain how several features of Haskell make this work possible, particularly monads, purity and lazy evaluation.
- Make Considered Harmful
The hardest part when writing a compiler for a functional language seems to be the make system - how to compile the compiler. GHC has rewritten its build system from scratch at least 3 times. Yhc died under 10,000 lines of Python Scons scripts. There have been many alternatives to make proposed (SCons, CMake ...) but none of them seem to work as well as one might hope. This talk discusses an alternative approach, writing a make system as a Haskell program with a suitable make library providing a convenient DSL. Practical experience suggests that this approach is the only sensible choice for a build system.
- Functional languages in games development: plotting the coup
As a games developer by trade, my experience of the industry leads me to suspect games development is approaching a tipping point where functional languages could enact a successful coup. The revolution would claim a chunk of C++-owned territory for the victor and mark an important milestone in the development of functional languages. It will not be easy. Games development is notoriously demanding and the successful functional language would need to meet stringent performance requirements, have clearly demonstrable 'killer apps', jump through hoops of fire and tell jokes at parties. This talk will discuss how close Haskell is to meeting these demands, the challenges that remain, evidence of functional languages already in games, and how Haskell compares against its nearest competitors.
- Irulan: Using the GHC API to automatically find errors (WIP)
A description of a work-in-progress tool that automatically constructs expressions using exported function symbols from a module, with the aim of finding expressions that cause a user error. This talk will overview what the tool does now, and some of the optimisations it makes when exploring the very large search space of possible expressions.
- From Map to Monads
Saturday afternoon workshop.
Monads are a major stumbling block for most Haskell newcomers. Metaphors don't help. This workshop tries to approach Monads edge on through a series of examples, starting from familiar territory.
Please bring a laptop. You will need to be able to load a .lhs file at the Haskell interactive shell (hugs or ghci). Some familiarity with Haskell, including type classes, is assumed.
 4.2.2 Functional Grit
In previous years there has been a successful 'functional grit' section. Usually an informal session for people to briefly talk/demo works in progress, no need to pre-register, just turn up and talk. Think small stones that might turn into functional pearls. If there's time it'd be great to do again this year.
 4.3 Future of Anglohaskell
In previous years there's not really been much of a plan - the first year was classic benevolent opportunism when the GHC maintainer interviews brought a number of people together, and then someone offered to run the next year in the pub each year. There was a bit of a hiccup this year. At the same time, four years starts to seem like tradition. Time to work out what the tradition should really be, no?
Rather than a talk, this'll be a discussion session. Any and all ideas welcome. Organisers for future years doubly so!
 4.4 Other activity
After Friday's talks, food and drink would be a good idea! Curry is traditional and probably the default, but we're open to other suggestions. After that, we'll retreat to a pub for the evening.
Repeating previous years, I suggest we go to The Regal for brunch on Saturday to kick off with. That's the Wetherspoons from previous years. After that, punting again if it's not raining too much? Any suggestions for if it's wet?