在Haskell的解释器GHCi中定义函数签名不起作用.从此页面复制示例:
Prelude> square :: Int -> Int
<interactive>:60:1: error:
• No instance for (Show (Int -> Int)) arising from a use of ‘print’
(maybe you haven't applied a function to enough arguments?)
• In a stmt of an interactive GHCi command: print it
Prelude> square x = x * x
Run Code Online (Sandbox Code Playgroud)
如何声明函数签名然后以交互方式在Haskell中给出函数定义?另外:为什么我不能简单地评估函数并Prelude> square在定义后查看其类型(例如)?
我有这个与seaborn的facetgrid的数据框图:
import seaborn as sns
import matplotlib.pylab as plt
import pandas
import numpy as np
plt.figure()
df = pandas.DataFrame({"a": map(str, np.arange(1001, 1001 + 30)),
"l": ["A"] * 15 + ["B"] * 15,
"v": np.random.rand(30)})
g = sns.FacetGrid(row="l", data=df)
g.map(sns.pointplot, "a", "v")
plt.show()
Run Code Online (Sandbox Code Playgroud)
seaborn绘制了所有的xtick标签,而不仅仅是挑选几个,它看起来很糟糕:
有没有办法对它进行自定义,以便在x轴上绘制每个第n个刻度而不是全部?
我想在seaborn/matplotlib中制作一个散点图,其中点的大小由数据帧中的(连续)值确定,点的颜色也由数据帧中另一列的连续值确定.在ggplot中,这样做的方法是:
ggplot(iris) + geom_point(aes(x=Sepal.Width, y=Sepal.Length, size=Petal.Width, color=Petal.Length))
Run Code Online (Sandbox Code Playgroud)
seaborn/matplotlib中的语法是什么?
我不清楚如何在haskell中编写函数签名,尤其是使用Maybe.考虑:
f :: Maybe a -> Maybe a
f = \a -> a
main = print (f (Just 5))
Run Code Online (Sandbox Code Playgroud)
这有效,但为什么函数签名不能这样呢?
f :: Maybe -> Maybe
Run Code Online (Sandbox Code Playgroud)
因为f只需要一个Maybe类型并返回一个Maybe类型.
相关:如果我想让Maybe类型更具体并且是a Maybe Int,为什么这不起作用?
f :: Maybe Int a -> Maybe Int a
f = \a -> a
main = print (f (Just (Int 5)))
Run Code Online (Sandbox Code Playgroud)
(我正在运行所有代码runhaskell test.hs)