3 ms·
getChar is a Haskell function without arguments.
by popnroll 8y ago
getChar is a Haskell function without arguments.
- Miky 8y agoThis is false. getChar is a constant.
- popnroll 8y agoI am confused :S From your other post: "In both Gluon and Haskell, functions without arguments can be represented as functions over the unit type: f: () -> SomeType" Isn't `f` a constant here too?, how is this different than getChar? (I get I don't understand something here but not sure what)
- Rusky 8y ago`getChar` is not of type `() -> SomeType`, but directly of type `SomeType`. (Though yes, `f` also is a constant... it's just a constant that happens to be a function, which `getChar` is not.)
- somenewacc 8y agoIn Haskell, getChar isn't a function (something of type a -> b), its type is IO Char http://hackage.haskell.org/package/base-4.11.1.0/docs/Prelude.html#v:getChar http://hackage.haskell.org/package/base-4.11.1.0/docs/Prelud... It represents an interaction with the outside world that results in a Char when you perform it. It isn't a function because in Haskell functions must be pure (with no side effects).
- tome 8y agoI feel the responses to you were somewhat unhelpful. Would they also claim that something of type `MyFun Char` is not a function, where data MyFun a = MyFun (() -> Char) Technically they'd be right.