{"product_id":"advanced-functional-programming-third-international-school-afp98-braga-portugal-september-12-19-1998-revised-lectures-9783540662419","title":"Advanced Functional Programming: Third International School, Afp'98, Braga, Portugal, September 12-19, 1998, Revised Lectures","description":"\u003cp\u003e • Author(s): S. Doaitse Swierstra | Pedro R. Henriques | Jose N. Oliveira\u003cbr\u003e • Publisher: Springer\u003cbr\u003e • Publisher Imprint: Springer\u003cbr\u003e • BISAC: Programming - Object Oriented\u003c\/p\u003e\u003cp\u003eInthisvolumeyouwill?ndthelecturenotescorrespondingtothepres- rd tationsgivenatthe3 summerschoolonAdvancedFunctionalProgramming, heldinBraga, PortugalfromSeptember12-19,1998. ThisschoolwasprecededbyearlieronesinB?astad(1995, Sweden, LNCS925) andOlympia, WA(1996, USA, LNCS1129). Thegoalofthisseriesofschoolsis tobringrecentdevelopmentsintheareaoffunctionalprogrammingtoalarge groupofstudents. Thenotesarepublishedinordertoenableindividuals, small studygroups, andlecturerstobecomeacquaintedwithrecentworkinthefast developingareaoffunctionalprogramming. Whatmadethisschoolparticularlyinterestingwasthefactthatalllectures introducedusefulsoftware, thatwasusedbythestudentsintheclassestoget hands-onexperiencewiththesubjectstaught. Weurgereadersofthisvolumeto downloadthelatestversionofthissoftwarefromtheInternetandtrytodothe exercisesfromthetextthemselves;theproofoftheprogramisinthetyping. The?rstlecture, onSortingMorphisms, servesasagentleintroductiontothe thingstocome. Ifyouhavealwaysbeenafraidoftheword\"morphism\", andyou havebeenwonderingwhatcatamorphisms, anamorphisms, hylomorphims, and paramorphimswereabout, thisisthepapertoread?rst;youwilldiscoverthat theyaremerelynamesforrecursionpatternsthatoccuroverandoveragainwhen writingfunctionalprograms. Thealgorithmsinthepaperareallaboutsorting, andsinceyouarelikelytoknowthosealgorithmsbyheartalready, seeingthem structuredandanalyzedinanovelwayshouldserveasamotivationtoreadon tothesecondlecture. Thesecondlecture, onGenericProgramming, isalmostabookinabook. ThenotescanbeseenastheculminatingpointoftheSTOP-project, sponsored bytheDutchgovernmentattheendofthe80'sandthebeginningofthe90's. Its overallgoalwasthedevelopmentofacalculationalwayofderivingprograms. The projecthasprovideddeeperinsightintorealfunctionalprogrammingandinto thetheorybehindmanythingscommonlywrittenbyfunctionalprogrammers. Oneofthemainachievementsoftheprojecthasbeentomakepeopleaware ofthefactthatmanyalgorithmscanbedescribedinadata-independentway. ThePolyPsystemintroducedinthesenotesisoneofthetranslationstothe Haskell-worldofthistheoreticalunderpinning. Thethirdlecture, onGenericProgramTransformation, canalsobeseenas anapplicationofthetheoryintroducedinlecturetwo. Manye?ciency-improving programtransformationscanbeperformedinamechanicalway, andthesewould nothavebeenpossiblewithoutinsightintothecorrectnessofsuchtransfor- tionsgainedinthelectureonGenericProgramming. Thefourthlecture, onDesigningandImplementingCombinatorLanguages, introducesaneasytowriteformalismforwritingdownthecatamorphismsint- ducedinearlierchapters. Itisshownhowquitecomplicatedcatamorphisms, that at?rstsightseemratherforbiddingbymakingextensiveuseofhigher-orderdo- VI Preface mains, canactuallybedevelopedinastep-wisefashion, usinganattributegr- marview;itisfurthermoreshownhowtorelatethiswayofprogrammingwith conceptsfromtheobject-orientedworldthusmakingclearwhatthestrengths andweaknessesofeachworldare. The?fthlecture, titledUsingMetaML: AStagedProgrammingLanguage, introducestheconceptofpartialevaluation. Itservesasanotherinstanceof thequestfor\"themostgenericofwritingprogramsatthelowestcost\". The stagingtechniquesshowhowcoststhatwereintroducedbyaddingextralevels ofabstraction, maybemovedfromrun-timetocompile-time. Ithasbeencommonknowledgetousersofmodernfunctionallanguagesthat thetypesystemcanbeagreathelpinshorteningprogramsandreducingerrors. Intheextremeonemightseeatypeasapredicatecapturingtheproperties ofanyexpressionwiththattype. InthesixthlectureonCayenne-Spiceup yourProgrammingwithDependentTypesitisshowninwhatdirectionfunct\u003c\/p\u003e","brand":"Springer","offers":[{"title":"Paperback","offer_id":47614563614871,"sku":"9783540662419","price":5792.0,"currency_code":"INR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0666\/3471\/1191\/files\/9783540662419.webp?v=1775094622","url":"https:\/\/atlanticbooks.com\/products\/advanced-functional-programming-third-international-school-afp98-braga-portugal-september-12-19-1998-revised-lectures-9783540662419","provider":"Atlantic Books","version":"1.0","type":"link"}