https://wiki.haskell.org/api.php?action=feedcontributions&user=Eelco&feedformat=atomHaskellWiki - User contributions [en]2022-05-27T01:12:07ZUser contributionsMediaWiki 1.31.7https://wiki.haskell.org/index.php?title=Consultants&diff=42720Consultants2011-11-03T10:32:44Z<p>Eelco: Tupil is no longer available for Haskell consultancy</p>
<hr />
<div>== Europe ==<br />
; Well-Typed LLP http://www.well-typed.com/<br />
: The Haskell Consultants<br />
: Duncan Coutts, Ian Lynagh and Andres Löh<br />
: [mailto:info@well-typed.com info@well-typed.com]<br />
: UK and Germany<br />
<br />
== North-America ==<br />
; AppSolutions LLC http://www.appsolutions.com/<br />
: Anton van Straaten http://www.appsolutions.com/anton/<br />
: New York, Boston, Philadelphia, Washington DC<br />
<br />
; Brett Letner http://www.linkedin.com/in/brettletner<br />
: Lawrence, KS, USA<br />
<br />
; Chris Forno [http://jekor.com/ http://jekor.com/]<br />
: San Francisco<br />
<br />
; LambdaPix http://lambdapix.com<br />
: Conal Elliott<br />
: Blog: http://conal.net/blog<br />
: San Andreas, CA, USA<br />
<br />
; OM Consulting Limited ''[mailto:omconsult@gmail.com omconsult@gmail.com]'' :Intelligent solutions.<br />
<br />
; Simon Michael http://joyful.com<br />
: Los Angeles<br />
<br />
[[Category:Community]]</div>Eelcohttps://wiki.haskell.org/index.php?title=Haskell_in_industry&diff=36488Haskell in industry2010-08-13T21:31:01Z<p>Eelco: Updated Tupil's entry</p>
<hr />
<div>__NOTOC__<br />
<br />
Haskell has a diverse range of use commercially, from aerospace and defense, to finance, to web startups, hardware design firms and a lawnmower manufacturer. This page collects resources on the industrial use of Haskell.<br />
<br />
[http://industry.haskell.org/ http://industry.haskell.org/ihg-logo.png]<br />
<br />
In February 2009 the [http://industry.haskell.org/ Industrial Haskell Group] was launched to support the needs of commercial users of the Haskell programming language. Phase 2 of the effort, expanding membership to research groups and startups with smaller budgets, was [http://www.haskell.org/pipermail/haskell/2009-November/021734.html launched in November 2009]<br />
<br />
The main user conference for industrial Haskell use is CUFP - the [http://cufp.org/ Commercial Users of Functional Programming Workshop]. The annual conference is coming up in October 2010.<br />
<br />
== Industrial Haskell: 2009 status report ==<br />
<br />
===Industrial Haskell Group===<br />
<br />
For the first time, in 2009, a consortium of companies came together to fund continued development of Haskell and its toolchain. The result is the [http://industry.haskell.org IHG], [http://www.haskell.org/pipermail/haskell/2009-March/021060.html launched] earlier in the year. The initial round of funding resulted in [http://industry.haskell.org/status several improvements to the ecosystem.] The group is seeking to [http://industry.haskell.org/join expand membership in 2010] to further consolidate the commercial strength Haskell. The [http://www.vimeo.com/6697688 Birth of the IHG] was presented at the &quot;[http://cufp.galois.com/ Commercial Users of Functional Programming]&quot; workshop.<br />
<br />
===CUFP===<br />
<br />
2009's [http://cufp.org Commercial Users of Functional Programming] workshop was held in Edinburgh, and included talks on:<br />
<br />
* [http://www.vimeo.com/6703480 Real World Haskell];<br />
* [http://www.vimeo.com/6701254 Teleconferencing on maps in Haskell];<br />
* [http://www.vimeo.com/6699769 Functional Programming at Facebook].<br />
<br />
Next year's CUFP will be held in Baltimore.<br />
<br />
===Industrial reports===<br />
<br />
A number of experience reports on the use of Haskell were presented in 2009:<br />
<br />
* As part of [http://galois.com Galois]' 10th birthday, Don Stewart presented a talk at the [http://www.londonhug.net/ LondonHUG] on [http://www.galois.com/blog/2009/04/27/engineering-large-projects-in-haskell-a-decade-of-fp-at-galois/ Engineering Large Projects in Haskell], celebrating a decade of use of Haskell by Galois.<br />
* [http://www.typlab.com/ TypLAB], a new startup [http://blog.typlab.com/2009/09/why-we-use-haskell/ talked about why they use Haskell].<br />
* Facebook released its [http://github.com/facebook/lex-pass/tree/master lex-pass tool to automate changes to a PHP codebase, by writing abstract-syntax-tree transformers in Haskell]; and <br />
* [http://www.starling-software.com/en/ Starling Software] described [http://www.starling-software.com/misc/icfp-2009-cjs.pdf building a real time financial trading system in Haskell] :: PDF.<br />
* Tom Hawkin's [http://hackage.haskell.org/package/atom/ Atom EDSL] for control systems [http://www.haskell.org/pipermail/haskell-cafe/2009-July/064775.html went into production use] in trucks and buses, and is [http://www.haskell.org/pipermail/haskell-cafe/2009-December/070558.html starting to be used] on a NASA runtime monitoring project.<br />
* The [http://www.cryptol.net Cryptol] release got [http://developers.slashdot.org/article.pl?sid=08/12/26/1725208 slashdotted].<br />
* [http://blog.tupil.com/building-commercial-haskell-applications/ Tupil.com] talked about their experiences building commercial web apps in Haskell.<br />
<br />
== Haskell in Industry ==<br />
<br />
Many companies have used Haskell for a range of projects, including:<br />
<br />
* [http://cufp.galois.com/2007/abstracts.html#CyrilSchmidt ABN AMRO] Amsterdam, The Netherlands<br />
<blockquote><br />
ABN AMRO is an international bank headquartered in Amsterdam. For its<br />
investment banking activities it needs to measure the counterparty risk<br />
on portfolios of financial derivatives. </blockquote><br />
::ABN AMRO's [http://cufp.galois.com/2007/abstracts.html#CyrilSchmidt CUFP talk].<br />
<br />
* [http://www.aetion.com/ Aetion Technologies LLC] Columbus, Ohio<br />
<blockquote><br />
Aetion is a defense contractor whose applications use artificial intelligence.<br />
Rapidly changing priorities make it important to minimize the code impact of<br />
changes, which suits Haskell well. Aetion has developed three main projects in<br />
Haskell, all successful. Haskell's concise code was perhaps most important for<br />
rewriting: it made it practicable to throw away old code occasionally. DSELs<br />
allowed the AI to be specified very declaratively. <br />
</blockquote><br />
::Aetion's [http://cufp.galois.com/2006/slides/GaryMorris.pdf CUFP talk].<br />
<br />
* [http://www.amgen.com/ Amgen] Thousand Oaks, California<br />
<blockquote><br />
Amgen is a human therapeutics company in the biotechnology industry. Amgen pioneered the development of novel products based on advances in recombinant DNA and molecular biology and launched the biotechnology industry’s first blockbuster medicines.<br />
<br />
Amgen uses Haskell;<br />
<br />
* To rapidly build software to implement mathematical models and other complex, mathematically oriented applications<br />
* Provide a more mathematically rigorous validation of software<br />
* To break developers out of their software development rut by giving them a new way to think about software.<br />
</blockquote><br />
::Amgen's [http://cufp.galois.com/2008/abstracts.html#BalabanDavid CUFP talk].<br />
<br />
* [http://www.ansemond.com/ Ansemond LLC]<br />
<blockquote><br />
"Find It! Keep It! is a Mac Web Browser that lets you keep the pages you<br />
visit in a database. A list of these pages is shown in the 'database<br />
view'. "<br />
</blockquote><br />
<br />
* [http://antiope.com/ Antiope] Fair Haven, New Jersey<br />
<blockquote><br />
Antiope Associates provides custom solutions for wireless communication<br />
and networking problems. Our team has expertise in all aspects of<br />
wireless system design, from the physical and protocol layers to complex<br />
networked applications. Antiope Associates's relies on a number of<br />
advanced techniques to ensure that the communication systems we design<br />
are reliable and free from error. We use custom simulation tools<br />
developed in Haskell, to model our hardware designs..<br />
</blockquote><br />
::Antiope's [http://cufp.galois.com/2008/slides/WrightGregory.pdf CUFP talk].<br />
<br />
* [http://www.att.com AT&amp;T]<br />
<blockquote><br />
Haskell is being used in the Network Security division to automate processing of internet abuse complaints. Haskell has allowed us to easily meet very tight deadlines with reliable results.<br />
</blockquote><br />
<br />
* [http://www.anygma.com/ Anygma] Antwerp, Belgium<br />
<blockquote><br />
Anygma is a startup company focusing on generating easy-to-use tools for<br />
creating audio-visual 2D/3D content, in the area of entertainment,<br />
media, corporate communication and the internet. The company is closely<br />
related to [http://www.nazooka.com/ Nazooka], a niche player in the<br />
media industry, specialized in creating cross media concepts and<br />
communication solutions. Anygma is using Haskell to quickly build a<br />
prototype of its new content creation platform, targeted towards artists<br />
and designers. </blockquote><br />
<br />
* [http://www.baml.com/ Bank of America Merril Lynch]<br />
<blockquote>Haskell is being used for backend data transformation and loading.</blockquote><br />
<br />
* [http://www.haskell.org/communities/12-2007/html/report.html#sect7.1.2 Barclays Capital Quantitative Analytics Group]<br />
<blockquote><br />
Barclays Capital's Quantitative Analytics group is using Haskell to<br />
develop an embedded domain-specific functional language (called FPF)<br />
which is used to specify exotic equity derivatives. These derivatives,<br />
which are naturally best described in terms of mathematical functions,<br />
and constructed compositionally, map well to being expressed in an<br />
embedded functional language. This language is now regularly being used<br />
by people who had no previous functional language experience.<br />
</blockquote><br />
::[http://lambda-the-ultimate.org/node/3331 Simon Frankau et al's JFP paper on their use of Haskell]<br />
<br />
* [http://www.bcode.com/ bCODE Pty Ltd] Sydney Australia<br />
<blockquote><br />
bCode Pty Ltd is a small venture capital-funded startup using Ocaml and a bit of Haskell in Sydney Australia.<br />
</blockquote><br />
<br />
* [http://www.bluespec.com/ Bluespec, Inc.] Waltham, Massachusetts<br />
<br />
<blockquote><br />
Developing a modern integrated circuit (ASIC or FPGA) is an enormously<br />
expensive process involving specification, modeling (to choose and fix the<br />
architecture), design (to describe what will become silicon) and verification<br />
(to ensure that it meets the specs), all before actually committing anything to<br />
silicon (where the cost of a failure can be tens of millions of dollars).<br />
Bluespec, Inc. is a three year-old company that provides language facilities,<br />
methodologies, and tools for this purpose, within the framework of the IEEE<br />
standard languages SystemVerilog and SystemC, but borrowing ideas heavily from<br />
Term Rewriting Systems and functional programming languages like Haskell. In<br />
this talk, after a brief technical overview to set the context, we will<br />
describe our tactics and strategies, and the challenges we face, in introducing<br />
declarative programming ideas into this field, both externally (convincing<br />
customers about the value of these ideas) and internally (using Haskell for our<br />
tool implementation). <br />
</blockquote><br />
<br />
::Bluespec's [http://cufp.galois.com/2006/abstracts.html#RishiyurNikhil CUFP talk].<br />
<br />
* [http://www.circos.com Circos Brand Karma] Singapore<br />
<blockquote><br />
Brand Karma provides services to brand owners to measure online sentiments towards their brands.<br />
Haskell is used in building parts of the product, specifically for back-end job scheduling and brand matching.<br />
</blockquote><br />
<br />
* [http://www.credit-suisse.com/ Credit Suisse Global Modelling and Analytics Group] London, UK; New York City, New York<br />
<br />
<blockquote><br />
GMAG, the quantitative modelling group at Credit Suisse, has been using Haskell<br />
for various projects since the beginning of 2006, with the twin aims of<br />
improving the productivity of modellers and making it easier for other people<br />
within the bank to use GMAG models. Current projects include: Further work on<br />
tools for checking, manipulating and transforming spreadsheets; a<br />
domain-specific language embedded in Haskell for implementing reusable<br />
components that can be compiled into various target forms (see the video presentation: [http://www.londonhug.net/2008/08/11/video-paradise-a-dsel-for-derivatives-pricing/ Paradise, a DSEL for Derivatives Pricing]).<br />
</blockquote><br />
<br />
::Credit Suisse's [http://cufp.galois.com/2006/abstracts.html#HowardMansell CUFP talk].<br />
<br />
* [http://www.db.com/ Deutsche Bank Equity Proprietary Trading, Directional Credit Trading]<br />
<br />
<blockquote><br />
The Directional Credit Trading group uses Haskell as the primary<br />
implementation language for all its software infrastructure.<br />
</blockquote><br />
<br />
::Deutsche Bank's [http://cufp.galois.com/2008/abstracts.html#PolakowJeff CUFP talk].<br />
<br />
* [http://article.gmane.org/gmane.comp.lang.haskell.cafe/37093 Eaton] Cleveland, Ohio<br />
<br />
<blockquote><br />
Design and verification of hydraulic hybrid vehicle systems<br />
</blockquote><br />
<br />
::Eaton's [http://cufp.galois.com/2008/abstracts.html#HawkinsTom CUFP talk]<br />
::Eaton's [http://www.haskell.org/pipermail/haskell-cafe/2009-April/060602.html experiences using a Haskell DSL]<br />
<br />
* [Ericsson AB]<br />
<blockquote><br />
Ericsson uses Haskell for the implementation of Feldspar, an EDSL for digital signal processing algorithms.<br />
</blockquote><br />
<br />
::Ericsson's [http://hackage.haskell.org/package/feldspar-compiler Feldspar compiler]<br />
<br />
* [http://facebook.com Facebook]<br />
<br />
<blockquote><br />
Facebook uses some Haskell internally for tools. [http://github.com/facebook/lex-pass/tree/master lex-pass] is a tool for programmatically manipulating a PHP code base via Haskell.<br />
</blockquote><br />
<br />
:: Facebook's [http://cufp.galois.com/2009/abstracts.html#ChristopherPiroEugeneLetuchy CUFP talk]<br />
<br />
* [http://www.factisresearch.com/ Factis Research]<br />
<blockquote><br />
actis research, located in Freiburg, Germany, develops reliable and user-friendly mobile solutions. Our client software runs under J2ME, Symbian, iPhone OS, Android, and Blackberry. The server components are implemented in Python and Haskell. We are actively using Haskell for a number of projects, most of which are released under an open-source license.<br />
</blockquote><br />
<br />
:: Factis' [http://haskell.org/communities/05-2010/html/report.html#factisresearch HCAR submission]<br />
<br />
* [http://www.haskell.org/pipermail/haskell-cafe/2008-September/047168.html Gamr7] http://gamr7.com/ Lyon, France<br />
<br />
<blockquote><br />
Gamr7 is a startup focused on procedural city generation for the game<br />
and simulation market. <br />
</blockquote><br />
<br />
* [http://www.galois.com/ Galois, Inc] Portland, Oregon<br />
<br />
<blockquote><br />
Galois designs and develops high confidence software for critical applications.<br />
Our innovative approach to software development provides high levels of<br />
assurance, yet its scalability enables us to address the most complex problems.<br />
We have successfully engineered projects under contract for corporations and<br />
government clients in the demanding application areas of security, information<br />
assurance and cryptography. <br />
</blockquote><br />
<br />
::Galois' [http://cufp.galois.com/2007/abstracts.html#JohnLaunchbury CUFP talk]<br />
::Galois' [http://www.galois.com/blog/2009/04/27/engineering-large-projects-in-haskell-a-decade-of-fp-at-galois/ retrospective on 10 years of industrial Haskell use]<br />
<br />
* [http://glyde.com/ Glyde]<br />
<br />
<blockquote><br />
Glyde uses OCaml and Haskell for a few projects. Glyde uses Haskell for our client-side template source-to-source translator, which converts HAML-like view templates into JS code.<br />
</blockquote><br />
<br />
* [http://article.gmane.org/gmane.comp.lang.haskell.cafe/21951 HAppS LLC]<br />
<br />
<blockquote><br />
Open web development company. Now merged with [http://happstack.com/ happstack]<br />
</blockquote><br />
<br />
* [http://hustlerturf.com Hustler Turf Equipment] Hesston, Kansas<br />
<blockquote><br />
Designs, builds, and sells lawn mowers. We use quite a bit of Haskell, especially as a "glue language" for tying together data from different manufacturing-related systems. We also use it for some web apps that are deployed to our dealer network. There are also some uses for it doing sysadmin<br />
automation, such as adding/removing people from LDAP servers and the like<br />
</blockquote><br />
<br />
* [http://iba-cg.de/haskell.html iba Consulting Gesellschaft] - Intelligent business architecture for you. Leipzig, Germany<br />
<br />
<blockquote><br />
iba CG develops software for large companies: <br />
* risk analysis and reporting solution for power supply company; <br />
* contract management, assert management, booking and budgeting software for one of the worldwide leading accounting firm.<br />
</blockquote><br />
<br />
* [http://www.ics-ag.de/ Informatik Consulting Systems AG]<br />
<br />
<blockquote><br />
ICS AG developed a simulation and testing tool which based on a DSL (Domain Specific Language). The DSL is used for the description of architecture and behavior of distributed system components (event/message based, reactive). The compiler was written in Haskell (with target language Ada). The test system is used in some industrial projects.<br />
</blockquote><br />
<br />
* [http://www.ivu.de/uk/products/public-transport/ IVU Traffic Technologies AG]<br />
<blockquote><br />
The rostering group at IVU Traffic Technologies AG has been using Haskell to check rosters for compliance with EC regulations.<br />
<br />
Our implementation is based on an embedded DSL to combine the regulation’s single rules into a solver that not only decides on instances but, in the case of a faulty roster, finds an interpretation of the roster that is “favorable” in the sense that the error messages it entails are “helpful” in leading the dispatcher to the resolution of the issue at hand.<br />
<br />
The solver is both reliable (due to strong static typing and referential transparency — we have not experienced a failure in three years) and efficient (due to constraint propagation, a custom search strategy, and lazy evaluation).<br />
<br />
Our EC 561/2006 component is part of the IVU.crew software suite and as such is in wide-spread use all over Europe, both in planning and dispatch. So the next time you enter a regional bus, chances are that the driver’s roster was checked by Haskell.<br />
</blockquote><br />
<br />
* [http://www.janrain.com JanRain]<br />
<blockquote><br />
JanRain uses Haskell for network and web software.<br />
</blockquote><br />
<br />
* [http://joyridelabs.de/game/ Joyride Laboratories]<br />
<br />
<blockquote><br />
Joyride Laboratories is an independent game development studio, founded in 2009 by Florian Hofer and Sönke Hahn. Their first game, "Nikki and the Robots" will be released in 2010.<br />
</blockquote><br />
<br />
* [http://www.linspire.com/ Linspire]<br />
<br />
<blockquote><br />
Linspire, Inc. has used functional programming since its inception in 2001,<br />
beginning with extensive use of O'Caml, with a steady shift to Haskell as its<br />
implementations and libraries have matured. Hardware detection, software<br />
packaging and CGI web page generation are all areas where we have used<br />
functional programming extensively. Haskell's feature set lets us replace much<br />
of our use of little languages (e.g., bash or awk) and two-level languages (C<br />
or C++ bound to an interpreted language), allowing for faster development,<br />
better code sharing and ultimately faster implementations. Above all, we value<br />
static type checking for minimizing runtime errors in applications that run in<br />
unknown environments and for wrapping legacy programs in strongly typed<br />
functions to ensure that we pass valid arguments. <br />
</blockquote><br />
<br />
::Linspire's [http://cufp.galois.com/2006/abstracts.html#CliffordBeshers CUFP talk]<br />
::Linspire's experience report on using [http://portal.acm.org/citation.cfm?doid=1291151.1291184 functional programming to manage a Linux distribution]<br />
<br />
* [http://www.mitre.org/ MITRE]<br />
<blockquote><br />
MITRE uses Haskell for, amongst other things, the [http://hackage.haskell.org/package/cpsa analysis of cryptographic protocols].<br />
</blockquote><br />
<br />
* [http://ertos.nicta.com.au/research/sel4/ NICTA]<br />
<blockquote><br />
NICTA has used Haskell as part of a project to verify the L4 microkernel.<br />
</blockquote><br />
::[http://www.drdobbs.com/embedded/222400553 Read the Dr. Dobbs article on using Haskell and formal methods to verify a kernel]<br />
<br />
* [http://blog.openomy.com/2008/01/case-study-using-haskell-and-happs-for.html Openomy]<br />
<br />
<blockquote><br />
Openomy's API v2.0 is developed in Haskell, using the<br />
[http://www.happs.org/ HAppS] web platform.<br />
</blockquote><br />
<br />
* [http://www.oblomov.com Oblomov]<br />
<br />
<blockquote><br />
Oblomov Systems is a one-person software company based in Utrecht, The Netherlands. Founded in 2009, Oblomov has since then been working on a number of Haskell-related projects. The main focus lies on web-applications and (web-based) editors. Haskell has turned out to be extremely useful for implementing web servers that communicate with JavaScript clients or iPhone apps.<br />
</blockquote><br />
<br />
:: [http://haskell.org/communities/05-2010/html/report.html#oblomov Oblomov's HCAR submission].<br />
<br />
* [http://www.patch-tag.com Patch-Tag: hosting for darcs]<br />
<blockquote><br />
Need somewhere to put your darcs code? Try us.<br />
<br />
Patch-Tag is built with [http://happstack.com happstack], the continuation of the project formerly known as HAppS.<br />
</blockquote><br />
<br />
* [http://www.peerium.com Peerium, Inc] Cambridge, Massachusetts<br />
<blockquote><br />
At Peerium, we're striving to bring a new level of quality and efficiency to online communication and collaboration within virtual communities, social networks, and business environments. We believe that a new environment that supports the effortless sharing of both information and software will enable a level of online cooperation far beyond current Web-based technologies -- modern programming techniques will enable the creation of more robust and more powerful programs within these environments. To this end, we're building a new software platform for direct, real-time communication and collaboration within graphically rich environments. Peerium is located in the heart of Harvard Square in Cambridge, Massachusetts.<br />
</blockquote><br />
<br />
* [http://www.qualcomm.com/ Qualcomm, Inc]<br />
<br />
<blockquote><br />
Qualcomm uses Haskell to generate Lua bindings to the BREW platform <br />
</blockquote><br />
<br />
* [http://www.renci.org/ Renaissaince Computing Institute], Chapel Hill, North Carolina<br />
<blockquote><br />
The Renaissance Computing Institute (RENCI), a multi-institutional organization, brings together multidisciplinary experts and advanced technological capabilities to address pressing research issues and to find solutions to complex problems that affect the quality of life in North Carolina, our nation and the world.<br />
<br />
Research scientists at RENCI have used Haskell for a number of projects, including [http://vis.renci.org/jeff/2009/08/26/open-sourcing-the-big-board/ The Big Board].<br />
</blockquote><br />
<br />
::RENCI's [http://cufp.galois.com/2009/abstracts.html#JeffersonHeard CUFP talk].<br />
<br />
* [http://www.signalicorp.com/index.htm Signali] Portland, Oregon<br />
<br />
<blockquote><br />
Signali Corp is a new custom hardware design company. Our chief products<br />
are custom IP cores targeted for embedded DSP and cryptographic<br />
applications. Our specialty is the design and implementation of<br />
computationally intensive, complex algorithms. The interfaces to each<br />
core are modular and can be very efficiently modified for your specific<br />
application. System-level integration and validation is crucial and is<br />
the majority of investment in a product.<br />
</blockquote><br />
<br />
* [http://www.standardchartered.com/home/en/index.html Standard Chartered]<br />
<br />
<blockquote><br />
Standard Chartered has a group using Haskell in finance.<br />
</blockquote><br />
<br />
* [http://seereason.org/ SeeReason Partners, LLC]<br />
<br />
<blockquote><br />
Clifford Beshers, David Fox and Jeremy Shaw have formed SeeReason<br />
Partners, LLC. Our plan is to deliver services over the internet, using<br />
Haskell to build our applications whenever possible. We have chosen<br />
primary mathematics skills as our domain, seeking to create a social<br />
networking site with games and activities that are both fun and<br />
educational.<br />
</blockquote><br />
<br />
* [http://www.starling-software.com/en/index.html Starling Software] Tokyo, Japan<br />
<blockquote><br />
Starling Software are developing a commercial automated options trading system <br />
in Haskell, and are migrating other parts of their software suite to<br />
Haskell.<br />
</blockquote><br />
<br />
::Starling Software's [http://www.starling-software.com/misc/icfp-2009-cjs.pdf experience building real time trading systems in Haskell] <br />
<br />
* [http://tsurucapital.com Tsuru Capital] Tokyo, Japan<br />
<blockquote><br />
Tsuru Capital is operating an automated options trading system written in Haskell.<br />
</blockquote><br />
<br />
::[http://haskell.org/communities/05-2010/html/report.html#sect7.6 Tsuru Capital's HCAR submission]<br />
<br />
* [http://tupil.com/ Tupil] Utrecht, The Netherlands<br />
<br />
<blockquote><br />
Tupil is a Dutch company that built software for clients, written in Haskell. Tupil used Haskell for the speed in development and resulting software quality. The company is founded by Chris Eidhof and Eelco Lempsink. Currently they build iPhone/iPad applications in Objective-C.<br />
</blockquote><br />
<br />
:: Tupil's experience building [http://blog.tupil.com/building-commercial-haskell-applications/ commercial web apps in Haskell]<br />
<br />
* [http://typlab.com TypLAB] Amsterdam, The Netherlands<br />
<br />
<blockquote><br />
TypLAB investigates and develops new ways of creating and consuming online content.<br />
</blockquote><br />
<br />
:: TypLAB's blog on [http://blog.typlab.com/2009/09/why-we-use-haskell/ why they use Haskell]<br />
<br />
* [http://www.sensor-sense.nl Sensor Sense] Nijmegen, The Netherlands<br />
<br />
<blockquote><br />
Sensor Sense is offering high technology systems for gas measurements in the ''ppbv'' down to ''pptv'' range. We use Haskell for the embedded control software of our trace gas detectors.<br />
</blockquote><br />
<br />
If you're using Haskell commercially, please add your details here.<br />
<br />
== The Industrial Haskell Group ==<br />
<br />
The [http://industry.haskell.org/ Industrial Haskell Group (IHG)] is an organisation to support the needs of commercial users of the Haskell programming language. <br />
<br />
== Jobs and recruitment ==<br />
<br />
[[Jobs|Haskell jobs]].<br />
<br />
See also the [http://www.jobs-in-fp.org/ Jobs in Functional Programming] event.<br />
<br />
== Consultants ==<br />
<br />
[[Consultants]]<br />
<br />
== Commercial Users of Functional Programming Workshop ==<br />
<br />
[http://www.galois.com/cufp/ Commercial Users of Functional Programming]<br />
<br />
The goal of [http://www.galois.com/cufp/ CUFP] is to build a community<br />
for users of functional programming languages and technology, be they<br />
using functional languages in their professional lives, in an open<br />
source project (other than implementation of functional languages), as a<br />
hobby, or any combination thereof. In short: anyone who uses functional<br />
programming as a means, but not an end.<br />
<br />
[[Category:Community]]</div>Eelcohttps://wiki.haskell.org/index.php?title=ZuriHac2010/Attendees&diff=34182ZuriHac2010/Attendees2010-03-19T08:21:40Z<p>Eelco: Correcting broken cells</p>
<hr />
<div>This is the attendee list for [[ZuriHac]]. Please refer to the [[ZuriHac|main page]] for more information.<br />
<br />
= Attendees =<br />
<br />
Once you've [[ZuriHac/Register|registered]], please add your name to the following table:<br />
<br />
{| class="wikitable"<br />
! Nickname<br />
! Real Name<br />
! Affiliation<br />
! Mobile #<br />
! email<br />
! Arriving<br />
! Departing<br />
! Accomodation<br />
|-<br />
| coeus<br />
| Marc A. Ziegert<br />
| University of Paderborn<br />
| +49 17 5 6000 700<br />
| coeus-zurihac at padmen.de<br />
| 19 morning<br />
| 21 afternoon<br />
| Youth Hostel Zurich<br />
|-<br />
| Heffalump<br />
| Ganesh Sittampalam<br />
| Credit Suisse (Darcs)<br />
| +447968253467<br />
| <br />
| <br />
| <br />
|<br />
|-<br />
| tibbe<br />
| Johan Tibell<br />
| Google<br />
| +41787978230<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| <br />
| Keith Lomax<br />
| <br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| sioraiocht<br />
| Tom Harper<br />
| Oxford University Computing Laboratory<br />
| +44 7533 998 591<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
| poucet<br />
| Christophe Poucet<br />
| Google<br />
| +41796691013<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| zeuxis<br />
| Harald Holtmann<br />
| <br />
| +49 176 22053266<br />
| <br />
| <br />
| <br />
| Hotel Neufeld, Friesenbergstraße 15<br />
|-<br />
| rmies<br />
| Michel Rijnders<br />
| TTY (Amsterdam)<br />
| +31646442127<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
| <br />
| Simon Meier<br />
| ETH Zurich<br />
| <br />
| <br />
|<br />
|<br />
|<br />
|-<br />
| Gh_<br />
| Guillaume Hoffmann<br />
| (Darcs)<br />
| <br />
|<br />
| 19 morning<br />
| 21 afternoon<br />
|<br />
|-<br />
| jnwhiteh<br />
| Jim Whitehead<br />
| Oxford University Computing Laboratory<br />
| +44 7846 257 133<br />
| <br />
| <br />
|<br />
| <br />
|-<br />
| kolmodin<br />
| Lennart Kolmodin<br />
| Västra Götalandsregionen<br />
| +46 73 6223606<br />
| <br />
| <br />
|<br />
| <br />
|-<br />
| madhadron<br />
| Frederick Ross<br />
| Ecole Polytechnique Federale de Lausanne<br />
| +41 79 710 02 11<br />
| madhadron at gmail dot com<br />
| <br />
|<br />
|<br />
|-<br />
| al-maisan<br />
| Muharem Hrnjadovic<br />
| <br />
| +49 (1577) 470-3749<br />
| <br />
|19 morning<br />
|21 afternoon<br />
|Hotel Neufeld, Friesenbergstraße 15<br />
|-<br />
| beschmi<br />
| Benedikt Schmidt<br />
| ETH Zurich (Darcs)<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| chr1s<br />
| Chris Eidhof<br />
| Tupil / Utrecht University<br />
| +31628887656<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| Martijn van Steenbergen<br />
| Utrecht University<br />
| <br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| hesselink<br />
| Erik Hesselink<br />
| typLAB<br />
| +31650994887<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
| sfvisser<br />
| Sebastiaan Visser<br />
| typLAB / Utrecht University<br />
| +31624828951<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| Tom Lokhorst<br />
| Utrecht University<br />
| <br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| sjoerd_visscher<br />
| Sjoerd Visscher<br />
| Xopus<br />
| <br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| kosmikus<br />
| Andres L&ouml;h<br />
| Utrecht University<br />
|<br />
|<br />
| 18 night<br />
| 21 night<br />
|<br />
|-<br />
| smurfpje<br />
| Clara L&ouml;h<br />
| Universit&auml;t G&ouml;ttingen<br />
|<br />
| <br />
| 18 night<br />
| 21 night<br />
|<br />
|-<br />
| nomeata<br />
| Joachim Breitner<br />
|<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| kowey<br />
| Eric Kow<br />
| University of Brighton (Darcs)<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
|<br />
| Simon Hengel<br />
| Spin AG<br />
| +49 176 610 640 74<br />
| simon hengel at wiktory org<br />
| <br />
|<br />
|<br />
|-<br />
| leather<br />
| Sean Leather<br />
| Utrecht University<br />
| +31616158163<br />
| <br />
| 19, 14:00<br />
|<br />
| City backpacker<br />
|-<br />
|<br />
| Dirk Spöri<br />
| factis research GmbH<br />
|<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| Harald Fischer<br />
| factis research GmbH<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
|<br />
| Johannes Weiss<br />
| factis research GmbH<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
|<br />
| Gero Kriependorf<br />
| factis research GmbH<br />
| <br />
|<br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| Stefan Wehr<br />
| factis research GmbH<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| David Leuschner<br />
| factis research GmbH<br />
|<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| Steven Keuchel<br />
| Utrecht University<br />
| +31644053336<br />
|<br />
|<br />
| <br />
|<br />
|-<br />
| dcoutts<br />
| Duncan Coutts<br />
| Well-Typed LLP<br />
| <br />
| <br />
| <br />
| <br />
|<br />
|-<br />
| tux_rocker<br />
| Reinier Lamers<br />
| (Darcs)<br />
| <br />
|<br />
| 18 night<br />
| 21 night<br />
|<br />
|-<br />
| jutaro<br />
| Jürgen Nicklisch-Franken<br />
| ICS AG<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| dons<br />
| Don Stewart<br />
| Galois, Inc<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| gal_bolle<br />
| Florent Becker<br />
| Université d'Orléans (Darcs)<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| ErrGe<br />
| Gergely Risko<br />
| Nokia<br />
| +358504899477<br />
| <br />
| 19 noon<br />
| 22 noon<br />
|<br />
|-<br />
| HugoDaniel<br />
| Hugo Daniel<br />
| New University of Lisbon (UNL)<br />
| <br />
| <br />
| 18 night<br />
| 22 morning<br />
|<br />
|-<br />
| <br />
| Atze Dijkstra<br />
| Utrecht University<br />
| <br />
| <br />
| 19, 14:00<br />
| 21 evening<br />
| City backpacker<br />
|-<br />
| <br />
| Jeroen Fokker<br />
| Utrecht University<br />
| +31644350198<br />
| <br />
| 19, 14:00<br />
| 21 evening<br />
| City backpacker<br />
|-<br />
| <br />
| Petr Rockai<br />
| (Darcs)<br />
| <br />
| <br />
| <br />
| <br />
|<br />
|-<br />
| <br />
| Nikolas Mayr<br />
| University of Paderborn<br />
| +49 170 5448278<br />
| zark at uni-paderborn.de<br />
| 19 morning<br />
| 21 afternoon<br />
| Youth Hostel Zurich<br />
|-<br />
|<br />
| Sergey Astanin<br />
| Politecnico di Torino<br />
| +39 333 952 0878<br />
| <br />
|<br />
|<br />
| <br />
|-<br />
|<br />
| Bartek Wojcik<br />
| <br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
|<br />
| Dragos Ionita<br />
| Utrecht University<br />
| +31 644 044 688<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| jaspervdj<br />
| Jasper Van der Jeugt<br />
| Ghent University<br />
| <br />
|<br />
|<br />
|<br />
| City Backpacker<br />
|-<br />
| chrisdone<br />
| Chris Done<br />
| <br />
| +447977688050<br />
| chrisdone@gmail.com<br />
| 18 afternoon<br />
| 22 afternoon<br />
| Four Points<br />
|-<br />
| danderson<br />
| David Anderson<br />
| Google<br />
| +41794702198<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| Marc Fontaine<br />
| Universität Düsseldorf<br />
| +491737553137<br />
| fontaine at cs.uni-duesseldorf.de<br />
| 18 afternoon<br />
| 22 afternoon<br />
|<br />
|-<br />
|<br />
| Mathias K&ouml;rner<br />
| <br />
| +41794126105<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| Feuerbach<br />
| Roman Cheplyaka<br />
| <br />
| +380662285780<br />
| roma@ro-che.info<br />
| 18 evening<br />
| 23 morning<br />
| City Backpacker<br />
|-<br />
| dvde<br />
| Daniel van den Eijkel<br />
|<br />
| +4917638088266<br />
| dvde@gmx.net<br />
| 19 afternoon<br />
| 21 evening<br />
|<br />
|-<br />
| eelco<br />
| Eelco Lempsink<br />
| Tupil<br />
| +31629486398<br />
|<br />
|<br />
|<br />
|<br />
|}<br />
<br />
= Additional Comments =<br />
<br />
Please use this section to leave comments for other attendees, e.g. for organizing accommodation.</div>Eelcohttps://wiki.haskell.org/index.php?title=ZuriHac2010/Attendees&diff=34181ZuriHac2010/Attendees2010-03-19T08:20:05Z<p>Eelco: </p>
<hr />
<div>This is the attendee list for [[ZuriHac]]. Please refer to the [[ZuriHac|main page]] for more information.<br />
<br />
= Attendees =<br />
<br />
Once you've [[ZuriHac/Register|registered]], please add your name to the following table:<br />
<br />
{| class="wikitable"<br />
! Nickname<br />
! Real Name<br />
! Affiliation<br />
! Mobile #<br />
! email<br />
! Arriving<br />
! Departing<br />
! Accomodation<br />
|-<br />
| coeus<br />
| Marc A. Ziegert<br />
| University of Paderborn<br />
| +49 17 5 6000 700<br />
| coeus-zurihac at padmen.de<br />
| 19 morning<br />
| 21 afternoon<br />
| Youth Hostel Zurich<br />
|-<br />
| Heffalump<br />
| Ganesh Sittampalam<br />
| Credit Suisse (Darcs)<br />
| +447968253467<br />
| <br />
| <br />
| <br />
|-<br />
| tibbe<br />
| Johan Tibell<br />
| Google<br />
| +41787978230<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| <br />
| Keith Lomax<br />
| <br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| sioraiocht<br />
| Tom Harper<br />
| Oxford University Computing Laboratory<br />
| +44 7533 998 591<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
| poucet<br />
| Christophe Poucet<br />
| Google<br />
| +41796691013<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| zeuxis<br />
| Harald Holtmann<br />
| <br />
| +49 176 22053266<br />
| <br />
| <br />
| <br />
| Hotel Neufeld, Friesenbergstraße 15<br />
|-<br />
| rmies<br />
| Michel Rijnders<br />
| TTY (Amsterdam)<br />
| +31646442127<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
| <br />
| Simon Meier<br />
| ETH Zurich<br />
| <br />
| <br />
|<br />
|<br />
|<br />
|-<br />
| Gh_<br />
| Guillaume Hoffmann<br />
| (Darcs)<br />
| <br />
|<br />
| 19 morning<br />
| 21 afternoon<br />
|<br />
|-<br />
| jnwhiteh<br />
| Jim Whitehead<br />
| Oxford University Computing Laboratory<br />
| +44 7846 257 133<br />
| <br />
| <br />
|<br />
| <br />
|-<br />
| kolmodin<br />
| Lennart Kolmodin<br />
| Västra Götalandsregionen<br />
| +46 73 6223606<br />
| <br />
| <br />
|<br />
| <br />
|-<br />
| madhadron<br />
| Frederick Ross<br />
| Ecole Polytechnique Federale de Lausanne<br />
| +41 79 710 02 11<br />
| madhadron at gmail dot com<br />
| <br />
|<br />
|<br />
|-<br />
| al-maisan<br />
| Muharem Hrnjadovic<br />
| <br />
| +49 (1577) 470-3749<br />
| <br />
|19 morning<br />
|21 afternoon<br />
|Hotel Neufeld, Friesenbergstraße 15<br />
|-<br />
| beschmi<br />
| Benedikt Schmidt<br />
| ETH Zurich (Darcs)<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| chr1s<br />
| Chris Eidhof<br />
| Tupil / Utrecht University<br />
| +31628887656<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| Martijn van Steenbergen<br />
| Utrecht University<br />
| <br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| hesselink<br />
| Erik Hesselink<br />
| typLAB<br />
| +31650994887<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
| sfvisser<br />
| Sebastiaan Visser<br />
| typLAB / Utrecht University<br />
| +31624828951<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| Tom Lokhorst<br />
| Utrecht University<br />
| <br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| sjoerd_visscher<br />
| Sjoerd Visscher<br />
| Xopus<br />
| <br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| kosmikus<br />
| Andres L&ouml;h<br />
| Utrecht University<br />
|<br />
|<br />
| 18 night<br />
| 21 night<br />
|<br />
|-<br />
| smurfpje<br />
| Clara L&ouml;h<br />
| Universit&auml;t G&ouml;ttingen<br />
|<br />
| <br />
| 18 night<br />
| 21 night<br />
|<br />
|-<br />
| nomeata<br />
| Joachim Breitner<br />
|<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| kowey<br />
| Eric Kow<br />
| University of Brighton (Darcs)<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
|<br />
| Simon Hengel<br />
| Spin AG<br />
| +49 176 610 640 74<br />
| simon hengel at wiktory org<br />
| <br />
|<br />
|<br />
|-<br />
| leather<br />
| Sean Leather<br />
| Utrecht University<br />
| +31616158163<br />
| <br />
| 19, 14:00<br />
|<br />
| City backpacker<br />
|-<br />
|<br />
| Dirk Spöri<br />
| factis research GmbH<br />
|<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| Harald Fischer<br />
| factis research GmbH<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
|<br />
| Johannes Weiss<br />
| factis research GmbH<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
|<br />
| Gero Kriependorf<br />
| factis research GmbH<br />
| <br />
|<br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| Stefan Wehr<br />
| factis research GmbH<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| David Leuschner<br />
| factis research GmbH<br />
|<br />
| <br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| Steven Keuchel<br />
| Utrecht University<br />
| +31644053336<br />
|<br />
|<br />
| <br />
|<br />
|-<br />
| dcoutts<br />
| Duncan Coutts<br />
| Well-Typed LLP<br />
| <br />
| <br />
| <br />
| <br />
|<br />
|-<br />
| tux_rocker<br />
| Reinier Lamers<br />
| (Darcs)<br />
| <br />
|<br />
| 18 night<br />
| 21 night<br />
|<br />
|-<br />
| jutaro<br />
| Jürgen Nicklisch-Franken<br />
| ICS AG<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| dons<br />
| Don Stewart<br />
| Galois, Inc<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| gal_bolle<br />
| Florent Becker<br />
| Université d'Orléans (Darcs)<br />
|<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| ErrGe<br />
| Gergely Risko<br />
| Nokia<br />
| +358504899477<br />
| <br />
| 19 noon<br />
| 22 noon<br />
|<br />
|-<br />
| HugoDaniel<br />
| Hugo Daniel<br />
| New University of Lisbon (UNL)<br />
| <br />
| <br />
| 18 night<br />
| 22 morning<br />
|<br />
|-<br />
| <br />
| Atze Dijkstra<br />
| Utrecht University<br />
| <br />
| <br />
| 19, 14:00<br />
| 21 evening<br />
| City backpacker<br />
|-<br />
| <br />
| Jeroen Fokker<br />
| Utrecht University<br />
| +31644350198<br />
| <br />
| 19, 14:00<br />
| 21 evening<br />
| City backpacker<br />
|-<br />
| <br />
| Petr Rockai<br />
| (Darcs)<br />
| <br />
| <br />
| <br />
| <br />
|<br />
|-<br />
| <br />
| Nikolas Mayr<br />
| University of Paderborn<br />
| +49 170 5448278<br />
| zark at uni-paderborn.de<br />
| 19 morning<br />
| 21 afternoon<br />
| Youth Hostel Zurich<br />
|-<br />
|<br />
| Sergey Astanin<br />
| Politecnico di Torino<br />
| +39 333 952 0878<br />
| <br />
|<br />
|<br />
| <br />
|-<br />
|<br />
| Bartek Wojcik<br />
| <br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
|<br />
| Dragos Ionita<br />
| Utrecht University<br />
| +31 644 044 688<br />
|<br />
| <br />
|<br />
|<br />
|-<br />
| jaspervdj<br />
| Jasper Van der Jeugt<br />
| Ghent University<br />
| <br />
|<br />
|<br />
|<br />
| City Backpacker<br />
|-<br />
| chrisdone<br />
| Chris Done<br />
| <br />
| +447977688050<br />
| chrisdone@gmail.com<br />
| 18 afternoon<br />
| 22 afternoon<br />
| Four Points<br />
|-<br />
| danderson<br />
| David Anderson<br />
| Google<br />
| +41794702198<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
|<br />
| Marc Fontaine<br />
| Universität Düsseldorf<br />
| +491737553137<br />
| fontaine at cs.uni-duesseldorf.de<br />
| 18 afternoon<br />
| 22 afternoon<br />
|-<br />
|<br />
| Mathias K&ouml;rner<br />
| <br />
| +41794126105<br />
|<br />
|<br />
|<br />
|-<br />
| Feuerbach<br />
| Roman Cheplyaka<br />
| <br />
| +380662285780<br />
| roma@ro-che.info<br />
| 18 evening<br />
| 23 morning<br />
| City Backpacker<br />
|-<br />
| dvde<br />
| Daniel van den Eijkel<br />
|<br />
| +4917638088266<br />
| dvde@gmx.net<br />
| 19 afternoon<br />
| 21 evening<br />
|<br />
|-<br />
| eelco<br />
| Eelco Lempsink<br />
| Tupil<br />
| +31629486398<br />
|<br />
|<br />
|<br />
|<br />
|}<br />
<br />
= Additional Comments =<br />
<br />
Please use this section to leave comments for other attendees, e.g. for organizing accommodation.</div>Eelcohttps://wiki.haskell.org/index.php?title=ZuriHac&diff=30939ZuriHac2009-10-20T08:38:29Z<p>Eelco: </p>
<hr />
<div>'''March 2010'''<br />
<br />
Zurich, Switzerland<br />
<br />
== About ==<br />
<br />
The Haskell Hackathon is an international, grassroots collaborative coding festival with a simple focus: build and improve Haskell libraries, tools, and infrastructure.<br />
<br />
ZuriHac will be held in March at the Google office in Zurich. It is open to all -- you do not have to be a Haskell guru to attend. All you need is a basic knowledge of Haskell, a willingness to learn, and a project you're excited to help with (or a project of your own to work on).<br />
<br />
There will be lots of hacking, some talks, good food, and, of course, fun! <br />
<br />
== When ==<br />
<br />
Right now we're looking at four possible dates (Friday-Sunday):<br />
<br />
* March 5-7,<br />
* March 12-14,<br />
* March 19-21, or<br />
* March 26-28.<br />
<br />
If you add your name under [[#Possible Attendees]] below please note the dates that absolutely don't work for you.<br />
<br />
== Where ==<br />
<br />
We will be in the TechTalk area of the [http://maps.google.com/maps?q=Brandschenkestrasse+110,+8002+Z%C3%BCrich,+Switzerland+(Google)&ie=UTF8&t=h&hq=&hnear=Brandschenkestrasse+110,+8002+Zurich,+Switzerland&z=16&iwloc=A Google office].<br />
<br />
== Equipment ==<br />
<br />
You should bring a laptop with wireless (802.11). The room has whiteboards and a projector for any discussions or should anyone wish to give a talk. <br />
<br />
== Travel ==<br />
<br />
Online timetables for travel within Zurich can be found at [http://www.zvv.ch/en/ ZVV]. For trains within Switzerland and to neighboring countries go to [http://www.sbb.ch/en/index.htm SBB].<br />
<br />
=== Getting to Zurich ===<br />
<br />
There are direct flight to Zurich airport (code: ZRH) from most major European cities. Switzerland also has excellent and reasonably priced train connections with the rest of Europe.<br />
<br />
=== Getting to the Google Office ===<br />
<br />
The train and tram stop closest to the Google office is [http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Bahnhof+Enge+station&sll=47.36554,8.524864&sspn=0.012484,0.018497&ie=UTF8&hq=&hnear=Z%C3%BCrich+Enge&ll=47.364903,8.527515&spn=0.012485,0.018497&t=h&z=16&iwloc=A Bahnhof Enge]. You can take tram 5, 6, 7, 13, or S-Bahn S2 to get there. It takes about seven minutes by tram from the main train station (Zurich HB) to Bahnhof Enge and another five minutes to walk to the office.<br />
<br />
==== From the Airport ====<br />
<br />
Take S-Bahn S2 directly to Bahnhof Enge and walk from there. Alternatively, take any S-Bahn that goes to the main train station (Zurich HB) and take tram 6, 7, or 13 to Bahnhof Enge.<br />
<br />
== Possible Attendees ==<br />
<br />
Note: This section is just to gauge the level of interest in having a hackathon. If there are any dates that absolutely don't work for you then please add them after your name.<br />
<br />
* Johan Tibell (tibbe)<br />
* Christophe Poucet (poucet)<br />
* Duncan Coutts (dcoutts)<br />
* Ganesh Sittampalam (Heffalump)<br />
* Iustin Pop<br />
* Tom Harper (sioraiocht)<br />
* Simon Meier<br />
* Marc A. Ziegert (coeus)<br />
* Joachim Breitner (nomeata)<br />
* Reinier Lamers (tux_rocker)<br />
* Chris Eidhof (chr1s)<br />
* Ian Lynagh (Igloo)<br />
* Valery V. Vorotyntsev (vvv)<br />
* Eric Kow (kowey)<br />
* Guillaume Hoffmann (gh_: impossible: 5-7)<br />
* Jürgen Nicklisch-Franken (jutaro)<br />
* Eelco Lempsink (eelco)<br />
<br />
== Organizers ==<br />
<br />
* Johan Tibell (irc: tibbe, e-mail: johan.tibell+zurihac@gmail.com)<br />
* Christophe Poucet (irc: poucet, e-mail: christophe.poucet+zurihac@gmail.com)<br />
<br />
[[Category:Community]]<br />
[[Category:Events]]<br />
[[Category:Hackathon]]</div>Eelcohttps://wiki.haskell.org/index.php?title=IPhone&diff=28651IPhone2009-06-18T05:53:01Z<p>Eelco: </p>
<hr />
<div>If you are working with Haskell and making iPhone apps, or if you intend to soon, please fill in your info below.<br />
By helping each other out, we can work more productively and have more fun.<br />
<br />
{|width="80%" border="1" cellpadding="2" cellspacing="0"<br />
|-<br />
!Name<br />
!Contact info<br />
!Haskell-fu (0-5)<br />
!iPhone-fu (0-5)<br />
!Have (to share)<br />
!Need<br />
!Intended iPhone apps<br />
|-<br />
| Conal Elliott<br />
| [http://conal.net Home], [http://conal.net/blog blog], [http://haskell.org/haskellwiki/User:Conal wiki user], [http://twitter.com/conal Twitter], [http://www.facebook.com/profile.php?id=685783314&ref=name Facebook], [http://www.linkedin.com/profile?&key=4476842 Linkedin], IRC: conal<br />
| 5<br />
| 0<br />
| Functional graphics & GUI, misc Haskell libs, design skills<br />
| iPhone basics, Haskell-to-iPhone compiler<br />
| Interactive graphics toys<br />
|-<br />
| Chris Eidhof<br />
| [http://eidhof.nl Home], [http://tupil.com Tupil], [http://haskell.org/haskellwiki/User:ChrisEidhof wiki user], [http://twitter.com/chriseidhof Twitter], [http://www.linkedin.com/pub/chris-eidhof/3/b6/2b6 Linkedin], IRC: chr1s<br />
| 4<br />
| 3<br />
| iPhone experience, web programming experience, dependent types experience<br />
| Haskell-to-iPhone compiler (either as DSL or GHC Core -> iPhone)<br />
| Navigation-based apps (think of things like iTunes, Facebook, etc.), Games (maybe using a combination of FRP and something like arrowlets)<br />
|-<br />
| Daniel Peebles<br />
| [http://pumpkinpat.ch Home], [http://twitter.com/copumpkin Twitter]<br />
| 3<br />
| 4<br />
| Extensive iPhone platform knowledge<br />
| GHC cross-compiling to ARM Mach-O<br />
| Nothing in particular yet<br />
|-<br />
| John Meacham<br />
| [http://repetae.net Home], [http://notanumber.net/ blog]<br />
| -<br />
| -<br />
| Working Haskell to iPhone compiler (jhc)<br />
| Testers and Feedback to make cross compilation smoother. HOC integration with jhc.<br />
| Symbolic Algebra Application, Equation Editor<br />
|-<br />
| Eelco Lempsink<br />
| [http://eelco.lempsink.nl Home], [http://tupil.com Tupil], [http://haskell.org/haskellwiki/User:eelco wiki user], [http://twitter.com/eelco Twitter], [http://www.linkedin.com/in/lempsink Linkedin], IRC: eelco<br />
| 4<br />
| 3<br />
| iPhone and web experience<br />
| Haskell-to-iPhone with (Cocoa Touch) API intergration<br />
| Nothing in particular, looking for a good Haskell use-case :)<br />
|-<br />
|}<br />
<br />
There are at least two ways to use Haskell to make iPhone apps.<br />
One is having a Haskell-to-iPhone compiler, which would probably cross-compile from another host environment (probably Mac OS X).<br />
Another way is to write Haskell programs that ''generate'' iPhone-compatible code when run (rather than when compiled), based on an embedded DSL, similarly to [http://conal.net/papers/jfp-saig/ ''Compiling Embedded Languages''].<br />
<br />
Some helpful resources:<br />
<br />
* [http://iphoneideas.tumblr.com/ Free iPhone ideas] (blog by Chris Eidhof)<br />
* [http://hoc.sourceforge.net/ Haskell to Objective-C binding]</div>Eelcohttps://wiki.haskell.org/index.php?title=IPhone&diff=28650IPhone2009-06-18T05:52:40Z<p>Eelco: </p>
<hr />
<div>If you are working with Haskell and making iPhone apps, or if you intend to soon, please fill in your info below.<br />
By helping each other out, we can work more productively and have more fun.<br />
<br />
{|width="80%" border="1" cellpadding="2" cellspacing="0"<br />
|-<br />
!Name<br />
!Contact info<br />
!Haskell-fu (0-5)<br />
!iPhone-fu (0-5)<br />
!Have (to share)<br />
!Need<br />
!Intended iPhone apps<br />
|-<br />
| Conal Elliott<br />
| [http://conal.net Home], [http://conal.net/blog blog], [http://haskell.org/haskellwiki/User:Conal wiki user], [http://twitter.com/conal Twitter], [http://www.facebook.com/profile.php?id=685783314&ref=name Facebook], [http://www.linkedin.com/profile?&key=4476842 Linkedin], IRC: conal<br />
| 5<br />
| 0<br />
| Functional graphics & GUI, misc Haskell libs, design skills<br />
| iPhone basics, Haskell-to-iPhone compiler<br />
| Interactive graphics toys<br />
|-<br />
| Chris Eidhof<br />
| [http://eidhof.nl Home], [http://tupil.com Tupil], [http://haskell.org/haskellwiki/User:ChrisEidhof wiki user], [http://twitter.com/chriseidhof Twitter], [http://www.linkedin.com/pub/chris-eidhof/3/b6/2b6 Linkedin], IRC: chr1s<br />
| 4<br />
| 3<br />
| iPhone experience, web programming experience, dependent types experience<br />
| Haskell-to-iPhone compiler (either as DSL or GHC Core -> iPhone)<br />
| Navigation-based apps (think of things like iTunes, Facebook, etc.), Games (maybe using a combination of FRP and something like arrowlets)<br />
|-<br />
| Daniel Peebles<br />
| [http://pumpkinpat.ch Home], [http://twitter.com/copumpkin Twitter]<br />
| 3<br />
| 4<br />
| Extensive iPhone platform knowledge<br />
| GHC cross-compiling to ARM Mach-O<br />
| Nothing in particular yet<br />
|-<br />
| John Meacham<br />
| [http://repetae.net Home], [http://notanumber.net/ blog]<br />
| -<br />
| -<br />
| Working Haskell to iPhone compiler (jhc)<br />
| Testers and Feedback to make cross compilation smoother. HOC integration with jhc.<br />
| Symbolic Algebra Application, Equation Editor<br />
|-<br />
| Eelco Lempsink<br />
| [http://eelco.lempsink.nl Home], [http://tupil.com Tupil], [http://haskell.org/haskellwiki/User:eelco wiki user], [http://twitter.com/eelco Twitter], [http://www.linkedin.com/in/lempsink Linkedin], IRC: eelco<br />
| 4<br />
| 3<br />
| iPhone and web experience<br />
| Haskell-to-iPhone with (Cocoa Touch) API intergration<br />
| Nothing particular, looking for a good Haskell use-case :)<br />
|-<br />
|}<br />
<br />
There are at least two ways to use Haskell to make iPhone apps.<br />
One is having a Haskell-to-iPhone compiler, which would probably cross-compile from another host environment (probably Mac OS X).<br />
Another way is to write Haskell programs that ''generate'' iPhone-compatible code when run (rather than when compiled), based on an embedded DSL, similarly to [http://conal.net/papers/jfp-saig/ ''Compiling Embedded Languages''].<br />
<br />
Some helpful resources:<br />
<br />
* [http://iphoneideas.tumblr.com/ Free iPhone ideas] (blog by Chris Eidhof)<br />
* [http://hoc.sourceforge.net/ Haskell to Objective-C binding]</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Dinner&diff=27677Hac5/Dinner2009-04-19T16:07:47Z<p>Eelco: </p>
<hr />
<div>= REGISTRATION IS CLOSED! =<br />
<br />
== Dinner ==<br />
<br />
For sunday night, we will order asian food.<br />
<br />
Order before 18:00!<br />
<br />
== Options ==<br />
<br />
See http://tinyurl.com/hac5dinner<br />
<br />
If you order a one person meal you also have to choose whether you'd have white rice, nasi, bami, vegetarian nasi, vegetarian bami.<br />
<br />
== The List ==<br />
<br />
{| class="wikitable"<br />
! Name <br />
! Choice (number)<br />
! Rice/nasi/bami<br />
|-<br />
| David Himmelstrup<br />
| 700<br />
| Rice<br />
|-<br />
| Erik Hesselink<br />
| 701<br />
| nasi<br />
|-<br />
| Sebastiaan Visser<br />
| 704<br />
| nasi<br />
|-<br />
| Lennart Kolmodin<br />
| 700<br />
| Noodles<br />
|-<br />
| Reinier Lamers<br />
| 57<br />
|-<br />
| Eelco Lempsink<br />
| 58<br />
| 37<br />
|-<br />
| Rui Barbosa<br />
| 701<br />
| nasi<br />
|-<br />
| Eelco Dolstra<br />
| 701<br />
| bami<br />
|-<br />
| Andres Loeh<br />
| 704<br />
| rice<br />
|-<br />
| Sjoerd Visscher<br />
| 707<br />
| bami<br />
|-<br />
| David Waern<br />
| 700<br />
| Noodles<br />
|-<br />
| José Pedro Magalhães<br />
| 707<br />
| Nasi<br />
|-<br />
| Remi Turk<br />
| 702<br />
| Rijst<br />
|-<br />
| Markus Klinik<br />
| 700<br />
| rice<br />
|- <br />
| Bas van Dijk<br />
| 700<br />
| nasi<br />
|- <br />
| Roel van Dijk<br />
| 700<br />
| rice<br />
|-<br />
| Simon Hengel<br />
| 700<br />
| noodles<br />
|-<br />
| Chris Eidhof<br />
| 59<br />
| 29<br />
|-<br />
| Alexey Rodriguez<br />
| 83<br />
| 24<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Dinner&diff=27676Hac5/Dinner2009-04-19T16:05:15Z<p>Eelco: </p>
<hr />
<div>== Dinner ==<br />
<br />
For sunday night, we will order asian food.<br />
<br />
Order before 18:00!<br />
<br />
== Options ==<br />
<br />
See http://tinyurl.com/hac5dinner<br />
<br />
If you order a one person meal you also have to choose whether you'd have white rice, nasi, bami, vegetarian nasi, vegetarian bami.<br />
<br />
== The List ==<br />
<br />
{| class="wikitable"<br />
! Name <br />
! Choice (number)<br />
! Rice/nasi/bami<br />
|-<br />
| David Himmelstrup<br />
| 700<br />
| Rice<br />
|-<br />
| Erik Hesselink<br />
| 701<br />
| nasi<br />
|-<br />
| Sebastiaan Visser<br />
| 704<br />
| nasi<br />
|-<br />
| Lennart Kolmodin<br />
| 700<br />
| Noodles<br />
|-<br />
| Reinier Lamers<br />
| 57<br />
|-<br />
| Eelco Lempsink<br />
| 58<br />
| 37<br />
|-<br />
| Rui Barbosa<br />
| 701<br />
| nasi<br />
|-<br />
| Eelco Dolstra<br />
| 701<br />
| bami<br />
|-<br />
| Andres Loeh<br />
| 704<br />
| rice<br />
|-<br />
| Sjoerd Visscher<br />
| 707<br />
| bami<br />
|-<br />
| David Waern<br />
| 700<br />
| Noodles<br />
|-<br />
| José Pedro Magalhães<br />
| 707<br />
| Nasi<br />
|-<br />
| Remi Turk<br />
| 702<br />
| Rijst<br />
|-<br />
| Markus Klinik<br />
| 700<br />
| rice<br />
|- <br />
| Bas van Dijk<br />
| 700<br />
| nasi<br />
|- <br />
| Roel van Dijk<br />
| 700<br />
| rice<br />
|-<br />
| Simon Hengel<br />
| 700<br />
| noodles<br />
|-<br />
| Chris Eidhof<br />
| 59<br />
| 29<br />
|-<br />
| Alexey Rodriguez<br />
| 83<br />
| 24<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Dinner&diff=27661Hac5/Dinner2009-04-19T15:36:12Z<p>Eelco: </p>
<hr />
<div>== Dinner ==<br />
<br />
For sunday night, we will order asian food.<br />
<br />
Order before 18:00!<br />
<br />
== Options ==<br />
<br />
See http://tinyurl.com/hac5dinner<br />
<br />
If you order a one person meal you also have to choose whether you'd have white rice, nasi, bami, vegetarian nasi, vegetarian bami.<br />
<br />
== The List ==<br />
<br />
{| class="wikitable"<br />
! Name <br />
! Choice (number)<br />
! Rice/nasi/bami<br />
|-<br />
| David Himmelstrup<br />
| 700<br />
| Rice<br />
|-<br />
| Erik Hesselink<br />
| 701<br />
| nasi<br />
|-<br />
| Sebastiaan Visser<br />
| 704<br />
| nasi<br />
|-<br />
| Reinier Lamers<br />
| 57<br />
|-<br />
| Eelco Lempsink<br />
| 58<br />
| 37<br />
|-<br />
| Rui Barbosa<br />
| 701<br />
| nasi<br />
|-<br />
| Eelco Dolstra<br />
| 701<br />
| bami<br />
|-<br />
| Andres Loeh<br />
| 704<br />
| rice<br />
|-<br />
| Sjoerd Visscher<br />
| 707<br />
| bami<br />
|-<br />
| David Waern<br />
| 700<br />
| Noodles<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Dinner&diff=27649Hac5/Dinner2009-04-19T15:17:49Z<p>Eelco: </p>
<hr />
<div>== Dinner ==<br />
<br />
For sunday night, we will order asian food.<br />
<br />
Order before 18:00!<br />
<br />
== Options ==<br />
<br />
See http://tinyurl.com/hac5dinner<br />
<br />
For each meal you also have to choose whether you'd have white rice, nasi, bami, vegetarian nasi, vegetarian bami.<br />
<br />
== The List ==<br />
<br />
{| class="wikitable"<br />
! Name <br />
! Choice (number)<br />
! Rice/nasi/bami<br />
|-<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Dinner&diff=27648Hac5/Dinner2009-04-19T15:16:46Z<p>Eelco: </p>
<hr />
<div>== Dinner ==<br />
<br />
For sunday night, we will order asian food.<br />
<br />
Order before 18:00!<br />
<br />
== Options ==<br />
<br />
See http://tinyurl.com/hac5dinner<br />
<br />
For each meal you also have to choose whether you'd have white rice, nasi, bami, vegetarian nasi, vegetarian bami.<br />
<br />
== The List ==<br />
<br />
{| class="wikitable"<br />
! Name <br />
! Choice <br />
|-<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Projects&diff=27646Hac5/Projects2009-04-19T15:03:10Z<p>Eelco: </p>
<hr />
<div>== Generic information ==<br />
<br />
You can apply for an account and a project using<br />
[http://community.haskell.org/admin/ the community server].<br />
<br />
Once you have an account and/or a project, you upload a Darcs repository as follows. First, initialize your repository on the server:<br />
<br />
$ ssh community.haskell.org<br />
you@haskell:~$ cd /srv/code/yourproject<br />
you@haskell:/srv/code/yourproject$ darcs init<br />
<br />
Then, log out and push your repository:<br />
<br />
$ darcs push community.haskell.org:/srv/code/yourproject<br />
<br />
== Demonstrations ==<br />
<br />
The following demos where held:<br />
<br />
* Jutaro, Leksah: the Haskell IDE<br />
* Don Stewart, vacuum + adaptive data structures<br />
* Tupil.com / chr1s: Real World Web Apps in Haskell<br />
* Thorkil Naur, interactive, time-sliced HPC code coverage<br />
* David Himmelstrup, the LHC Haskell Compiler.<br />
<br />
== Projects ==<br />
<br />
If you have a project that you want to work on at the Hackathon, please describe it here.<br />
<br />
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.<br />
<!-- Copy this template<br />
=== Project name ===<br />
<br />
==== Description ====<br />
<br />
I am a project. Love me.<br />
<br />
===== Hackers =====<br />
<br />
* Hacker 1<br />
* Hacker 2<br />
--><br />
<br />
=== Haskell Platform 1.0 ===<br />
<br />
Finish the construction and roll out of the new [http://www.haskell.org/pipermail/haskell/2009-March/021172.html Haskell Platform]<br />
<br />
==== Hackers ====<br />
<br />
* dcoutts<br />
* dons<br />
* Chris Eidhof (chr1s)<br />
* kolmodin<br />
<br />
Platform specified, generic unix tarball installer.<br />
<br />
=== Darcs Sprint #2 ===<br />
<br />
==== Description ====<br />
<br />
The [http://wiki.darcs.net/index.html/Sprints/2009-04 second Darcs Sprint]. Help improve our beloved [http://en.wikipedia.org/wiki/Distributed_revision_control DVCS]! Add your nick to the list.<br />
<br />
==== Hackers ====<br />
<br />
* Reinier Lamers (tux_rocker)<br />
* Eric Kow (kowey)<br />
* Ben Moseley (benmos)<br />
* Ganesh Sittampalam (Heffalump)<br />
* Ian Lynagh (igloo)<br />
* Arjan Boeijink (arjanb)<br />
* Benedikt Schmidt (beschmi)<br />
* Petr Ročkai (mornfall)<br />
* Thorkil Naur (thorkilnaur)<br />
<br />
=== Grapefruit ===<br />
<br />
==== Description ====<br />
<br />
[[Grapefruit]] is a library for [[Functional Reactive Programming]] (FRP) with a focus on user interfaces. FRP makes it possible to implement reactive and interactive systems in a declarative style. With Grapefruit, user interfaces are described as networks of communicating widgets and windows. Communication is done via different kinds of signals which describe temporal behavior.<br />
<br />
==== Possible subprojects ====<br />
<br />
* graphics support<br />
** Jeff Heard expressed interest in adapting [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Hieroglyph Hieroglyph] to work with Grapefruit.<br />
** The classic version of Grapefruit contains quite a bit of OpenGL-based 3D animation stuff which could be ported to the current Grapefruit version.<br />
** We should also take a look at [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/rsagl RSAGL].<br />
* improvements of the UI part and the GTK+-based UI backend<br />
* Qt-based UI backend<br />
** [[HQK]] should be used for this.<br />
* addition or integration of some kind of physics engine<br />
** There is, for example, [[Hpysics]] from Roman Cheplyaka (Feuerbach)<br />
<br />
==== Licensing ====<br />
<br />
Grapefruit is BSD3-licensed, so all contributions to Grapefruit should be BSD3-licensed, too. If you don’t like this, please discuss this on the [http://projects.haskell.org/cgi-bin/mailman/listinfo/grapefruit Grapefruit mailing list] or contact [[User:Wolfgang Jeltsch|Wolfgang Jeltsch]].<br />
<br />
==== Hackers ====<br />
<br />
* Wolfgang Jeltsch (jeltsch)<br />
* Fraser Wilson<br />
* Roman Cheplyaka (Feuerbach)<br />
* Peter Verswyvelen<br />
* Thomas Davie<br />
<br />
There is a [http://www.doodle.com/hfcymxct953cpw7z doodle] for planning who is doing what.<br />
<br />
=== Leksah ===<br />
<br />
==== Description ====<br />
<br />
[http://leksah.org leksah] is an attempt to develop a Haskell IDE in Haskell. Help adding cool features to this Wannabee IDE, like:<br />
* Generate export list<br />
* Code Formatter<br />
* Infer types<br />
* ... <br />
<br />
==== Hackers ====<br />
<br />
* Jürgen Nicklisch (jutaro)<br />
<br />
<br />
=== Scion ===<br />
<br />
==== Description ====<br />
<br />
Scion is a library that aims to provide IDE-like functionality on top of the GHC API. It aims to be front-end agnostic, thus serve as a common middle-layer for various Haskell programming frontends like Emacs, Vim, Yi, Eclipse, etc.<br />
<br />
It currently only provides rudimentary functionality, such as loading a project and single-threaded background-typechecking. Currently, Scion's only frontend is Emacs, but a Vim frontend is in the underway. Possible Hackathon projects could be:<br />
<br />
* Extend Scion's capabilities. For example: cross-refs, jump to source, more type information, show haddock comments<br />
<br />
* Add another Scion frontend. E.g., hook up Yi or Eclipse with scion <br />
<br />
==== Hackers ====<br />
<br />
* Thomas Schilling (nominolo)<br />
* David Waern (waern)<br />
<br />
=== Type class aliases ===<br />
<br />
==== Description ====<br />
<br />
Type class aliases is a much wanted extension to Haskell proposed long ago by John Meacham ([http://repetae.net/recent/out/classalias.html John's website], [http://www.haskell.org/pipermail/haskell/2005-October/thread.html#16590 mailing list]) that has never been implemented yet. It is time this extension sees the light of day!<br />
<br />
GHC will be the target compiler. Perhaps GHC plugins ([http://hackage.haskell.org/trac/ghc/wiki/Plugins GHC wiki], [http://www.haskell.org/sitewiki/images/f/f0/TMR-Issue12.pdf The Monad Reader 12]) are of help here?<br />
<br />
Please have a look at the [[Context alias|context alias wiki page]] and extend it if you can.<br />
<br />
==== Ideas ====<br />
<br />
===== from Martijn van Steenbergen =====<br />
<br />
As a starting point we'll focus on supporting the following syntax:<br />
<br />
class alias FooBar a = (Foo a, Bar a)<br />
<br />
x :: FooBar a => a<br />
x = ...<br />
<br />
===== from Wolfgang Jeltsch =====<br />
<br />
A “class alias” actually doesn’t stand for a class but for a context (or a part of a context). So it might be better to choose a slightly different syntax:<br />
<br />
context Foobar a = (Foo a, Bar a)<br />
<br />
John Meacham proposes the following syntax for class aliases (context aliases) with superclass constraints:<br />
<br />
class alias Num a = Eq a => (Additive a, Multiplicative a)<br />
<br />
This is not consistent with the superclass syntax of class declarations. I think, we should use this syntax:<br />
<br />
class alias Eq a => Num a = (Additive a, Multiplicative a)<br />
<br />
Or better:<br />
<br />
context Eq a => Num a = (Additive a, Multiplicative a)<br />
<br />
==== Hackers ====<br />
<br />
* [[User:MartijnVanSteenbergen|Martijn van Steenbergen]]<br />
* [[User:sjoerd_visscher|Sjoerd Visscher]]<br />
* [[User:Basvandijk|Bas van Dijk]]<br />
* [[User:Roelvandijk|Roel van Dijk]]<br />
* Jeroen Leeuwestein<br />
* Remi Turk<br />
<br />
=== Goals in GHC(i) ===<br />
<br />
==== Description ====<br />
<br />
We will attempt to extend GHC(i) to give the type (and possibly context) of all 'undefined's in your code, similar to goals in Agda.<br />
<br />
==== Hackers ====<br />
<br />
* Sebastiaan Visser<br />
* Tom Lokhorst<br />
* Erik Hesselink<br />
<br />
=== Containers: beyond Data.Map ===<br />
<br />
Scalable, adaptive persistent container types (Data.Map, Data.IntMap),<br />
<br />
* Don Stewart<br />
* Christophe Poucet<br />
* Nicolas Pouillard<br />
<br />
Summary of approach here: http://cpoucet.wordpress.com/2009/04/18/flattening-datamap/<br />
<br />
=== xmonad ===<br />
<br />
Some new extensions and developers.<br />
<br />
* Don Stewart<br />
* Nicolas Pouillard.<br />
<br />
=== Building a FastCGI interface for Happstack ===<br />
<br />
We've built a way to run Happstack applications on FastCGI, version 0.1.1 is now on hackage: [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/happstack-fastcgi happstack-fastcgi]<br />
<br />
Accompanying blogpost: http://blog.tupil.com/running-happstack-applications-with-fastcgi/<br />
<br />
* Eelco Lempsink<br />
* Chris Eidhof<br />
<br />
=== Yi ===<br />
<br />
Speed improvements and perhaps Scion integration.<br />
<br />
* David Waern<br />
* Scion integration: Figured out a design for where store and call<br />
callbacks for initializing and closing Scion. Next step is to figure out<br />
how to avoid circular module dependencies.<br />
* David Himmelstrup (Lemmih)<br />
<br />
=== Complexity ===<br />
<br />
I released version 0.1.1 of [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/complexity complexity], a small package to determine the algorithmic complexity of a function.<br />
<br />
* Roel van Dijk<br />
<br />
== Experiences ==<br />
<br />
Please list projects with which you are familiar. This way, people know whom to contact for more information or guidance on a particular project.<br />
<br />
{| class="wikitable"<br />
! Name<br />
! Projects<br />
|-<br />
| leather<br />
| [http://www.cs.uu.nl/wiki/GenericProgramming/EMGM EMGM], [http://www.cs.uu.nl/wiki/GenericProgramming/Multirec multirec]<br />
|-<br />
| jeltsch<br />
| [[Grapefruit]], [[HQK]]<br />
|-<br />
| jutaro<br />
| [http://www.leksah.org leksah]<br />
|-<br />
| sebas<br />
| [http://code.google.com/p/salvia-orchid/ salvia], [http://code.google.com/p/salvia-orchid/ orchid], filestore<br />
|-<br />
| waern<br />
| GHC (front-end), Haddock<br />
|-<br />
| Feuerbach<br />
| [http://xmonad.org xmonad], [[Hpysics]]<br />
|-<br />
| npouillard (ertai)<br />
| yi, xmonad, darcs<br />
|-<br />
| chr1s<br />
| formlets, sphinx, emgm, HAppS, EHC, web-related stuff<br />
|-<br />
| Lemmih<br />
| HAppS, LHC<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Projects&diff=27644Hac5/Projects2009-04-19T14:45:33Z<p>Eelco: </p>
<hr />
<div>== Generic information ==<br />
<br />
You can apply for an account and a project using<br />
[http://community.haskell.org/admin/ the community server].<br />
<br />
Once you have an account and/or a project, you upload a Darcs repository as follows. First, initialize your repository on the server:<br />
<br />
$ ssh community.haskell.org<br />
you@haskell:~$ cd /srv/code/yourproject<br />
you@haskell:/srv/code/yourproject$ darcs init<br />
<br />
Then, log out and push your repository:<br />
<br />
$ darcs push community.haskell.org:/srv/code/yourproject<br />
<br />
== Demonstrations ==<br />
<br />
The following demos where held:<br />
<br />
* Jutaro, Leksah: the Haskell IDE<br />
* Don Stewart, vacuum + adaptive data structures<br />
* Tupil.com / chr1s: Real World Web Apps in Haskell<br />
* Thorkil Naur, interactive, time-sliced HPC code coverage<br />
<br />
== Projects ==<br />
<br />
If you have a project that you want to work on at the Hackathon, please describe it here.<br />
<br />
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.<br />
<!-- Copy this template<br />
=== Project name ===<br />
<br />
==== Description ====<br />
<br />
I am a project. Love me.<br />
<br />
===== Hackers =====<br />
<br />
* Hacker 1<br />
* Hacker 2<br />
--><br />
<br />
=== Haskell Platform 1.0 ===<br />
<br />
Finish the construction and roll out of the new [http://www.haskell.org/pipermail/haskell/2009-March/021172.html Haskell Platform]<br />
<br />
==== Hackers ====<br />
<br />
* dcoutts<br />
* dons<br />
* Chris Eidhof (chr1s)<br />
* kolmodin<br />
<br />
Platform specified, generic unix tarball installer.<br />
<br />
=== Darcs Sprint #2 ===<br />
<br />
==== Description ====<br />
<br />
The [http://wiki.darcs.net/index.html/Sprints/2009-04 second Darcs Sprint]. Help improve our beloved [http://en.wikipedia.org/wiki/Distributed_revision_control DVCS]! Add your nick to the list.<br />
<br />
==== Hackers ====<br />
<br />
* Reinier Lamers (tux_rocker)<br />
* Eric Kow (kowey)<br />
* Ben Moseley (benmos)<br />
* Ganesh Sittampalam (Heffalump)<br />
* Ian Lynagh (igloo)<br />
* Arjan Boeijink (arjanb)<br />
* Benedikt Schmidt (beschmi)<br />
* Petr Ročkai (mornfall)<br />
* Thorkil Naur (thorkilnaur)<br />
<br />
=== Grapefruit ===<br />
<br />
==== Description ====<br />
<br />
[[Grapefruit]] is a library for [[Functional Reactive Programming]] (FRP) with a focus on user interfaces. FRP makes it possible to implement reactive and interactive systems in a declarative style. With Grapefruit, user interfaces are described as networks of communicating widgets and windows. Communication is done via different kinds of signals which describe temporal behavior.<br />
<br />
==== Possible subprojects ====<br />
<br />
* graphics support<br />
** Jeff Heard expressed interest in adapting [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Hieroglyph Hieroglyph] to work with Grapefruit.<br />
** The classic version of Grapefruit contains quite a bit of OpenGL-based 3D animation stuff which could be ported to the current Grapefruit version.<br />
** We should also take a look at [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/rsagl RSAGL].<br />
* improvements of the UI part and the GTK+-based UI backend<br />
* Qt-based UI backend<br />
** [[HQK]] should be used for this.<br />
* addition or integration of some kind of physics engine<br />
** There is, for example, [[Hpysics]] from Roman Cheplyaka (Feuerbach)<br />
<br />
==== Licensing ====<br />
<br />
Grapefruit is BSD3-licensed, so all contributions to Grapefruit should be BSD3-licensed, too. If you don’t like this, please discuss this on the [http://projects.haskell.org/cgi-bin/mailman/listinfo/grapefruit Grapefruit mailing list] or contact [[User:Wolfgang Jeltsch|Wolfgang Jeltsch]].<br />
<br />
==== Hackers ====<br />
<br />
* Wolfgang Jeltsch (jeltsch)<br />
* Fraser Wilson<br />
* Roman Cheplyaka (Feuerbach)<br />
* Peter Verswyvelen<br />
* Thomas Davie<br />
<br />
There is a [http://www.doodle.com/hfcymxct953cpw7z doodle] for planning who is doing what.<br />
<br />
=== Leksah ===<br />
<br />
==== Description ====<br />
<br />
[http://leksah.org leksah] is an attempt to develop a Haskell IDE in Haskell. Help adding cool features to this Wannabee IDE, like:<br />
* Generate export list<br />
* Code Formatter<br />
* Infer types<br />
* ... <br />
<br />
==== Hackers ====<br />
<br />
* Jürgen Nicklisch (jutaro)<br />
<br />
<br />
=== Scion ===<br />
<br />
==== Description ====<br />
<br />
Scion is a library that aims to provide IDE-like functionality on top of the GHC API. It aims to be front-end agnostic, thus serve as a common middle-layer for various Haskell programming frontends like Emacs, Vim, Yi, Eclipse, etc.<br />
<br />
It currently only provides rudimentary functionality, such as loading a project and single-threaded background-typechecking. Currently, Scion's only frontend is Emacs, but a Vim frontend is in the underway. Possible Hackathon projects could be:<br />
<br />
* Extend Scion's capabilities. For example: cross-refs, jump to source, more type information, show haddock comments<br />
<br />
* Add another Scion frontend. E.g., hook up Yi or Eclipse with scion <br />
<br />
==== Hackers ====<br />
<br />
* Thomas Schilling (nominolo)<br />
* David Waern (waern)<br />
<br />
=== Type class aliases ===<br />
<br />
==== Description ====<br />
<br />
Type class aliases is a much wanted extension to Haskell proposed long ago by John Meacham ([http://repetae.net/recent/out/classalias.html John's website], [http://www.haskell.org/pipermail/haskell/2005-October/thread.html#16590 mailing list]) that has never been implemented yet. It is time this extension sees the light of day!<br />
<br />
GHC will be the target compiler. Perhaps GHC plugins ([http://hackage.haskell.org/trac/ghc/wiki/Plugins GHC wiki], [http://www.haskell.org/sitewiki/images/f/f0/TMR-Issue12.pdf The Monad Reader 12]) are of help here?<br />
<br />
Please have a look at the [[Context alias|context alias wiki page]] and extend it if you can.<br />
<br />
==== Ideas ====<br />
<br />
===== from Martijn van Steenbergen =====<br />
<br />
As a starting point we'll focus on supporting the following syntax:<br />
<br />
class alias FooBar a = (Foo a, Bar a)<br />
<br />
x :: FooBar a => a<br />
x = ...<br />
<br />
===== from Wolfgang Jeltsch =====<br />
<br />
A “class alias” actually doesn’t stand for a class but for a context (or a part of a context). So it might be better to choose a slightly different syntax:<br />
<br />
context Foobar a = (Foo a, Bar a)<br />
<br />
John Meacham proposes the following syntax for class aliases (context aliases) with superclass constraints:<br />
<br />
class alias Num a = Eq a => (Additive a, Multiplicative a)<br />
<br />
This is not consistent with the superclass syntax of class declarations. I think, we should use this syntax:<br />
<br />
class alias Eq a => Num a = (Additive a, Multiplicative a)<br />
<br />
Or better:<br />
<br />
context Eq a => Num a = (Additive a, Multiplicative a)<br />
<br />
==== Hackers ====<br />
<br />
* [[User:MartijnVanSteenbergen|Martijn van Steenbergen]]<br />
* [[User:sjoerd_visscher|Sjoerd Visscher]]<br />
* [[User:Basvandijk|Bas van Dijk]]<br />
* [[User:Roelvandijk|Roel van Dijk]]<br />
* Jeroen Leeuwestein<br />
* Remi Turk<br />
<br />
=== Goals in GHC(i) ===<br />
<br />
==== Description ====<br />
<br />
We will attempt to extend GHC(i) to give the type (and possibly context) of all 'undefined's in your code, similar to goals in Agda.<br />
<br />
==== Hackers ====<br />
<br />
* Sebastiaan Visser<br />
* Tom Lokhorst<br />
* Erik Hesselink<br />
<br />
=== Containers: beyond Data.Map ===<br />
<br />
Scalable, adaptive persistent container types (Data.Map, Data.IntMap),<br />
<br />
* Don Stewart<br />
* Christophe Poucet<br />
* Nicolas Pouillard<br />
<br />
Summary of approach here: http://cpoucet.wordpress.com/2009/04/18/flattening-datamap/<br />
<br />
=== xmonad ===<br />
<br />
Some new extensions and developers.<br />
<br />
* Don Stewart<br />
* Nicolas Pouillard.<br />
<br />
=== Building a FastCGI interface for Happstack ===<br />
<br />
We've built a way to run Happstack applications on FastCGI, version 0.1.1 is now on hackage: [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/happstack-fastcgi happstack-fastcgi]<br />
<br />
* Eelco Lempsink<br />
* Chris Eidhof<br />
<br />
=== Yi ===<br />
<br />
Speed improvements and perhaps Scion integration.<br />
<br />
* David Waern<br />
* Scion integration: Figured out a design for where store and call<br />
callbacks for initializing and closing Scion. Next step is to figure out<br />
how to avoid circular module dependencies.<br />
* David Himmelstrup (Lemmih)<br />
<br />
=== Complexity ===<br />
<br />
I released version 0.1.1 of [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/complexity complexity], a small package to determine the algorithmic complexity of a function.<br />
<br />
* Roel van Dijk<br />
<br />
== Experiences ==<br />
<br />
Please list projects with which you are familiar. This way, people know whom to contact for more information or guidance on a particular project.<br />
<br />
{| class="wikitable"<br />
! Name<br />
! Projects<br />
|-<br />
| leather<br />
| [http://www.cs.uu.nl/wiki/GenericProgramming/EMGM EMGM], [http://www.cs.uu.nl/wiki/GenericProgramming/Multirec multirec]<br />
|-<br />
| jeltsch<br />
| [[Grapefruit]], [[HQK]]<br />
|-<br />
| jutaro<br />
| [http://www.leksah.org leksah]<br />
|-<br />
| sebas<br />
| [http://code.google.com/p/salvia-orchid/ salvia], [http://code.google.com/p/salvia-orchid/ orchid], filestore<br />
|-<br />
| waern<br />
| GHC (front-end), Haddock<br />
|-<br />
| Feuerbach<br />
| [http://xmonad.org xmonad], [[Hpysics]]<br />
|-<br />
| npouillard (ertai)<br />
| yi, xmonad, darcs<br />
|-<br />
| chr1s<br />
| formlets, sphinx, emgm, HAppS, EHC, web-related stuff<br />
|-<br />
| Lemmih<br />
| HAppS, LHC<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Dinner&diff=27586Hac5/Dinner2009-04-18T12:50:30Z<p>Eelco: </p>
<hr />
<div>= REGISTRATION IS CLOSED, SORRY =<br />
<br />
== Dinner ==<br />
<br />
For saturday night dinner, you have a choice out of 6 tasty options.<br />
<br />
We need to order '''BEFORE 15:00''', so if you want to join us, make sure your name is on this list!<br />
<br />
Dinner is paid for by the sponsors, and drinks as long as funds allow.<br />
<br />
We'll be going to Florin (http://florinutrecht.nl) and are expected at 20:00.<br />
<br />
== Options ==<br />
<br />
# Chicken Satay<br />
# Beef Burger<br />
# Veggie Burger<br />
# Salmon Filet<br />
# Spareribs<br />
# Steak<br />
<br />
== The List ==<br />
<br />
{| class="wikitable"<br />
! Name <br />
! Choice <br />
|-<br />
| Eelco Lempsink <br />
| 3 <br />
|-<br />
|-<br />
| Reinier Lamers<br />
| 3<br />
|-<br />
|-<br />
| Ben Moseley<br />
| 1<br />
|-<br />
|-<br />
| Ganesh Sittampalam<br />
| 6<br />
|-<br />
| Benedikt Schmidt<br />
| 6<br />
|-<br />
| Eric Kow<br />
| 4<br />
|-<br />
| Petr Rockai<br />
| 3<br />
|-<br />
| Daniel Carrera<br />
| 5<br />
|-<br />
| Sigrid Kronenberger<br />
| 1<br />
|-<br />
| Arjan Boeijink<br />
| 1<br />
|-<br />
| Don Stewart<br />
| 3<br />
|-<br />
| Markus Klinik<br />
| 1<br />
|-<br />
| Vincent Zweije<br />
| 5<br />
|-<br />
| Roman Cheplyaka<br />
| 1<br />
|-<br />
| Simon Hengel<br />
| 3<br />
|-<br />
| Ian Lynagh<br />
| 2<br />
|-<br />
| Remi Turk<br />
| 6<br />
|-<br />
| Atze Dijkstra<br />
| 4<br />
|-<br />
| Andres Loeh<br />
| 2<br />
|-<br />
| Clara Loeh<br />
| 6<br />
|-<br />
| Martijn van Steenbergen<br />
| 1<br />
|-<br />
| Wolfgang Jeltsch<br />
| 2<br />
|-<br />
| Thomas Davie<br />
| 6<br />
|-<br />
| Peter Verswyvelen<br />
| 6<br />
|-<br />
| Roel van Dijk<br />
| 6<br />
|-<br />
| Bas van Dijk<br />
| 6<br />
|-<br />
| Erik Hesselink<br />
| 6<br />
|-<br />
| Tom Lokhorst<br />
| 5<br />
|-<br />
| Rui Barbosa<br />
| 4<br />
|-<br />
| Sebastiaan Visser<br />
| 6<br />
|-<br />
| Thomas Schilling<br />
| 1<br />
|-<br />
| José Pedro Magalhães<br />
| 1<br />
|-<br />
| David Himmelstrup<br />
| 4<br />
|-<br />
| Nicolas Pouillard<br />
| 5<br />
|-<br />
| Lennart Kolmodin<br />
| 6<br />
|-<br />
| Chris Eidhof<br />
| 2<br />
|-<br />
| Thorkil Naur<br />
| 4<br />
|-<br />
| Alexey Rodriguez<br />
| 4<br />
|-<br />
| Martijn Schrage<br />
| 2<br />
|-<br />
| Jürgen<br />
| 3<br />
|-<br />
| David Waern<br />
| 1<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Dinner&diff=27584Hac5/Dinner2009-04-18T12:47:57Z<p>Eelco: </p>
<hr />
<div>== Dinner ==<br />
<br />
For saturday night dinner, you have a choice out of 6 tasty options.<br />
<br />
We need to order '''BEFORE 15:00''', so if you want to join us, make sure your name is on this list!<br />
<br />
Dinner is paid for by the sponsors, and drinks as long as funds allow.<br />
<br />
We'll be going to Florin (http://florinutrecht.nl) and are expected at 20:00.<br />
<br />
== Options ==<br />
<br />
# Chicken Satay<br />
# Beef Burger<br />
# Veggie Burger<br />
# Salmon Filet<br />
# Spareribs<br />
# Steak<br />
<br />
== The List ==<br />
<br />
{| class="wikitable"<br />
! Name <br />
! Choice <br />
|-<br />
| Eelco Lempsink <br />
| 3 <br />
|-<br />
|-<br />
| Reinier Lamers<br />
| 3<br />
|-<br />
|-<br />
| Ben Moseley<br />
| 1<br />
|-<br />
|-<br />
| Ganesh Sittampalam<br />
| 6<br />
|-<br />
| Benedikt Schmidt<br />
| 6<br />
|-<br />
| Eric Kow<br />
| 4<br />
|-<br />
| Petr Rockai<br />
| 3<br />
|-<br />
| Daniel Carrera<br />
| 5<br />
|-<br />
| Sigrid Kronenberger<br />
| 1<br />
|-<br />
| Arjan Boeijink<br />
| 1<br />
|-<br />
| Don Stewart<br />
| 3<br />
|-<br />
| Markus Klinik<br />
| 1<br />
|-<br />
| Vincent Zweije<br />
| 5<br />
|-<br />
| Roman Cheplyaka<br />
| 1<br />
|-<br />
| Simon Hengel<br />
| 3<br />
|-<br />
| Ian Lynagh<br />
| 2<br />
|-<br />
| Remi Turk<br />
| 6<br />
|-<br />
| Atze Dijkstra<br />
| 4<br />
|-<br />
| Andres Loeh<br />
| 2<br />
|-<br />
| Clara Loeh<br />
| 6<br />
|-<br />
| Martijn van Steenbergen<br />
| 1<br />
|-<br />
| Wolfgang Jeltsch<br />
| 2<br />
|-<br />
| Thomas Davie<br />
| 6<br />
|-<br />
| Peter Verswyvelen<br />
| 6<br />
|-<br />
| Roel van Dijk<br />
| 6<br />
|-<br />
| Bas van Dijk<br />
| 6<br />
|-<br />
| Erik Hesselink<br />
| 6<br />
|-<br />
| Tom Lokhorst<br />
| 5<br />
|-<br />
| Rui Barbosa<br />
| 4<br />
|-<br />
| Sebastiaan Visser<br />
| 6<br />
|-<br />
| Thomas Schilling<br />
| 1<br />
|-<br />
| José Pedro Magalhães<br />
| 1<br />
|-<br />
| David Himmelstrup<br />
| 4<br />
|-<br />
| Nicolas Pouillard<br />
| 5<br />
|-<br />
| Lennart Kolmodin<br />
| 6<br />
|-<br />
| Chris Eidhof<br />
| 2<br />
|-<br />
| Thorkil Naur<br />
| 4<br />
|-<br />
| Alexey Rodriguez<br />
| 4<br />
|-<br />
| Martijn Schrage<br />
| 2<br />
|-<br />
| Jürgen<br />
| 3<br />
|-<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Dinner&diff=27559Hac5/Dinner2009-04-18T11:05:28Z<p>Eelco: </p>
<hr />
<div>== Dinner ==<br />
<br />
For saturday night dinner, you have a choice out of 6 tasty options.<br />
<br />
We need to order '''BEFORE 15:00''', so if you want to join us, make sure your name is on this list!<br />
<br />
Dinner is payed for by the sponsors, and drinks as long as funds allow.<br />
<br />
We'll be going to Florin (http://florinutrecht.nl) and are expected at 20:00.<br />
<br />
== Options ==<br />
<br />
# Chicken Satay<br />
# Beef Burger<br />
# Veggie Burger<br />
# Salmon Filet<br />
# Spareribs<br />
# Steak<br />
<br />
== The List ==<br />
<br />
{| class="wikitable"<br />
! Name <br />
! Choice <br />
|-<br />
| Eelco Lempsink <br />
| 3 <br />
|-<br />
|-<br />
| Reinier Lamers<br />
| 3<br />
|-<br />
|-<br />
| Ben Moseley<br />
| 1<br />
|-<br />
|-<br />
| Ganesh Sittampalam<br />
| 6<br />
|-<br />
| Benedikt Schmidt<br />
| 6<br />
|-<br />
| Eric Kow<br />
| 4<br />
|-<br />
| Petr Rockai<br />
| 3<br />
|-<br />
| Arjan Boeijink<br />
| 1<br />
|-<br />
| Don Stewart<br />
| 3<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Dinner&diff=27553Hac5/Dinner2009-04-18T10:58:11Z<p>Eelco: </p>
<hr />
<div>== Dinner ==<br />
<br />
For saturday night dinner, you have a choice out of 6 tasty options.<br />
<br />
We need to order '''BEFORE 15:00''', so if you want to join us, make sure your name is on this list!<br />
<br />
Dinner is payed for by the sponsors, and drinks as long as funds allow.<br />
<br />
== Options ==<br />
<br />
# Chicken Satay<br />
# Beef Burger<br />
# Veggie Burger<br />
# Salmon Filet<br />
# Spareribs<br />
# Steak<br />
<br />
== The List ==<br />
<br />
{| class="wikitable"<br />
! Name <br />
! Choice <br />
|-<br />
| Eelco Lempsink <br />
| 3 <br />
|-<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Dinner&diff=27552Hac5/Dinner2009-04-18T10:56:39Z<p>Eelco: Set up dinner registration page</p>
<hr />
<div>== Dinner ==<br />
<br />
For saturday night dinner, you have a choice out of 6 tasty options.<br />
<br />
We need to order '''BEFORE 15:00''', so if you want to join us, make sure your name is on this list!<br />
<br />
Dinner is payed for by the sponsors, and drinks as long as funds allow.<br />
<br />
== Options ==<br />
<br />
1. Chicken Satay<br />
2. Beef Burger<br />
3. Veggie Burger<br />
4. Salmon Filet<br />
5. Spareribs<br />
6. Steak<br />
<br />
== The List ==<br />
<br />
{| class="wikitable"<br />
! Name <br />
! Choice <br />
|-<br />
| Eelco Lempsink <br />
| 3 <br />
|-<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Projects&diff=27527Hac5/Projects2009-04-17T15:21:07Z<p>Eelco: </p>
<hr />
<div>== Generic information ==<br />
<br />
You can apply for an account and a project using<br />
[http://community.haskell.org/admin/ the community server].<br />
<br />
Once you have an account and/or a project, you upload a Darcs repository as follows. First, initialize your repository on the server:<br />
<br />
$ ssh community.haskell.org<br />
you@haskell:~$ cd /srv/code/yourproject<br />
you@haskell:/srv/code/yourproject$ darcs init<br />
<br />
Then, log out and push your repository:<br />
<br />
$ darcs push community.haskell.org:/srv/code/yourproject<br />
<br />
== Projects ==<br />
<br />
If you have a project that you want to work on at the Hackathon, please describe it here.<br />
<br />
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.<br />
<!-- Copy this template<br />
=== Project name ===<br />
<br />
==== Description ====<br />
<br />
I am a project. Love me.<br />
<br />
===== Hackers =====<br />
<br />
* Hacker 1<br />
* Hacker 2<br />
--><br />
<br />
=== Haskell Platform 1.0 ===<br />
<br />
Finish the construction and roll out of the new [http://www.haskell.org/pipermail/haskell/2009-March/021172.html Haskell Platform]<br />
<br />
==== Hackers ====<br />
<br />
* dcoutts<br />
* dons<br />
* Chris Eidhof (chr1s)<br />
* needed: windows/ macosx packagers.<br />
* BAMSE + Cabal for Windows<br />
<br />
=== Darcs Sprint #2 ===<br />
<br />
==== Description ====<br />
<br />
The [http://wiki.darcs.net/index.html/Sprints/2009-04 second Darcs Sprint]. Help improve our beloved [http://en.wikipedia.org/wiki/Distributed_revision_control DVCS]! Add your nick to the list.<br />
<br />
==== Hackers ====<br />
<br />
* Reinier Lamers (tux_rocker)<br />
* Eric Kow (kowey)<br />
* Ben Moseley (benmos)<br />
* Ganesh Sittampalam (Heffalump)<br />
* Ian Lynagh (igloo)<br />
* Arjan Boeijink (arjanb)<br />
* Benedikt Schmidt (beschmi)<br />
* Petr Ročkai (mornfall)<br />
* Thorkil Naur (thorkilnaur)<br />
<br />
=== Grapefruit ===<br />
<br />
==== Description ====<br />
<br />
[[Grapefruit]] is a library for [[Functional Reactive Programming]] (FRP) with a focus on user interfaces. FRP makes it possible to implement reactive and interactive systems in a declarative style. With Grapefruit, user interfaces are described as networks of communicating widgets and windows. Communication is done via different kinds of signals which describe temporal behavior.<br />
<br />
==== Possible subprojects ====<br />
<br />
* graphics support<br />
** Jeff Heard expressed interest in adapting [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Hieroglyph Hieroglyph] to work with Grapefruit.<br />
** The classic version of Grapefruit contains quite a bit of OpenGL-based 3D animation stuff which could be ported to the current Grapefruit version.<br />
** We should also take a look at [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/rsagl RSAGL].<br />
* improvements of the UI part and the GTK+-based UI backend<br />
* Qt-based UI backend<br />
** [[HQK]] should be used for this.<br />
* addition or integration of some kind of physics engine<br />
** There is, for example, [[Hpysics]] from Roman Cheplyaka (Feuerbach)<br />
<br />
==== Licensing ====<br />
<br />
Grapefruit is BSD3-licensed, so all contributions to Grapefruit should be BSD3-licensed, too. If you don’t like this, please discuss this on the [http://projects.haskell.org/cgi-bin/mailman/listinfo/grapefruit Grapefruit mailing list] or contact [[User:Wolfgang Jeltsch|Wolfgang Jeltsch]].<br />
<br />
==== Hackers ====<br />
<br />
* Wolfgang Jeltsch (jeltsch)<br />
* Fraser Wilson<br />
* Roman Cheplyaka (Feuerbach)<br />
* Peter Verswyvelen<br />
* Thomas Davie<br />
<br />
There is a [http://www.doodle.com/hfcymxct953cpw7z doodle] for planning who is doing what.<br />
<br />
=== Leksah ===<br />
<br />
==== Description ====<br />
<br />
[http://leksah.org leksah] is an attempt to develop a Haskell IDE in Haskell. Help adding cool features to this Wannabee IDE, like:<br />
* Generate export list<br />
* Code Formatter<br />
* Infer types<br />
* ... <br />
<br />
==== Hackers ====<br />
<br />
* Jürgen Nicklisch (jutaro)<br />
<br />
<br />
=== Scion ===<br />
<br />
==== Description ====<br />
<br />
Scion is a library that aims to provide IDE-like functionality on top of the GHC API. It aims to be front-end agnostic, thus serve as a common middle-layer for various Haskell programming frontends like Emacs, Vim, Yi, Eclipse, etc.<br />
<br />
It currently only provides rudimentary functionality, such as loading a project and single-threaded background-typechecking. Currently, Scion's only frontend is Emacs, but a Vim frontend is in the underway. Possible Hackathon projects could be:<br />
<br />
* Extend Scion's capabilities. For example: cross-refs, jump to source, more type information, show haddock comments<br />
<br />
* Add another Scion frontend. E.g., hook up Yi or Eclipse with scion <br />
<br />
==== Hackers ====<br />
<br />
* Thomas Schilling (nominolo)<br />
* David Waern (waern)<br />
<br />
=== Type class aliases ===<br />
<br />
==== Description ====<br />
<br />
Type class aliases is a much wanted extension to Haskell proposed long ago by John Meacham ([http://repetae.net/recent/out/classalias.html John's website], [http://www.haskell.org/pipermail/haskell/2005-October/thread.html#16590 mailing list]) that has never been implemented yet. It is time this extension sees the light of day!<br />
<br />
GHC will be the target compiler. Perhaps GHC plugins ([http://hackage.haskell.org/trac/ghc/wiki/Plugins GHC wiki], [http://www.haskell.org/sitewiki/images/f/f0/TMR-Issue12.pdf The Monad Reader 12]) are of help here?<br />
<br />
Please have a look at the [[Context alias|context alias wiki page]] and extend it if you can.<br />
<br />
==== Ideas ====<br />
<br />
===== from Martijn van Steenbergen =====<br />
<br />
As a starting point we'll focus on supporting the following syntax:<br />
<br />
class alias FooBar a = (Foo a, Bar a)<br />
<br />
x :: FooBar a => a<br />
x = ...<br />
<br />
===== from Wolfgang Jeltsch =====<br />
<br />
A “class alias” actually doesn’t stand for a class but for a context (or a part of a context). So it might be better to choose a slightly different syntax:<br />
<br />
context Foobar a = (Foo a, Bar a)<br />
<br />
John Meacham proposes the following syntax for class aliases (context aliases) with superclass constraints:<br />
<br />
class alias Num a = Eq a => (Additive a, Multiplicative a)<br />
<br />
This is not consistent with the superclass syntax of class declarations. I think, we should use this syntax:<br />
<br />
class alias Eq a => Num a = (Additive a, Multiplicative a)<br />
<br />
Or better:<br />
<br />
context Eq a => Num a = (Additive a, Multiplicative a)<br />
<br />
==== Hackers ====<br />
<br />
* [[User:MartijnVanSteenbergen|Martijn van Steenbergen]]<br />
* [[User:sjoerd_visscher|Sjoerd Visscher]]<br />
* [[User:Basvandijk|Bas van Dijk]]<br />
* [[User:Roelvandijk|Roel van Dijk]]<br />
* Jeroen Leeuwestein<br />
<br />
=== Goals in GHC(i) ===<br />
<br />
==== Description ====<br />
<br />
We will attempt to extend GHC(i) to give the type (and possibly context) of all 'undefined's in your code, similar to goals in Agda.<br />
<br />
==== Hackers ====<br />
<br />
* Sebastiaan Visser<br />
* Tom Lokhorst<br />
* Erik Hesselink<br />
<br />
=== Containers: beyond Data.Map ===<br />
<br />
Brainstorm approaches for scalable, high performance, data-dense container structures. Adaptive tries, open addressed hashtables?<br />
<br />
* Don Stewart<br />
<br />
=== Numeric Array Types ===<br />
<br />
Finish API for uvector, based on Data.Text experiences.<br />
<br />
* Don Stewart<br />
<br />
=== xmonad ===<br />
<br />
Happy to help with xmonad advice<br />
<br />
* Don Stewart<br />
<br />
=== <strike>Reviving mod_haskell</strike> Building an FastCGI interface for Happstack ===<br />
<br />
<strike>Trying to build an Apache module with Haskell. Ultimate goal: make it trivial to deploy an Haskell web application on Apache.</strike><br />
<br />
Going to take the more practical route first, building a simple FastCGI interface for Happstack.<br />
<br />
* Eelco Lempsink<br />
* Chris Eidhof<br />
<br />
=== Yi ===<br />
<br />
Speed improvements and perhaps Scion integration.<br />
<br />
* David Waern<br />
* David Himmelstrup (Lemmih)<br />
<br />
== Experiences ==<br />
<br />
Please list projects with which you are familiar. This way, people know whom to contact for more information or guidance on a particular project.<br />
<br />
{| class="wikitable"<br />
! Name<br />
! Projects<br />
|-<br />
| leather<br />
| [http://www.cs.uu.nl/wiki/GenericProgramming/EMGM EMGM], [http://www.cs.uu.nl/wiki/GenericProgramming/Multirec multirec]<br />
|-<br />
| jeltsch<br />
| [[Grapefruit]], [[HQK]]<br />
|-<br />
| jutaro<br />
| [http://www.leksah.org leksah]<br />
|-<br />
| sebas<br />
| [http://code.google.com/p/salvia-orchid/ salvia], [http://code.google.com/p/salvia-orchid/ orchid], filestore<br />
|-<br />
| waern<br />
| GHC (front-end), Haddock<br />
|-<br />
| Feuerbach<br />
| [http://xmonad.org xmonad], [[Hpysics]]<br />
|-<br />
| npouillard (ertai)<br />
| yi, xmonad, darcs<br />
|-<br />
| chr1s<br />
| formlets, sphinx, emgm, HAppS, EHC, web-related stuff<br />
|-<br />
| Lemmih<br />
| HAppS, LHC<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Projects&diff=27520Hac5/Projects2009-04-17T10:30:50Z<p>Eelco: </p>
<hr />
<div>== Generic information ==<br />
<br />
You can apply for an account and a project using<br />
[http://community.haskell.org/admin/ the community server].<br />
<br />
Once you have an account and/or a project, you upload a Darcs repository as follows. First, initialize your repository on the server:<br />
<br />
$ ssh community.haskell.org<br />
you@haskell:~$ cd /srv/code/yourproject<br />
you@haskell:/srv/code/yourproject$ darcs init<br />
<br />
Then, log out and push your repository:<br />
<br />
$ darcs push community.haskell.org:/srv/code/yourproject<br />
<br />
== Projects ==<br />
<br />
If you have a project that you want to work on at the Hackathon, please describe it here.<br />
<br />
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.<br />
<!-- Copy this template<br />
=== Project name ===<br />
<br />
==== Description ====<br />
<br />
I am a project. Love me.<br />
<br />
===== Hackers =====<br />
<br />
* Hacker 1<br />
* Hacker 2<br />
--><br />
<br />
=== Haskell Platform 1.0 ===<br />
<br />
Finish the construction and roll out of the new [http://www.haskell.org/pipermail/haskell/2009-March/021172.html Haskell Platform]<br />
<br />
==== Hackers ====<br />
<br />
* dcoutts<br />
* dons<br />
* Chris Eidhof (chr1s)<br />
* needed: windows/ macosx packagers.<br />
* BAMSE + Cabal for Windows<br />
<br />
=== Darcs Sprint #2 ===<br />
<br />
==== Description ====<br />
<br />
The [http://wiki.darcs.net/index.html/Sprints/2009-04 second Darcs Sprint]. Help improve our beloved [http://en.wikipedia.org/wiki/Distributed_revision_control DVCS]! Add your nick to the list.<br />
<br />
==== Hackers ====<br />
<br />
* Reinier Lamers (tux_rocker)<br />
* Eric Kow (kowey)<br />
* Ben Moseley (benmos)<br />
* Ganesh Sittampalam (Heffalump)<br />
* Ian Lynagh (igloo)<br />
* Arjan Boeijink (arjanb)<br />
* Benedikt Schmidt (beschmi)<br />
* Petr Ročkai (mornfall)<br />
* Thorkil Naur (thorkilnaur)<br />
<br />
=== Grapefruit ===<br />
<br />
==== Description ====<br />
<br />
[[Grapefruit]] is a library for [[Functional Reactive Programming]] (FRP) with a focus on user interfaces. FRP makes it possible to implement reactive and interactive systems in a declarative style. With Grapefruit, user interfaces are described as networks of communicating widgets and windows. Communication is done via different kinds of signals which describe temporal behavior.<br />
<br />
==== Possible subprojects ====<br />
<br />
* graphics support<br />
** Jeff Heard expressed interest in adapting [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Hieroglyph Hieroglyph] to work with Grapefruit.<br />
** The classic version of Grapefruit contains quite a bit of OpenGL-based 3D animation stuff which could be ported to the current Grapefruit version.<br />
** We should also take a look at [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/rsagl RSAGL].<br />
* improvements of the UI part and the GTK+-based UI backend<br />
* Qt-based UI backend<br />
** [[HQK]] should be used for this.<br />
* addition or integration of some kind of physics engine<br />
** There is, for example, [[Hpysics]] from Roman Cheplyaka (Feuerbach)<br />
<br />
==== Licensing ====<br />
<br />
Grapefruit is BSD3-licensed, so all contributions to Grapefruit should be BSD3-licensed, too. If you don’t like this, please discuss this on the [http://projects.haskell.org/cgi-bin/mailman/listinfo/grapefruit Grapefruit mailing list] or contact [[User:Wolfgang Jeltsch|Wolfgang Jeltsch]].<br />
<br />
==== Hackers ====<br />
<br />
* Wolfgang Jeltsch (jeltsch)<br />
* Fraser Wilson<br />
* Roman Cheplyaka (Feuerbach)<br />
* Peter Verswyvelen<br />
* Thomas Davie<br />
<br />
There is a [http://www.doodle.com/hfcymxct953cpw7z doodle] for planning who is doing what.<br />
<br />
=== Leksah ===<br />
<br />
==== Description ====<br />
<br />
[http://leksah.org leksah] is an attempt to develop a Haskell IDE in Haskell. Help adding cool features to this Wannabee IDE, like:<br />
* Generate export list<br />
* Code Formatter<br />
* Infer types<br />
* ... <br />
<br />
==== Hackers ====<br />
<br />
* Jürgen Nicklisch (jutaro)<br />
<br />
<br />
=== Scion ===<br />
<br />
==== Description ====<br />
<br />
Scion is a library that aims to provide IDE-like functionality on top of the GHC API. It aims to be front-end agnostic, thus serve as a common middle-layer for various Haskell programming frontends like Emacs, Vim, Yi, Eclipse, etc.<br />
<br />
It currently only provides rudimentary functionality, such as loading a project and single-threaded background-typechecking. Currently, Scion's only frontend is Emacs, but a Vim frontend is in the underway. Possible Hackathon projects could be:<br />
<br />
* Extend Scion's capabilities. For example: cross-refs, jump to source, more type information, show haddock comments<br />
<br />
* Add another Scion frontend. E.g., hook up Yi or Eclipse with scion <br />
<br />
==== Hackers ====<br />
<br />
* Thomas Schilling (nominolo)<br />
* David Waern (waern)<br />
<br />
=== Type class aliases ===<br />
<br />
==== Description ====<br />
<br />
Type class aliases is a much wanted extension to Haskell proposed long ago by John Meacham ([http://repetae.net/recent/out/classalias.html John's website], [http://www.haskell.org/pipermail/haskell/2005-October/thread.html#16590 mailing list]) that has never been implemented yet. It is time this extension sees the light of day!<br />
<br />
GHC will be the target compiler. Perhaps GHC plugins ([http://hackage.haskell.org/trac/ghc/wiki/Plugins GHC wiki], [http://www.haskell.org/sitewiki/images/f/f0/TMR-Issue12.pdf The Monad Reader 12]) are of help here?<br />
<br />
Please have a look at the [[Context alias|context alias wiki page]] and extend it if you can.<br />
<br />
==== Ideas ====<br />
<br />
===== from Martijn van Steenbergen =====<br />
<br />
As a starting point we'll focus on supporting the following syntax:<br />
<br />
class alias FooBar a = (Foo a, Bar a)<br />
<br />
x :: FooBar a => a<br />
x = ...<br />
<br />
===== from Wolfgang Jeltsch =====<br />
<br />
A “class alias” actually doesn’t stand for a class but for a context (or a part of a context). So it might be better to choose a slightly different syntax:<br />
<br />
context Foobar a = (Foo a, Bar a)<br />
<br />
John Meacham proposes the following syntax for class aliases (context aliases) with superclass constraints:<br />
<br />
class alias Num a = Eq a => (Additive a, Multiplicative a)<br />
<br />
This is not consistent with the superclass syntax of class declarations. I think, we should use this syntax:<br />
<br />
class alias Eq a => Num a = (Additive a, Multiplicative a)<br />
<br />
Or better:<br />
<br />
context Eq a => Num a = (Additive a, Multiplicative a)<br />
<br />
==== Hackers ====<br />
<br />
* [[User:MartijnVanSteenbergen|Martijn van Steenbergen]]<br />
* [[User:sjoerd_visscher|Sjoerd Visscher]]<br />
* [[User:Basvandijk|Bas van Dijk]]<br />
* [[User:Roelvandijk|Roel van Dijk]]<br />
* Jeroen Leeuwestein<br />
<br />
=== Flux ===<br />
<br />
==== Description ====<br />
<br />
Flux is a simple UV modelling engine and some OpenGL abstraction on top of HOpenGL. It can be seen as a start of a 3D engine but needs some serious hacking to be really useful. Currently this project can be seen as a pile of rather useful code, I hope to change into something more structured and feature rich.<br />
<br />
See a demo: http://wiki.github.com/sebastiaanvisser/flux<br />
<br />
==== Hackers ====<br />
<br />
* Sebastiaan Visser<br />
<br />
=== Containers: beyond Data.Map ===<br />
<br />
Brainstorm approaches for scalable, high performance, data-dense container structures. Adaptive tries, open addressed hashtables?<br />
<br />
* Don Stewart<br />
<br />
=== Numeric Array Types ===<br />
<br />
Finish API for uvector, based on Data.Text experiences.<br />
<br />
* Don Stewart<br />
<br />
=== xmonad ===<br />
<br />
Happy to help with xmonad advice<br />
<br />
* Don Stewart<br />
<br />
=== Reviving mod_haskell ===<br />
<br />
Trying to build an Apache module with Haskell. Ultimate goal: make it trivial to deploy an Haskell web application on Apache.<br />
<br />
* Eelco Lempsink<br />
* Chris Eidhof<br />
<br />
== Experiences ==<br />
<br />
Please list projects with which you are familiar. This way, people know whom to contact for more information or guidance on a particular project.<br />
<br />
{| class="wikitable"<br />
! Name<br />
! Projects<br />
|-<br />
| leather<br />
| [http://www.cs.uu.nl/wiki/GenericProgramming/EMGM EMGM], [http://www.cs.uu.nl/wiki/GenericProgramming/Multirec multirec]<br />
|-<br />
| jeltsch<br />
| [[Grapefruit]], [[HQK]]<br />
|-<br />
| jutaro<br />
| [http://www.leksah.org leksah]<br />
|-<br />
| sebas<br />
| [http://code.google.com/p/salvia-orchid/ salvia], [http://code.google.com/p/salvia-orchid/ orchid], filestore<br />
|-<br />
| waern<br />
| GHC (front-end), Haddock<br />
|-<br />
| Feuerbach<br />
| [http://xmonad.org xmonad], [[Hpysics]]<br />
|-<br />
| npouillard (ertai)<br />
| yi, xmonad, darcs<br />
|-<br />
| chr1s<br />
| formlets, sphinx, emgm, HAppS, EHC, web-related stuff<br />
|-<br />
| Lemmih<br />
| HAppS, LHC<br />
|}</div>Eelcohttps://wiki.haskell.org/index.php?title=Haskell_logos/New_logo_ideas&diff=27182Haskell logos/New logo ideas2009-03-24T13:38:11Z<p>Eelco: Linking to results</p>
<hr />
<div>== The great 2009 Haskell logo contest ==<br />
<br />
The Haskell logo has [http://www.willamette.edu/~fruehr/logos/intro.html changed over time], and the current "new" logo reflects the<br />
advanced features of Haskell. However, it is looking rather dated, and doesn't necessarily reflect the mature Haskell we have now.<br />
<br />
So, time to find a new logo. Something reflecting the modern emphasis of<br />
Haskell on purity and simplicity.<br />
<br />
=== Results ===<br />
<br />
The votes (for the first round) are in! You can view the [http://www.cs.cornell.edu/w8/~andru/cgi-perl/civs/results.pl?num_winners=1&id=E_d21b0256a4fd5ed7&algorithm=beatpath poll results] and the [http://community.haskell.org/~eelco/results.html results page (with logos)].<br />
<br />
Congratulations to Darrin Thompson (idea) and Jeff Wheeler (graphical interpretation) for creating the winning logo!<br />
<br />
=== Contest ===<br />
<br />
Please submit logo-sized (not overly large) versions of your logo with optional text, with a preferably white background (such as for use on haskell.org).<br />
<br />
Please submit your entries here, and attach your name to them please. To be eligible,<br />
they will need to be visible on this page (e.g. uploaded, or link to the image). The image should be freely available (a suitable freely distributable license). Entries not displayed here won't be eligible.<br />
<br />
''The deadline for submissions is December 31, 2008, after which the top few submissions will be voted on by the community to decide a winner!''<br />
<br />
''' Adjectives '''<br />
<br />
<br />
A logo is part of a brand, and a brand is used to project an image. Therefore an important part of this exercise is deciding what image we want to project. An image can be described using a list of adjectives. So here is a sample of adjectives that we might want. This list is not exhaustive: by all means add more if you want them.<br />
<br />
''abstract, academic, accessible, accurate, adventurous, business-like, communal, complicated, dangerous, different, easy, exciting, familiar, friendly, fun, fuzzy, hard, interesting, inventive, precise, productive, profitable, reliable, revolutionary, safe, simple, strange, supportive, warm, welcoming.''<br />
<br />
I suggest that entries are accompanied by the two or three adjectives they are trying to project. [[User:PaulJohnson|PaulJohnson]]<br />
<br />
----<br />
by [[User:rherrmann@gmail.com|Ricardo Herrmann]]<br />
<br />
[[Image:Haskell_hell_heaven.png]]<br />
<p>"Haskell: From Hell to Heaven"</p><br />
<p>Shamelessly took [http://leksah.org Leksah]'s double-lambda idea, created a new version of it in Inkscape and made it aqua-like for the shiny-glossy-2.0 web world.</p><br />
<p>I think the double-lambda was a great idea. Let's kidnap it and make it Haskell's new logo ;-)</p><br />
[[Image:double_lambda.png]], or Times-based, [[Image:haskell_times.png]]<br />
<br />
----<br />
by [[User:Xyzzy]]<br />
<br />
[[Image:Haskell_logo_xyzzy.png]]<br/>Binding the theoretical sky to the solid ground in [http://book.realworldhaskell.org Real World].<br/><br />
----<br />
by [[User:Xyzzy]]<br />
<br />
[[Image:Haskell_nuclear_xyzzy.png]]<br/>Haskell, the warm fuzzy nuclear waste.<br/><br />
----<br />
by [[User:Bori vali]]<br />
<br />
[[Image:01_logo.png]]<br/><br/><br />
[[Image:02_logo.png]]<br/><br/><br />
[[Image:03_Logo.png]]<br/><br/><br />
[[Image:04_Logo.png]]<br/><br/><br />
[[Image:05_Logo.png]]<br/><br/><br />
[[Image:06_Logo.png]]<br/><br/><br />
[[Image:07_Logo.png]]<br/><br/><br />
<br />
bori vali,20:16, 29 December 2008 <br />
----<br />
<br />
My favourite one yet.<br />
<br />
Basic version:<br />
<br />
[[Image:Haskell_logo_falconnl_8_basic.png]]<br />
<br />
And on the ever-popular reflective gradient background:<br />
<br />
[[Image:Haskell_logo_falconnl_8_fancy.png]]<br />
<br />
Explanation:<br />
<br />
- It is a slightly more dynamic version of the standard lambda<br />
<br />
- In the center is a dot, which is the function composition operator<br />
<br />
- It also looks like a Y tilting to the right, which is a reference to the Y combinator.<br />
<br />
- It also looks like a figure running, a reference to Haskell's speed<br />
<br />
--[[User:FalconNL|FalconNL]] 19:44, 28 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:planetary_gears.png]]<br />
<br />
The inspiration for this logo is a set of planetary gears. The gears represent the compositional nature of Haskell (bigger gears made out of smaller gears). The colours of the gears are inspired by the paintings of Piet Mondrian, the well known abstract artist, and hence represent the abstract nature of Haskell. The gears are arranged into a shape which resembles a lambda, but only covertly. <br />
<br />
The image was created in inkscape and an SVG is available.<br />
<br />
[[User:bjpop|bjpop]] Sat 27 Dec 2008 22:44:15 EST<br />
<br />
----<br />
Pure Devil Haskell <br />
<br />
[[Image:Pure_Devil_Haskell.png]]<br />
<br />
The rationality behind my draft: <br />
(1) Haskell is considered powerful but feared. (2) Reversed Biblical logic: condemned to purity to be saved by monads, which according to Leibniz "are arranged by God in a perfect order which ascends to God, the supreme monad". (3) With great respect for Haskell Curry there are other people whom the language owes, thus it is only fair to encourage alternative interpretations for the name. <br />
<br />
--[[User:Jaworski|Jaworski]] 23:51, 25 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:Lenny2.png]]<br />
<br />
This is a not too serious proposal. It should communicate, that Haskell is fast.<br />
<br />
It is of course also available in SVG format.<br />
<br />
--[[User:Lenny222|Lenny222]] 21:35, 24 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:Lenny1.png]]<br />
<br />
[[Image:Lenny1a.png]]<br />
<br />
My proposal looks a bit as if you are looking down on a pyramid - reflecting how Haskell is rock solid and reliable. If you look closely, you'll see a Lambda between the triangles. Also the logo is modern and clean - like Haskell. You'll find it consists of only 3 triangles.<br />
<br />
It is of course also available in SVG format.<br />
<br />
--[[User:Lenny222|Lenny222]] 21:30, 24 December 2008 (UTC)<br />
<br />
:I like it when it looks good as a favicon :) Not all of the others do ... [[User:Ripounet|Ripounet]]<br />
<br />
A blue variation:<br />
<br />
[[Image:Lenny1b.png]]<br />
<br />
----<br />
<br />
This ASCII logo connects Haskell to LOLz, for pure win.<br />
<br />
<pre><br />
we<br />
did<br />
it for<br />
the λulz<br />
</pre><br />
<br />
[[User:Jsnx|jsnx]] 21:18, 23 December 2008 (UTC)<br />
<br />
----<br />
<br />
Logo with a leopard in the shape of a lambda. This one is traced from a bitmap, so it doesn't look brilliant. Should this one be chosen a better one can be drawn.<br />
<br />
[[Image:Haskell_logo_ideas_7_falconnl.png]]<br />
<br />
--[[User:FalconNL|FalconNL]] 07:11, 22 December 2008 (UTC)<br />
<br />
----<br />
[[Image:lambdanimal.png|150px]]<br />
[[Image:lambdanimal_nomane.png|150px]]<br />
<br />
Strange Lambdanimal, with or without a mane. [[Media:lambdanimal.svg|SVG (inkscape)]].<br />
<br />
by [[User:Ripounet|Ripounet]] 22:24, 18 December 2008 (UTC)<br />
<br />
----<br />
[http://galois.com/~dons/images/logos/Haskell_logo.png http://galois.com/~dons/images/logos/Haskell_logo.png]<br />
<br />
Dana Herz @ Galois.<br />
<br />
----<br />
[[Image:Haskell-tao.png|Haskell as Taoism]]<br />
<br />
Playing off a recent Haskell-Cafe thread, in which programming languages were compared to religions, and Haskell was equated to Taoism. The slogan makes at least a ''little'' sense: it obviously goes with the logo, and 'Duals' are important to Cat theory, which influences Haskell strongly. [[Media:Haskell-tao.svg|SVG]] available. Font is Lucida Calligraphic, a less ubiquitous calligraphic font might be better.<br />
<br />
--[[User:Rgreayer|Rgreayer]] 15:16, 18 December 2008 (UTC)<br />
----<br />
[[Image:unsafeHaskell.png]]<br />
[[User:Beelsebob|Beelsebob]] 09:09, 18 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:haskell-cjay2.png]]<br />
[[User:Cjay|cjay]] 03:49, 18 December 2008 (UTC)<br />
<br />
<br />
[[Image:haskell-cjay2a.png]]<br />
[[User:Cjay|cjay]] 14:27, 18 December 2008 (UTC)<br />
<br />
<br />
[[Image:haskell-cjay2b.png]]<br />
[[User:Cjay|cjay]] 03:22, 19 December 2008 (UTC)<br />
<br />
<br />
[[Image:haskell-cjay2c.png]]<br />
[[User:Cjay|cjay]] 23:03, 19 December 2008 (UTC)<br />
<br />
<br />
Available as svg [[Media:Haskell-cjay2.svg|1]] [[Media:Haskell-cjay2a.svg|2]] [[Media:Haskell-cjay2b.svg|3]] [[Media:Haskell-cjay2c.svg|4]] (inkscape). Fonts: FreeSerif for lambda, >> and the arrow head; Impact Label for "Haskell" (1&2), SF Alien Encounters Solid (3) (all free).<br />
<br />
----<br />
<br />
My attempt at a new Haskell logo:<br />
<br />
[[Image:Haskell_jdr.png]]<br />
<br />
So I guess the standalone version would then be:<br />
<br />
[[Image:Haskell_h_jdr.png]]<br />
<br />
[http://www.voetsjoeba.com Jeroen De Ridder]<br />
<br />
----<br />
<br />
[http://galois.com/~dons/images/logo-3-curved.png http://galois.com/~dons/images/logo-3-curved.png]<br />
<br />
[http://article.gmane.org/gmane.comp.lang.haskell.cafe/49072 George Pollard]<br />
<br />
----<br />
<br />
[[Image:Jeff-heard-1.png]]<br />
<br />
[http://thread.gmane.org/gmane.comp.lang.haskell.cafe/48892/focus=48893 Jeff Heard]. <br />
<br />
----<br />
<br />
Here's an attempt to depict the polish, elegance, and purity of Haskell by merging the H and lambda into an iconic gem.<br />
<br />
[[Image:Haskell2v3.png]]<br />
<br />
Made in Inkscape, with an SVG available.<br />
<br />
--[[User:Chromakode|Chromakode]] 03:18, 17 December 2008 (UTC)<br />
<br />
:I love that one, hope it wins. But I can't see the lambda merged in it, where is it hidden? [[User:Ripounet|Ripounet]]<br />
<br />
:Thanks for your comment. :)<br />
:The light blue highlight of the H is in the shape of an abstract lambda. [[User:Chromakode|Chromakode]]<br />
<br />
A variation of this logo where the H is made up of two lambdas:<br />
<br />
[[Image:Haskell_logo_ideas_6_falconnl.png]]<br />
<br />
--[[User:FalconNL|FalconNL]] 00:30, 22 December 2008 (UTC)<br />
<br />
----<br />
<br />
All credit goes to Darrin Thompson for posting the ASCII inspiration for this to haskell-cafe. I, Jeff Wheeler, just mocked it up to look<br />
pretty. Here are two interpretations:<br />
<br />
[http://media.nokrev.com/junk/haskell-logos/logo1.png http://media.nokrev.com/junk/haskell-logos/logo1.png]<br />
<br />
[http://media.nokrev.com/junk/haskell-logos/logo2.png http://media.nokrev.com/junk/haskell-logos/logo2.png]<br />
<br />
Two with rounded edges:<br />
<br />
[http://media.nokrev.com/junk/haskell-logos/logo8.png http://media.nokrev.com/junk/haskell-logos/logo8.png]<br />
<br />
[http://media.nokrev.com/junk/haskell-logos/logo9.png http://media.nokrev.com/junk/haskell-logos/logo9.png]<br />
<br />
Here's a icon-sized version:<br />
<br />
[http://media.nokrev.com/junk/haskell-logos/logo4.png http://media.nokrev.com/junk/haskell-logos/logo4.png]<br />
<br />
The first two without an background:<br />
<br />
[http://media.nokrev.com/junk/haskell-logos/logo6.png http://media.nokrev.com/junk/haskell-logos/logo6.png] [http://media.nokrev.com/junk/haskell-logos/logo7.png http://media.nokrev.com/junk/haskell-logos/logo7.png]<br />
<br />
--[[User:Jeffwheeler|Jeffwheeler]] 02:42, 17 December 2008 (UTC)<br />
:Great work, very professional. I hope this one gets chosen. Is it also available as SVG? [[User:Fintanstele|Fintanstele]]<br />
----<br />
Mix and match<br />
<br />
[http://community.haskell.org/~hexpuem/logo_contest/haskell_7.png http://community.haskell.org/~hexpuem/logo_contest/haskell_7.png]<br />
<br />
[[User:NHA|NHA]]<br />
----<br />
More mix and match, borrowing bind-lambda icon, star/flower idea, and font/verbiage from other submissions...(Raspoutine Classic font, [[Media:Haskell-Symstar.svg|SVG]] available).<br />
[[Image:Haskell-Symstar.png|Haskell - Logo variant]]<br />
<br />
--[[User:Rgreayer|Rgreayer]] 21:39, 17 December 2008 (UTC)<br />
----<br />
I really like the logo above. Here are some variations. The font name is ModeNine.<br />
<br />
<br />
[[Image:Haskellvariations1.jpg|Haskell - Logo Variations A]]<br />
<br />
[[Image:Haskellvariations2.jpg|Haskell - Logo Variations B]]<br />
<br />
--[[User:Reified|Reified]] 14:48, 17 December 2008 (UTC)<br />
<br />
----<br />
<br />
A different logo idea, using toddler's letter blocks to convey the simplicity of Haskell. Exact block look and font used can be changed,<br />
but this is the basic idea.<br />
<br />
[[Image:Haskell_logo_ideas_4_falconnl.png]]<br />
<br />
--[[User:FalconNL|FalconNL]] 23:29, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:Stupidb123logo.jpg]]<br />
<br />
--[[User:Stupidb123|Stupidb123]] 12:40, 16 December 2008 (UTC)<br />
<br />
----<br />
"The lightbulb lady" (concept: a lady/lightbulb made out of an inverted lambda, hope it catches...).<br />
Font: Museo Sans 500 (free of charge, add to the cart [http://new.myfonts.com/fonts/exljbris/museo-sans/500/ here]).<br />
<br />
[[Image:The_lady.png]]<br />
<br />
-- [[User:eu-prleu-peupeu]]<br />
----<br />
Just another version of the initial spreadshirt variant. <br />
The black background is now part of the logo. The text should be optional.<br />
<br />
[[Image:haskell_spreadshirt_logo.png|400px]]<br />
<br />
[[User:Frosch03|Frosch03]] 11:41, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
Made with Inkscape. The source in SVG is available [http://www.gburri.org/bordel/logo_haskell_gburri.svg here]. Font : [http://www.dafont.com/raspoutine.font?nb_ppp=50&text=Haskell Raspoutine (free)].<br />
<br />
The idea is to hide a lambda into an elegant and colored logo.<br />
<br />
Adjectives : ''elegant'', ''fun'', ''simple''<br />
<br />
[[Image:haskel_logo_preview_gburri.png]]<br />
<br />
[[Image:haskel_logo_preview_gburri_special.png]]<br />
<br />
[[User:Gburri|Gburri]] 09:58, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
Lambdas in a circle, forming a flower. I wanted it to be easy to draw, be subtle and look nice for haskellers and non-haskellers alike. Created in inkscape using free fonts.<br />
<br />
[[Image:Haskell-flower3.png]]<br />
<br />
--[[User:Tanimoto|tanimoto]] 05:39, 19 December 2008 (UTC)<br />
<br />
----<br />
<br />
A different take on the lambda-in-a-circle logo that looks less like the Half Life logo. Probably fits better than the monadic sequence<br />
operator in my other submission.<br />
<br />
[[Image:Haskell_logo_ideas_2_falconnl.png]]<br />
<br />
Update:<br />
Slight change and added letters, this time in the free Fonce Sans [http://liquisoft.deviantart.com/art/Fonce-Sans-Regular-Trial-25092730]<br />
font. I like Officina better, but if the font has to be free this is a reasonable substitute.<br />
<br />
[[Image:Haskell_logo_idea_3_falconnl.png]]<br />
<br />
--[[User:FalconNL|FalconNL]] 08:34, 16 December 2008 (GMT +1)<br />
<br />
----<br />
<br />
Very quick attempt:<br />
<br />
[[Image:BurkeLibbey_Haskell.png]]<br />
<br />
The main font is [http://www.josbuivenga.demon.nl/diavlo.html Diavlo] (free). The lambda is in Candara, which I believe ships with Vista<br />
and/or XP. Not sure of the licensing there. If there's significant interest in this, I'll redo it as a vector graphic.<br />
<br />
-- [[User:Burke|Burke]] 02:33, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
On behalf of the Ministry of Safety and Happiness I would like to promote the meme suggesting that Haskell is the programming language of<br />
choice for the Illuminati.<br />
<br />
[[Image:Haskell proceed.png]]<br />
<br />
--[[User:CznpyHrnjwczky|CznpyHrnjwczky]] 05:31, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
More of a mascotte, though she could be used in a logo as well.<br />
<br />
This is Monica Monad, and she's a Warm Fuzzy Thing. Just giving a face to SPJ's alternative name for monads :)<br />
<br />
Her main purpose would be to present tutorials.<br />
<br />
[[Image:Monica_monad_falconnl.png]]<br />
<br />
--[[User:FalconNL|FalconNL]] 00:52, 16 December 2008 (GMT +1)<br />
<br />
----<br />
<br />
A slightly different take on the Haskell logo, as the lambda-in-a-circle looks a bit too much like the Half Life logo for my taste. This<br />
one references monads instead of lambda calculus. Three possible slogans, emphasizing the fun that comes from programming in Haskell.<br />
Number 2 and 3 also reference function composition. Number 3 is my personal favourite.<br />
<br />
[[Image:Haskell_logo_ideas_falconnl.png]]<br />
<br />
Update: a combination of my two logos on a t-shirt. This time with function arrows to indicate the causal relationships: because Haskell is<br />
pure, it's simple. Because it's simple, it's fun.<br />
<br />
[[Image:Haskell_logo_ideas_tshirt_falconnl.png]]<br />
<br />
--[[User:FalconNL|FalconNL]] 22:58, 15 December 2008 (GMT +1)<br />
<br />
: Yummy. What's the font? Is it free? [[User:Porges|Porges]] 21:59, 15 December 2008 (UTC)<br />
: Unfortunately, no. The font is called Officina Sans. Is that a problem? [[User:FalconNL|FalconNL]] 00:02, 16 December 2008 (GMT +1)<br />
<br />
: I like this t-shirt a lot, but I'd change 2 things: change "simple" to "lazy" (I think "pure -> lazy -> fun" is more provocative), and change the lambda to ">>" (there are too many languages with lambda logos already). When can I place my order? :-) --[[User:Warren|Warren]] 16:32, 23 December 2008 (UTC)<br />
<br />
----<br />
<br />
Simple, clean:<br />
<br />
[http://hpsg.fu-berlin.de/~rsling/img/haskell-shirt.jpeg http://hpsg.fu-berlin.de/~rsling/img/haskell-shirt.jpeg]<br />
<br />
I really like this t-shirt logo, by the way. Gets my vote so far. — [[User:Chrisdone|Chrisdone]] 00:18, 15 December 2008 (UTC)<br />
<br />
----<br />
<br />
Minor tweak to the above:<br />
<br />
[[Image:HaskellLogo-v2.png]]<br />
<br />
----<br />
<br />
Minor modification of the t-shirt logo, the lambda was a bit skewed in my opinion:<br />
<br />
[[Image:tshirt-logo-mod.png]]<br />
<br />
And another modification of the same theme:<br />
<br />
[[Image:tshirt-logo-mod-inv.png]]<br />
<br />
--[[User:Sebastiaan|Sebastiaan]] 13:29, 15 December 2008 (UTC)<br />
: I really like this one. A font other than Arial would be nice ;) [[User:Porges|Porges]] 21:25, 15 December 2008 (UTC)<br />
<br />
[[Image:HaskellLogoTShirtWhite.png]] -- [[User:Chrisdone|Chrisdone]] 23:19, 15 December 2008 (UTC)<br />
<br />
<br />
<br />
----<br />
<br />
Some ideas. Supposed to resemble a lambda abstraction. I realise there are no formal parameters. ---- [[User:Chrisdone|Chrisdone]] 00:12,<br />
15 December 2008 (UTC)<br />
<br />
[http://chrisdone.com/haskell-blah.png http://chrisdone.com/haskell-blah-thumb.png]<br />
<br />
----<br />
<br />
Here's another one; lambda is Gentium SIL, Haskell is MgOpen Cosmetica, tagline is MgOpen Canonica Italic. [[User:Porges|Porges]] 21:25, 15<br />
December 2008 (UTC)<br />
<br />
[[Image:Haskell Logo.png]]<br />
<br />
----<br />
<br />
Another take. A bit simpler, more symmetrical.<br />
<br />
[[Image:haskelllogobeshers.png]]<br />
<br />
----<br />
<br />
[[Image:Haskell-logo.png]]<br />
<br />
The logo uses Kautiva Bold as (non-free) font.<br />
<br />
--[[User:Eelco|Eelco]] 07:43, 15 December 2008 (UTC)<br />
<br />
This one is dedicated to Derek Elkins, to sooth his eyes after having them hurt on the previous logo:<br />
<br />
[[Image:Haskell-logo-funny.png]]<br />
<br />
--[[User:Eelco|Eelco]] 08:53, 15 December 2008 (UTC)<br />
: Makes sense. Comic Sans is the *Official Font of Haskell*, after all.<br />
<br />
----<br />
[[Image:HaskellLogoTDavie.png]]<br />
<br />
[[Image:HaskellLogoTDavie.pdf]] (vector pdf version)<br />
<br />
[[Image:HaskellLogoTDavie2.png]]<br />
<br />
[[User:Beelsebob|Beelsebob]] 08:32, 15 December 2008 (UTC)<br />
<br />
---- <br />
<br />
[http://community.haskell.org/~hexpuem/logo_contest/haskell_0.png http://community.haskell.org/~hexpuem/logo_contest/haskell_0.png]<br />
<br />
[http://community.haskell.org/~hexpuem/logo_contest/haskell_1.png http://community.haskell.org/~hexpuem/logo_contest/haskell_1.png]<br />
<br />
[http://community.haskell.org/~hexpuem/logo_contest/haskell_2.png http://community.haskell.org/~hexpuem/logo_contest/haskell_2.png]<br />
<br />
[http://community.haskell.org/~hexpuem/logo_contest/haskell_3.png http://community.haskell.org/~hexpuem/logo_contest/haskell_3.png]<br />
<br />
<br />
[http://community.haskell.org/~hexpuem/logo_contest/hasksun4.png http://community.haskell.org/~hexpuem/logo_contest/hasksun4.png]<br />
<br />
[http://community.haskell.org/~hexpuem/logo_contest/hasksun6.png http://community.haskell.org/~hexpuem/logo_contest/hasksun6.png]<br />
<br />
[[User:NHA|NHA]]<br />
----<br />
<br />
<br />
Logo fun using Blender:<br />
<br />
[[Image:HsLogosMB.png|center|Haskell Logo idea with lambda as mascot]]<br />
<br />
I tried to give the lambda sign an ''alive'' feeling. --[[User:GokhanSan|GokhanSan]] 12:49, 15 December 2008 (UTC)<br />
: Middle one looks a bit too much like the ghostbusters logo :D [[User:Porges|Porges]] 21:25, 15 December 2008 (UTC)<br />
:: Hmm, I wonder if it's the choice of colors. Then again, with a minor alteration, we get a FreeBSD icon candidate:<br />
[[Image:HsLogoMB-BSD.png|beastie]] ;-) --[[User:GokhanSan|GokhanSan]] 08:52, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:HaskellLogoIdea05.gif]]<br />
<br />
Not sure about the colour. I tried to pick the purple from the current logo. Although the lower lambda is rotated there is<br />
[http://poinikastas.csad.ox.ac.uk/browseGlyphs.shtml historic precedence] for other forms of the letter. The lambda takes the angle from<br />
the 'k'. Font is News Gothic. Feel free to play with the concept. [[User:Rk|Rk]] 11:13, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
<br />
More vectorial Haskell logo concepts. Using inkscape and the [http://inde-graphics.deviantart.com/art/advent-font-57338302 advent font] (CC at-nc-nd, by Andreas K.)<br />
<br />
[[Image:Haskell_infinitylambda.png]][[Image:Haskell_3qhalfinfinitylambda.png]]<br />
<br />
[[Image:Icon_inf.png]][[Image:Icon_lambda.png]]<br />
<br />
Vectorial images (svg):<br />
<br />
[http://haskell.org/sitewiki/images/8/86/Haskell_infinitylambda.svg 1]<br />
[http://haskell.org/sitewiki/images/6/66/Haskell_3qhalfinfinitylambda.svg 2]<br />
[http://haskell.org/sitewiki/images/d/df/Haskell_halfinfinitylambda.svg 3]<br />
<br />
Update: Added glossy styles.<br />
<br />
* [[User:alvivi|alvivi]] 19:28, 15 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:Haskell-pure.png|haskell::pure]]<br />
<br />
--[[User:Rgreayer|Rgreayer]] 20:44, 15 December 2008 (UTC)<br />
<br />
----<br />
<br />
Find a font where 'k' looks like a reverse lambda (after removing the "stalk"). For example:<br />
<br />
[[Image:Kaskell.png|Kaskell]]<br />
<br />
Note this example uses Monotype Corsiva which is not a free font. If the basic approach looks good, we can find a similar free font that<br />
works.<br />
<br />
--[[User:Orenbenkiki|OrenBenKiki]] 01:40, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
[http://community.haskell.org/~hexpuem/logo_contest/haskell_5.png http://community.haskell.org/~hexpuem/logo_contest/haskell_5.png]<br />
<br />
----<br />
<br />
[[Image:Haskell.png|Haskellll]]<br />
<br />
Illustrator, vector art available, apologies to GokhanSan<br />
<br />
--[[User:Mpeter|Mpeter]] 10:18, 15 December 2008 (UTC)<br />
<br />
----<br />
<br />
<br />
[http://community.haskell.org/~hexpuem/logo_contest/haskell_6.png http://community.haskell.org/~hexpuem/logo_contest/haskell_6.png]<br />
<br />
----<br />
<br />
[[Image:Haskell3.png|Haskell]]<br />
[[Image:Haskell4.png|Haskell]]<br />
<br />
Inkscape, vector art available.<br />
<br />
--[[User:Chromakode|Chromakode]] 07:14, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
I'll probably regret this...<br />
<br />
[[Image:NarleyYeeaaahh.jpg|Haskell - Narwals, YEEAAAAHH!!]]<br />
<br />
(Created with PAINT.NET)<br />
<br />
--[[User:Reified|Reified]] 07:20, 16 December 2008 (UTC)<br />
:It's a fun one but I erroneously read " Chaskell YEEAAAHH!! " [[User:Ripounet|Ripounet]]<br />
----<br />
<br />
The general idea is that it's just "Haskell" but with w lambda instead of the a. The font here is Myriad Pro but this would work with any<br />
good sans-serif font. It's color-agnostic, so it can be easily printer, presented as white on black or changed to a different color.<br />
<br />
[[Image:Haskell_logo_bonus.png]]<br />
<br />
[[Image:Haskell_logo_bonus2.png]]<br />
<br />
--[[User:BONUS|BONUS]] 14:40, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[image:Axman6-logo-1.0.png]]<br />
<br />
In black:<br />
<br />
[[Image:Axman6-logo-1.1.png]]<br />
<br />
[[Image:Axman6-logo-1.1-small.png]]<br />
<br />
--[[User:Axman6|Axman6]] 15:16, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[image:Haskell_girl.jpg]]<br />
<br />
<br />
Oh, didn't know png's would work.<br />
--[[User:Tindrum|Tindrum]] 17:12, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[image:Haskell_logo.png]]<br />
<br />
It is mutually recursive...<br />
Here is the [[Media:Haskell logo.svg|svg]].<br />
<br />
Second version:<br />
<br />
[[image:Haskell2_logo.png]]<br />
<br />
And the [[Media:Haskell2 logo.svg|svg]].<br />
<br />
--[[User:Trontonic|Trontonic]] 20:39, 16 December 2008 (UTC)<br />
<br />
----<br />
This is a variation on my [http://t-shirts.cafepress.com/item/lambda-revolution-fitted-tshirt/96543210 Cafepress t-shirt]. The PNG is<br />
generated from an Inkscape SVG.<br />
<br />
[[Image:Haskell-logo-revolution.png]]<br />
<br />
Adjectives: revolutionary<br />
<br />
[[User:PaulJohnson|PaulJohnson]] 21:08, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:haskell-cjay.png]]<br />
<br />
Available as [[Media:Haskell-cjay.svg|svg]] (inkscape). Fonts: FreeSerif for lambda and >>. Bitstream Vera and FreeMono for other (afaik<br />
all free to use)<br />
<br />
[[User:Cjay|cjay]] 22:45, 16 December 2008 (UTC)<br />
<br />
----<br />
<br />
http://conal.net/Pan/Gallery/haskell-powered%20on%20white%20tiled%20360.png<br />
<br />
One I made with [http://conal.net/Pan/Gallery Pan] (purely functional image synthesis in Haskell) some years back. See also the<br />
[http://conal.net/Pan/Gallery/haskell-powered%20on%20white%20tiled%20720.png 720 square version]. I have a few sizes up to 2250 pixels<br />
square.<br />
<br />
[[User:Conal|Conal]] 03:40, 17 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[image:Haskell_lambda.png]]<br />
<br />
Just kidding :P<br />
<br />
--[[User:Trontonic|Trontonic]] 05:04, 17 December 2008 (UTC)<br />
<br />
----<br />
''' Cale Gibbard '''<br />
[[Image:Haskell-logo-6up.png]]<br />
<br />
[http://haskell.org/haskellwiki/Image:Haskell-logo-6up.svg Inkscape SVG]<br />
<br />
I originally had no specific mountain in mind, but Don Stewart pointed out that this might be representative of Mt. Hood in Portland, Oregon, where Haskell was named.<br />
<br />
Regardless, I thought a summit, bathed in the pure mountain air would be a decent symbol for Haskell, the peak of contemporary programming. :)<br />
<br />
[[User:CaleGibbard|CaleGibbard]] 05:55, 17 December 2008 (UTC)<br />
:Here's a modified version with a slightly funkier font :) I think that it matches the lines of the image better... [[User:Porges|Porges]] 03:14, 18 December 2008 (UTC)<br />
<br />
[[Image:Testhask.png]]<br />
----<br />
<br />
Probably not a good choice for a logo:<br />
<br />
[[Image:Hazard lambda cracked 2.png]]<br />
<br />
----<br />
<br />
[[Image:Haskell_Ribbons.png]]<br />
<br />
[http://slipgate.za.net/~korpse/misc/Haskell_Ribbons.svg SVG]<br />
<br />
Simplicity.<br />
<br />
(It is possible that the font may need to be replaced with a free alternative.)<br />
<br />
[[User:Jonathanj|JonathanJ]] 16:34, 17 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:Haskelllogosmax.png]]<br />
<br />
Available as SVG.<br />
<br />
[[User:MaxRabkin|MaxRabkin]] 05:37, 18 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:DoHaskell.png]]<br />
<br />
Another variation for the cognicenti:<br />
<br />
[[Image:JustHaskell.png]]<br />
<br />
--[[User:Warren|Warren]] 07:26, 18 December 2008 (UTC)<br />
<br />
----<br />
<br />
A slight variation of the ">\=" logo:<br />
<br />
[[Image:haskell-logo-doublef.png]]<br />
<br />
Not that it's worth much:). Available as [[Media:haskell-logo-doublef.svg|SVG]].<br />
<br />
[[User:Doublef|DoubleF]] 07:36, 18 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:haskell-apankrat.png]]<br />
<br />
The idea for this [http://en.wikipedia.org/wiki/Wordmark_(graphic_identity) wordmark] is to modify ''A'' to resemble λ and through this tie together the "Haskell" to the "Lambda". Modified ''A'' also works well as a standalone logo:<br />
<br />
[[Image:haskell-symbol-apankrat.png]]<br />
<br />
Note that ''any'' logo based on the unmodified λ symbol may look ambiguous to the people outside of Haskell community. While the λ in the context of programming languages is clearly associated with functional programming, it ''is'' a lowercase Greek L and so it's reasonable for an outsider to associate it with '''L'''isp, and not Haskell.<br />
<br />
PS. I just scrolled up and saw BONUS'es entry (14:40, 16 December 2008). While its idea is close, I think using pure λ in place of an A doesn't work because it effectively turn the name into H-L-skell.<br />
<br />
[[User:Apankrat|Apankrat]] 07:38, 18 December 2008 (UTC)<br />
<br />
<br />
----<br />
A very simple logo, made with inkscape, using math fonts, with various grades (B&W, grays, fill color & gradient) and backgrounds<br />
[[Image:Simple_haskell.png]]<br />
<br />
SVG available here:<br />
[[Image:Simple haskell.svgz]]<br />
<br />
[[User:Aubanel|Aubanel]] 18:08, 18 December 2008 (UTC)<br />
<br />
<br />
<br />
----<br />
<br />
[[Image:g3634.png]]<br />
<br />
Available as Inkscape [[Media:dessin.svg|SVG]]<br />
<br />
[[Image:g4441.png]]<br />
<br />
Available as Inkscape [[Media:dessin2.svg|SVG]]<br />
<br />
[[User:runrun|runrun]] 18 December 2008<br />
<br />
----<br />
<br />
[[Image:Haskell-logo2-max.png]]<br />
<br />
Contact me for SVG. Font is not currently free, but I designed it, so this can change if it becomes "the Haskell font". I think it shows some of the elegance that Haskell has. If you like the font but can put it with a better logo, go ahead. --[[User:MaxRabkin|MaxRabkin]] 04:53, 19 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:sgf.png]]<br />
<br />
I think the best way to represent the pure, functional nature of Haskell is with a pure and functional logo! Something modernist, minimalist, clean and simple. I'd prefer not to put highlights of the language's syntax in the logo - that's remarkably concrete for a language good at abstraction. Even lambdas etc. should be slightly hidden - those who know what it's about can see them, and everyone else doesn't think 'what's that funny symbol?'. For the font, again, something functional like a light Helvetica or Univers.<br />
<br />
So, I thought I'd have a go at a few variations. I'm not convinced it's worked, but there you go. I've shamelessly ripped off tanimoto's idea. [[User:Sgf|Sgf]] 08:13, 19 December 2008 (UTC)<br />
<br />
* Sgf, I really like your logos and I think you captured my idea much better than I could do. I especially like the red one, a bit Escher-esque. I wonder if we could turn the blue one into something that looks more like a snowflake than it currently does. Thanks. [[User:Tanimoto|tanimoto]] 10:43, 19 December 2008 (UTC)<br />
<br />
* I also like the blue and the red logo. The resemblance of a snowflake fits the purity of the language. Perhaps you could give the lambda's more volume to make it more plate-like? [[User:Felix|Felix]]<br />
<br />
* Thanks for the comments. I'm going to be offline for about a week, so I'm not going to have a chance to knock up further variations soon, much as I would like to. So, if you have the time, feel free to generate variations from the [[Media:sgf.svg|Inkscape SVG]]. Otherwise, I'll have a go when I get back. Cheers, [[User:Sgf|Sgf]] 01:48, 20 December 2008 (UTC)<br />
<br />
[[Image:Sgf-logo-blue.png|Sgf-logo-blue]]<br />
<br />
Sgf's red logo changed to blue and with the Fonce Sans font that FalconNL has used for another logo. [[User:Felix|Felix]] 2008-12-21<br />
<br />
And another variation of Sgf's logo, this time using negative instead of positive space.<br />
<br />
[[Image:Haskell_logo_ideas_5_falconnl.png]]<br />
<br />
--[[User:FalconNL|FalconNL]] 18:13, 21 December 2008 (UTC)<br />
<br />
[[Image:sgf2.png]]<br />
<br />
A few more exploratory variants: I've had a go at closing up the center of the 'snowflake' to make it, well, snowflakier. I've tried pairing this variant up with a conservative-looking serifed font, something functional but less heavily modernist. Then I created a variant which attempts to go for a bit more of a drawn look, to combine the geometric design with some handcrafting, hinting at a combination of the pure, abstract language, but also the lively user community. I paired that with Futura, as a slightly quirky geometric sans serif. - [[User:Sgf|Sgf]] 22:39, 29 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:SgfRk05.gif]]<br />
<br />
Some more variants of Sgf's idea. I've uploaded the SVG version too but you'll need the fonts for it to display correctly.[[User:Rk|Rk]]<br />
----<br />
<br />
Yet another variation on tanimoto and sgf's themes, with influences from others. The intent here is fun, pure, simple, complete, intriguing, and a bit paradoxical. (The loose relation to the Cabal logo was unexpected.) Font is Free Sans, but I'd look for better if I had a bit more time.<br />
<br />
[[Image:Hs_logos_sereven.png]]<br />
<br />
The compiler sits at the core in negative space, its form suggested by what is built on and around it. Also in negative space, lambdas and reflected lambdas link the golden base library to others, pure primary colours available ready to be combined. Libraries become dimensional as they fit together like puzzle pieces. At each layer they form a whole, complete, yet extensible in all directions.<br />
<br />
[[User:sereven|sereven]] 12:24, 22 December 2008 (UTC)<br />
<br />
----<br />
λλλ<br />
<br />
Haskell The Revenge of the Nerds<br />
<br />
---<br />
<br />
[[Image:Ouroborous-oval.png|Ouroboros oval]]<br />
<br />
Paulo Tanimoto on the mailing list suggested something based on [http://www.example.com Orouboros]. Here is the [[Media:Ouroborous-oval.svg|Inkscape SVG]].<br />
<br />
Adjectives: abstract, friendly<br />
<br />
[[User:PaulJohnson|PaulJohnson]]<br />
<br />
----<br />
<br />
How about using one of the mythical birds in lambda calculus? Specifically, the ones from the article [http://users.bigpond.net.au/d.keenan/Lambda/ To Dissect a Mockingbird]. Some of the examples:<br />
<br />
http://users.bigpond.net.au/d.keenan/Lambda/Graphical_lambda2.gif (Mockingbird)<br />
<br />
http://users.bigpond.net.au/d.keenan/Lambda/Graphical_lambda6.gif (Omega bird)<br />
<br />
http://users.bigpond.net.au/d.keenan/Lambda/Graphical_lambda15.gif<br />
<br />
Since Haskell is centered around the idea of lambdas, I thought this would be a cool idea. Plus, they have qualities similar to Haskell: exotic, mysterious, abstract... [[User:Aviator|Aviator]] 12:35, 21 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:Origami-lamdba-supernova-warp.png|The Haskell Origami Lambda's Warp from the Supernova]]<br />
<br />
This is an H composed of two identical vertically tiled lambdas warping from a supernova. It symbolizes the warp of the Haskell-lambda away from the O of object-orientation (symbolized by the supernova).<br />
<br />
Created in Inkscape, then adjusted in GIMP. This was my first try at using both tools. I have never done graphic design before.<br />
<br />
If I have time, I may submit a revised version.<br />
<br />
Abstract. Different. Inventive.<br />
<br />
by [[User:DekuDekuplex|Benjamin L. Russell]] 22:17, 22 December 2008 (Tokyo Time)<br />
<br />
----<br />
<br />
[[Image:ClassyHLogo.png]]<br />
<br />
I created the current, apparently-much-loathed purple-and-green Haskell logo back in<br />
2004 at John Peterson's request. I actually sent him several designs, and I must admit <br />
I rather liked this one better, myself. I later included it on some of the<br />
CafePress merchandise as the "classy Haskell logo". It's main virtues are that it's <br />
sparse and abstract; it's specifically inspired by those hood ornaments you see on <br />
fancy cars (no relation to Andy Gill's Hood debugger).<br />
<br />
The fancy typeface goes a little against the grain of "sparse and abstract", but it's<br />
of course independent from the logo itself.<br />
<br />
The simplicity of the logo proper (modulo the shadow and the typeface) makes it easy to <br />
reproduce in SVG and the like.<br />
<br />
(For a brief time, this logo was available on CafePress in the form of a frisbee, er, <br />
"flying disc", but they stopped carrying the item. It has been available for a while <br />
on shirts and perhaps mugs as well.)<br />
<br />
Anyway, perhaps it will appeal to others over the current one as much as it did to me.<br />
<br />
by [[User:FritzRuehr|Fritz Ruehr]]<br />
<br />
----<br />
<br />
[[Image:Haskell_logo_by_neoneye_small.png]]<br />
<br />
Im not really a haskell coder, however i do find it a fun challenge to make a haskell logo.<br />
<br />
by [[User:Neoneye|Simon Strandgaard]]<br />
<br />
----<br />
<br />
[[Image:HHH.png]]<br />
<br />
Lambda, Is now grown up.<br />
<br />
by [[User:GreyLensman|Ray]]<br />
<br />
----<br />
<br />
[[Image:HlSlEll.png]]<br />
<br />
As proposed by FalconNL, "Pure->simple->fun(ctional)". Incorporates >>=,->,=>,::,lambda if you look hard enough. Think of the H-lambda logo as a 3D object with three legs that looks like an H from one perspective, a lambda from a perpendicular perspective, and a lowercase h from below. Feel free to [[Media:HlSlEll.svg|improve away]]...<br />
<br />
----<br />
[[Image:horizontal-logo.png]]<br />
<br />
[[Image:vertical-logo.png]]<br />
<br />
<br />
The diamond shape represents purity and strength. The logo is clean, simple, modern and to the point.<br />
<br />
I think the text should be in lowercase because it makes the name "haskell" friendlier and less threatening. See the logos of [http://www.xerox.com xerox], [http://www.att.com at&t], [http://www.intel.com intel] and even [http://www.python.org/ python] for examples of that.<br />
<br />
In regard to the adjectives, I'd say: ''friendly, modern, interesting.''<br />
<br />
by --[[User:Aparcero|Aparcero]] 23:13, 31 December 2008 (UTC)<br />
<br />
----<br />
<br />
[[Image:CarLogoHask.png]]<br />
<br />
[[Image:CarLogoHaskSmall.png]]<br />
<br />
It's a few days late but I made this years ago and thought it was relevant now... By the way note that the four circles are like the double colon :: "has type" syntax in Haskell and the empty space between the circles forms the capital H. The silver bevel effect is just a Photoshop filter and can be applied to any logo.<br />
<br />
I'm quite impressed with many of these logos on the page. Wow, Haskellers!<br />
<br />
Cheers,<br />
<br />
[[User:JaredUpdike|JaredUpdike]] 22:26, 2 January 2009 (UTC)<br />
<br />
----<br />
[[Image:Haskell2.png]]<br />
<br />
[[Image:Haskell2ico.png]]<br />
<br />
In general I'm not too keen on the use of lambda's at all, but couldn't resist the group pressure. I made it a while ago, but seems to resemble OrenBenKiki's lambda/'h' idea. <br />
<br />
[[User:Arvid|Arvid]] 23:22, 2 January 2009 (UTC)<br />
<br />
----<br />
[[Image:HaskellAmbigram.png]]<br />
<br />
I know I'm past the deadline, but I think somebody mentioned ambigrams on the mailing list. I don't think this is great as it stands, but the combination of unusual symmetry and funky font indicate Haskell's mathematical roots and fun atmosphere.<br />
--[[User:MaxRabkin|MaxRabkin]] 02:50, 20 January 2009 (UTC)</div>Eelcohttps://wiki.haskell.org/index.php?title=Twitter&diff=26599Twitter2009-02-23T05:45:11Z<p>Eelco: I changed my username ;)</p>
<hr />
<div>'''Haskell community members on Twitter'''<br />
<br />
* Bryan O’Sullivan ([http://twitter.com/bos31337 bos31337]) <br />
* Brandon Allbery ([http://twitter.com/allbery_b allberry_b]) <br />
* alpheccar ([http://twitter.com/alpheccar alpheccar])<br />
* Arnar Birgisson ([http://twitter.com/arnarbi arnarbi]) <br />
* Chris Eidhof ([http://twitter.com/chriseidhof chriseidhof]) <br />
* Conal Elliott ([http://twitter.com/conal conal]) <br />
* Conrad Parker ([http://twitter.com/conradparker conradparker]) <br />
* Don Stewart ([http://twitter.com/donsbot donsbot]) <br />
* Eelco Lempsink ([http://twitter.com/eelco eelco]) <br />
* Galois, Inc. ([http://twitter.com/galoisinc galoisinc]) <br />
* Jake McArthur ([http://twitter.com/geezusfreeek geezusfreeek]) <br />
* Pepe Iborra ([http://twitter.com/hate_pick_nick hate_pick_nick]) <br />
* John Goerzen ([http://twitter.com/jgoerzen jgoerzen]) <br />
* Eugene Kirpichov ([http://twitter.com/jkff jkff]) <br />
* Kazuya Sakakihara ([http://twitter.com/kazooya kazooya]) <br />
* Edward Kmett ([http://twitter.com/kmett kmett]) <br />
* Matthew Podwysocki ([http://twitter.com/mattpodwysocki mattpodwysocki]) <br />
* Mark Reid ([http://twitter.com/mdreid mdreid]) <br />
* Andy Adams-Moran ([http://twitter.com/morabbin morabbin]) <br />
* Neil Bartlett ([http://twitter.com/njbartlett njbartlett]) <br />
* Paul Brown ([http://twitter.com/paulrbrown paulrbrown]) <br />
* Shae Erisson ([http://twitter.com/shapr shapr]) <br />
* Sigbjorn Finne ([http://twitter.com/sigbjorn_finne sigbjorn_finne]) <br />
* Stefan Holdermans ([http://twitter.com/_dblhelix _dblhelix])<br />
* Dan Piponi ([http://twitter.com/sigfpe sigfpe]) <br />
* Spencer Janssen ([http://twitter.com/spencerjanssen spencerjanssen]) <br />
* Isaac Jones ([http://twitter.com/SyntaxPolice SyntaxPolice]) <br />
* Manuel Chakravarty ([http://twitter.com/TacticalGrace TacticalGrace]) <br />
* Tom Moertel ([http://twitter.com/tmoertel tmoertel]) <br />
* Thomas Sutton ([http://twitter.com/thsutton thsutton]) <br />
* Creighton Hogg ([http://twitter.com/wchogg wchogg]) <br />
* Jeff Wheeler ([http://twitter.com/jeffwheeler jeffwheeler])<br />
* Daniel Peebles ([http://twitter.com/pumpkingod pumpkingod], pumpkin on IRC)<br />
* Simon Marlow ([http://twitter.com/simonmar simonmar])<br />
* Andrew Wagner ([http://twitter.com/arwagner chessguy])<br />
* Magnus Therning ([http://twitter.com/magthe magthe])<br />
* Jan Xie ([http://twitter.com/flowerborn flowerborn])<br />
* Wouter Swierstra ([http://twitter.com/wouterswierstra wouterswierstra])<br />
* Tristan Allwood ([http://twitter.com/TotallyToRA TotallyToRA])<br />
* Benedict Eastaugh ([http://twitter.com/extralogical extralogical])<br />
* Alex Mason ([http://twitter.com/axman66 Axman6])<br />
* John Van Enk ([http://twitter.com/sw17ch sw17ch])<br />
<br />
'''Haskell buzz on Twitter'''<br />
<br />
* [http://twitter.com/paytonrules/statuses/946501437 Officially amazed at the Haskell chat room. I asked a simple question there, and they went nuts on it. In a good way.]<br />
* [http://twitter.com/lallysingh/statuses/945333684 Haskell has interactive plotting commands for charts/graphs/etc. That's it, I'm officially in love]<br />
* [http://twitter.com/gimboland/statuses/944893593 God, I love Haskell]<br />
* [http://twitter.com/tsmosca/statuses/943950292 Ease of Haskell vs. Java: amazing!]<br />
* [http://twitter.com/arnax/statuses/943659297 The joy of opening a mind to Haskell :-)]<br />
* [http://twitter.com/mattpodwysocki/statuses/942618649 Aw, sweet, building a MP3 decoder in Haskell. Geek explosion ensues]<br />
* [http://twitter.com/rbp/statuses/942546816 You know, haskell actually pretty much rules :)]<br />
* [http://twitter.com/pavan_mishra/statuses/941707547 Awed by Haskell]<br />
* [http://twitter.com/clehene/statuses/939600495 I can haskell from iPhone with hugs98]<br />
<br />
[[Category:Community]]</div>Eelcohttps://wiki.haskell.org/index.php?title=Hac5/Attendees&diff=26415Hac5/Attendees2009-02-11T23:03:50Z<p>Eelco: Adding my name to the table, fixing columns</p>
<hr />
<div>This is the attendee list for [[Hac5]]. Please refer to the [[Hac5|main page]] for more information.<br />
<br />
= Attendees =<br />
<br />
Once you've [[Hac5/Register|registered]], please add your name to the following table:<br />
<br />
{| class="wikitable"<br />
! Nick<br />
! Name<br />
! Affiliation<br />
! Mobile #<br />
! Arriving<br />
! Departing<br />
! Accomodation<br />
|-<br />
| leather<br />
| Sean Leather <br />
| Utrecht<br />
| +31616158163<br />
| -<br />
| -<br />
| Lives here.<br />
|-<br />
| eelco<br />
| Eelco Lempsink<br />
| UU + Tupil<br />
| +31629486398<br />
| -<br />
| -<br />
| Lives in Utrecht.<br />
|}<br />
<br />
= Additional Comments =<br />
<br />
Please use this section to leave comments for other attendees, e.g. for organizing accommodation.</div>Eelcohttps://wiki.haskell.org/index.php?title=File:Haskell-logo-funny.png&diff=24794File:Haskell-logo-funny.png2008-12-15T08:53:21Z<p>Eelco: </p>
<hr />
<div></div>Eelcohttps://wiki.haskell.org/index.php?title=Haskell_logos/New_logo_ideas&diff=24793Haskell logos/New logo ideas2008-12-15T08:53:01Z<p>Eelco: Provided font information and added another logo.</p>
<hr />
<div>New logos reflecting the modern emphasis of Haskell on purity and<br />
safety. The mature Haskell.<br />
<br />
Simple, clean:<br />
<br />
[http://hpsg.fu-berlin.de/~rsling/img/haskell-shirt.jpeg http://hpsg.fu-berlin.de/~rsling/img/haskell-shirt.jpeg]<br />
<br />
I really like this t-shirt logo, by the way. Gets my vote so far. — [[User:Chrisdone|Chrisdone]] 00:18, 15 December 2008 (UTC)<br />
<br />
----<br />
<br />
Some ideas. Supposed to resemble a lambda abstraction. I realise there are no formal parameters. ---- [[User:Chrisdone|Chrisdone]] 00:12, 15 December 2008 (UTC)<br />
<br />
[http://chrisdone.com/haskell-blah.png http://chrisdone.com/haskell-blah-thumb.png]<br />
<br />
----<br />
<br />
Here's another one; lambda is Gentium SIL, Haskell is MgOpen Cosmetica, tagline is MgOpen Canonica Italic.<br />
<br />
[[Image:Haskell Logo.png]]<br />
<br />
----<br />
<br />
Another take. A bit simpler, more symmetrical.<br />
<br />
[[Image:haskelllogobeshers.png]]<br />
<br />
----<br />
<br />
[[Image:Haskell-logo.png]]<br />
<br />
The logo uses Kautiva Bold as (non-free) font.<br />
<br />
--[[User:Eelco|Eelco]] 07:43, 15 December 2008 (UTC)<br />
<br />
This one is dedicated to Derek Elkins, to sooth his eyes after having them hurt on the previous logo:<br />
<br />
[[Image:Haskell-logo-funny.png]]<br />
<br />
--[[User:Eelco|Eelco]] 08:53, 15 December 2008 (UTC)<br />
<br />
----<br />
[[Image:HaskellLogoTDavie.png]]<br />
<br />
[[Image:HaskellLogoTDavie.pdf]] (vector pdf version)<br />
<br />
[[User:Beelsebob|Beelsebob]] 08:32, 15 December 2008 (UTC)<br />
<br />
---- <br />
<br />
[http://relapse-software.net/haskell_0.png http://relapse-software.net/haskell_0.png]<br />
<br />
[http://relapse-software.net/haskell_1.png http://relapse-software.net/haskell_1.png]<br />
<br />
----<br />
<br />
[http://relapse-software.net/haskell_5.png http://relapse-software.net/haskell_5.png]<br />
<br />
<br />
[http://relapse-software.net/haskell_2.png http://relapse-software.net/haskell_2.png]<br />
<br />
[http://relapse-software.net/haskell_3.png http://relapse-software.net/haskell_3.png]</div>Eelcohttps://wiki.haskell.org/index.php?title=Haskell_logos/New_logo_ideas&diff=24784Haskell logos/New logo ideas2008-12-15T07:43:22Z<p>Eelco: </p>
<hr />
<div>New logos reflecting the modern emphasis of Haskell on purity and<br />
safety. The mature Haskell.<br />
<br />
Simple, clean:<br />
<br />
[http://hpsg.fu-berlin.de/~rsling/img/haskell-shirt.jpeg http://hpsg.fu-berlin.de/~rsling/img/haskell-shirt.jpeg]<br />
<br />
I really like this t-shirt logo, by the way. Gets my vote so far. — [[User:Chrisdone|Chrisdone]] 00:18, 15 December 2008 (UTC)<br />
<br />
----<br />
<br />
Some ideas. Supposed to resemble a lambda abstraction. I realise there are no formal parameters. ---- [[User:Chrisdone|Chrisdone]] 00:12, 15 December 2008 (UTC)<br />
<br />
[http://chrisdone.com/haskell-blah.png http://chrisdone.com/haskell-blah-thumb.png]<br />
<br />
----<br />
<br />
Here's another one; lambda is Gentium SIL, Haskell is MgOpen Cosmetica, tagline is MgOpen Canonica Italic.<br />
<br />
[[Image:Haskell Logo.png]]<br />
<br />
----<br />
<br />
Another take. A bit simpler, more symmetrical.<br />
<br />
[[Image:haskelllogobeshers.png]]<br />
<br />
----<br />
<br />
[[Image:Haskell-logo.png]]<br />
<br />
--[[User:Eelco|Eelco]] 07:43, 15 December 2008 (UTC)</div>Eelcohttps://wiki.haskell.org/index.php?title=File:Haskell-logo.png&diff=24783File:Haskell-logo.png2008-12-15T07:42:10Z<p>Eelco: </p>
<hr />
<div></div>Eelcohttps://wiki.haskell.org/index.php?title=Hackathon&diff=23079Hackathon2008-09-25T23:23:07Z<p>Eelco: </p>
<hr />
<div>[[Image:Hac-axe-icon.png|Hac icon]]<br />
<br />
'''Hac: The Haskell Hackathon'''<br />
<br />
The Haskell developer community holds regular hackathons, to get<br />
together, collaborate, and work on key tools and infrastructure.<br />
<br />
== Future Hackathons ==<br />
<br />
* Utrecht, spring 2009<br />
<br />
== Past Hackathons ==<br />
<br />
* [[Hac 2008|Göteborg Apr 2008]]<br />
* [[Hac 2007 II|Freiburg Oct 2007]]<br />
* [[Hac 2007|Oxford Jan 2007]]<br />
* [http://hackage.haskell.org/trac/ghc/wiki/Hackathon Portland Sep 2006]<br />
<br />
[[Category:Events]]</div>Eelcohttps://wiki.haskell.org/index.php?title=Consultants&diff=22764Consultants2008-09-04T11:50:28Z<p>Eelco: Added Tupil</p>
<hr />
<div>; Well-Typed LLP http://www.well-typed.com/<br />
: The Haskell Consultants<br />
: Björn Bringert, Duncan Coutts and Ian Lynagh<br />
: [mailto:info@well-typed.com info@well-typed.com]<br />
<br />
; OM Consulting Limited ''[mailto:omconsult@gmail.com omconsult@gmail.com]'' :Intelligent solutions.<br />
<br />
; Chris Forno [http://jekor.com/ http://jekor.com/]<br />
: Los Angeles<br />
<br />
; Simon Michael http://joyful.com<br />
: Los Angeles<br />
<br />
; Tupil http://tupil.com<br />
: Chris Eidhof & Eelco Lempsink<br />
: Utrecht, The Netherlands<br />
<br />
[[Category:Community]]</div>Eelcohttps://wiki.haskell.org/index.php?title=Foldable_and_Traversable&diff=22109Foldable and Traversable2008-08-03T03:22:05Z<p>Eelco: </p>
<hr />
<div>[[Category:Code]] [[Category:Idioms]]<br />
<br />
<center>'''Notes on Foldable, Traversable and other useful classes'''</center><br />
<center>'' or "Where is Data.Sequence.toList?"''</center><br />
<br />
Data.Sequence is recommended as an efficient alternative to [list]s,<br />
with a more symmetric feel and better complexity on various<br />
operations.<br />
<br />
When you've been using it for a little while, there seem to be some<br />
baffling omissions from the API. The first couple you are likely to<br />
notice are the absence of "<hask>map</hask>" and "<hask>toList</hask>".<br />
<br />
The answer to these lies in the long list of instances which Sequence<br />
has. The Sequence version of map is "<hask>fmap</hask>", which comes from the<br />
Functor class. The Sequence version of <hask>toList</hask> is in the <hask>Foldable</hask> [[class]].<br />
<br />
When working with <hask>Sequence</hask> you also want to refer to the documentation<br />
for at least <hask>Foldable</hask> and <hask>Traversable</hask>. <hask>Functor</hask> only has the single<br />
[[method]], so we've already covered that.<br />
<br />
==What do these classes all mean? A brief tour:==<br />
<br />
===<hask>Functor</hask>===<br />
<br />
A [[functor]] is simply a [[container]]. Given a container, and a [[function]]<br />
which works on the elements, we can apply that function to each<br />
element. For lists, the familiar "<hask>map</hask>" does exactly this.<br />
<br />
Note that the function can produce elements of a different [[type]], so we<br />
may have a different type at the end.<br />
<br />
Examples:<br />
<br />
<haskell><br />
Prelude Data.Sequence> map (\n -> replicate n 'a') [1,3,5]<br />
["a","aaa","aaaaa"]<br />
Prelude Data.Sequence> fmap (\n -> replicate n 'a') (1 <| 3 <| 5 <| empty)<br />
fromList ["a","aaa","aaaaa"]<br />
</haskell><br />
<br />
===Foldable===<br />
<br />
A <hask>Foldable</hask> [[type]] is also a [[container]] (although the [[class]] does not<br />
technically require <hask>Functor</hask>, interesting <hask>Foldable</hask>s are all <hask>Functor</hask>s). It is a container with the added property that its items<br />
can be 'folded' to a summary value. In other words, it is a type which<br />
supports "<hask>foldr</hask>".<br />
<br />
Once you support <hask>foldr</hask>, of course, you can be turned into a list, by<br />
using <hask>foldr (:) []</hask>. This means that all <hask>Foldable</hask>s have a<br />
representation as a list; however the order of the items may or may<br />
not have any particular significance. In particular if a <hask>Foldable</hask> is<br />
also a <hask>Functor</hask>, <hask>toList</hask> and <hask>fmap</hask> need not perfectly commute; the list<br />
given ''after'' the <hask>fmap</hask> may be in a different order to the list<br />
''before'' the <hask>fmap</hask>. In the particular case of <hask>Data.Sequence</hask>, though,<br />
there '''is''' a well defined order and it is preserved as expected by<br />
<hask>fmap</hask> and exposed by <hask>toList</hask>.<br />
<br />
A particular kind of fold well-used by Haskell programmers is<br />
<hask>mapM_</hask>, which is a kind of fold over<br />
<hask>(>>)</hask>, and <hask>Foldable</hask> provides this along with the<br />
related <hask>sequence_</hask>.<br />
<br />
===Traversable===<br />
<br />
A <hask>Traversable</hask> [[type]] is a kind of upgraded <hask>Foldable</hask>. Where <hask>Foldable</hask><br />
gives you the ability to go through the structure processing the<br />
elements (<hask>foldr</hask>) but throwing away the shape, <hask>Traversable</hask> allows you<br />
to do that whilst preserving the shape and, e.g., putting new values<br />
in.<br />
<br />
<hask>Traversable</hask> is what we need for <hask>mapM</hask> and<br />
<hask>sequence</hask> : note the apparently surprising fact that the<br />
"_" versions are in a different [[typeclass]].<br />
<br />
== Some trickier functions: concatMap and filter ==<br />
<br />
Neither <hask>Traversable</hask> nor <hask>Foldable</hask> contain elements for <hask>concatMap</hask> and <hask>filter</hask>. That is because <hask>Foldable</hask> is about tearing down the structure<br />
completely, while <hask>Traversable</hask> is about preserving the structure<br />
exactly as-is. On the other hand <hask>concatMap</hask> tries to<br />
'squeeze more elements in' at a place and <hask>filter</hask> tries to<br />
cut them out.<br />
<br />
You can write <hask>concatMap</hask> for <hask>Sequence</hask> as follows:<br />
<br />
<haskell><br />
concatMap :: (a -> Seq b) -> Seq a -> Seq b<br />
concatMap = foldMap<br />
</haskell><br />
<br />
But why does it work? It works because sequence is an instance of<hask>Monoid</hask>, where the [[monoid]]al operation is "appending". The same<br />
definition works for lists, and we can write it more generally as:<br />
<br />
<haskell><br />
concatMap :: (Foldable f, Monoid (f b)) => (a -> f b) -> f a -> f b<br />
concatMap = foldMap<br />
</haskell><br />
<br />
And that works with lists and sequences both. Does it work with any<br />
Monoid which is Foldable? Only if the Monoid 'means the right<br />
thing'. If you have <hask>toList (f `mappend` g) = toList f ++ toList g</hask> then it definitely makes sense. In fact this easy to write<br />
condition is stronger than needed; it would be good enough if they<br />
were permutations of each other.<br />
<br />
<hask>filter</hask> turns out to be slightly harder still. You need<br />
something like 'singleton' (from <hask>Sequence</hask>), or <hask>\a -> [a]</hask><br />
for lists. We can use <hask>pure</hask> from <hask>Applicative</hask>, although<br />
it's not really right to bring <hask>Applicative</hask> in for this, and get:<br />
<br />
<haskell><br />
filter :: (Applicative f, Foldable f, Monoid (f a)) => <br />
(a -> Bool) -> f a -> f a<br />
filter p = foldMap (\a -> if p a then pure a else mempty)<br />
</haskell><br />
<br />
It's interesting to note that, under these conditions, we have a candidate<br />
to help us turn the <hask>Foldable</hask> into a <hask>Monad</hask>, since <hask>concatMap</hask> is a good<br />
definition for <hask>>>=</hask>, and we can use <hask>pure</hask> for <hask>return</hask>.<br />
<br />
== Generalising zipWith ==<br />
<br />
Another really useful list [[combinator]] that doesn't appear in the<br />
interfaces for <hask>Sequence</hask>, <hask>Foldable</hask> or <hask>Traversable</hask> is <hask>zipWith</hask>. The most general kind of <hask>zipWith</hask> over <hask>Traversable</hask>s will keep the exact shape of<br />
the <hask>Traversable</hask> on the left, whilst zipping against the values on the right. It turns out you can get away with a <hask>Foldable</hask> on the right, but you need to use a <hask>Monad</hask> (or an <hask>Applicative</hask>, actually) to thread the<br />
values through:<br />
<br />
<haskell><br />
import Prelude hiding (sequence)<br />
<br />
import Data.Sequence<br />
import Data.Foldable<br />
import Data.Traversable<br />
import Control.Applicative<br />
<br />
<br />
data Supply s v = Supply { unSupply :: [s] -> ([s],v) }<br />
<br />
instance Functor (Supply s) where <br />
fmap f av = Supply (\l -> let (l',v) = unSupply av l in (l',f v))<br />
<br />
instance Applicative (Supply s) where<br />
pure v = Supply (\l -> (l,v))<br />
af <*> av = Supply (\l -> let (l',f) = unSupply af l<br />
(l'',v) = unSupply av l'<br />
in (l'',f v))<br />
<br />
runSupply :: (Supply s v) -> [s] -> v<br />
runSupply av l = snd $ unSupply av l<br />
<br />
supply :: Supply s s<br />
supply = Supply (\(x:xs) -> (xs,x))<br />
<br />
zipTF :: (Traversable t, Foldable f) => t a -> f b -> t (a,b)<br />
zipTF t f = runSupply (traverse (\a -> (,) a <$> supply) t) (toList f)<br />
<br />
zipWithTF :: (Traversable t,Foldable f) => (a -> b -> c) -> t a -> f b -> t c<br />
zipWithTF g t f = runSupply (traverse (\a -> g a <$> supply) t) (toList f)<br />
<br />
zipWithTFM :: (Traversable t,Foldable f,Monad m) => <br />
(a -> b -> m c) -> t a -> f b -> m (t c)<br />
zipWithTFM g t f = sequence (zipWithTF g t f)<br />
<br />
zipWithTFA :: (Traversable t,Foldable f,Applicative m) => <br />
(a -> b -> m c) -> t a -> f b -> m (t c)<br />
zipWithTFA g t f = sequenceA (zipWithTF g t f)<br />
</haskell><br />
<br />
The code above fails with a [[pattern match]] error when the <hask>Foldable</hask> container doesn't have enough input. Here is an alternative version which provides friendlier error reports and makes use of <hask>State</hask> instead of the self defined Supply [[monad]].<br />
<br />
<haskell><br />
module GenericZip <br />
(zipWithTF,<br />
zipTF,<br />
zipWithTFA,<br />
zipWithTFM) where<br />
<br />
<br />
import Data.Foldable<br />
import Data.Traversable<br />
import qualified Data.Traversable as T<br />
import Control.Applicative<br />
import Control.Monad.State <br />
<br />
-- | The state contains the list of values obtained form the foldable container<br />
-- and a String indicating the name of the function currectly being executed<br />
data ZipState a = ZipState {fName :: String,<br />
list :: [a]}<br />
<br />
-- | State monad containing ZipState<br />
type ZipM l a = State (ZipState l) a<br />
<br />
-- | pops the first element of the list inside the state<br />
pop :: ZipM l l<br />
pop = do <br />
st <- get <br />
let xs = list st<br />
n = fName st<br />
case xs of<br />
(a:as) -> do put st{list=as}<br />
return a<br />
[] -> error $ n ++ ": insufficient input"<br />
<br />
-- | pop a value form the state and supply it to the second <br />
-- argument of a binary function <br />
supplySecond :: (a -> b -> c) -> a -> ZipM b c<br />
supplySecond f a = do b <- pop <br />
return $ f a b<br />
<br />
zipWithTFError :: (Traversable t,Foldable f) => <br />
String -> (a -> b -> c) -> t a -> f b -> t c <br />
zipWithTFError str g t f = evalState (T.mapM (supplySecond g) t) <br />
(ZipState str (toList f))<br />
<br />
<br />
zipWithTF :: (Traversable t,Foldable f) => (a -> b -> c) -> t a -> f b -> t c<br />
zipWithTF = zipWithTFError "GenericZip.zipWithTF"<br />
<br />
zipTF :: (Traversable t, Foldable f) => t a -> f b -> t (a,b)<br />
zipTF = zipWithTFError "GenericZip.zipTF" (,) <br />
<br />
<br />
zipWithTFM :: (Traversable t,Foldable f,Monad m) => <br />
(a -> b -> m c) -> t a -> f b -> m (t c)<br />
zipWithTFM g t f = T.sequence (zipWithTFError "GenericZip.zipWithTFM" g t f)<br />
<br />
zipWithTFA :: (Traversable t,Foldable f,Applicative m) => <br />
(a -> b -> m c) -> t a -> f b -> m (t c)<br />
zipWithTFA g t f = sequenceA (zipWithTFError "GenericZip.zipWithTFA" g t f)<br />
</haskell></div>Eelcohttps://wiki.haskell.org/index.php?title=DDC/FieldProjections&diff=20133DDC/FieldProjections2008-03-20T10:06:34Z<p>Eelco: </p>
<hr />
<div>== Data fields ==<br />
When data types are defined using field names, we can use the projection operator <hask>(.)</hask> to select the fields.<br />
<br />
<haskell><br />
data Vector<br />
= Vector { x :: Float; y :: Float; }<br />
<br />
main ()<br />
= do vec = Vector 3.0 4.0<br />
out vec.x -- prints '3.0'<br />
out vec.y -- prints '4.0'<br />
</haskell><br />
<br />
== Custom projections ==<br />
We can also define our own, custom projections and use <hask>(.)</hask> to select them. A <hask>project</hask> definition is similar to a regular <hask>instance</hask> definition in that it defines a set of functions associated with a particular type (in this case, <hask>Vector</hask>). When we use <hask>(.)</hask>, its first argument is passed as the first argument to our projection function - and so on.<br />
<br />
<haskell><br />
project Vector where<br />
magnitude :: Vector -> Float<br />
magnitude (Vector x y) <br />
= sqrt (x * x + y * y)<br />
<br />
dot :: Vector -> Vector -> Float<br />
dot (Vector x1 y1) (Vector x2 y2)<br />
= x1 * x2 + y1 * y2<br />
<br />
main ()<br />
= do ...<br />
out vec.magnitude -- prints '5.0'<br />
out vec.dot (Vector 5.0 6.0) -- prints '39.0'<br />
</haskell><br />
<br />
== Projections are type directed ==<br />
In Disciple we can re-use the same field names in multiple data types, each with different field types. The type system uses the type of the first argument of <hask>(.)</hask> to determine what projection function to use. Alternatively, we can use the <hask>(&)</hask> operator to specify the projection type manually.<br />
<br />
<haskell><br />
data Location <br />
= Location { x :: String; y :: String; }<br />
<br />
main ()<br />
= do ...<br />
loc = Location "over" "there"<br />
out loc.x -- prints 'over'<br />
<br />
out $ magnitude&{Vector} vec -- prints '5.0'<br />
</haskell><br />
<br />
Using <hask>(&)</hask>, we can also use "projection" functions who's first argument is not of the projection type.<br />
<br />
<haskell><br />
project Vector where<br />
...<br />
new :: Float -> Float -> Vector<br />
new posX posY = Vector posX posY<br />
<br />
main ()<br />
= do ...<br />
vec2 = new&{Vector} 5.0 6.0<br />
</haskell><br />
<br />
== Ambiguous projections ==<br />
As Disciple uses the type of the first argument of <hask>(.)</hask> to decide what projection to use, it needs to be constrained to a data type (not just a type variable). Usually a top level type signature is enough.<br />
<br />
Compilation of this function:<br />
<haskell><br />
getX thing = thing.x<br />
</haskell><br />
<br />
will fail with<br />
<pre><br />
./Main.ds: ...<br />
Ambiguous projection: .x<br />
</pre><br />
<br />
as there is no way of knowing what version of <hask>.x</hask> to use, are we talking about the <hask>.x</hask> from <hask>Vector</hask> or <hask>Location</hask>?<br />
<br />
Providing a type signature adds the required constraint.<br />
<br />
<haskell><br />
getx :: Vector -> Float<br />
getX thing = thing.x<br />
</haskell></div>Eelco