V: a language with extensible record accessors and a trait-based type system

Arthur Giesel Vedana, Rodrigo Machado, Álvaro Freitas Moreira

Abstract


This article introduces the V language, a purely functional programming language with a novel approach to records.
Based on a system of type traits, V attempts to solve issues commonly found when manipulating records in purely functional programming languages.

Keywords


Functional Programming Languages; Records; Traits

Full Text:

PDF

References


MARLOW, S. Haskell 2010 Language Report. 2012.

REMY, D.; VOUILLON, J. Objective ML: A simple

object-oriented extension of ML. In: Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. New York, NY, USA: ACM, 1997. (POPL, ’97).

ABELSON, H. et al. Revised5 report on the algorithmic language scheme. Higher-order and symbolic computation, v. 11, n. 1, p. 7–105, 1998.

SYME, D. et al. The F# 2.0 language specification. [S.l.], 2010.

CZAPLICKI, E.; CHONG, S. Asynchronous functional reactive programming for GUIs. SIGPLAN Not., v. 48, n. 6, p. 411–422, 2013.

ODERSKY, M.; OTHERS. The scala language specification. Citeulike article id: 104333. 2004.

KMETT, E. lens: Lenses, Folds and Traversals. https://hackage.haskell.org/package/lens⟩. Accessed: 2018-05-07.

UNGAR, D. et al. Organizing programs without classes. Lisp Symb. Comput., v. 4, n. 3, p. 223–242, 1991.

NIERSTRASZ, O.; DUCASSE, S.; POLLET, D. Squeak by Example. 1. ed. [S.l.]: Square Bracket Associates, 2009. v. 1.

GOSLING, J. et al. The Java Language Specification, Java SE 8 Edition. 1st. ed. Boston, USA: Addison-Wesley Professional, 2014. v. 1.

HUDAK, P.; FASEL, J. H. A gentle introduction to Haskell. SIGPLAN Not., v. 27, n. 5, p. 1–52, 1992.

WADLER, P.; BLOTT, S. How to make ad-hoc polymorphism less ad hoc. In: Proceedings of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. New York, NY, USA: ACM, 1989. (POPL, ’89).

PIERCE, B. C. Types and Programming Languages. 1st. ed. Cambridge, USA: The MIT Press, 2002. v. 1.

HASKELLWIKI. Record Access. https: //wiki.haskell.org/Record access. Accessed: 2018-08-06.

DOLAN, S.; MYCROFT, A. Polymorphism, subtyping, and type inference in MLsub. In: CASTAGNA, G. (Ed.). Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages. New York, USA: ACM, 2017. (POPL, ’17).

WADLER, P. Views: A way for pattern matching

to cohabit with data abstraction. In: Proceedings of the 14th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages. New York, USA: ACM, 1987. (POPL, ’87).

GOTTLOB, G.; PAOLINI, P.; ZICARI, R. Properties and update semantics of consistent views. ACM Trans. Database Syst., v. 13, n. 4, p. 486–524, 1988.

BOHANNON, A.; PIERCE, B. C.; VAUGHAN, J. A. Relational lenses: A language for updatable views. In: Proceedings of the Twenty-fifth ACM SIGMOD-SIGACT- SIGART Symposium on Principles of Database Systems. New York, USA: ACM, 2006. (PODS, ’06).

FOSTER, J. N. et al. Combinators for bi-directional tree transformations: A linguistic approach to the view update problem. SIGPLAN Not., v. 40, n. 1, p. 233–246, 2005.

BOHANNON, A. et al. Boomerang: Resourceful lenses for string data. In: NECULA, G. (Ed.). Proceedings of

the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. New York, USA: ACM, 2008. (POPL, ’08).




DOI: https://doi.org/10.22456/2175-2745.82772

Copyright (c) 2018 Arthur Giesel Vedana, Rodrigo Machado, Álvaro Freitas Moreira

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.