## Type System of Anemone Functional Language

### Paweł Batko, Marcin Kuta

DOI: http://dx.doi.org/10.15439/2022F135

Citation: Communication Papers of the 17th Conference on Computer Science and Intelligence Systems, M. Ganzha, L. Maciaszek, M. Paprzycki, D. Ślęzak (eds). ACSIS, Vol. 32, pages 131–138 (2022)

Abstract. Anemone is a functional language, which provides an actor system as its model of concurrency.This paper describes type system of the Anemone language. Type system is the strong point of Anemone. In comparison to a dynamic type system, the static type system of Anemone guarantees more exact error detection. The full type inference disposes the programmer from explicit specification of type labels. As the type system of Anemone is polymorphic, code conciseness, rich data structures and pattern matching are provided in Anemone.

### References

- P. Batko and M. Kuta, “Actor Model of a New Functional Language - Anemone,” in Proceedings of the 12th International Conference on Parallel Processing and Applied Mathematics, PPAM 2017, ser. Lecture Notes in Computer Science, vol. 10778, 2018. http://dx.doi.org/10.1007/978-3-319-78054-2 20 pp. 213–223.
- P. Batko and M. Kuta, “Actor model of Anemone functional language,” Journal of Supercomputing, vol. 74, no. 4, pp. 1485–1496, 2018. http://dx.doi.org/10.1007/s11227-017-2233-1
- A. Church, “A Formulation of the Simple Theory of Types,” Journal of Symbolic Logic, vol. 5, no. 2, pp. 56–68, 1940. http://dx.doi.org/10.2307/2266170
- J. McKinna, “Why Dependent Types Matter,” SIGPLAN Notes, vol. 41, no. 1, pp. 1–1, 2006. http://dx.doi.org/10.1145/1111320.1111038
- A. Bove, P. Dybjer, and U. Norell, “A Brief Overview of Agda — A Functional Language with Dependent Types,” in 22nd International Conference on Theorem Proving in Higher Order Logics, TPHOLs 2009, 2009. http://dx.doi.org/10.1007/978-3-642-03359-9 6 pp. 73–78.
- B. C. Pierce, Types and Programming Languages. MIT Press, 2002. ISBN 978-0-262-16209-8
- A. J. Kfoury and J. B. Wells, “Principality and Decidable Type Inference for Finite-Rank Intersection Types.” in Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL’99, 1999. http://dx.doi.org/10.1145/292540.292556 pp. 161–174.
- L. Damas and R. Milner, “Principal Type-schemes for Functional Programs,” in Proceedings of the 9th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL’82, 1982. http://dx.doi.org/10.1145/582153.582176 pp. 207–212.
- J. A. Robinson, “A Machine-Oriented Logic Based on the Resolution Principle,” Journal of the ACM, vol. 12, no. 1, pp. 23–41, 1965. http://dx.doi.org/10.1145/321250.321253
- R. Hindley, “The principal type-scheme of an object in combinatory logic,” Transactions of the American Mathematical Society, vol. 146, pp. 29–60, 1969. http://dx.doi.org/10.2307/1995158
- M. Hicks, “Types and Intermediate Representations,” Department of Computer and Information Science, University of Pennsylvania, Technical Report MS-CIS-98-05, 1998.
- R. Harper and G. Morrisett, “Compiling polymorphism using intensional type analysis,” in Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL’95, 1995. http://dx.doi.org/10.1145/199448.199475 pp. 130–141.