Chapter 12: Extensible records with scoped labels

Leijen, Daan
January 2007
Trends in Functional Programming Volume 6;2007, Vol. 6, p179
Records provide a safe and flexible way to construct data structures. We describe a natural approach to typing polymorphic and extensible records that is simple, easy to use in practice, and straightforward to implement. A novel aspect of this work is that records can contain duplicate labels, effectively introducing a form of scoping over the labels. Furthermore, it is a fully orthogonal extension to existing type systems and programming languages. In particular, we show how it can be used conveniently with standard Hindley-Milner, qualified types, and MLF.


Related Articles

  • Clusters and Dialogues for Set Implementations. Katzenelson, Jacob // IEEE Transactions on Software Engineering;May79, Vol. 5 Issue 3, p256 

    The extensible set language (ESL) uses clusters for extending the set oriented language and for mapping the sets and their operators into base language data structure and operators. The main difficulty in this mapping is the dependency among clusters, i.e., the use of one data structure requires...

  • What To Do With Cookies?  // National Underwriter / P&C;9/13/2004, Vol. 108 Issue 34, p34 

    Offers advice on how to manage cookies. Decision on when to block cookies; Necessity of cookies when accessing the Internet; Description of cookies as text files that have some key information in them about Web sites visited.

  • Informal description and analysis of geographic requirements: an approach based on problems. Nelson, Maria; Alencar, Paulo; Cowan, Donald // Software & Systems Modeling;Sep2007, Vol. 6 Issue 3, p223 

    Software requirements describe a problem in the real world that a software system is intended to solve. Describing requirements is challenging because usually too much attention is given to the final software product instead of concentrating on the problem itself and the real world. The area of...

  • CFC (Comment-First-Coding) -- A Simple yet Effective Method for Teaching Programming to Information Systems Students. Sengupta, Arijit // Journal of Information Systems Education;Winter2009, Vol. 20 Issue 4, p393 

    Programming courses have always been a difficult part of an Information Systems curriculum. While we do not train Information Systems students to be developers, understanding how to build a system always gives students an added perspective to improve their system design and analysis skills. This...

  • Basics of Design. Wong, William // Electronic Design;9/1/2006, Vol. 54 Issue 19, p32a 

    The article features the graphical-based and text-based programming languages, which are algorithms that make it possible to represent program flow, data structures, and other aspects of the application. Graphical programming environments show the connection and the objects together in the same...

  • Productivity and Performance Portability of the OpenMP 3.0 Tasking Concept When Applied to an Engineering Code Written in Fortran 95. Kapinos, Paul; an Mey, Dieter // International Journal of Parallel Programming;Oct2010, Vol. 38 Issue 5/6, p379 

    The modeling of bevel gear cutting processes requires highly flexible data structures and algorithms. We compare the effort and performance of an OpenMP parallelization employing OpenMP 3.0 tasks with previously applied approaches like nesting parallel sections and stack-based algorithms when...

  • Object Serialization: A Study of Techniques of Implementing Binary Serialization in C++, Java and .NET. Tauro, Clarence J. M.; Ganesan, N.; Mishra, Saumya; Bhagwat, Anupama // International Journal of Computer Applications;May2012, Vol. 45, p25 

    The process of converting a data structure or object state into a storable format is referred to as serialization. The resurrection of the stored data in the same or another computer environment is referred to as deserialization. Binary Serialization is converting the object in binary format and...

  • Storing OWL Ontologies in SQL Relational Databases. Astrova, Irina; Korda, Nahum; Kalja, Ahto // International Journal of Electrical, Computer & Systems Engineer;2007, Vol. 1 Issue 4, p242 

    Relational databases are often used as a basis for persistent storage of ontologies to facilitate rapid operations such as search and retrieval, and to utilize the benefits of relational databases management systems such as transaction management, security and integrity control. On the other...

  • A Smooth Concurrency Revolution with Free Objects. Guerraoui, Rachid // IEEE Internet Computing;Jul/Aug2007, Vol. 11 Issue 4, p82 

    The author focuses on computer chip efficiency with multicore machines and how this increased efficiency is useless without concurrent programming. He comments that many computer program developers adopted object-oriented (OO) development and that having them revise their education to be...


Read the Article


Sorry, but this item is not currently available from your library.

Try another library?
Sign out of this library

Other Topics