嗨我已经开始学习F#,我在想你是否可以限制函数的输入和输出的类型。 我试着这样做: main : unit
let main = printf "Hello World\n" |> (fun x -> printf "Goodbye World\n")
let _ = main
,我也试图把letmain之前的第一道防线。都没有工作。有没有办法在F#中做这种事情?我认为这是Haskell的
在ML语言 假设f(x,y,z)是一个函数。给出一个f的定义的例子,它会导致f的参数具有类型:a’ * a’ * int。 示例代码 fun f1 (x,y,z) = z<5 ;
val f1 = fn : 'a * 'b * int -> bool
我如何改变这种VAL到a’ * a’ * int -> bool?
我已经找到一种方法来一个Nat转换成Integer使用Proxy和natVal,你可以在下面的代码中看到: {-# LANGUAGE DataKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Main where
import Data.Proxy (Proxy)
import Data.Monoid ((<>))
impor