News for hackers. Stuff that matters.
Re:Lisp and Haskell (2017) by fiddlerwoaroof on Sunday July 15, 2018 @12:52AM (#17533856)
Yeah, just because the language doesn’t force you to specify types, doesn’t mean that the compiler can’t infer them for you.

What was most eye-opening for me about CL was just how helpful the compiler of a dynamically typed programming language can be.

Re:Lisp and Haskell (2017) by fjsolwmv on Sunday July 15, 2018 @01:48AM (#17533973)
Checking dynamic types us not the work of a compiler. Checking types at compile time is static type checking. If a type is wholly dynamic (determined at runtime via something like casting to a type specified in user input), the compiler can't check it.

(Also, type inference is orthogonal to static vs dynamic typing.)

Re:Lisp and Haskell (2017) by phoe-krk on Sunday July 15, 2018 @02:22AM (#17534053)
> Checking dynamic types us not the work of a compiler. Checking types at compile time is static type checking.

By your logic, Common Lisp is both dynamically and statically typed, because compile-time type checks are done by the compiler and warnings/errors are signaled whenever proper.

More, if you declare (OPTIMIZE SPEED), the compiler is going to print a list of all places where it was unable to infer types on its own and where it expects help from the programmer in form of type declarations for individual variables.