How functional programming mattered
In 1989 when functional programming was still considered a niche topic, Hughes wrote a visionary paper arguing convincingly ‘why functional programming maters’. More than two decades have passed. Has functional programming really matered? Our answer is a resounding ‘Yes.’. Functional programming is...
Uložené v:
| Vydané v: | National science review Ročník 2; číslo 3; s. 349 - 370 |
|---|---|
| Hlavní autori: | , , |
| Médium: | Journal Article |
| Jazyk: | English |
| Vydavateľské údaje: |
01.09.2015
|
| Predmet: | |
| ISSN: | 2095-5138, 2053-714X, 2053-714X |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
| Abstract | In 1989 when functional programming was still considered a niche topic, Hughes wrote a visionary paper arguing convincingly ‘why functional programming maters’. More than two decades have passed. Has functional programming really matered? Our answer is a resounding ‘Yes.’. Functional programming is now at the forefront of a new generation of programming technologies, and enjoying increasing popularity and inluence. In this paper, we review the impact of functional programming, focusing on how it has changed the way we may construct programs, the way we may verify programs, and fundamentally the way we may think about programs. |
|---|---|
| AbstractList | In 1989 when functional programming was still considered a niche topic, Hughes wrote a visionary paper arguing convincingly ‘why functional programming maters’. More than two decades have passed. Has functional programming really matered? Our answer is a resounding ‘Yes.’. Functional programming is now at the forefront of a new generation of programming technologies, and enjoying increasing popularity and inluence. In this paper, we review the impact of functional programming, focusing on how it has changed the way we may construct programs, the way we may verify programs, and fundamentally the way we may think about programs. In 1989 when functional programming was still considered a niche topic, Hughes wrote a visionary paper arguing convincingly ‘why functional programming matters’. More than two decades have passed. Has functional programming really mattered? Our answer is a resounding ‘Yes!’. Functional programming is now at the forefront of a new generation of programming technologies, and enjoying increasing popularity and influence. In this paper, we review the impact of functional programming, focusing on how it has changed the way we may construct programs, the way we may verify programs, and fundamentally the way we may think about programs. |
| Author | Zhenjiang Hu John Hughes Meng Wang |
| AuthorAffiliation | National Institute of Informatics;Department of Informatics,SOKENDAI(Graduate University for Advanced Studies);Department of Computer Science and Engineering,Chalmers University of Technology;School of Computing,University of Kent |
| Author_xml | – sequence: 1 givenname: Zhenjiang surname: Hu fullname: Hu, Zhenjiang organization: National Institute of Informatics, 2-1-2 Hitotsubashi, Chiyoda-ku, Tokyo 101-8430, Japan, Department of Informatics, SOKENDAI (Graduate University for Advanced Studies), 2-1-2 Hitotsubashi, Chiyoda-ku, Tokyo 101-8430, Japan – sequence: 2 givenname: John surname: Hughes fullname: Hughes, John organization: Department of Computer Science and Engineering, Chalmers University of Technology, SE-412 96 Gothenburg, Sweden – sequence: 3 givenname: Meng surname: Wang fullname: Wang, Meng organization: School of Computing, University of Kent, Canterbury, Kent CT2 7NZ, UK |
| BackLink | https://research.chalmers.se/publication/224566$$DView record from Swedish Publication Index (Chalmers tekniska högskola) |
| BookMark | eNptkE1LAzEURYNUsNZu_AUFd8LYZPIySZZS1AoFFyq4C5l8tAMzmZpMHfz3Tm3pQly9u3j3XDiXaBTa4BC6JviOYEnnIcV56L8w5GdonGNGM07gY7TPkmWMUHGBpilVJR5ywTmQMbpZtv3M74LpqjboeraN7TrqpqnCetbornPR2St07nWd3PR4J-j98eFtscxWL0_Pi_tVZoDRLnN82ARLpSCcW87K0vFCWkY9YCkkMQZKz6QtCnCaMAALRlsPhZXEG57TCXo9cFPvtrtSbWPV6PitWl2p6JLT0WyU2ei6cTGp5JRhxOQcSuWF4Aq4K5UuLFMYa2ctJha8Gai3B6qJbUrR-ROXYLX3pgZv6uBteMZ_nk3V6b2bLuqq_r9Cj5VNG9afg7jTABcFE1TkDIMAySgIRn4Tpz8fmYQJ |
| CitedBy_id | crossref_primary_10_1016_j_tcs_2023_114221 crossref_primary_10_1016_j_scico_2018_08_006 crossref_primary_10_1016_j_cola_2025_101346 crossref_primary_10_1109_ACCESS_2019_2891285 |
| Cites_doi | 10.1017/S0956796802004574 10.1145/359576.359579 10.1145/2676726.2676989 10.1109/2.62092 10.1145/351240.351266 10.1145/1065944.1065952 10.1145/258948.258964 10.1017/S0956796809007205 10.1023/A:1025641323400 10.1145/165180.165216 10.1145/91556.91592 10.1007/978-3-642-11931-6_9 10.1007/978-3-642-17796-5_10 10.1145/1238844.1238850 10.1145/1159789.1159792 10.1145/258948.258973 10.1145/232627.232637 10.1007/3-540-56625-2_7 10.1017/S0956796809007345 10.1145/1248648.1248652 10.1016/0890-5401(91)90052-4 10.1007/978-3-642-22941-1_13 10.1145/1238844.1238856 10.1145/263699.263715 10.1145/2628136.2628138 10.1145/2103746.2103758 10.1145/581478.581483 10.1145/351240.351267 10.1145/1480881.1480894 10.1017/S0956796804005192 10.1017/S0956796898003050 10.1007/BF01018827 10.1145/1993498.1993532 10.1145/2034654.2034667 10.1007/11877028_5 10.1145/2036918.2036930 10.1145/1900160.1900173 10.1007/978-3-642-04652-0_5 10.1007/978-1-349-91518-7_10 10.1017/S0956796808006758 10.1145/268946.268972 10.1016/j.entcs.2011.02.018 10.1145/2034675.2034690 10.1007/3-540-61628-4_7 10.1109/12.42122 10.1145/1869459.1869489 10.1007/978-3-642-34407-7_6 10.1145/2364527.2364573 10.1007/978-3-642-40447-4_2 10.1017/CBO9780511811326 10.1145/165180.165214 10.1145/224164.224221 10.1145/1250734.1250752 10.1093/comjnl/32.2.175 10.1145/2500365.2500602 10.1017/S0956796807006326 10.1007/10705424_5 10.1145/242224.242477 10.1109/LICS.1989.39155 10.1007/3540543961_7 10.1093/comjnl/32.2.98 10.1017/CBO9780511818073 10.1017/S0956796804005143 10.1145/2018396.2018413 10.1145/258948.258970 10.1017/CBO9780511763199 10.1017/S0956796806006022 10.1145/289121.289128 10.1080/00029890.1974.11993624 10.1145/2034773.2034781 10.1145/2364506.2364508 10.7551/mitpress/2319.001.0001 10.1017/S0956796800001908 10.1145/158511.158524 10.1145/2500365.2500611 10.1145/2503778.2503791 10.1017/CBO9781139093996 |
| ContentType | Journal Article |
| DBID | 2RA 92L CQIGP ~WA AAYXX CITATION ABBSD ADTPV AOWAS D8T F1S ZZAVC |
| DOI | 10.1093/nsr/nwv042 |
| DatabaseName | 维普期刊资源整合服务平台 中文科技期刊数据库-CALIS站点 维普中文期刊数据库 中文科技期刊数据库- 镜像站点 CrossRef SWEPUB Chalmers tekniska högskola full text SwePub SwePub Articles SWEPUB Freely available online SWEPUB Chalmers tekniska högskola SwePub Articles full text |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| DocumentTitleAlternate | How functional programming mattered |
| EISSN | 2053-714X |
| EndPage | 370 |
| ExternalDocumentID | oai_research_chalmers_se_c51c274b_f887_47eb_a6d5_00aedd01d4fc 10_1093_nsr_nwv042 78658382504849534851484957 |
| GroupedDBID | 2RA 92L ALMA_UNASSIGNED_HOLDINGS CDYEO CQIGP ~WA -SA -SC -S~ 0R~ 5VR AAFWJ AAOGV AAPXW AAVAP AAYXX ABDBF ABEJV ABGNP ABPTD ABQLI ABXVV ACGFS ACUHS ADMLS AENEX AFPKN AFUIB AMNDL AVWKF BAYMD CAJEA CAJEC CCEZO CCVFK CEKLB CITATION EBS EJD ESX GROUPED_DOAJ H13 KSI O9- OK1 Q-- RXO TOX U1G U5K U5M 4.4 ABBSD ADTPV AOWAS D8T F1S RPM ZZAVC |
| ID | FETCH-LOGICAL-c453t-e72054d398177d75bbe769d53f409891cc4bf59d664ea1544d4cadf46d91fc723 |
| ISICitedReferencesCount | 20 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000361767800018&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 2095-5138 2053-714X |
| IngestDate | Wed Nov 05 04:13:32 EST 2025 Sat Nov 29 02:00:22 EST 2025 Tue Nov 18 22:12:44 EST 2025 Wed Feb 14 10:03:14 EST 2024 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 3 |
| Language | English |
| License | http://creativecommons.org/licenses/by/4.0 |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c453t-e72054d398177d75bbe769d53f409891cc4bf59d664ea1544d4cadf46d91fc723 |
| Notes | Zhenjiang Hu;John Hughes;Meng Wang;National Institute of Informatics;Department of Informatics,SOKENDAI(Graduate University for Advanced Studies);Department of Computer Science and Engineering,Chalmers University of Technology;School of Computing,University of Kent 10-1088/N |
| OpenAccessLink | https://research.chalmers.se/publication/224566 |
| PageCount | 22 |
| ParticipantIDs | swepub_primary_oai_research_chalmers_se_c51c274b_f887_47eb_a6d5_00aedd01d4fc crossref_primary_10_1093_nsr_nwv042 crossref_citationtrail_10_1093_nsr_nwv042 chongqing_primary_78658382504849534851484957 |
| PublicationCentury | 2000 |
| PublicationDate | 2015-09-01 |
| PublicationDateYYYYMMDD | 2015-09-01 |
| PublicationDate_xml | – month: 09 year: 2015 text: 2015-09-01 day: 01 |
| PublicationDecade | 2010 |
| PublicationTitle | National science review |
| PublicationTitleAlternate | National Science Review |
| PublicationYear | 2015 |
| References | Claessen (2020011011063755900_bib17) 2000 Hudak (2020011011063755900_bib77) 1998 Peyton Jones (2020011011063755900_bib118) 2000 Armstrong (2020011011063755900_bib6) 2007 Matsuzaki (2020011011063755900_bib108) 2006 Hu (2020011011063755900_bib106) 1998 Hudak (2020011011063755900_bib73) 2003 Wampler (2020011011063755900_bib15) 2009 Hudak (2020011011063755900_bib4) 2000 Launchbury (2020011011063755900_bib61) 1995; 8 Bird (2020011011063755900_bib43) 1997 Wadler (2020011011063755900_bib59) 1992 Hudak (2020011011063755900_bib78) 2007 Felleisen (2020011011063755900_bib14) 2001 Gibbons (2020011011063755900_bib87) 2014 Blelloch (2020011011063755900_bib104) 1992 Hughes JM Bolinder (2020011011063755900_bib25) 2011 Hammond (2020011011063755900_bib112) 2011 Norell (2020011011063755900_bib41) 2009 Steele (2020011011063755900_bib66) Bird (2020011011063755900_bib3) 1998 Hutton (2020011011063755900_bib79) 1996 Elliott (2020011011063755900_bib86) 2003; 13 Cole (2020011011063755900_bib101) 1989 Svenningsson (2020011011063755900_bib93) 2013 Hudak (2020011011063755900_bib2) 1992; 27 Axelsson (2020011011063755900_bib89) 2012 Armstrong (2020011011063755900_bib113) 2007 Bird RS Moor (2020011011063755900_bib46) 1993 Blelloch (2020011011063755900_bib122) 1989; 38 Bird (2020011011063755900_bib45) 2010 Wadler (2020011011063755900_bib88) 1998 Odersky (2020011011063755900_bib36) 1997 Harris (2020011011063755900_bib64) 2005 Backus (2020011011063755900_bib98) 1978; 21 Loidl HW Rubio (2020011011063755900_bib100) 2003; 16 Skillicorn (2020011011063755900_bib103) 1990; 23 Ford (2020011011063755900_bib84) 2002 Farmer (2020011011063755900_bib30) 2012 Steele (2020011011063755900_bib11) 1984 Naiman (2020011011063755900_bib52) Reynolds (2020011011063755900_bib38) Oliveira BCS Moors (2020011011063755900_bib39) 2010 Tesson (2020011011063755900_bib53) 2011 Meijer (2020011011063755900_bib32) 1991 Morita (2020011011063755900_bib110) 2007 Hu (2020011011063755900_bib29) 1997 Launchbury (2020011011063755900_bib62) 1997 Minsky (2020011011063755900_bib9) 2011; 54 Arts (2020011011063755900_bib26) 2015 Paulson (2020011011063755900_bib5) 1996 Sculthorpe (2020011011063755900_bib95) 2013 Chakravarty (2020011011063755900_bib82) 1999 Bringert (2020011011063755900_bib119) Persson (2020011011063755900_bib94) 2012 Kiselyov (2020011011063755900_bib67) 2013 Abelson (2020011011063755900_bib116) 1985 Elliott (2020011011063755900_bib120) 1997 Milner (2020011011063755900_bib7) 1997 Baars (2020011011063755900_bib81) 2004; 14 Hansen MR Rischel (2020011011063755900_bib10) 2013 Hughes (2020011011063755900_bib1) 1989; 32 Bird (2020011011063755900_bib42) 1989 Swierstra SD Duponcheel (2020011011063755900_bib85) 1996 Halloway (2020011011063755900_bib16) 2009 Meijer (2020011011063755900_bib117) 2010 Hinze (2020011011063755900_bib20) 2006; 16 Dean (2020011011063755900_bib97) 2004 Chakravarty MMT Leshchinskiy (2020011011063755900_bib111) 2007 Seibel (2020011011063755900_bib12) 2012 Minsky (2020011011063755900_bib8) 2013 Mu (2020011011063755900_bib51) 2009; 19 Epstein (2020011011063755900_bib115) 2011 Gibbons (2020011011063755900_bib109) 1996; 6 Chin (2020011011063755900_bib105) 1998 Bertot (2020011011063755900_bib40) 2010 Chetali (2020011011063755900_bib21) 2009 Cole (2020011011063755900_bib102) 1989 Snyder (2020011011063755900_bib69) 2011 Hu (2020011011063755900_bib47) 2006 Peyton Jones (2020011011063755900_bib63) 1996 Claessen (2020011011063755900_bib83) 2004; 14 Wadler (2020011011063755900_bib37) 1989 Lindley (2020011011063755900_bib75) 2011; 229 Barthe (2020011011063755900_bib22) 2009 Leijen (2020011011063755900_bib121) Katayama (2020011011063755900_bib54) 2010 Hu (2020011011063755900_bib35) 1996 de Moor (2020011011063755900_bib50) Devriese (2020011011063755900_bib74) 2013 Takano (2020011011063755900_bib48) 1998; 30 Dijkstra (2020011011063755900_bib44) 1974; 81 Schrijvers (2020011011063755900_bib68) 2011 Wadler (2020011011063755900_bib58) 1990 Jones (2020011011063755900_bib99) 1989; 32 Bahr (2020011011063755900_bib90) 2011 Hughes (2020011011063755900_bib23) 2007 Liang (2020011011063755900_bib65) 1995 Svenningsson (2020011011063755900_bib96) 2013 Arts (2020011011063755900_bib24) 2006 Carette (2020011011063755900_bib91) 2009; 19 Katayama (2020011011063755900_bib55) 2012 Hudak (2020011011063755900_bib76) 1996; 28 Hutton (2020011011063755900_bib80) 1998; 8 Moggi (2020011011063755900_bib57) 1991; 93 Dybvig (2020011011063755900_bib13) 2009 Sheard (2020011011063755900_bib33) 1993 Leroy (2020011011063755900_bib18) 2006 Peyton Jones SL Wadler (2020011011063755900_bib60) 1993 Hu (2020011011063755900_bib107) 1999 Mcbride (2020011011063755900_bib72) 2008; 18 Swierstra (2020011011063755900_bib92) 2008; 18 Gill (2020011011063755900_bib27) 1993 Hughes (2020011011063755900_bib70) 2000 Sagonas (2020011011063755900_bib114) 2007 Fegaras (2020011011063755900_bib31) 1996 Smith (2020011011063755900_bib49) 1991 Yang (2020011011063755900_bib19) 2011 Takano (2020011011063755900_bib28) 1995 Paterson (2020011011063755900_bib71) 2003 Moggi (2020011011063755900_bib56) 1989 Hinze (2020011011063755900_bib34) 2015 |
| References_xml | – volume: 13 start-page: 455 year: 2003 ident: 2020011011063755900_bib86 article-title: Compiling embedded languages publication-title: J Funct Progr doi: 10.1017/S0956796802004574 – volume: 21 start-page: 613 year: 1978 ident: 2020011011063755900_bib98 article-title: Can programming be liberated from the von neumann style?: a functional style and its algebra of programs publication-title: Commun ACM doi: 10.1145/359576.359579 – start-page: 527 volume-title: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages year: 2015 ident: 2020011011063755900_bib34 article-title: Conjugate hylomorphisms—or: the mother of all structured recursion schemes doi: 10.1145/2676726.2676989 – start-page: 333 volume-title: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages year: 1995 ident: 2020011011063755900_bib65 article-title: Monad transformers and modular interpreters – volume: 23 start-page: 38 year: 1990 ident: 2020011011063755900_bib103 article-title: Architecture-independent parallel computation publication-title: IEEE Comput doi: 10.1109/2.62092 – start-page: 268 volume-title: Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming year: 2000 ident: 2020011011063755900_bib17 article-title: QuickCheck: a lightweight tool for random testing of Haskell programs doi: 10.1145/351240.351266 – start-page: 48 volume-title: Proceedings of the Tenth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming year: 2005 ident: 2020011011063755900_bib64 article-title: Composable memory transactions doi: 10.1145/1065944.1065952 – start-page: 8 volume-title: Proceedings of Computing Science Department Research Report 89/R4 year: 1989 ident: 2020011011063755900_bib101 article-title: Higher-order functions for parallel evaluation – start-page: 164 volume-title: Proceedings of the Second ACM SIGPLAN International Conference on Functional Programming year: 1997 ident: 2020011011063755900_bib29 article-title: Tupling calculation eliminates multiple data traversals doi: 10.1145/258948.258964 – volume: 19 start-page: 509 year: 2009 ident: 2020011011063755900_bib91 article-title: Finally tagless partially evaluated: tagless staged interpreters for simpler typed languages publication-title: J Funct Progr doi: 10.1017/S0956796809007205 – volume-title: STOP Summer School on Constructive Algorithmics year: 1989 ident: 2020011011063755900_bib42 article-title: Constructive functional programming – volume: 16 start-page: 203 year: 2003 ident: 2020011011063755900_bib100 article-title: Comparing parallel functional languages: programming and performance publication-title: Higher Order Symb Comput doi: 10.1023/A:1025641323400 – start-page: 233 volume-title: Proceedings of the Conference on Functional Programming Languages and Computer Architecture year: 1993 ident: 2020011011063755900_bib33 article-title: A fold for all seasons doi: 10.1145/165180.165216 – start-page: 25 volume-title: COMPUTATION TOOLS 2011: The Second International Conference on Computational Logics, Algebras, Programming, Tools, and Benchmarking ident: 2020011011063755900_bib52 article-title: Netty: a prover's assistant – volume-title: How to Design Programs: An Introduction to Programming and Computing year: 2001 ident: 2020011011063755900_bib14 article-title: Krishnamurthi – start-page: 61 volume-title: Proceedings of the 1990 ACM Conference on LISP and Functional Programming year: 1990 ident: 2020011011063755900_bib58 article-title: Comprehending monads doi: 10.1145/91556.91592 – start-page: 472 volume-title: Proceedings of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages ident: 2020011011063755900_bib66 article-title: Building interpreters by composing monads – start-page: 1 volume-title: Proceedings of the 9th International Conference on Practical Aspects of Declarative Languages year: 2007 ident: 2020011011063755900_bib23 article-title: QuickCheck testing for fun and profit – start-page: 174 volume-title: Proceedings of Workshop on Approaches and Applications of Inductive Programming year: 2010 ident: 2020011011063755900_bib54 article-title: Recent improvements of MagicHaskeller doi: 10.1007/978-3-642-11931-6_9 – volume-title: The Scheme Programming Language year: 2009 ident: 2020011011063755900_bib13 – start-page: 163 volume-title: Proceedings of the 13th International Conference on Algebraic Methodology and Software Technology year: 2011 ident: 2020011011063755900_bib53 article-title: Program calculation in Coq doi: 10.1007/978-3-642-17796-5_10 – start-page: 6–1 volume-title: Proceedings of the Third ACM SIGPLAN Conference on History of Programming Languages, HOPL III year: 2007 ident: 2020011011063755900_bib113 article-title: A history of Erlang doi: 10.1145/1238844.1238850 – start-page: 1 volume-title: Proceedings of the 19th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages year: 1992 ident: 2020011011063755900_bib59 article-title: The essence of functional programming – start-page: 134 volume-title: Proceedings of the 5th International Conference on Software Reuse. ICSR '98 year: 1998 ident: 2020011011063755900_bib77 article-title: Modular domain specific languages and tools – start-page: 2 volume-title: Proceedings of the 2006 ACM SIGPLAN Workshop on Erlang year: 2006 ident: 2020011011063755900_bib24 article-title: Testing telecoms software with Quviq QuickCheck doi: 10.1145/1159789.1159792 – start-page: 42 volume-title: 33rd ACM symposium on Principles of Programming Languages year: 2006 ident: 2020011011063755900_bib18 article-title: Formal certification of a compiler back-end or: programming a compiler with a proof assistant – volume-title: Testing: Academic and Industrial Conference—Practice and Research Techniques, Part of the ICST Workshop Proceedings year: 2015 ident: 2020011011063755900_bib26 article-title: Testing autosar software with QuickCheck – volume-title: Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions year: 2010 ident: 2020011011063755900_bib40 – start-page: 263 volume-title: Proceedings of the Second ACM SIGPLAN International Conference on Functional Programming. ICFP '97 year: 1997 ident: 2020011011063755900_bib120 article-title: Functional reactive animation doi: 10.1145/258948.258973 – start-page: 73 volume-title: Proceedings of the First ACM SIGPLAN International Conference on Functional Programming year: 1996 ident: 2020011011063755900_bib35 article-title: Deriving structural hylomorphisms from recursive definitions doi: 10.1145/232627.232637 – start-page: 39 volume-title: 18th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2006) year: 2006 ident: 2020011011063755900_bib108 article-title: Towards automatic parallelization of tree reductions in dynamic programming – start-page: 45 volume-title: Proceedings of the Second International Conference on Mathematics of Program Construction year: 1993 ident: 2020011011063755900_bib46 article-title: Solving optimisation problems with catamorphism doi: 10.1007/3-540-56625-2_7 – volume: 19 start-page: 545 year: 2009 ident: 2020011011063755900_bib51 article-title: Algebra of programming in Agda: dependent types for relational program derivation publication-title: J Funct Progr doi: 10.1017/S0956796809007345 – start-page: 10 volume-title: Proceedings of the 2007 Workshop on Declarative Aspects of Multicore Programming. DAMP '07 year: 2007 ident: 2020011011063755900_bib111 article-title: Data parallel Haskell: a status report doi: 10.1145/1248648.1248652 – volume: 93 start-page: 55 year: 1991 ident: 2020011011063755900_bib57 article-title: Notions of computation and monads publication-title: Inf Comput doi: 10.1016/0890-5401(91)90052-4 – start-page: 198 volume-title: Proceedings of the 11th International Conference on Trends in Functional Programming year: 2011 ident: 2020011011063755900_bib69 article-title: Monad factory: type-indexed monads doi: 10.1007/978-3-642-22941-1_13 – volume-title: Proceedings of the Third ACM SIGPLAN Conference on History of Programming Languages year: 2007 ident: 2020011011063755900_bib78 article-title: A history of Haskell: being lazy with class doi: 10.1145/1238844.1238856 – ident: 2020011011063755900_bib119 article-title: xhtml: an XHTML combinator library – start-page: 347 volume-title: Proceedings of the Fourth International Conference on Functional Programming Languages and Computer Architecture year: 1989 ident: 2020011011063755900_bib37 – start-page: 146 volume-title: Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages year: 1997 ident: 2020011011063755900_bib36 article-title: Pizza into java: translating theory into practice doi: 10.1145/263699.263715 – volume-title: Practical Common Lisp year: 2012 ident: 2020011011063755900_bib12 – start-page: 339 volume-title: Proceedings of the 19th ACM SIGPLAN International Conference on Functional Programming. ICFP '14 year: 2014 ident: 2020011011063755900_bib87 article-title: Folding domain-specific languages: deep and shallow embeddings (functional pearl) doi: 10.1145/2628136.2628138 – start-page: 43 volume-title: Proceedings of the ACM SIGPLAN 2012 Workshop on Partial Evaluation and Program Manipulation year: 2012 ident: 2020011011063755900_bib55 article-title: An analytical inductive functional programming system that avoids unintended programs doi: 10.1145/2103746.2103758 – start-page: 513 volume-title: Proceedings of IFIP 9th World Computer Congress ident: 2020011011063755900_bib38 article-title: Types abstraction and parametric polymorphism – volume-title: Algorithmic skeletons : a structured approach to the management of parallel computation year: 1989 ident: 2020011011063755900_bib102 article-title: Research Monographs in Parallel and Distributed Computing – start-page: 36 volume-title: Proceedings of the Seventh ACM SIGPLAN International Conference on Functional Programming. ICFP '02 year: 2002 ident: 2020011011063755900_bib84 article-title: Packrat parsing: simple powerful lazy linear time functional pearl doi: 10.1145/581478.581483 – start-page: 37 volume-title: Proceedings of the 9th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming. PPDP '07 year: 2007 ident: 2020011011063755900_bib114 article-title: Detecting defects in Erlang programs using static analysis – start-page: 280 volume-title: Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming. ICFP '00 year: 2000 ident: 2020011011063755900_bib118 article-title: Composing contracts: an adventure in financial engineering (functional pearl) doi: 10.1145/351240.351267 – volume-title: Programming Erlang: Software for a Concurrent World year: 2007 ident: 2020011011063755900_bib6 – start-page: 90 volume-title: Proceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages year: 2009 ident: 2020011011063755900_bib22 article-title: Formal certification of code-based cryptographic proofs doi: 10.1145/1480881.1480894 – start-page: 85 volume-title: 1999 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation year: 1999 ident: 2020011011063755900_bib107 article-title: Diffusion: calculating efficient parallel programs – volume: 14 start-page: 741 year: 2004 ident: 2020011011063755900_bib83 publication-title: J Funct Progr doi: 10.1017/S0956796804005192 – volume: 8 start-page: 437 year: 1998 ident: 2020011011063755900_bib80 article-title: Monadic parsing in Haskell publication-title: J Funct Progr doi: 10.1017/S0956796898003050 – volume: 27 start-page: 1 year: 1992 ident: 2020011011063755900_bib2 article-title: Report on the programming language Haskell a non-strict purely functional language publication-title: SIGPLAN Not – volume: 8 start-page: 293 year: 1995 ident: 2020011011063755900_bib61 publication-title: Lisp Symb Comput doi: 10.1007/BF01018827 – volume-title: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation year: 2011 ident: 2020011011063755900_bib19 article-title: Finding and understanding bugs in C compilers doi: 10.1145/1993498.1993532 – start-page: 72 volume-title: Proceedings of the 10th ACM SIGPLAN Workshop on Erlang year: 2011 ident: 2020011011063755900_bib25 article-title: Testing a database for race conditions with QuickCheck: none doi: 10.1145/2034654.2034667 – start-page: 67 volume-title: Sci Comput Progr year: 2000 ident: 2020011011063755900_bib70 article-title: Generalising monads to arrows – start-page: 139 volume-title: Summer School on Generative and Transformational Techniques in Software Engineering year: 2006 ident: 2020011011063755900_bib47 article-title: Program optimizations and transformations in calculational form doi: 10.1007/11877028_5 – start-page: 83 volume-title: Proceedings of the Seventh ACM SIGPLAN Workshop on Generic Programming, WGP '11 year: 2011 ident: 2020011011063755900_bib90 article-title: Compositional data types doi: 10.1145/2036918.2036930 – start-page: 1 volume-title: ACM SIGPLAN Commercial Users of Functional Programming. CUFP '10 year: 2010 ident: 2020011011063755900_bib117 article-title: Reactive extensions (rx): curing your asynchronous programming blues doi: 10.1145/1900160.1900173 – volume-title: Introduction to Functional Programming year: 1998 ident: 2020011011063755900_bib3 – start-page: 230 volume-title: Proceedings of the 6th International Conference on Advanced Functional Programming year: 2009 ident: 2020011011063755900_bib41 article-title: Dependently typed programming in Agda doi: 10.1007/978-3-642-04652-0_5 – start-page: 201 volume-title: The Fun of Programming year: 2003 ident: 2020011011063755900_bib71 article-title: Arrows and computation doi: 10.1007/978-1-349-91518-7_10 – volume: 18 start-page: 423 year: 2008 ident: 2020011011063755900_bib92 article-title: Data types à la carte la carte publication-title: J Funct Progr doi: 10.1017/S0956796808006758 – start-page: 316 volume-title: 25th ACM Symposium on Principles of Programming Languages (POPL'98) year: 1998 ident: 2020011011063755900_bib106 article-title: Parallelization in calculational forms doi: 10.1145/268946.268972 – start-page: 116 volume-title: Advanced Functional Programming, Lecture Notes in Computer Science ident: 2020011011063755900_bib50 article-title: Generic program transformation – volume: 229 start-page: 97 year: 2011 ident: 2020011011063755900_bib75 article-title: Idioms are oblivious arrows are meticulous monads are promiscuous publication-title: Electron Notes Theor Comput Sci doi: 10.1016/j.entcs.2011.02.018 – start-page: 118 volume-title: Proceedings of the 4th ACM Symposium on Haskell. Haskell '11 year: 2011 ident: 2020011011063755900_bib115 article-title: Towards Haskell in the cloud doi: 10.1145/2034675.2034690 – start-page: 184 volume-title: Advanced Functional Programming, Second International School-Tutorial Text year: 1996 ident: 2020011011063755900_bib85 article-title: Deterministic error-correcting combinator parsers doi: 10.1007/3-540-61628-4_7 – volume: 38 start-page: 1526 year: 1989 ident: 2020011011063755900_bib122 article-title: Scans as primitive operations publication-title: IEEE Trans Comp doi: 10.1109/12.42122 – start-page: 341 volume-title: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications year: 2010 ident: 2020011011063755900_bib39 article-title: Type classes as objects and implicits doi: 10.1145/1869459.1869489 – start-page: 85 volume-title: Implementation and Application of Functional Languages year: 2012 ident: 2020011011063755900_bib94 article-title: Generic monadic constructs for embedded languages doi: 10.1007/978-3-642-34407-7_6 – start-page: 1 volume-title: Proceedings of the 3rd International Conference on Tests and Proofs year: 2009 ident: 2020011011063755900_bib21 article-title: Security testing and formal methods for high levels certification of smart cards – start-page: 323 volume-title: Proceedings of the 17th ACM SIGPLAN International Conference on Functional Programming, ICFP '12 year: 2012 ident: 2020011011063755900_bib89 article-title: A generic abstract syntax model for embedded languages doi: 10.1145/2364527.2364573 – start-page: 21 volume-title: Trends in Functional Programming year: 2013 ident: 2020011011063755900_bib93 article-title: Combining deep and shallow embedding for EDSL doi: 10.1007/978-3-642-40447-4_2 – volume-title: Real World OCaml: Functional Programming for the Masses year: 2013 ident: 2020011011063755900_bib8 – volume-title: Common LISP: The Language year: 1984 ident: 2020011011063755900_bib11 – volume-title: ML for the Working Programmer year: 1996 ident: 2020011011063755900_bib5 doi: 10.1017/CBO9780511811326 – start-page: 223 volume-title: Proceedings of the Conference on Functional Programming Languages and Computer Architecture year: 1993 ident: 2020011011063755900_bib27 article-title: A short cut to deforestation doi: 10.1145/165180.165214 – start-page: 159 volume-title: Summer School on Advanced Functional Programming 2002, Oxford University year: 2003 ident: 2020011011063755900_bib73 article-title: Arrows robots and functional reactive programming – start-page: 306 volume-title: Proceedings of the Seventh International Conference on Functional Programming Languages and Computer Architecture year: 1995 ident: 2020011011063755900_bib28 article-title: Shortcut deforestation in calculational form doi: 10.1145/224164.224221 – start-page: 146 volume-title: Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation. PLDI '07 year: 2007 ident: 2020011011063755900_bib110 article-title: Automatic inversion generates divide-and-conquer parallel programs doi: 10.1145/1250734.1250752 – volume: 32 start-page: 175 year: 1989 ident: 2020011011063755900_bib99 article-title: Parallel implementations of functional programming languages publication-title: Comput J doi: 10.1093/comjnl/32.2.175 – start-page: 287 volume-title: Proceedings of the 18th ACM SIGPLAN International Conference on Functional Programming. ICFP '13 year: 2013 ident: 2020011011063755900_bib95 article-title: The constrained-monad problem doi: 10.1145/2500365.2500602 – start-page: 97 volume-title: Proceedings of the ACM SIGPLAN 2013 Workshop on Partial Evaluation and Program Manipulation. PEPM '13 year: 2013 ident: 2020011011063755900_bib74 article-title: Fixing idioms: a recursion primitive for applicative DSLs – volume: 18 start-page: 1 year: 2008 ident: 2020011011063755900_bib72 article-title: Applicative programming with effects publication-title: J Funct Progr doi: 10.1017/S0956796807006326 – start-page: 68 volume-title: Proceedings of the 4th Fuji International Symposium on Functional and Logic Programming. FLOPS '99 year: 1999 ident: 2020011011063755900_bib82 article-title: Lazy lexing is fast doi: 10.1007/10705424_5 – volume-title: Technical Report CMU-CS-92-103 year: 1992 ident: 2020011011063755900_bib104 article-title: NESL: a nested data parallel language – volume: 28 year: 1996 ident: 2020011011063755900_bib76 article-title: Building domain-specific embedded languages publication-title: ACM Comput Surv. doi: 10.1145/242224.242477 – year: 1998 ident: 2020011011063755900_bib88 article-title: The expression problem. Java Genericity Mailing list – start-page: 14 volume-title: Proceedings of the Fourth Annual Symposium on Logic in Computer Science year: 1989 ident: 2020011011063755900_bib56 article-title: Computational lambda-calculus and monads doi: 10.1109/LICS.1989.39155 – volume-title: Algebra of Programming year: 1997 ident: 2020011011063755900_bib43 – start-page: 124 volume-title: Proceddings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture year: 1991 ident: 2020011011063755900_bib32 article-title: Functional programming with bananas lenses envelopes and barbed wire doi: 10.1007/3540543961_7 – volume-title: Structure and Interpretation of Computer Programs year: 1985 ident: 2020011011063755900_bib116 – volume: 32 start-page: 98 year: 1989 ident: 2020011011063755900_bib1 article-title: Why functional programming matters publication-title: Comput J doi: 10.1093/comjnl/32.2.98 – volume-title: The Haskell School of Expression: Learning Functional Programming Through Multimedia year: 2000 ident: 2020011011063755900_bib4 doi: 10.1017/CBO9780511818073 – volume-title: Programming Clojure year: 2009 ident: 2020011011063755900_bib16 – volume: 14 start-page: 635 year: 2004 ident: 2020011011063755900_bib81 article-title: Parsing permutation phrases publication-title: J Funct Progr doi: 10.1017/S0956796804005143 – ident: 2020011011063755900_bib121 article-title: haskelldb: a library of combinators for generating and executing SQL statements – volume: 54 start-page: 53 year: 2011 ident: 2020011011063755900_bib9 article-title: Ocaml for the masses publication-title: Commun ACM doi: 10.1145/2018396.2018413 – start-page: 227 volume-title: Proceedings of the Second ACM SIGPLAN International Conference on Functional Programming year: 1997 ident: 2020011011063755900_bib62 article-title: Monadic state: axiomatization and type safety doi: 10.1145/258948.258970 – volume-title: Pearls of Functional Algorithm Design year: 2010 ident: 2020011011063755900_bib45 doi: 10.1017/CBO9780511763199 – volume: 16 start-page: 451 year: 2006 ident: 2020011011063755900_bib20 article-title: Generics for the masses publication-title: J Funct Progr doi: 10.1017/S0956796806006022 – start-page: 284 volume-title: Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '96 year: 1996 ident: 2020011011063755900_bib31 article-title: Revisiting catamorphisms over datatypes with embedded functions – volume: 30 year: 1998 ident: 2020011011063755900_bib48 article-title: Program transformation in calculational form publication-title: ACM Comput Surv doi: 10.1145/289121.289128 – volume-title: Technical Report NOTTCS-TR-96-4 year: 1996 ident: 2020011011063755900_bib79 article-title: Monadic parser combinators – volume: 81 start-page: 608 year: 1974 ident: 2020011011063755900_bib44 article-title: Programming as a discipline of mathematical nature publication-title: Am Mathemat Mon Comp J doi: 10.1080/00029890.1974.11993624 – start-page: 32 volume-title: Proceedings of the 16th ACM SIGPLAN International Conference on Functional Programming year: 2011 ident: 2020011011063755900_bib68 article-title: Monads zippers and views: virtualizing the monad stack doi: 10.1145/2034773.2034781 – start-page: 10 volume-title: Proceedings of the 6th Conference on Symposium on Operating Systems Design and Implementation. OSDI'04 year: 2004 ident: 2020011011063755900_bib97 article-title: Mapreduce: simplified data processing on large clusters – start-page: 1 volume-title: Proceedings of the 2012 Haskell Symposium year: 2012 ident: 2020011011063755900_bib30 article-title: The hermit in the machine: a plugin for the interactive transformation of GHC core language programs doi: 10.1145/2364506.2364508 – volume-title: The Definition of Standard ML year: 1997 ident: 2020011011063755900_bib7 doi: 10.7551/mitpress/2319.001.0001 – volume-title: IEEE Computer Society International Conference on Computer Languages year: 1998 ident: 2020011011063755900_bib105 article-title: Parallelization via context preservation – volume: 6 start-page: 657 year: 1996 ident: 2020011011063755900_bib109 article-title: The third homomorphism theorem publication-title: J Funct Progr doi: 10.1017/S0956796800001908 – start-page: 71 volume-title: Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages year: 1993 ident: 2020011011063755900_bib60 article-title: Imperative functional programming doi: 10.1145/158511.158524 – start-page: 299 volume-title: Proceedings of the 18th ACM SIGPLAN International Conference on Functional Programming. ICFP '13 year: 2013 ident: 2020011011063755900_bib96 article-title: Simple and compositional reification of monadic embedded languages doi: 10.1145/2500365.2500611 – start-page: 59 volume-title: Proceedings of the 2013 ACM SIGPLAN Symposium on Haskell year: 2013 ident: 2020011011063755900_bib67 article-title: Extensible effects: an alternative to monad transformers doi: 10.1145/2503778.2503791 – volume-title: Programming Scala: Scalability = Functional Programming + Objects year: 2009 ident: 2020011011063755900_bib15 – volume-title: Functional Programming Using F# year: 2013 ident: 2020011011063755900_bib10 doi: 10.1017/CBO9781139093996 – start-page: 295 volume-title: Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages year: 1996 ident: 2020011011063755900_bib63 article-title: Concurrent Haskell – start-page: 483 volume-title: Proceedings of AAAI'88 Workshop on Automating Software Design year: 1991 ident: 2020011011063755900_bib49 article-title: KIDSa knowledges-based software development system – start-page: 201 volume-title: Proceedings of the 16th Ada-Europe International Conference on Reliable Software Technologies year: 2011 ident: 2020011011063755900_bib112 article-title: Why parallel functional programming matters: panel statement |
| SSID | ssib051367741 ssib050735980 ssj0001257732 |
| Score | 2.1387541 |
| SecondaryResourceType | review_article |
| Snippet | In 1989 when functional programming was still considered a niche topic, Hughes wrote a visionary paper arguing convincingly ‘why functional programming... In 1989 when functional programming was still considered a niche topic, Hughes wrote a visionary paper arguing convincingly 'why functional programming... |
| SourceID | swepub crossref chongqing |
| SourceType | Open Access Repository Enrichment Source Index Database Publisher |
| StartPage | 349 |
| SubjectTerms | equational reasoning functional languages functional programming high order function monad |
| Title | How functional programming mattered |
| URI | http://lib.cqvip.com/qk/72283X/201503/78658382504849534851484957.html https://research.chalmers.se/publication/224566 |
| Volume | 2 |
| WOSCitedRecordID | wos000361767800018&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVHPJ databaseName: ROAD: Directory of Open Access Scholarly Resources customDbUrl: eissn: 2053-714X dateEnd: 99991231 omitProxy: false ssIdentifier: ssib050735980 issn: 2095-5138 databaseCode: M~E dateStart: 20130101 isFulltext: true titleUrlDefault: https://road.issn.org providerName: ISSN International Centre – providerCode: PRVASL databaseName: Oxford Journals Open Access Collection customDbUrl: eissn: 2053-714X dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0001257732 issn: 2053-714X databaseCode: TOX dateStart: 20140301 isFulltext: true titleUrlDefault: https://academic.oup.com/journals/ providerName: Oxford University Press |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Lb9QwELagcOBSgQCxvLRS8QGVqJv4fcy2WfUAFYciKi5WYjubIpo-si098dsZO950l4dED1yy1micbOYbjSfO5BuE3ihY1G0FzisyaxPqmbVlWrrETWpKOMyStg7NJsTBgTw6Uh9jS_gutBMQbSuvr9XZf4UaZAC2_3T2FnAPJwUBjAF0OALscPwn4H2TOL9axU2-WIB14rcETgKZ5npvTlwwrKZ4uucHeYGnHBcC5wKrNEj2cA4SifMZljQMQCfHxQxPd7HKvUTCdFDmWHEshZ8uFZZDjeyXxrVfwQvn2_uXofQXfueN60JF7fbnMq6dceshZUNtVYxQGeRnCUuJXHEUshINSc9GGhdW0ncI-S1m93xWbefpUtrvV5OebesXFmwhuX_B6wnXpC-JpZAphpG4i-5lgilfzvfhR7GMJZDmem7CIRYxT00nQiPT4V8v2WoV2YGr7_TX9hwbzWk7PwdY1nKVNSbZkH0cPkSb8bFhnPdwP0J3XPsYbQHU4xuoxytQj5dQP0GfZsXh7n4Sm14khjKySJzIIIu2RMlUCCtYVTnBlWWkhidxqVJjaFUzZTmnrvRUSpaa0taUW5XWRmTkKdpoT1v3DI2p5xqUojb-Y2QjREWztKRZaaTjGaSiI_RuuFV91pOb6L8beoTeLq2hTSSQ931Mvum-kIFosKLurThCW4Pu8sx_0nrfG3XQ8WTnkeWq0aYJLYQ63TltWGoyQStdw6qoqXCVLrllejIpnbWT1NLaPL_d_bxAD26c-iXaWFxculfovrlaHHcXr4M3_QQkFW4s |
| linkProvider | ISSN International Centre |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=How+functional+programming+mattered&rft.jtitle=%E5%9B%BD%E5%AE%B6%E7%A7%91%E5%AD%A6%E8%AF%84%E8%AE%BA%EF%BC%9A%E8%8B%B1%E6%96%87%E7%89%88&rft.au=Zhenjiang+Hu+John+Hughes+Meng+Wang&rft.date=2015-09-01&rft.issn=2095-5138&rft.issue=3&rft.spage=349&rft.epage=370&rft_id=info:doi/10.1093%2Fnsr%2Fnwv042&rft.externalDocID=78658382504849534851484957 |
| thumbnail_s | http://cvtisr.summon.serialssolutions.com/2.0.0/image/custom?url=http%3A%2F%2Fimage.cqvip.com%2Fvip1000%2Fqk%2F72283X%2F72283X.jpg |