Re: [stack] Jon Purdy: Why Concatenative Programming Matters

eas lab <[email protected]> Tue, 14 Feb 2012 08:05:02 +0200
Newsgroups gmane.comp.lang.concatenative
Message-ID <CAN3-DLFZUkhSdKStA77LpLUBu673JU-_kxv1hk_=qDk7P0iiHA@mail.gmail.com>
]   By substituting, we get a new polymorphic type for 3 within the
]   expression:
? does this mean '3 is polymorphic because it can be written as
infinitely typed'?
? what does "within the expression" mean ?

]     3 :: FAC. (C, int) -> (C, int, int)
=> let 3 be a function, which ForAllC, maps (C, int) to (C, int, int)

]   This matches the non-polymorphic type:

]     3 :: FAA. (A, int) -> (A, int, int) = FAB. B -> (B, int)
? is there a bracket missing here ?

]   So the final type of the expression becomes:

]     2 3 :: FAA. (A) -> (A, int, int)

? why/how ? is this formal maths or Haskell-poetry ?