Parsing 如何指定值';在Haskell'中输入s;什么是序曲?
我知道Haskell能够推断出值的类型,但我想指定它,我尝试了:Parsing 如何指定值';在Haskell'中输入s;什么是序曲?,parsing,haskell,types,Parsing,Haskell,Types,我知道Haskell能够推断出值的类型,但我想指定它,我尝试了: Prelude> a=2 :: Float <interactive>:8:2: parse error on input ‘=’ Prelude> Float a=2 :: Float <interactive>:9:8: parse error on input ‘=’ Prelude> let a::Float = 2 <interactive>:10:8:
Prelude> a=2 :: Float
<interactive>:8:2: parse error on input ‘=’
Prelude> Float a=2 :: Float
<interactive>:9:8: parse error on input ‘=’
Prelude> let a::Float = 2
<interactive>:10:8:
Illegal type signature: ‘Float’
Perhaps you intended to use ScopedTypeVariables
In a pattern type-signature
Prelude> let a::Int = 2
<interactive>:11:8:
Illegal type signature: ‘Int’
Perhaps you intended to use ScopedTypeVariables
In a pattern type-signature
不确定Haskell更喜欢什么术语?
谢谢
a
是一个值,它不是一个函数(但函数是值)
a
是一个值,它不是一个函数(但函数是值)。ghci
是一个交互式控制台,因此,您不能只编写a=2::Float
,您必须使用let
表单:
Prelude> let a = 2 :: Float
Prelude> a
2.0
Prelude> :t a
a :: Float
顺便说一句,在哈斯克尔看来,一切(几乎)都是一个函数,都是
不变的那么我应该称之为“a”:
a
是一个类型为Floatghci
的值,是一个交互式控制台,因此,您不能只写a=2::Float
,您必须使用let
表单:
Prelude> let a = 2 :: Float
Prelude> a
2.0
Prelude> :t a
a :: Float
顺便说一句,在哈斯克尔看来,一切(几乎)都是一个函数,都是
不变的那么我应该称之为“a”:
a
是类型为Float
Prelude> let a = 2 :: Float
Prelude> a
2.0
Prelude> :t a
a :: Float