Melika Norouzbeygi

Date: May 3, 2024
Time: 1:00 pm - 2:00 pm
Location: ICT 616

Title: Type Classes in CaMPL

Abstract: Overloading, which allows functions to exhibit different behaviors based on the types involved, is one of the most useful facilities of a typed programming language. In the Haskell programming language, this facility is provided by type classes. Type classes offer a systematic solution for overloading, providing uniform operations for arithmetic, equality, and displaying values, and so on. In addition, higher-order type classes are used to implement important more advanced structures such as functors and monads.

Categorical Message Passing Language (CaMPL) is a concurrent programming language based on a categorical semantic given by a linear actegory. CaMPL has with type inference for both sequential and concurrent programs. The sequential side of CaMPL is a functional-style programming language, while the concurrent side supports message passing between processes along channels with concurrent types called protocols.

In this presentation, first the importance of type classes will be discussed, then CaMPL will be introduced, and its different features will be explained. Finally, the process of integrating type classes into both sequential and concurrent tiers of CaMPL will be investigated.