TY - CPAPER AU - Jan Christiansen AU - Daniel Seidel AB - In this paper we show how to efficiently check whether a polymorphic function is minimally strict. A function is minimally strict if it is the minimal element of a specific less-strict ordering. We prove that we can check whether two polymorphic functions are related by the less-strict ordering by either checking it a) for an arbitrary monomorphic instance of the functions or b) for all shapes of the functions’ argument type. A shape is a value of a monomorphic instance of a polymorphic data type where each polymorphic component is replaced by an element that identifies its position in the data structure. In contrast to recent publications that characterize polymorphic functions by monomorphic instances we consider non-termination and selective strictness, i.e., a language closer to Haskell. BT - Proceedings of the 13th International ACM SIGPLAN Symposium on Principles and Practices of Declarative Programming - PPDP 11 DO - 10.1145/2003476.2003487 N2 - In this paper we show how to efficiently check whether a polymorphic function is minimally strict. A function is minimally strict if it is the minimal element of a specific less-strict ordering. We prove that we can check whether two polymorphic functions are related by the less-strict ordering by either checking it a) for an arbitrary monomorphic instance of the functions or b) for all shapes of the functions’ argument type. A shape is a value of a monomorphic instance of a polymorphic data type where each polymorphic component is replaced by an element that identifies its position in the data structure. In contrast to recent publications that characterize polymorphic functions by monomorphic instances we consider non-termination and selective strictness, i.e., a language closer to Haskell. PB - ACM Press PY - 2011 SN - 978-1-4503-0776-5 EP - 53 T2 - Proceedings of the 13th International ACM SIGPLAN Symposium on Principles and Practices of Declarative Programming - PPDP 11 TI - Minimally Strict Polymorphic Functions ER -