小编Eoi*_*ing的帖子

堆栈在“堆栈构建”之后自动删除 .cabal 文件的依赖关系

我想使用Threepenny-gui开发一个新的 Haskell 项目

\n

我做的第一件事是通过创建一个堆栈项目$ stack new threepennydemo。从这里,这里,我做了以下事情:

\n
    \n
  1. 我在 stack.yaml 文件中编辑了 extra-deps 部分:
  2. \n
\n
#\xc2\xa0extra-deps: []\n
Run Code Online (Sandbox Code Playgroud)\n

\n
extra-deps:\n  - threepenny-gui-0.9.0.0\n
Run Code Online (Sandbox Code Playgroud)\n
    \n
  1. 我编辑了 .cabal 文件:
  2. \n
\n
library\n  exposed-modules:\n      Lib\n  other-modules:\n      Paths_threepennydemo\n  hs-source-dirs:\n      src\n  build-depends:\n      base >=4.7 && <5\n  default-language: Haskell2010\n\nexecutable threepennydemo-exe\n  main-is: Main.hs\n  other-modules:\n      Paths_threepennydemo\n  hs-source-dirs:\n      app\n  ghc-options: -threaded -rtsopts -with-rtsopts=-N\n  build-depends:\n      base >=4.7 && <5\n    , threepennydemo\n  default-language: Haskell2010\n\ntest-suite threepennydemo-test\n  type: exitcode-stdio-1.0\n  main-is: Spec.hs\n  other-modules:\n      Paths_threepennydemo\n  hs-source-dirs:\n      test\n  ghc-options: …
Run Code Online (Sandbox Code Playgroud)

haskell cabal threepenny-gui haskell-stack

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

在 Haskell 中生成更高维度的列表

我写了一个 Haskell 函数来生成一个元组列表。

defineIndices :: Int -> Int -> [(Int,Int)]
defineIndices n m = [(i,j) | i <- [1..n], j <- [1..m]]
Run Code Online (Sandbox Code Playgroud)

该函数具有以下行为。

?> defineIndices 2 3
[(1,1),(1,2),(1,3),(2,1),(2,2),(2,3)]
Run Code Online (Sandbox Code Playgroud)

事实证明,我需要的功能如下:

?> defineIndices2D 2 3
[[(1,1),(1,2),(1,3)],[(2,1),(2,2),(2,3)]]
Run Code Online (Sandbox Code Playgroud)

其中,defineIndices2D 返回维度为 n*m 的 (Int,Int) 列表。我有点卡在这里,我想知道如何更改我现有的解决方案以生成更高阶的列表。

我的最终目标是生成一个 x,y 索引列表,用作 Data.Map Map 中值的键。

haskell

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

文档字符串应该放在装饰器之前还是之后?

比较以下内容。

示例 1:装饰器之前的文档字符串。

@app.route("/")
"""
summary
"""
def hello() -> str:
    return "Hello World"
Run Code Online (Sandbox Code Playgroud)

对比示例 2:装饰器后的文档字符串:

"""
summary
"""
@app.route("/")
def hello() -> str:
    return "Hello World"
Run Code Online (Sandbox Code Playgroud)

python docstring pep8 decorator

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

Clojure 中的 defn- 和 defn ^:private 有什么区别?

两者似乎都表示私有函数,类似于大多数 OOP 语言中的私有函数。是否存在功能差异或者只是语法糖?

我见过 defn ^:private 在环应用程序的处理程序上下文中使用。

clojure defn ring

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

如何在 Haskell 中以多态方式为多种类型编写多个函数定义?

鉴于我的类型定义:

data Tile = Revealed | Covered deriving (Eq, Show)
data MinePit = Clean | Unsafe deriving (Eq, Show)
data Flag = Flagged | Unflagged deriving (Eq, Show)
type Square = (Tile, MinePit, Flag)
type Board = [[Square]]
Run Code Online (Sandbox Code Playgroud)

我创建了两个函数:

  1. createBoard生成值元组的二维列表 - 或'Board'。它初始化一个维度为 n*m 的列表,所有的值都相同。
createBoard :: Int -> Int -> Board
createBoard 0 _ = [[]]
createBoard _ 0 = [[]]
createBoard 1 1 = [[(Covered, Clean, Unflagged)]]
createBoard n m = take n (repeat (take m …
Run Code Online (Sandbox Code Playgroud)

polymorphism haskell

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