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

Authors

  • Arthur Giesel Vedana Instituto de Informática Universidade Federal do Rio Grande do Sul
  • Rodrigo Machado Instituto de Informática Universidade Federal do Rio Grande do Sul
  • Álvaro Freitas Moreira Instituto de Informática Universidade Federal do Rio Grande do Sul

DOI:

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

Keywords:

Functional Programming Languages, Records, Traits

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.

Downloads

Download data is not yet available.

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).

Downloads

Published

2018-09-12

How to Cite

Vedana, A. G., Machado, R., & Moreira, Álvaro F. (2018). V: a language with extensible record accessors and a trait-based type system. Revista De Informática Teórica E Aplicada, 25(3), 89–101. https://doi.org/10.22456/2175-2745.82772

Issue

Section

Selected Papers - WEIT 2017