Research output: Contribution to journal › Article › peer-review
Combinators and type-driven transformers in Objective Caml. / Boulytchev, Dmitry.
In: Science of Computer Programming, Vol. 114, 15.12.2015, p. 57-73.Research output: Contribution to journal › Article › peer-review
}
TY - JOUR
T1 - Combinators and type-driven transformers in Objective Caml
AU - Boulytchev, Dmitry
N1 - Funding Information: The research was supported by Russian Foundation for Basic Research grant No. 13-01-00506 . Publisher Copyright: © 2015 Elsevier B.V. All rights reserved. Copyright: Copyright 2016 Elsevier B.V., All rights reserved.
PY - 2015/12/15
Y1 - 2015/12/15
N2 - We describe an implementation of LDTA 2011 Tool Challenge tasks in Objective Caml language. Instead of using some dedicated domain-specific tools we utilize typical functional programming machinery such as polymorphic functions, monads and combinators; in addition we extensively use an idiom of type-driven transformers, which can be considered as a form of datatype-generic programming. Our implementation provides a good example of utilization of Objective Caml specific features such as open and implicitly defined types. As a result we provide a highly modular implementation built up of separately compiled components combined in a type-safe manner.
AB - We describe an implementation of LDTA 2011 Tool Challenge tasks in Objective Caml language. Instead of using some dedicated domain-specific tools we utilize typical functional programming machinery such as polymorphic functions, monads and combinators; in addition we extensively use an idiom of type-driven transformers, which can be considered as a form of datatype-generic programming. Our implementation provides a good example of utilization of Objective Caml specific features such as open and implicitly defined types. As a result we provide a highly modular implementation built up of separately compiled components combined in a type-safe manner.
KW - Combinators
KW - Compilers
KW - Datatype-generic programming
KW - Functional programming
KW - Modularization and code reuse
UR - http://www.scopus.com/inward/record.url?scp=84960812728&partnerID=8YFLogxK
U2 - 10.1016/j.scico.2015.07.008
DO - 10.1016/j.scico.2015.07.008
M3 - Article
AN - SCOPUS:84960812728
VL - 114
SP - 57
EP - 73
JO - Science of Computer Programming
JF - Science of Computer Programming
SN - 0167-6423
ER -
ID: 76606821