The Kansas University rewrite engine A Haskell-Embedded Strategic Programming Language with Custom Closed Universes

When writing transformation systems, a significant amount of engineering effort goes into setting up the infrastructure needed to direct individual transformations to specific targets in the data being transformed. Strategic programming languages provide general-purpose infrastructure for this task,...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Journal of functional programming Ročník 24; číslo 4; s. 434 - 473
Hlavní autori: SCULTHORPE, NEIL, FRISBY, NICOLAS, GILL, ANDY
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: Cambridge Cambridge University Press 01.07.2014
ISSN:0956-7968, 1469-7653
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Abstract When writing transformation systems, a significant amount of engineering effort goes into setting up the infrastructure needed to direct individual transformations to specific targets in the data being transformed. Strategic programming languages provide general-purpose infrastructure for this task, which the author of a transformation system can use for any algebraic data structure. The Kansas University Rewrite Engine (KURE) is a typed strategic programming language, implemented as a Haskell-embedded domain-specific language. KURE is designed to support typed transformations over typed data, and the main challenge is how to make such transformations compatible with generic traversal strategies that should operate over any type. Strategic programming in a typed setting has much in common with datatype-generic programming . Compared to other approaches to datatype-generic programming, the distinguishing feature of KURE's solution is that the user can configure the behaviour of traversals based on the location of each datum in the tree, beyond their behaviour being determined by the type of each datum. This article describes KURE's approach to assigning types to generic traversals, and the implementation of that approach. We also compare KURE, its design choices, and their consequences, with other approaches to strategic and datatype-generic programming.
AbstractList Abstract When writing transformation systems, a significant amount of engineering effort goes into setting up the infrastructure needed to direct individual transformations to specific targets in the data being transformed. Strategic programming languages provide general-purpose infrastructure for this task, which the author of a transformation system can use for any algebraic data structure. The Kansas University Rewrite Engine (KURE) is a typed strategic programming language, implemented as a Haskell-embedded domain-specific language. KURE is designed to support typed transformations over typed data, and the main challenge is how to make such transformations compatible with generic traversal strategies that should operate over any type. Strategic programming in a typed setting has much in common with datatype-generic programming. Compared to other approaches to datatype-generic programming, the distinguishing feature of KURE's solution is that the user can configure the behaviour of traversals based on the location of each datum in the tree, beyond their behaviour being determined by the type of each datum. This article describes KURE's approach to assigning types to generic traversals, and the implementation of that approach. We also compare KURE, its design choices, and their consequences, with other approaches to strategic and datatype-generic programming. [PUBLICATION ABSTRACT]
When writing transformation systems, a significant amount of engineering effort goes into setting up the infrastructure needed to direct individual transformations to specific targets in the data being transformed. Strategic programming languages provide general-purpose infrastructure for this task, which the author of a transformation system can use for any algebraic data structure. The Kansas University Rewrite Engine (KURE) is a typed strategic programming language, implemented as a Haskell-embedded domain-specific language. KURE is designed to support typed transformations over typed data, and the main challenge is how to make such transformations compatible with generic traversal strategies that should operate over any type. Strategic programming in a typed setting has much in common with datatype-generic programming . Compared to other approaches to datatype-generic programming, the distinguishing feature of KURE's solution is that the user can configure the behaviour of traversals based on the location of each datum in the tree, beyond their behaviour being determined by the type of each datum. This article describes KURE's approach to assigning types to generic traversals, and the implementation of that approach. We also compare KURE, its design choices, and their consequences, with other approaches to strategic and datatype-generic programming.
Author FRISBY, NICOLAS
SCULTHORPE, NEIL
GILL, ANDY
Author_xml – sequence: 1
  givenname: NEIL
  surname: SCULTHORPE
  fullname: SCULTHORPE, NEIL
– sequence: 2
  givenname: NICOLAS
  surname: FRISBY
  fullname: FRISBY, NICOLAS
– sequence: 3
  givenname: ANDY
  surname: GILL
  fullname: GILL, ANDY
BookMark eNp9kEtLAzEUhYNUsK3-AHcDuh3NzeQ1Sym-sODCdj1kMjeaUjM1SZX-e6fUlYKruzjfdy6cCRmFPiAh50CvgIK6fqG1kKqWGjilFLQ4ImPgsi6VFNWIjPdxuc9PyCSl1cBoJvSYXC7esHgyIZlULIP_xJh83hURv6LPWGB49QFPybEz64RnP3dKlne3i9lDOX--f5zdzEvLVJVL21JHTdVZ2xltnNO8Y0YwJZWsEC3HmhmuQbWcOeHaVsmO1jVzoJjkQFk1JReH3k3sP7aYcrPqtzEMLxsQEhjTnOqBUgfKxj6liK6xPpvs-5Cj8esGaLOfpPkzyWDCL3MT_buJu3-cbyVxYwM
CitedBy_id crossref_primary_10_1145_2887747_2804303
crossref_primary_10_1016_j_scico_2015_09_003
Cites_doi 10.1145/1411286.1411301
10.1017/S0956796808006898
10.1017/S0956796806006034
10.1007/978-3-642-41582-1_6
10.1016/j.scico.2007.10.006
10.1007/978-3-642-03034-5_14
10.1145/1291201.1291208
10.1017/S0956796807006326
10.1145/321992.321996
10.1145/2364506.2364526
10.1007/978-3-540-25935-0_13
10.1016/j.scico.2007.11.003
10.1016/0020-0190(86)90059-1
10.1145/2517208.2517210
10.1145/1596638.1596652
10.1017/S0956796808006758
10.1017/S0956796810000183
10.1145/1869459.1869497
10.1016/j.jsc.2004.12.011
10.1145/1159842.1159856
10.1017/S0956796812000275
10.1145/2577080.2577089
10.1017/S0956796810000171
10.1023/A:1010000313106
ContentType Journal Article
Copyright Copyright © Cambridge University Press 2014
Copyright_xml – notice: Copyright © Cambridge University Press 2014
DBID AAYXX
CITATION
3V.
7SC
7XB
8AL
8FD
8FE
8FG
8FK
ABUWG
AFKRA
ARAPS
AZQEC
BENPR
BGLVJ
CCPQU
DWQXO
GNUQQ
HCIFZ
JQ2
K7-
L7M
L~C
L~D
M0N
P5Z
P62
PHGZM
PHGZT
PKEHL
PQEST
PQGLB
PQQKQ
PQUKI
PRINS
Q9U
DOI 10.1017/S0956796814000185
DatabaseName CrossRef
ProQuest Central (Corporate)
Computer and Information Systems Abstracts
ProQuest Central (purchase pre-March 2016)
Computing Database (Alumni Edition)
Technology Research Database
ProQuest SciTech Collection
ProQuest Technology Collection
ProQuest Central (Alumni) (purchase pre-March 2016)
ProQuest Central (Alumni)
ProQuest Central UK/Ireland
Advanced Technologies & Computer Science Collection
ProQuest Central Essentials - QC
ProQuest Central
ProQuest Technology Collection
ProQuest One Community College
ProQuest Central Korea
ProQuest Central Student
SciTech Premium Collection
ProQuest Computer Science Collection
Computer Science Database
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
Computing Database
ProQuest advanced technologies & aerospace journals
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Central Premium
ProQuest One Academic (New)
ProQuest One Academic Middle East (New)
ProQuest One Academic Eastern Edition (DO NOT USE)
ProQuest One Applied & Life Sciences
ProQuest One Academic (retired)
ProQuest One Academic UKI Edition
ProQuest Central China
ProQuest Central Basic
DatabaseTitle CrossRef
Computer Science Database
ProQuest Central Student
Technology Collection
Technology Research Database
Computer and Information Systems Abstracts – Academic
ProQuest One Academic Middle East (New)
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Central Essentials
ProQuest Computer Science Collection
Computer and Information Systems Abstracts
ProQuest Central (Alumni Edition)
SciTech Premium Collection
ProQuest One Community College
ProQuest Central China
ProQuest Central
ProQuest One Applied & Life Sciences
ProQuest Central Korea
ProQuest Central (New)
Advanced Technologies Database with Aerospace
Advanced Technologies & Aerospace Collection
ProQuest Computing
ProQuest Central Basic
ProQuest Computing (Alumni Edition)
ProQuest One Academic Eastern Edition
ProQuest Technology Collection
ProQuest SciTech Collection
Computer and Information Systems Abstracts Professional
Advanced Technologies & Aerospace Database
ProQuest One Academic UKI Edition
ProQuest One Academic
ProQuest Central (Alumni)
ProQuest One Academic (New)
DatabaseTitleList Computer Science Database
CrossRef
Database_xml – sequence: 1
  dbid: BENPR
  name: ProQuest Central
  url: https://www.proquest.com/central
  sourceTypes: Aggregation Database
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1469-7653
EndPage 473
ExternalDocumentID 3428562221
10_1017_S0956796814000185
Genre Feature
GroupedDBID -1D
-1F
-2P
-2V
-E.
-~6
-~N
.DC
.FH
09C
09E
0E1
0R~
29K
4.4
5GY
5VS
6OB
6~7
74X
74Y
7~V
85S
8FE
8FG
8R4
8R5
9M5
AAAZR
AABES
AABWE
AACJH
AAFUK
AAGFV
AAKNA
AAKTX
AAMNQ
AANRG
AARAB
AASVR
AATMM
AAUIS
AAUKB
AAYXX
ABBXD
ABBZL
ABEFU
ABGDZ
ABITZ
ABJNI
ABKKG
ABMWE
ABQTM
ABQWD
ABROB
ABTCQ
ABUWG
ABVFV
ABVKB
ABVZP
ABXAU
ABXHF
ABZCX
ABZUI
ACAJB
ACBMC
ACDLN
ACEJA
ACETC
ACGFS
ACIMK
ACRPL
ACUIJ
ACYZP
ACZBM
ACZUX
ACZWT
ADCGK
ADDNB
ADFEC
ADKIL
ADNMO
ADOVH
ADOVT
ADVJH
AEBAK
AEBPU
AEHGV
AEMFK
AEMTW
AENCP
AENEX
AENGE
AFFHD
AFFUJ
AFKQG
AFKRA
AFLOS
AFLVW
AFUTZ
AFZFC
AGABE
AGBYD
AGJUD
AGLWM
AGQPQ
AHQXX
AHRGI
AIGNW
AIHIV
AIOIP
AISIE
AJ7
AJCYY
AJPFC
AJQAS
AKMAY
AKZCZ
ALMA_UNASSIGNED_HOLDINGS
ALVPG
ALWZO
AMVHM
ANOYL
AQJOH
ARABE
ARAPS
ARZZG
ATUCA
AUXHV
AYIQA
AZQEC
BBLKV
BCGOX
BENPR
BESQT
BGHMG
BGLVJ
BJBOZ
BLZWO
BMAJL
BPHCQ
BQFHP
C0O
CAG
CBIIA
CCPQU
CCQAD
CCTKK
CCUQV
CDIZJ
CFAFE
CFBFF
CGQII
CHEAL
CITATION
CJCSC
COF
CS3
D-I
DC4
DOHLZ
DU5
DWQXO
EBS
EGQIC
EJD
GNUQQ
HCIFZ
HG-
HST
I.6
I.7
I.9
IH6
IKXGN
IOEEP
IOO
IPYYG
IS6
I~P
J36
J38
J3A
JHPGK
JQKCU
K6V
K7-
KAFGG
KCGVB
KFECR
L98
LHUNA
LW7
M-V
M48
M7~
M8.
NIKVX
NMFBF
NZEOI
OK1
OYBOY
P2P
P62
PHGZM
PHGZT
PQGLB
PQQKQ
PROAC
PYCCK
Q2X
RAMDC
RCA
ROL
RR0
S6-
S6U
SAAAG
T9M
TWZ
UT1
WFFJZ
WQ3
WXU
WYP
YYM
ZDLDU
ZJOSE
ZMEZD
ZY4
ZYDXJ
~V1
3V.
7SC
7XB
8AL
8FD
8FK
JQ2
L7M
L~C
L~D
M0N
PKEHL
PQEST
PQUKI
PRINS
Q9U
ID FETCH-LOGICAL-c273t-cb0f0a3dccda8aff84d2a5276763eec4e92a4817b42f5fbb76d0992f172641023
IEDL.DBID BENPR
ISICitedReferencesCount 4
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000343204600002&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 0956-7968
IngestDate Sun Oct 26 23:47:49 EDT 2025
Tue Nov 18 22:33:03 EST 2025
Sat Nov 29 05:36:59 EST 2025
IsPeerReviewed true
IsScholarly true
Issue 4
Language English
License https://www.cambridge.org/core/terms
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c273t-cb0f0a3dccda8aff84d2a5276763eec4e92a4817b42f5fbb76d0992f172641023
Notes SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 14
PQID 1561228408
PQPubID 37264
PageCount 40
ParticipantIDs proquest_journals_1561228408
crossref_citationtrail_10_1017_S0956796814000185
crossref_primary_10_1017_S0956796814000185
PublicationCentury 2000
PublicationDate 2014-07-01
PublicationDateYYYYMMDD 2014-07-01
PublicationDate_xml – month: 07
  year: 2014
  text: 2014-07-01
  day: 01
PublicationDecade 2010
PublicationPlace Cambridge
PublicationPlace_xml – name: Cambridge
PublicationTitle Journal of functional programming
PublicationYear 2014
Publisher Cambridge University Press
Publisher_xml – name: Cambridge University Press
References Frisby (S0956796814000185_ref18) 2012
Wadler (S0956796814000185_ref60) 1992
Klein (S0956796814000185_ref29) 2012
Balland (S0956796814000185_ref2) 2008
S0956796814000185_ref39
Lazar (S0956796814000185_ref32) 2012
Visser (S0956796814000185_ref59) 1998
S0956796814000185_ref36
S0956796814000185_ref37
Culpepper (S0956796814000185_ref8) 2010
Tseitin (S0956796814000185_ref55) 1968; 8
Lämmel (S0956796814000185_ref31) 2002
S0956796814000185_ref20
S0956796814000185_ref21
S0956796814000185_ref22
Löh (S0956796814000185_ref34) 2011
S0956796814000185_ref23
S0956796814000185_ref28
S0956796814000185_ref25
Sulzmann (S0956796814000185_ref53) 2007
S0956796814000185_ref26
Adams (S0956796814000185_ref1) 2014
S0956796814000185_ref6
S0956796814000185_ref10
S0956796814000185_ref7
S0956796814000185_ref54
S0956796814000185_ref9
S0956796814000185_ref56
Kats (S0956796814000185_ref27) 2010
S0956796814000185_ref50
Peyton Jones (S0956796814000185_ref43) 2007
S0956796814000185_ref52
Magalhães (S0956796814000185_ref35) 2010
S0956796814000185_ref13
S0956796814000185_ref57
Wadler (S0956796814000185_ref61) 1989
S0956796814000185_ref58
S0956796814000185_ref15
Sheard (S0956796814000185_ref51) 2002
Liang (S0956796814000185_ref33) 1995
Erdweg (S0956796814000185_ref12) 2011
S0956796814000185_ref42
Erdweg (S0956796814000185_ref14) 2012
S0956796814000185_ref44
Gibbons (S0956796814000185_ref19) 2005
S0956796814000185_ref40
S0956796814000185_ref41
Moors (S0956796814000185_ref38) 2006
S0956796814000185_ref46
Hinze (S0956796814000185_ref24) 2007
S0956796814000185_ref47
S0956796814000185_ref48
S0956796814000185_ref49
Ellison (S0956796814000185_ref11) 2012
Farmer (S0956796814000185_ref16) 2012
Felleisen (S0956796814000185_ref17) 2009
Lämmel (S0956796814000185_ref30) 2003
Reynolds (S0956796814000185_ref45) 1974
S0956796814000185_ref3
S0956796814000185_ref4
S0956796814000185_ref5
References_xml – start-page: 150
  volume-title: International spring school on datatype-generic programming 2006
  year: 2007
  ident: S0956796814000185_ref24
– ident: S0956796814000185_ref23
– ident: S0956796814000185_ref46
  doi: 10.1145/1411286.1411301
– start-page: 235
  volume-title: International Conference on Functional Programming
  year: 2010
  ident: S0956796814000185_ref8
– ident: S0956796814000185_ref10
– ident: S0956796814000185_ref9
– start-page: 285
  volume-title: Symposium on Principles of Programming Languages
  year: 2012
  ident: S0956796814000185_ref29
– start-page: 327
  volume-title: International Conference on Functional Programming
  year: 2007
  ident: S0956796814000185_ref43
– ident: S0956796814000185_ref4
  doi: 10.1017/S0956796808006898
– start-page: 26
  volume-title: Types in Languages Design and Implementation
  year: 2003
  ident: S0956796814000185_ref30
– ident: S0956796814000185_ref44
  doi: 10.1017/S0956796806006034
– start-page: 60
  volume-title: Symposium on Principles of Programming Languages
  year: 1989
  ident: S0956796814000185_ref61
– start-page: 1
  volume-title: Haskell Workshop
  year: 2002
  ident: S0956796814000185_ref51
– start-page: 1
  volume-title: Symposium on Principles of Programming Languages
  year: 1992
  ident: S0956796814000185_ref60
– ident: S0956796814000185_ref49
  doi: 10.1007/978-3-642-41582-1_6
– ident: S0956796814000185_ref25
  doi: 10.1016/j.scico.2007.10.006
– volume-title: Semantics Engineering with PLT Redex
  year: 2009
  ident: S0956796814000185_ref17
– volume: 8
  start-page: 115
  volume-title: Structures in Constructive Mathematics and Mathematical Logic, Part II
  year: 1968
  ident: S0956796814000185_ref55
– ident: S0956796814000185_ref21
  doi: 10.1007/978-3-642-03034-5_14
– ident: S0956796814000185_ref28
– start-page: 37
  volume-title: Haskell Symposium
  year: 2010
  ident: S0956796814000185_ref35
– ident: S0956796814000185_ref37
  doi: 10.1145/1291201.1291208
– ident: S0956796814000185_ref36
  doi: 10.1017/S0956796807006326
– ident: S0956796814000185_ref6
  doi: 10.1145/321992.321996
– start-page: 149
  volume-title: Haskell Symposium
  year: 2012
  ident: S0956796814000185_ref14
  doi: 10.1145/2364506.2364526
– start-page: 391
  volume-title: International Conference on Object-Oriented Programming, Systems, Languages, and Applications
  year: 2011
  ident: S0956796814000185_ref12
– start-page: 1
  volume-title: Workshop on Generic Programming
  year: 2011
  ident: S0956796814000185_ref34
– ident: S0956796814000185_ref42
– start-page: 53
  volume-title: International Workshop on Types in Language Design and Implementation
  year: 2007
  ident: S0956796814000185_ref53
– ident: S0956796814000185_ref56
  doi: 10.1007/978-3-540-25935-0_13
– ident: S0956796814000185_ref48
– start-page: 277
  volume-title: Workshop on Declarative Programming in the Context of Object-Oriented Languages 2003
  year: 2005
  ident: S0956796814000185_ref19
– ident: S0956796814000185_ref50
– ident: S0956796814000185_ref3
  doi: 10.1016/j.scico.2007.11.003
– start-page: 333
  volume-title: Symposium on Principles of Programming Languages
  year: 1995
  ident: S0956796814000185_ref33
– ident: S0956796814000185_ref26
  doi: 10.1016/0020-0190(86)90059-1
– start-page: 13
  volume-title: International Conference on Functional Programming
  year: 1998
  ident: S0956796814000185_ref59
– ident: S0956796814000185_ref13
  doi: 10.1145/2517208.2517210
– start-page: 1
  volume-title: Haskell Symposium
  year: 2012
  ident: S0956796814000185_ref16
– ident: S0956796814000185_ref5
  doi: 10.1145/1596638.1596652
– start-page: 71
  volume-title: Workshop on Partial Evaluation and Program Manipulation
  year: 2014
  ident: S0956796814000185_ref1
– ident: S0956796814000185_ref54
  doi: 10.1017/S0956796808006758
– ident: S0956796814000185_ref39
  doi: 10.1017/S0956796810000183
– start-page: 444
  volume-title: International Conference on Object-Oriented Programming, Systems, Languages, and Applications
  year: 2010
  ident: S0956796814000185_ref27
  doi: 10.1145/1869459.1869497
– ident: S0956796814000185_ref47
– ident: S0956796814000185_ref22
– start-page: 137
  volume-title: International Symposium on Practical Aspects of Declarative Programming
  year: 2002
  ident: S0956796814000185_ref31
– start-page: 533
  volume-title: Symposium on Principles of Programming Languages
  year: 2012
  ident: S0956796814000185_ref11
– start-page: 408
  volume-title: Colloque sur la programmation
  year: 1974
  ident: S0956796814000185_ref45
– ident: S0956796814000185_ref57
  doi: 10.1016/j.jsc.2004.12.011
– start-page: 1
  volume-title: Workshop on Generic Programming
  year: 2012
  ident: S0956796814000185_ref18
– ident: S0956796814000185_ref20
  doi: 10.1145/1159842.1159856
– start-page: 267
  volume-title: International symposium on formal methods
  year: 2012
  ident: S0956796814000185_ref32
– ident: S0956796814000185_ref7
  doi: 10.1017/S0956796812000275
– ident: S0956796814000185_ref40
– ident: S0956796814000185_ref15
  doi: 10.1145/2577080.2577089
– ident: S0956796814000185_ref41
  doi: 10.1017/S0956796810000171
– ident: S0956796814000185_ref58
– start-page: 97
  volume-title: Eighth International Workshop on Rule Based Programming
  year: 2008
  ident: S0956796814000185_ref2
– ident: S0956796814000185_ref52
  doi: 10.1023/A:1010000313106
– start-page: 96
  volume-title: Workshop on Generic Programming
  year: 2006
  ident: S0956796814000185_ref38
SSID ssj0008258
Score 2.0099993
Snippet When writing transformation systems, a significant amount of engineering effort goes into setting up the infrastructure needed to direct individual...
Abstract When writing transformation systems, a significant amount of engineering effort goes into setting up the infrastructure needed to direct individual...
SourceID proquest
crossref
SourceType Aggregation Database
Enrichment Source
Index Database
StartPage 434
Subtitle A Haskell-Embedded Strategic Programming Language with Custom Closed Universes
Title The Kansas University rewrite engine
URI https://www.proquest.com/docview/1561228408
Volume 24
WOSCitedRecordID wos000343204600002&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: PRVAEN
  databaseName: Cambridge University Press Wholly Gold Open Access Journals
  customDbUrl:
  eissn: 1469-7653
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0008258
  issn: 0956-7968
  databaseCode: IKXGN
  dateStart: 19910101
  isFulltext: true
  titleUrlDefault: http://journals.cambridge.org/action/login
  providerName: Cambridge University Press
– providerCode: PRVPQU
  databaseName: Computer Science Database
  customDbUrl:
  eissn: 1469-7653
  dateEnd: 20241213
  omitProxy: false
  ssIdentifier: ssj0008258
  issn: 0956-7968
  databaseCode: K7-
  dateStart: 20010101
  isFulltext: true
  titleUrlDefault: http://search.proquest.com/compscijour
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: ProQuest advanced technologies & aerospace journals
  customDbUrl:
  eissn: 1469-7653
  dateEnd: 20241213
  omitProxy: false
  ssIdentifier: ssj0008258
  issn: 0956-7968
  databaseCode: P5Z
  dateStart: 20010101
  isFulltext: true
  titleUrlDefault: https://search.proquest.com/hightechjournals
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: ProQuest Central
  customDbUrl:
  eissn: 1469-7653
  dateEnd: 20241213
  omitProxy: false
  ssIdentifier: ssj0008258
  issn: 0956-7968
  databaseCode: BENPR
  dateStart: 20010101
  isFulltext: true
  titleUrlDefault: https://www.proquest.com/central
  providerName: ProQuest
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1LS8NAEB5s68GL9YnVWnLoSVhM0k12cxKVFqFQiigUL2GzDxCkrUnVv-9ssmkpQi9ecthkQpjMzmNn-D6APtOCWUBqS2iiCDUsI5kfaaKELyXFeiOmFdkEm0z4bJZM3YFb4cYqa59YOmq1kPaM_DawNI7oS31-t_wkljXKdlcdhUYDWhapDO289TCcTJ_XvhjrH16j7bEk5nVfswSNxkW7hiWGpaaLtiPTtmMuo82o_d_vPIJDl2d695VhHMOenp9Au-Zw8NyWPoU-2ok3tpzhhbcZ0vBy_ZPjCz1dwhWeweto-PL4RBxzApGYjqyIzHzji4GSUgkujOFUhSIKWYzeRGtJdRIKygOW0dBEJstYrDBTDA1mM_hvMIyfQ3O-mOsL8AY0RGEe6DhAEakSYTuDmGZlWOhoGXTAr7WWSgcrbtktPtJqfoylfxTdgZu1yLLC1Nj1cLfWc-q2V5FulHy5-_YVHGCGQ6v52i40V_mXvoZ9-b16L_Kes5YeNMaM4HUavf0CBc7E7Q
linkProvider ProQuest
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V1NS8NAEB1KK-jF-onVqjnUixBM0k02OYj40dLSGopU6C1uNhsQpK1Jtfin_I3OJllLEXrrwesmC5vM7JuZ7OQ9gAYVjEpCailoEukkpqEeGrbQI2ZwTrDecEguNkF93x2NvEEJvtW_MLKtUmFiBtTRhMtv5FemlHFELDXcm-m7LlWj5OmqktDI3aInvuZYsqXX3Qe074VltVvD-45eqAroHEP1TOehERusGXEeMZfFsUsii9kWdXCnCcGJ8CxGXJOGxIrtOAypE2EWZcUY6XHdGdEBQn6FNIljl6Fy1_IHT7_Yj_WWq9j9qOe46hw1I6nGQTmGJY2UwrOXI-FyIMiiW7v6397LDmwXebR2mzv-LpTEeA-qSqNCKyBrHxq4D7Se1ERPtUUTipaIeYIPoImMjvEAntey1kMojydjcQRak1g42TWFY-IUHnlMnnxiGhliISe4WQNDWSngBW26VO94C_L-OBr8MWwNLn-nTHPOkFU315VdgwI-0mBh1OPVl89hszN87Af9rt87gS3M5kjeS1yH8iz5EKewwT9nr2lyVniqBi_rdoIfbfkg2Q
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=The+Kansas+University+rewrite+engine&rft.jtitle=Journal+of+functional+programming&rft.au=SCULTHORPE%2C+NEIL&rft.au=FRISBY%2C+NICOLAS&rft.au=GILL%2C+ANDY&rft.date=2014-07-01&rft.pub=Cambridge+University+Press&rft.issn=0956-7968&rft.eissn=1469-7653&rft.volume=24&rft.issue=4&rft.spage=434&rft_id=info:doi/10.1017%2FS0956796814000185&rft.externalDocID=3428562221
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0956-7968&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0956-7968&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0956-7968&client=summon