{"title":"一个实用的通用Lisp类型推断系统的初步报告","authors":"R. Beer","doi":"10.1145/1317193.1317195","DOIUrl":null,"url":null,"abstract":"While the combination of dynamic typing and generic functions in Lisp have always presented a challenge to optimizing Lisp compilers for stock hardware, the situation has never been more difficult than in Common Lisp [7]. For example, one may add any of eight distinct primitive types of numbers in any combination using the single function+. While the overhead of sorting this type information out at run-time may be largely alleviated by the use of special-purpose hardware or microcode, the problem remains critical for implementations running on conventional general-purpose computers. Indeed, this situation played a crucial role in at least one wide-ranging critique of Common Lisp [2].","PeriodicalId":262740,"journal":{"name":"ACM SIGPLAN Lisp Pointers","volume":"515 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1987-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":"{\"title\":\"Preliminary report on a practical type inference system for common Lisp\",\"authors\":\"R. Beer\",\"doi\":\"10.1145/1317193.1317195\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"While the combination of dynamic typing and generic functions in Lisp have always presented a challenge to optimizing Lisp compilers for stock hardware, the situation has never been more difficult than in Common Lisp [7]. For example, one may add any of eight distinct primitive types of numbers in any combination using the single function+. While the overhead of sorting this type information out at run-time may be largely alleviated by the use of special-purpose hardware or microcode, the problem remains critical for implementations running on conventional general-purpose computers. Indeed, this situation played a crucial role in at least one wide-ranging critique of Common Lisp [2].\",\"PeriodicalId\":262740,\"journal\":{\"name\":\"ACM SIGPLAN Lisp Pointers\",\"volume\":\"515 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1987-06-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"14\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"ACM SIGPLAN Lisp Pointers\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/1317193.1317195\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM SIGPLAN Lisp Pointers","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1317193.1317195","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Preliminary report on a practical type inference system for common Lisp
While the combination of dynamic typing and generic functions in Lisp have always presented a challenge to optimizing Lisp compilers for stock hardware, the situation has never been more difficult than in Common Lisp [7]. For example, one may add any of eight distinct primitive types of numbers in any combination using the single function+. While the overhead of sorting this type information out at run-time may be largely alleviated by the use of special-purpose hardware or microcode, the problem remains critical for implementations running on conventional general-purpose computers. Indeed, this situation played a crucial role in at least one wide-ranging critique of Common Lisp [2].