Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

don't you get a similar benefit in common lisp by generously adding declarations? (esp. in sbcl with high levels of SAFETY)


As far as I know, no. You can get SBCL to point out some intra-function inconsistencies through declarations (or, in fact, often even without declarations), but I haven't found a way to make it warn when, outside of function X, I'm calling it with types different from the types associated with the arguments through declarations.


(declaim (safety 3) (ftype (function ({argument types}) {return types}) {function name}))

It checks both at compile time and at run time. I find it great for bug squashing. See http://www.sbcl.org/manual/index.html#Declarations-as-Assert...


That's neat. Thanks. Might be worthwhile for APIs.


I suppose you get at least some of the benefit. The other half of the advantage of a relatively simple statically typed language like Java is that IDEs can do really amazing structural transformations of your code. When I'm working in IntelliJ I'm constantly aggressively refactoring my code in ways I wouldn't dare in a language with less rigid syntax.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: