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...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:National science review Ročník 2; číslo 3; s. 349 - 370
Hlavní autori: Hu, Zhenjiang, Hughes, John, Wang, Meng
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