ABSTRACT
In this abstract, we show that a small extension to the MLscript programming language gives a simple solution to the Expression Problem through precisely typed open recursion.
- Jacques Carette, Oleg Kiselyov, and Chung-chieh Shan. 2009. Finally Tagless, Partially Evaluated: Tagless Staged Interpreters for Simpler Typed Languages. J. Funct. Program., 19, 5 (2009), sep, 509–543. issn:0956-7968 https://doi.org/10.1017/S0956796809007205 Google ScholarDigital Library
- Giuseppe Castagna, Tommaso Petrucciani, and Kim Nguyundefinedn. 2016. Set-Theoretic Types for Polymorphic Variants. SIGPLAN Not., 51, 9 (2016), sep, 378–391. issn:0362-1340 https://doi.org/10.1145/3022670.2951928 Google ScholarDigital Library
- Jacques Garrigue. 1998. Programming with polymorphic variants. In In ACM Workshop on ML. Google Scholar
- Jacques Garrigue. 2000. Code reuse through polymorphic variants. In In Workshop on Foundations of Software Engineering. Google Scholar
- Keiko Nakata and Jacques Garrigue. 2006. Recursive Modules for Programming. In Proceedings of the Eleventh ACM SIGPLAN International Conference on Functional Programming (ICFP ’06). Association for Computing Machinery, New York, NY, USA. 74–86. https://doi.org/10.1145/1159803.1159813 Google ScholarDigital Library
- Bruno C. d. S. Oliveira and William R. Cook. 2012. Extensibility for the Masses: Practical Extensibility with Object Algebras. In Proceedings of the 26th European Conference on Object-Oriented Programming (ECOOP’12). Springer-Verlag, Berlin, Heidelberg. 2–27. isbn:9783642310560 https://doi.org/10.1007/978-3-642-31057-7_2 Google ScholarDigital Library
- Lionel Parreaux and Chun Yin Chau. 2022. MLstruct: Principal Type Inference in a Boolean Algebra of Structural Types. Proc. ACM Program. Lang., 6, OOPSLA2 (2022), Article 141, https://doi.org/10.1145/3563304 Google ScholarDigital Library
- Weixin Zhang, Yaozhu Sun, and Bruno C. D. S. Oliveira. 2021. Compositional Programming. ACM Trans. Program. Lang. Syst., 43, 3 (2021), Article 9, sep, 61 pages. issn:0164-0925 https://doi.org/10.1145/3460228 Google ScholarDigital Library
Index Terms
- Simple Extensible Programming through Precisely-Typed Open Recursion
Recommendations
Modular generic programming with extensible superclasses
WGP '06: Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming"Generics for the Masses" (GM) and "Scrap your Boilerplate" (SYB) are generic programming approaches based on some inenious applications of Haskell type classes. To achieve modularity, the GM and SYB approach have been extended by using some ...
Programming Examples Needing Polymorphic Recursion
Inferring types for polymorphic recursive function definitions (abbreviated to polymorphic recursion) is a recurring topic on the mailing lists of popular typed programming languages. This is despite the fact that type inference for polymorphic ...
Gradual typing with union and intersection types
We propose a type system for functional languages with gradual types and set-theoretic type connectives and prove its soundness. In particular, we show how to lift the definition of the domain and result type of an application from non-gradual types to ...
Comments