Difference between revisions of "Publications/valais.19.els"
From LRDE
(Created page with "{{Publication | published = true | date = 2019-04-01 | authors = Léo Valais, Jim Newton, Didier Verna | title = Implementing Baker's SUBTYPEP decision procedure | address = G...") |
|||
Line 10: | Line 10: | ||
| lrdestatus = accepted |
| lrdestatus = accepted |
||
| lrdenewsdate = 2019-04-01 |
| lrdenewsdate = 2019-04-01 |
||
− | | abstract = We present here our partial implementation of Baker's decision procedure for SUBTYPEP. In his article “A Decision Procedure for Common Lisp's SUBTYPEP |
+ | | abstract = We present here our partial implementation of Baker's decision procedure for SUBTYPEP. In his article “A Decision Procedure for Common Lisp's SUBTYPEP Predicate”he claims to provide implementation guidelines to obtain a SUBTYPEP more accurate and as efficient as the average implementation. However, he did not provide any serious implementation and his description is sometimes obscure. In this paper we present our implementation of part of his procedure, only supporting primitive types, CLOS classesmember, range and logical type specifiers. We explain in our words our understanding of his procedure, with much more detail and examples than in Baker's article. We therefore clarify many parts of his description and fill in some of its gaps or omissions. We also argue in favor and against some of his choices and present our alternative solutions. We further provide some proofs that might be missing in his article and some early efficiency results. We have not released any code yet but we plan to open source it as soon as it is presentable. |
| type = inproceedings |
| type = inproceedings |
||
| id = valais.19.els |
| id = valais.19.els |
Revision as of 10:44, 18 June 2019
- Authors
- Léo Valais, Jim Newton, Didier Verna
- Where
- 12th European Lisp Symposium
- Place
- Genova, Italy
- Type
- inproceedings
- Projects
- Climb
- Keywords
- type systems, Common Lisp
- Date
- 2019-04-01
Abstract
We present here our partial implementation of Baker's decision procedure for SUBTYPEP. In his article “A Decision Procedure for Common Lisp's SUBTYPEP Predicate”he claims to provide implementation guidelines to obtain a SUBTYPEP more accurate and as efficient as the average implementation. However, he did not provide any serious implementation and his description is sometimes obscure. In this paper we present our implementation of part of his procedure, only supporting primitive types, CLOS classesmember, range and logical type specifiers. We explain in our words our understanding of his procedure, with much more detail and examples than in Baker's article. We therefore clarify many parts of his description and fill in some of its gaps or omissions. We also argue in favor and against some of his choices and present our alternative solutions. We further provide some proofs that might be missing in his article and some early efficiency results. We have not released any code yet but we plan to open source it as soon as it is presentable.
Bibtex (lrde.bib)
@InProceedings{ valais.19.els, author = {L\'eo Valais and Jim Newton and Didier Verna}, title = {Implementing Baker's \texttt{SUBTYPEP} decision procedure}, address = {Genova, Italy}, booktitle = {12th European Lisp Symposium}, year = 2019, month = apr, lrdestatus = {accepted}, abstract = {We present here our partial implementation of Baker's decision procedure for SUBTYPEP. In his article ``A Decision Procedure for Common Lisp's SUBTYPEP Predicate'', he claims to provide implementation guidelines to obtain a SUBTYPEP more accurate and as efficient as the average implementation. However, he did not provide any serious implementation and his description is sometimes obscure. In this paper we present our implementation of part of his procedure, only supporting primitive types, CLOS classes, member, range and logical type specifiers. We explain in our words our understanding of his procedure, with much more detail and examples than in Baker's article. We therefore clarify many parts of his description and fill in some of its gaps or omissions. We also argue in favor and against some of his choices and present our alternative solutions. We further provide some proofs that might be missing in his article and some early efficiency results. We have not released any code yet but we plan to open source it as soon as it is presentable.} }