精华内容
下载资源
问答
  • 搭建haskell 环境 我最近在Haskell使用了保龄球鞋 。 在此过程中,我发现了如何设置环境以轻松进行“测试驱动开发”。 希望其他人可以发现这篇文章对开始使用该语言有所帮助。 我使用了以下组件: Haskell安装:...

    搭建haskell 环境

    我最近在Haskell使用保龄球鞋 在此过程中,我发现了如何设置环境以轻松进行“测试驱动开发”。 希望其他人可以发现这篇文章对开始使用该语言有所帮助。 我使用了以下组件:

    • Haskell安装: Haskell Platform 这也为您提供了GHCi,您可以将其用作交互式环境和类型检查器。
    • IDE:任何编辑器都足够,但是我使用了Visual Studio Code,因为它们具有Haskell的扩展,为我提供了一些基本的IntelliSense功能。
    • 测试库: Hspec ,它基于RSpec 可以使用Haskell的软件包管理器cabal从命令行使用cabal install hspec进行cabal install hspec
    • 助手库:Printf用于彩色命令行输出。

    使用Hspec文档中的示例,我从代码的以下结构开始:

    保龄球测试

    module BowlingTests where
    
    import Bowling
    
    import Test.Hspec
    import Text.Printf (printf)
    
    testScoreGame :: String -> Int -> Spec
    testScoreGame game score =
      it (printf “should return the score for game : %s → %d \n” game score) $
        scoreGame game `shouldBe` score
    
    main = hspec $ do
      describe "scoreGame" $ do 
        testScoreGame "--------------------" 0

    因此,要测试功能,请在测试文件中添加一个功能,通常是带有“ test”前缀的相同名称。 此函数将被测函数的输入和预期输出作为参数。 然后使用Hspec描述您要测试的内容。 如您所见,“ it”部分写在测试函数中。 当然,您可以省略此辅助函数,并在main = hspec $ do下编写所有测试,如果您想更详细地描述每个测试正在测试的内容,则可能会更好。

    保龄球

    module Bowling where
    
    scoreGame :: String -> Int 
    scoreGame game = 0

    这些文件位于同一目录中,现在我可以从命令行运行测试了。

    $ runhaskell BowlingTests.hs
    
    scoreGame
    should return the score for game : — — — — — — — — — — → 0
    
    Finished in 0.0000 seconds
    1 example, 0 failures

    你有它。 现在,我可以专注于编写失败的测试并使其通过。

    翻译自: https://www.javacodegeeks.com/2016/05/simple-tdd-environment-haskell.html

    搭建haskell 环境

    展开全文
  • Travel With Haskell 1 — Haskell环境配置与编辑器安装 Haskell环境配置 在 https://www.haskell.org/downloads 中的 Downlaods中下载Haskell PlatForm,下载完成后一路安装即可。 安装成功后,环境就配置好...

    Travel With Haskell 1 — Haskell环境配置与编辑器安装

    Haskell环境配置

    https://www.haskell.org/downloads 中的 Downlaods中下载Haskell PlatForm,下载完成后一路安装即可。

    这里写图片描述

    安装成功后,环境就配置好了。
    可以打开cmd,输入stack查看是否存在此命令,如果存在,即说明正确配置,环境变量也正确添加。如果不存在,可能需要继续寻找解决办法了。

    编辑器安装

    我使用的编辑器是Sublime Text 3。
    在Sublime Text 3 的Package Control中找到 SublimeHaskell 安装后即可。

    具体操作为:
    1. Ctrl + Shift + P ,输入 Package Install
    2. 等待获取Package信息,稍等片刻后就弹出来所有的Packages了
    3. 输入SublimeHaskell,回车,等待下载安装即可。

    不过需要注意的是,手动选择语言Haskell后,按Ctrl+B后即可编译运行.hs文件。
    因为我之前默认的语言是Python,所以一直提示有错误。

    这里写图片描述

    这里写图片描述
    如果需要进入Repl模式,那么就需要在Package Control中安装 Sublime Repl后,在其中选择Haskell,即可启动Stack ghci.
    这里写图片描述
    这里写图片描述

    展开全文
  • 本文在Ubuntu安装Haskell环境管理工具stack和cabal,对其他Linux/Windows WSL也适用。 安装并配置stack 访问这里 https://docs.haskellstack.org/en/stable/README/#how-to-install 获得stack的安装方法 curl -sSL ...

    本文提供了安装Haskell环境管理工具stack和cabal,在Ubuntu, MacOS, Windows WSL上已经测试成功!对其他Linux发行版也适用。

    安装stack

    访问这里 https://docs.haskellstack.org/en/stable/README/#how-to-install 获得stack的安装方法

    curl -sSL https://get.haskellstack.org/ | sh
    

    执行这条指令安装stack,需要sudo

    注意此处如果是MacOS,官方给的基于curlwget的安装方式均行不通(可能跟raw github无法访问有关),需要执行这条

    brew install haskell-stack
    

    并不一定所有的国内镜像源都有这个包,但起码科大源是有的。

    安装好后测试

    > stack --version
    Version 2.5.1, Git revision d6ab861544918185236cf826cb2028abb266d6d5 x86_64 hpack-0.33.0
    

    配置stack

    然后运行stack upgrade,目的是建立~/.stack目录。

    之后,参考 https://mirrors.tuna.tsinghua.edu.cn/help/hackage/ 配置清华源。不要参考help stackage那个链接。
    配置方法很简单,就是在文件尾加上

    package-indices:
      - download-prefix: http://mirrors.tuna.tsinghua.edu.cn/hackage/
        hackage-security:
            keyids:
            - 0a5c7ea47cd1b15f01f5f51a33adda7e655bc0f0b0615baa8e271f4c3351e21d
            - 1ea9ba32c526d1cc91ab5e5bd364ec5e9e8cb67179a471872f6e26f0ae773d42
            - 280b10153a522681163658cb49f632cde3f38d768b736ddbc901d99a1a772833
            - 2a96b1889dc221c17296fcc2bb34b908ca9734376f0f361660200935916ef201
            - 2c6c3627bd6c982990239487f1abd02e08a02e6cf16edb105a8012d444d870c3
            - 51f0161b906011b52c6613376b1ae937670da69322113a246a09f807c62f6921
            - 772e9f4c7db33d251d5c6e357199c819e569d130857dc225549b40845ff0890d
            - aa315286e6ad281ad61182235533c41e806e5a787e0b6d1e7eef3f09d137d2e9
            - fe331502606802feac15e514d9b9ea83fee8b6ffef71335479a2e68d84adc6b0
            key-threshold: 3 # number of keys required
    
            # ignore expiration date, see https://github.com/commercialhaskell/stack/pull/4614
            ignore-expiry: no
    

    然后stack update && stack upgrade一下

    安装并配置cabal

    stack install Cabal 
    stack install cabal-install
    

    注意stack install Cabal一定要大写

    如果出现版本不兼容的问题的话,按他的提示做,修改~/.stack/global-project/stack.yaml

    这个文件的原始内容是

    packages: []
    resolver: lts-16.27
    

    在后面加上

    extra-deps:
    - Cabal-3.2.1.0@sha256:8743076ec022296f9771d962000c9ca3a0fe02e68c37b992c63e382a675f791d,27482
    

    就完成了。

    失败的尝试:在安装的时候直接指定版本似乎在原理上可行,但是失败了
    stack install Cabal-3.2.1.0
    stack install cabal-install-3.2.0.0

    验证安装

    chong@DESKTOP-6EQ6H57:~$ cabal --version
    cabal-install version 3.2.0.0
    compiled using version 3.2.1.0 of the Cabal library
    

    按照 https://mirrors.tuna.tsinghua.edu.cn/help/hackage/ 配置

    首先cabal update生成~/.cabal目录,然后修改~/.cabal/config文件,更换软件源;之后cabal update(要花费比较长时间,大约10分钟)

    安装需要的包

    基本都可以通过stack安装

    stack install QuickCheck # Test.QuickCheck
    stack install hspec # Test.Hspec
    stack install lens # Control.Lens
    

    其他

    安装Scheme:官网 https://download.racket-lang.org/ 下载安装脚本,执行脚本,添加路径即可

    展开全文
  • Intellij IDEA 配置haskell环境

    千次阅读 2019-07-10 10:28:29
    参照 https://gist.github.com/androidfred/a2bef54310c847f263343c529d32acd8 配置环境。 引入现有haskell工程时,注意选择Import project from external model–>Haskell Stack,以保证配置Run/Debug ...

    参照 https://gist.github.com/androidfred/a2bef54310c847f263343c529d32acd8 配置环境。

    同时github下载的源码默认可能没有*.cabal文件,引入时可能会提示找不到cabal file的情况,可先在源码目录下运行:

    stack setup
    

    由于Haskell语言的特性,不支持类似其他语言(如C /JAVA等)的debug断点调试模式。

    引入现有haskell工程时,注意选择Import project from external model–>Haskell Stack,以保证配置Run/Debug Configuration时,自动能识别Executable信息。
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

    展开全文
  • XXX 指定 resolver 将当前使用的 ghc 切换成 XXX 这个版本 2) VSCode中安装插件 在 vscode 中直接安装 vscode-hie-server 插件,vscode 将自动下载 haskell-language-server-XXX.exe haskell-language-server-...
  • haskell环境及sublimehaskell在win10上配置

    千次阅读 2017-06-08 22:12:59
    学习一门新语言,最多的时间是花在环境的配置上,~~(>_<)~~。安装 Haskell类似其他语言,Haskell 提供两种风格的处理方式:批处理(“编译器”)和交互式(“解释器”)。其解释器可直接用于测试和计算,是初学者的...
  • 1、官网上(https://www.haskell.org/platform/windows.html)下载Haskell Platform,最新版本为8.2.1,只支持64位,有个core版和full版,full版包含了库,就下full版试试 2、cmd下输入"cabal user-config init",...
  • 环境 windows10 + wsl2 ubuntu 20.04 + vscode 安装stack 不要用apt-get curl -sSL https://get.haskellstack.org/ | sh 配置国内源, 路径是 ~/.stack/config.yaml , 我使用的是清华源, 要用到这两个 hackage ...
  • stack官方网站: ...首先: 在终端下键入下面这条命令: ... 出现以下情况: 在终端下输入命令: sudo apt install curl ...stack new my-project ...stack setup //作用:为你的项目找到合适的GHC stack build //作用:在此...
  • 该docker映像部署了Haskell的堆栈,并为尝试Haskell代码提供了便利的环境。 我制作这张图片是为了学习Haskell。 用法 建立影像 运行构建脚本: $ <repo>/build 运行容器 在容器内运行shell: $ <repo>/run 该脚本...
  • 但是没有关系,我们可以用Geany搭建一个比较不错的Haskell开发环境。 话不多说,咱们刷卡上车。 本文中出现的Geany截图可能和大家的长得不一样,别问我为什么我的Geany这么好看,问就是看这里。 Geany默认支持的...
  • Haskell超简单环境搭建

    2020-05-20 23:04:57
    需求:搭建一个灵活且通用的编写编译Haskell代码的方案。要求Windows,Linux,Mac三端通用,且迁移代码代价最小 首先找到一个最方便的Haskell编写IDE 选择方案有如下。IDEA+Haskell插件,Ecelipse+Haskell插件,...
  • 用stack搭建haskell编译环境

    千次阅读 2019-11-07 14:31:33
    sudo apt-get install haskell-platform ghci Prelude> 1+1 2 新建文件 hello.hs main = putStrLn "Hello, world!" 编译该文件: $ ghc --make hello [1 of 1] Compiling Main ( hello.hs, hello...
  • dotenv-hs:从dotenv文件中为Haskell加载环境变量
  • 大概倒腾了一周才搭建好Haskell的开发环境,遇到了很多莫名其妙的问题。 首先,Haskell实在是够冷门,中文网站上的信息实在有限。仅有的一些安装教程分享都感觉不大靠谱,所以我还是直接去外网找吧。 开始是想在...
  • Haskell 笔记(一)环境安装 Haskell Haskell是一种纯函数式编程语言(purely functional programming language) 安装 网址 https://www.haskell.org/ 下载 下载选择Haskell Platform, 包含了Haskell编译器(GHC)和一...
  • Haskell中的简单TDD环境

    2020-04-27 07:18:05
    我最近在Haskell使用了保龄球鞋 。 在此过程中,我发现了如何设置环境以轻松进行测试驱动开发。 希望其他人可以发现这篇文章对开始使用该语言有所帮助。 我使用了以下组件: Haskell安装: Haskell Platform 。 ...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 276
精华内容 110
关键字:

haskell环境