Pottayil Harisanker Menon

Learn More
Overview Scripting languages such as Python, Javascript, and Ruby are here to stay: they are terse, flexible, easy to learn, and can be used to quickly deploy small to medium-sized applications. However, scripting language programs run slowly [sho] and are harder to understand and debug since type information is not available at compile time. In the last(More)
Scripting languages are popular in part due to their extremely flexible objects. Features such as dynamic extension, mixins, and first-class messages improve programmability and lead to concise code. But attempts to statically type these features have met with limited success. We present TinyBang, a small typed language, in which flexible object operations(More)
Patterns provide an important dimension of expressiveness to functional programming languages because they describe a concise syntax for data destruction. However, most languages treat patterns as second-class citizens: case match expressions cannot be extended, patterns cannot be selected dynamically, and patterns cannot be composed or modified by program(More)
Traditionally, typed objects have been encoded as records; the fields and methods of an object are stored in the fields of a record and projected when needed. While the dual approach of using variants instead of records has been explored, it is more challenging to type: the output type of a variant case match must depend on the input value; this is a form(More)
  • 1