开源项目 Reflection 使用教程
reflectionReifies arbitrary Haskell terms into types that can be reflected back into terms项目地址:https://gitcode.com/gh_mirrors/reflec/reflection
1. 项目的目录结构及介绍
reflection/
├── src/
│ ├── Data/
│ │ └── Reflection.hs
│ └── Control/
│ └── Monad/
│ └── Reflection.hs
├── test/
│ └── Spec.hs
├── CHANGELOG.md
├── LICENSE
├── README.md
└── reflection.cabal
src/
: 包含项目的主要源代码。
Data/Reflection.hs
: 提供类型反射的核心功能。Control/Monad/Reflection.hs
: 提供基于反射的Monad变换器。 test/
: 包含项目的测试代码。
Spec.hs
: 测试用例文件。 CHANGELOG.md
: 记录项目的变更历史。LICENSE
: 项目的许可证文件。README.md
: 项目的主文档,包含项目介绍、安装和使用说明。reflection.cabal
: 项目的配置文件,用于构建和打包。
2. 项目的启动文件介绍
项目的启动文件通常是 Main.hs
,但在本项目中,由于是一个库项目,没有传统的启动文件。项目的主要入口点是 Data.Reflection
和 Control.Monad.Reflection
模块。
3. 项目的配置文件介绍
reflection.cabal
是项目的配置文件,用于定义项目的元数据、依赖关系和构建配置。以下是该文件的主要部分:
name: reflection
version: 0.6.4
synopsis: Reifies arbitrary terms into types that can be reflected back into terms
description: Please see the README on GitHub at <https://github.com/ekmett/reflection#readme>
homepage: https://github.com/ekmett/reflection#readme
bug-reports: https://github.com/ekmett/reflection/issues
author: Edward Kmett
maintainer: ekmett@gmail.com
copyright: Copyright (C) 2011-2015 Edward Kmett
license: BSD3
license-file: LICENSE
category: Data, Reflection
build-type: Simple
extra-source-files: CHANGELOG.md
cabal-version: >=1.10
library
exposed-modules:
Data.Reflection
Control.Monad.Reflection
build-depends:
base >=4.5 && <5
hs-source-dirs:
src
default-language: Haskell2010
test-suite spec
type: exitcode-stdio-1.0
main-is: Spec.hs
build-depends:
base >=4.5 && <5,
hspec,
reflection
hs-source-dirs:
test
default-language: Haskell2010
name
: 项目名称。version
: 项目版本。synopsis
: 项目简要描述。description
: 项目详细描述。homepage
: 项目主页。bug-reports
: 问题跟踪地址。author
: 作者信息。maintainer
: 维护者信息。copyright
: 版权信息。license
: 许可证类型。license-file
: 许可证文件路径。category
: 项目分类。build-type
: 构建类型。extra-source-files
: 额外的源文件。cabal-version
: 所需的Cabal版本。
库部分
exposed-modules
: 暴露的模块。build-depends
: 构建依赖。hs-source-dirs
: 源代码目录。default-language
: 默认的Haskell语言标准。
测试部分
type
: 测试套件类型。main-is
: 主测试文件。build-depends
: 测试依赖。hs-source-dirs
: 测试代码目录。default-language
: 默认的Haskell语言标准。
通过以上配置,可以构建和测试项目,并了解项目的结构和依赖关系。
reflectionReifies arbitrary Haskell terms into types that can be reflected back into terms项目地址:https://gitcode.com/gh_mirrors/reflec/reflection