ZeroMQ Haskell 项目教程
1. 项目的目录结构及介绍
ZeroMQ Haskell 项目的目录结构如下:
zeromq-haskell/
├── CHANGELOG.md
├── LICENSE
├── README.md
├── Setup.hs
├── app/
├── benchmark/
├── src/
│ ├── Data/
│ │ └── ZMQ4.hs
│ ├── System/
│ │ └── ZMQ4/
│ │ ├── Internal/
│ │ │ ├── Base.hs
│ │ │ ├── Error.hs
│ │ ├── Monadic.hs
│ ├── zeromq4-haskell.cabal
├── test/
目录介绍
CHANGELOG.md
: 记录项目的变更日志。LICENSE
: 项目的许可证文件。README.md
: 项目的介绍和使用说明。Setup.hs
: 项目的设置文件。app/
: 包含应用程序的源代码。benchmark/
: 包含性能测试的源代码。src/
: 包含项目的主要源代码。Data/ZMQ4.hs
: 数据相关的模块。System/ZMQ4/
: 系统相关的模块。Internal/
: 内部模块。Base.hs
: 基础模块。Error.hs
: 错误处理模块。
Monadic.hs
: 支持 Monad 的模块。
zeromq4-haskell.cabal
: 项目的 Cabal 配置文件。test/
: 包含测试代码。
2. 项目的启动文件介绍
项目的启动文件通常位于 app/
目录下。由于 ZeroMQ Haskell 项目的 app/
目录没有具体的文件列表,我们假设启动文件为 app/Main.hs
。
app/Main.hs
文件介绍
module Main where
import System.ZMQ4.Monadic
main :: IO ()
main = runZMQ $ do
-- 启动代码
module Main where
: 定义主模块。import System.ZMQ4.Monadic
: 导入 ZeroMQ 的 Monadic 模块。main :: IO ()
: 定义主函数。runZMQ $ do
: 运行 ZeroMQ 上下文。
3. 项目的配置文件介绍
项目的配置文件为 zeromq4-haskell.cabal
。
zeromq4-haskell.cabal
文件介绍
name: zeromq4-haskell
version: 0.8.0
synopsis: Bindings to ZeroMQ 4.x
description: This library provides the Haskell language binding to 0MQ >= 4.x
license: MIT
license-file: LICENSE
author: Toralf Wittner
maintainer: tw@dtex.org
copyright: (c) 2010 - 2015 zeromq-haskell
category: System, FFI
build-type: Simple
cabal-version: >=1.10
library
exposed-modules:
Data.ZMQ4
System.ZMQ4
System.ZMQ4.Internal
System.ZMQ4.Internal.Base
System.ZMQ4.Internal.Error
System.ZMQ4.Monadic
other-modules:
Paths_zeromq4_haskell
build-depends:
async >=2.0 && <3.0,
base >=3 && <5,
bytestring >=0.10,
containers >=0.5,
exceptions >=0.6 && <1.0,
ghc-prim >=0.3 && <0.4,
monad-control >=1.0,
semigroups >=0.8,
transformers >=0.3,
transformers-base >=0.4
hs-source-dirs:
src
default-language: Haskell2010
executable zeromq4-haskell-example
main-is: Main.hs
other-modules:
Paths_zeromq4_haskell
build-depends:
base >=3 && <5,