小编And*_*ott的帖子

具有多个类约束的Haskell类型签名

我怎么能有多个类约束,所以如果AEqBNum,我可以说

f :: Eq a => a -> b`
Run Code Online (Sandbox Code Playgroud)

要么

f :: Num b => a -> b
Run Code Online (Sandbox Code Playgroud)

所以,我怎么能有Eq a =>Num b =>在同一时间?

  • f :: Eq a => Num b => a -> b,
  • f :: Eq a -> Num b => a -> b,和
  • f :: Eq a, Num b => a -> b

没做我想做的事.

haskell types static-typing type-signature

26
推荐指数
1
解决办法
1万
查看次数

在Haskell中使用别名导入函数

在Haskell中,我写import Fruitimport Fruit (apple) 可以访问appleFruit.apple.

在Python,我可以写from Fruit import appleappleimport FruitFruit.apple.

我想也可以用import Fruit.apple as bananaPython 编写引用相同的函数banana.

怎么,在Haskell中我可以这样做吗?import Fruit as Vegetable在任何一种语言中都可以重命名Fruit,但我想重命名apple.

import haskell

19
推荐指数
2
解决办法
3029
查看次数

我需要一种方法来运行Haskell代码而无需在Mac上进行任何安装

我喜欢在Haskell开发,但目前面临挑战.在我的教育地点,我对我的帐户没有管理权限.我想在那里调试/测试.我需要一种方法来运行Haskell代码而无需安装haskell-platform或者ghci需要管理级别的权限.例如,一个将运行haskell代码的网站(abeit仅限于不包括文件访问权限)或java实用程序(或独立.app,但由于"家长控制"的性质,java是首选),或其他我没有想到.Ruby或Python中的源代码或编译的Java,Flash和源代码优先于本机代码.这是在Mac OS X 10.6上,供参考.

macos haskell non-admin osx-snow-leopard haskell-platform

4
推荐指数
1
解决办法
3372
查看次数

Haskell在用户级别

我喜欢在Haskell中编码,但经常在我无法安装软件的计算机上,并且对于你可以运行的内容有一些限制.我想编写Haskell代码并在此计算机上进行测试.有没有人知道Haskell的版本,解释或编译,用Java,JavaScript,Ruby,Python或Mac上的默认安装中提供的其他解释语言编写?可以在用户级安装的独立版Haskell也可以,但是自己编译Haskell不是一个选择.

compiler-construction macos interpreter haskell

4
推荐指数
1
解决办法
235
查看次数

Pointfree在Haskell中返回一个元组

一个pointfree函数可以返回一个元组吗?例如,以下内容可以用无点样式编写(其中f1,f2和f3已定义):

(\t -> (f1 t, f2 t, f3 t))
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我的f1,f2和f3是quot,mod,*和一些整数的组合.

(\f1,f2,f3 -> (\t -> (f1 t, f2 t, f3 t)))
Run Code Online (Sandbox Code Playgroud)

是一个更普遍的情况,相当于

(\f1,f2,f3,t -> (f1 t, f2 t, f3 t))
Run Code Online (Sandbox Code Playgroud)

命名函数没问题,但我的例子是匿名的.(命名示例如下)

f x = (f1 x, f2 x, f3 x)
f f1 f2 f3 x = (f1 x, f2 x, f3 x)
Run Code Online (Sandbox Code Playgroud)

编辑:我只是好奇好玩,我不打算这样做.

haskell pointfree

3
推荐指数
1
解决办法
570
查看次数