Series: Penn State Logic Seminar Date: Tuesday, January 23, 2001 Time: 2:30 - 3:20 PM Place: 316 Willard Building Speaker: Matthew S. Davis, Computer Science, Penn State Title: Adding Subrecords to the ML Family of Languages Abstract: Many programming languages are useful because they allow programmers to extend the language by introducing new functions. These new functions are often monomorphic - they are defined to operate on a specific "kind" of value. For example, take a function A that determines the length of a list of integers. In order to determine the length of a list of floating point values, a distinct function B is necessary, even though the code will more than likely be similar if not identical to the code in A. ML-like programming languages utilize a very simple yet powerful concept called polymorphic functions. These functions are defined once but are capable of operating on many different "kinds" of values. So we could define a function that operates on lists of any kind of values. This has obvious advantages. Most ML-like languages do not allow polymorphic functions to be defined that operate on records. This is unfortunate because there is a natural way to describe "similar kinds of records." This talk will address this discrepancy and provide one possible solution to the problem.