Proceedingsofthe1999HaskellWorkshopErikMeijer(editor)UU-CS-1999-28FridayOctober9th,1999,Paris,FranceProceedingsofthe1999HaskellWorkshopUU-CS-1999-28ErikMeijer(editor)FridayOctober1st,1999,Paris,France1999HaskellWorkshopThepurposeoftheworkshopistodiscussexperiencewithHaskell,andpossiblefuturedevelopmentsofthelanguage.Thelivelydiscussionsatthe1997HaskellWorkshopinAmsterdamaboutthefutureofHaskellledtothede nitionofHaskell’98,givingHaskellthestabilitythathassofarbeenlacking.TheroadaheadtoHaskell-2hasmanyopportuni-tiesfordevelopingandenhancingHaskellinnewandexcitingways.ThethirdHaskellworkshoppresentssixpapersonthedesign,implementation,anduseofHaskell.Theprogramcommitteeconsistedof KoenClaessen(Chalmers) ByronCook(OGI) GregoryHager(TheJohnsHopkinsUniversity) GrahamHutton(Nottingham) AlexanderJacobson(shop.com) FergusHenderson(Melbourne) SigbjornFinne(Glasgow) ErikMeijer(Utrecht){chair ColinRunciman(York) PhilipWadler(BellLabs,LucentTechnologies)TheHaskellWorkshopwasheldinconjuctionwithPLI’99andwassponsoredbyINRIA,CNRS,MicrosoftResearch,TrustedLogic,FranceTelecom,andtheFrenchMinist eredel’EducationNationaledelaRechercheetdelaTechnology.AdditionalsponsoringwasreceivedbytheUniversityResearchProgramsgroupofMicrosoftResearchCambridgefortheJakeproject.ThegoalofJakeistodevelopasetofPerlandTclfreeconferencemanagementtoolscompletelyprogrammedinHaskell.ErikMeijerSeptember1999WorkshopProgram8:30-9:30PLIInvitedtalkMobilityintheJoin-CalculusGeorgesGonthier(INRIARocquencourt,France)9:45-10:45Session1TypingHaskellInHaskellMarkJones(OregonGraduateInstitute,USA)Haskelllibrarytemplatee ort(10minuteslot)AndyGill(OregonGraduateInstitute,USA)10:45-11:15Co eebreak11:15-12:45Session2EmbeddingProloginHaskellSilvijaSeresandMikeSpivey(OxfordUniversity,UK)LogicalAbstractionsinHaskellNancyA.Day,JohnLaunchburyandJe Lewis(OregonGraduateInstitute,USA)12:45-14:30Lunch14:30-16:00Session3TheSyntacticalSubtletiesofHaskell(InvitedTalk)SimonMarlow(MicrosoftResearchCambridge,UK)LightweightExtensibleRecordsforHaskellMarkJones(OregonGraduateInstitute,USA)andSimonPeytonJones(Mi-crosoftResearchCambridge,UK)16:00-16:30Teatime16:30-18:00Session4AGenericProgrammingExtensionforHaskellRalfHinze(BonnUniversity,Germany)RestrictedDatatypesinHaskellJohnHughes(ChalmersUniversity,Sweden)18:00-18:30Session5Dependenttypes:Doingwithoutthem(10minuteslot)DanielFridlender(BRICS,Denmark)andMiaIndrika(ChalmersUniversity,Sweden)ThefutureofHaskell(Open-mikesession)TypingHaskellInHaskellMarkJones(OregonGraduateInstitute,USA)TypingHaskellinHaskellMarkP.JonesOregonGraduateInstituteofScienceandTechnologympj@cse.ogi.eduHaskellWorkshopVersion:September1,1999AbstractHaskellbene tsfromasophisticatedtypesystem,butim-plementors,programmers,andresearcherssu erbecauseithasnoformaldescription.Toremedythisshortcoming,wepresentaHaskellprogramthatimplementsaHaskelltype-checker,thusprovidingamathematicallyrigorousspeci ca-tioninanotationthatisfamiliartoHaskellusers.Weexpectthisprogramto llaseriousgapincurrentdescriptionsofHaskell,bothasastartingpointfordiscussionsaboutex-istingfeaturesofthetypesystem,andasaplatformfromwhichtoexplorenewproposals.1IntroductionHaskell1bene tsfromoneofthemostsophisticatedtypesystemsofanywidelyusedprogramminglanguage.Unfor-tunately,italsosu ersbecausethereisnoformalspeci ca-tionofwhatthetypesystemshouldbe.Asaresult: ItishardforHaskellimplementorstobesurethattheircompilersandinterpretersacceptthesameprogramsasotherimplementations.Theinformalspeci cationintheHaskellreport[10]leavestoomuchroomforconfusionandmisinterpretation.Thisleadstogenuinediscrepanciesbetweenimplementations,asmanysub-scriberstotheHaskellmailinglistwillhaveseen. ItishardforHaskellprogrammerstounderstandthedetailsofthetypesystem,andtoappreciatewhysomeprogramsareacceptedwhenothersarenot.For-malpresentationsofmostaspectsofthetypesystemareavailableintheresearchliterature,butoftenab-stractonspeci cfeaturesthatareHaskell-like,butnotHaskell-exact,anddonotdescribethecompletetypesystem.Moreover,thesepapersoftenusedisparateandunfamiliartechnicalnotationandconceptsthatmaybehardforsomeHaskellprogrammerstounderstand. ItishardforHaskellresearcherstoexplorenewtypesystemextensions,oreventostudyusabilityissuesthatarisewiththepresenttypesystemsuchasthesearchforbettertypeerrordiagnostics.Workintheseareasrequiresaclearunderstandingofthetypesystemand,ideally,aplatformonwhichtobuildandexperiment1Throughout,weuse‘Haskell’asanabbreviationfor‘Haskell98’.withprototypeimplementations.TheexistingHaskellimplementationsarenotsuitableforthis(andwerenotintendedtobe):thenutsandboltsofatypesystemareeasilyobscuredbytheuseofspeci cdatastructuresandoptimizations,orbytheneedtointegratesmoothlywithotherpartsofanimplementation.ThispaperpresentsaformaldescriptionoftheHaskelltypesystemusingthenotationofHaskellitselfasaspeci cationlanguage.Indeed,thesourcecodeforthispaperisitselfanexecutableHaskellprogramthatispassedthroughacustompreprocessorandthenthroughLATEXtoobtainthetypesetversion.ThetypecheckerisavailableinsourceformontheInternetat