Type Checking as Calculation
billwadge.com
Type Checking as Calculation
1–7 of 7 posts
Re: Type Checking as Calculation
#2Textbook case of falling victim to the Blub Paradox.
> The answer is … int! Yes, PyFL has typed an untypable program!
I'm not sure why the author is making this sound like a good thing.
Re: Type Checking as Calculation
#3> In PyFL gone are all the things that ordinary people find difficult or downright weird: monads, mandatory currying, post- or prefix notation, pattern matching, etc. Instead infix notation and f(x,y,z) syntax for function application. The weird stuff has it’s proponents but PyFL proves it’s not inherently part of functional programming. Textbook case of falling victim to the Blub Paradox. > The answer is … int ! Yes…
Re: Type Checking as Calculation
#4> In PyFL gone are all the things that ordinary people find difficult or downright weird: monads, mandatory currying, post- or prefix notation, pattern matching, etc. Instead infix notation and f(x,y,z) syntax for function application. The weird stuff has it’s proponents but PyFL proves it’s not inherently part of functional programming. Textbook case of falling victim to the Blub Paradox. > The answer is … int ! Yes…
Totally agree about the Blub Paradox, but there's definitely value in Self Types. See, for example, [Kind]( https://github.com/Kindelia/Kind ), which is able to type recursive data types by using Self Types.
Re: Type Checking as Calculation
#5Lambda calculus doesn't have built-in numbers either. Curiously, the standard representation of numbers in lambda calculus, the so-called Church numerals, allows for a non-recursive definition of factorial [1]:
fac = λnλf.n(λfλn.n(f(λfλx.n f(f x))))(λx.f)(λx.x)
> There’s more to type checking than Haskell’s rigid declarations.
I don't see such rigidity since most type declarations in Haskell can be omitted as they will be correctly inferred.
Re: Type Checking as Calculation
#6> In PyFL gone are all the things that ordinary people find difficult or downright weird: monads, mandatory currying, post- or prefix notation, pattern matching, etc. Instead infix notation and f(x,y,z) syntax for function application. The weird stuff has it’s proponents but PyFL proves it’s not inherently part of functional programming. Textbook case of falling victim to the Blub Paradox. > The answer is … int ! Yes…
Totally agree about the Blub Paradox, but there's definitely value in Self Types. See, for example, [Kind]( https://github.com/Kindelia/Kind ), which is able to type recursive data types by using Self Types.
Re: Type Checking as Calculation
#7> In PyFL gone are all the things that ordinary people find difficult or downright weird: monads, mandatory currying, post- or prefix notation, pattern matching, etc. Instead infix notation and f(x,y,z) syntax for function application. The weird stuff has it’s proponents but PyFL proves it’s not inherently part of functional programming. Textbook case of falling victim to the Blub Paradox. > The answer is … int ! Yes…
Totally agree about the Blub Paradox, but there's definitely value in Self Types. See, for example, [Kind]( https://github.com/Kindelia/Kind ), which is able to type recursive data types by using Self Types.