小编Jea*_*ouX的帖子

Haskell的二进制数

我知道Haskell可以使用0o777和十六进制传递八进制值,0x1FF但是:

是否可以使用Haskell传递二进制值?

binary hex haskell ghci

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

列太长错误

我试图在Geany文本编辑器中垂直对齐文本和分隔符:

idxMathExpress (MathArcCos _) = 120
idxMathExpress (MathArcSin _)   = 130
idxMathExpress (MathArcTan _)     = 140
Run Code Online (Sandbox Code Playgroud)

我希望这个块像这样对齐

idxMathExpress (MathArcCos _)  = 120
idxMathExpress (MathArcSin _)  = 130
idxMathExpress (MathArcTan _)  = 140
Run Code Online (Sandbox Code Playgroud)

我试图将所选文本传递给外部命令:

column -t -s '=' 
Run Code Online (Sandbox Code Playgroud)

做这份工作.

但是当我启动命令时,我收到以下消息

column : line too long
Run Code Online (Sandbox Code Playgroud)

而且我不明白为什么.

你这个命令有什么问题吗?

你知道另一种方法来将文本与带有geany的分隔符对齐(awk,sed ......)吗?

awk command-line sed text-alignment geany

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

是否有 Gtk 电子表格小部件

我打算制作一个程序来以电子表格样式编辑数据。

是否有特定的小部件可以使用 Gtk(任何版本)制作电子表格,例如 wxWidget 中的 wxSheet ?

如果没有,您是否知道它是否打算由 Gtk 开发人员实现?

关于我希望实现的功能的一些细节:

  • 编辑单元格中的文本或数字
  • 将单元格选择复制/粘贴到/从其他电子表格(如 Libre office、...
  • 添加/删除行和列
  • 独立修改单元格颜色
  • 每列将具有相同的格式

根本不打算使用以下功能:

  • 合并/跨越单元格
  • 在单元格中放置图片或“非常规”的东西。

准确地说,我想要这样的东西:

在此处输入图片说明

gtk user-interface spreadsheet gtk2hs

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

Haskell Typeable 实例

我正在使用cmdargs从命令行程序获取一些参数。我在我的程序中使用了一些特殊类型

data Function = Max
              | Min
              | Moy
              | Med
              deriving (Eq,Data,Typeable)
Run Code Online (Sandbox Code Playgroud)

我可以通过"Max" "Min" "Moy" "Med"派生FunctionDataTypeable. 我的问题是我的程序变得越来越复杂,我需要重命名我的构造函数以避免名称冲突。

data Function = funMax
              | funMin
              | funMoy
              | funMed
              deriving (Eq,Data,Typeable)
Run Code Online (Sandbox Code Playgroud)

但是,我想继续使用"Max" "Min" "Moy" "Med". 要做到这一点,我想我需要创建自己的DataTypeable实例Function,对吗?

我的问题是即使在阅读了 Hackage 文档之后我也没有设法创建这些实例。

你是否曾经成功地创建DataTypeable你自己的数据类型的实例?

haskell types instance deriving

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

无法将预期类型`()'与实际类型`Int'匹配

我和Haskell和Gtk2Hs有一个奇怪的错误.

我尝试在文本条目中设置光标位置

set entree [entryCursorPosition := 5 ]
Run Code Online (Sandbox Code Playgroud)

对应于Type

entryCursorPosition :: EntryClass self => ReadAttr self Int
Run Code Online (Sandbox Code Playgroud)

我有以下错误:

Couldn't match expected type `()' with actual type `Int'
Run Code Online (Sandbox Code Playgroud)

你认为这是一个错误吗?你知道怎么解决吗?

我在我的Debian Wheezy上用GHC 7.4.1使用Gtk2Hs 0.12.3.

最好的祝福.

haskell ghc gtk2hs

2
推荐指数
1
解决办法
160
查看次数

使用Haskell一次导入整个模块

我对Haskell的库问题感到尴尬.我完成了一个由几个文件组成的库

src/MyLib/Firstbib.hs
src/MyLib/Secondbib.hs
...
src/MyLib/Lastbib.hs
Run Code Online (Sandbox Code Playgroud)

这时,cabal install我可以分别导入每个文件

import MyLib.Firstbib
import MyLib.Secondbib
import MyLib.Lastbib
Run Code Online (Sandbox Code Playgroud)

一切都好

现在,我想在一个简单的导入中导入MyLib的所有这些部分:

import MyLib
Run Code Online (Sandbox Code Playgroud)

我无法达到它.

我试图创建一个名为src/MyLib.hscontains 的文件:

module MyLib where 
import MyLib.Types 
import MyLib.Functions
import MyLib.Algo.Line 
import MyLib.Algo.Point  
Run Code Online (Sandbox Code Playgroud)

并用Cabal暴露它

Library
  -- Modules exported by the library.
  Hs-Source-Dirs:     src
  Exposed-modules:      MyLib
                      , MyLib.Functions
                      , MyLib.Types
                      , MyLib.Algo.Line
                      , MyLib.Algo.Point
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

仅使用一个模块导入导入许多文件的正确方法是什么(例如Gtk2Hs)?

haskell cabal

2
推荐指数
1
解决办法
126
查看次数

如何为递归类型创建可存储实例?

我在Haskell模块中有以下数据类型,我想编写一个可存储的实例,将其与C通过FFI一起使用:

data MyType a =
        TypeDouble Double
      | TypeLst [a] 
      | TypeAdd (MyType a) (MyType a) 
Run Code Online (Sandbox Code Playgroud)

我开始定义sizeOf函数:

instance Storable a => Storable (MyType a)  where
  sizeOf (TypeDouble _) = sizeOf (0 :: Double)
  sizeOf (TypeLst lst)  = sum $ map sizeOf lst
  sizeOf (TypeAdd a b)  = sizeOf a + sizeOf b
Run Code Online (Sandbox Code Playgroud)

编译得很好,但我不知道如何实现peekpoke功能.我认为实现这些函数的方式与此答案相同,但只有当列表中的所有元素具有相同的大小(此处不是这种情况)时,此实现才起作用.

对于元素具有浮动大小的递归类型,实现peekpoke函数的正确方法是什么?

c binding haskell ffi storable

2
推荐指数
1
解决办法
98
查看次数

使用Pandoc引用图形和表格编号

我正在尝试使用Markdown/ 制作一个文档,restructuredText该文档将使用转换pandoc为PDF xelatex

我想在文本正文中返回对图形和表格编号的引用。

在Markdown和reSt标记语言中,交叉引用均返回到图形的链接,但不返回图形编号。

例如[the figure](#myfig)带有markdown或myfig_带有reST链接的图形,但不会自动更新图形编号。

Markdown或ReST标记语言是否可以引用图形和表格编号?

markdown restructuredtext cross-reference pandoc

2
推荐指数
1
解决办法
654
查看次数

Haskell FFI:在C程序中使用数据类型

我与Haskell一起编写了一个库,希望将其用于C程序。我已经阅读了一些有关使用foreign export ccall命令和Foreign模块的文档。

我已经看到了一些例子,如这一个,但这些实施例使用常用的C类型,如IntDouble

在我的库中,我创建了一些数据类型,例如:

data OrdSymb = SEQ
             | SLT
             | SGT
Run Code Online (Sandbox Code Playgroud)

或提供类型的递归:

data MyType a =
        TypeDouble Double
      | TypeInt Int
      | TypeVar a 
      | TypeAdd (MyType a) (MyType a) 
Run Code Online (Sandbox Code Playgroud)

但是我没有找到如何在FFI中使用/导出这些类型。

如何将自己的数据类型导出到C并在foreign声明中使用它们导出函数?

c haskell ffi

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

检索幻影类型的隐藏类型

我用 Haskell 声明了一个像这样的幻像类型。

newtype Length (a::UnitLength) b = Length b deriving (Eq,Show)
data UnitLength = Meter
                | KiloMeter
                | Miles
                deriving (Eq,Show)
Run Code Online (Sandbox Code Playgroud)

现在,我想写一些函数来使用这种类型。但我没有碰巧看到和使用隐藏类型。

是否可以检索aphantom类型的隐藏类型Length来执行测试,模式匹配,....?

haskell phantom-types

0
推荐指数
1
解决办法
183
查看次数

Haskell函数将Int转换为Alpha编号

我正在尝试编写Haskell函数,以将整数转换为带有字母数字的字符串。

用字母数字表示法,是指与此转换匹配的数字表示法:

1 -> A
2 -> B
3 -> C
..
25 -> Y
26 -> Z
27 -> AA
28 -> AB
29 -> AC
..
Run Code Online (Sandbox Code Playgroud)

我发现此函数可以将十进制数字转换为罗马数字,并尝试对其进行修改以执行我想要的操作。但是我没有得到正确的结果。问题在于,在字母数字法中,“ A”作为单位或倍数时可能具有不同的“权重”(值可能为1或0)。

您知道如何获得正确的转换吗?

haskell numeric number-formatting

-2
推荐指数
1
解决办法
98
查看次数