Sökning: WFRF:(Castegren Elias Doktor 1987 ) >
Developing a monadi...
Developing a monadic type checker for an object-oriented language : An experience report
-
- Castegren, Elias, Doktor, 1987- (författare)
- KTH,Programvaruteknik och datorsystem, SCS
-
- Fernandez-Reyes, Kiko, 1985- (författare)
- Uppsala universitet,Datalogi
-
(creator_code:org_t)
- 2019-10-20
- 2019
- Engelska.
-
Ingår i: SLE 2019 - Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering, co-located with SPLASH 2019. - New York, NY, USA : Association for Computing Machinery, Inc. - 9781450369817 ; , s. 184-196
- Relaterad länk:
-
https://conf.researc...
-
visa fler...
-
https://dl.acm.org/d...
-
https://urn.kb.se/re...
-
https://doi.org/10.1...
-
https://urn.kb.se/re...
-
visa färre...
Abstract
Ämnesord
Stäng
- Functional programming languages are well-suited for developing compilers, and compilers for functional languages are often themselves written in a functional language. Functional abstractions, such as monads, allow abstracting away some of the repetitive structure of a compiler, removing boilerplate code and making extensions simpler. Even so, functional languages are rarely used to implement compilers for languages of other paradigms. This paper reports on the experience of a four-year long project where we developed a compiler for a concurrent, object-oriented language using the functional language Haskell. The focus of the paper is the implementation of the type checker, but the design works well in static analysis tools, such as tracking uniqueness of variables to ensure data-race freedom. The paper starts from a simple type checker to which we add more complex features, such as type state, with minimal changes to the overall initial design.
Ämnesord
- NATURVETENSKAP -- Data- och informationsvetenskap -- Datavetenskap (hsv//swe)
- NATURAL SCIENCES -- Computer and Information Sciences -- Computer Sciences (hsv//eng)
- TEKNIK OCH TEKNOLOGIER -- Elektroteknik och elektronik -- Datorsystem (hsv//swe)
- ENGINEERING AND TECHNOLOGY -- Electrical Engineering, Electronic Engineering, Information Engineering -- Computer Systems (hsv//eng)
Nyckelord
- Compilers
- Functional programming
- Object-oriented languages
- Type systems
- Abstracting
- Computer programming languages
- Program compilers
- Static analysis
- Experience report
- Functional abstractions
- Functional languages
- Initial design
- Repetitive structure
- Simple types
- Type checker
- Object oriented programming
- Computer Science
Publikations- och innehållstyp
- ref (ämneskategori)
- kon (ämneskategori)
Hitta via bibliotek
Till lärosätets databas