haskell是一门通用函数式语言,几乎可以进行任何种类的开发,包括命令行,GUI,数据库,Web.源代码可以跨平台: Linux,Mac, Windows, FreeBSD 等.

haskell特点:

函数式变成风格为主,命令式风格为辅,具有严格且方便易用的类型系统。类型检查可以帮助程序员在开发过程中避免很多错误,并辅助组织程序的结构。

haskell的开发工具

主要有 GHC, hugs 两种, 还有中 nhc 没用过就不说了。我们这里要安装的是 GHC,以及在 ghc 基础上的 Haskell Platform。

GHC:

全称: Glasgow Haskell Compiler , 包含一个高效的Haskell编译器ghc,以及一个类似 python 交互环境的解释器 ghci 。GHC可以编译生成高效的可执行程序。

GHC 可以解释执行 Haskell Script (通常是以 .hs 作为结尾),也可以编译。它还有个交互模式,你可以在里面调用 Script 里定义的函数,即时得到结果。 对于学习而言,这比每次修改都编译执行要方便的多。想进入交互模式,只要打开控制台输入ghci 即可。假设你在 myfunctions.hs 里定义了一些函数,在 ghci 中输入 :l myfunctions.hs,ghci 便会加载myfunctions.hs。之后你便可以调用你定义的函数。一旦修改了这个 .hs 文件的内容,再次执行:l myfunctions.hs 或者相同作用的 :r ,都可以重新加载该文件。我自己通常就是在 .hs 文件中定义几个函数,再到 ghci 加载,调用看看,再修改再重新加载。

Haskell Platform

Haskell Platform 是一个打包的haskell 开发环境,包含GHC以及很多第三方开发库,以及cabal 包管理器等。推荐下载这个:

http://www.haskell.org/platform/ 各个平台都有。

安装后:

Tools:

  • ghc: Compiler similar to gcc for C.
  • ghci: Interactive Haskell (REPL)
  • runhaskell: Execute a program without compiling it. Convenient but very slow compared to compiled progra

cabal是什么?

简单说就是 Ubuntu 的  apt-get, Perl 的 cpan , Python 的 easy_install , Ruby 的 gem 。 这么说明白了吧.

要安装一个第三方库,只需要:  cabal install lib-name 就可以了。 几乎就这么简单。

怎么安装 Haskell 的第三方库?

有一个 HackageDB   类似与 Perl 的cpan 的东西,这个列表包含了 Haskell 可用的第三方库。安装用同一的方式:  cabal install libname 就可以了。 大部分的库可以很方便的安装,不过一些第三方库会依赖一些特定系统的库,因此不是总能顺利安装。

更多:http://blog.csdn.net/albert_lee/article/details/5469933

haskell 开发环境配置的更多相关文章

  1. 费劲周折的Haskell开发环境搭建过程

    大概倒腾了一周才搭建好Haskell的开发环境,遇到了很多莫名其妙的问题. 首先,Haskell实在是够冷门,中文网站上的信息实在有限.仅有的一些安装教程分享都感觉不大靠谱,所以我还是直接去外网找吧. ...

  2. Python开发环境配置

    好久没有写博客了,自从6月份毕业后,进入一家做书法.字画文化宣传的互联网公司(www.manyiaby.com),这段时间一直在进行前端开发,对于后端的使用很少了,整天都是什么html.css.jav ...

  3. Visual studio 通用开发环境配置:SDL,FFMPEG为例

    引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的. 配置库文件的包含目录(include)和库 ...

  4. AndroidStudio开发环境配置-Windows

    Android Studio开发环境配置-Windows 最近突发奇想,开始研究Android开发.开始时使用Eclipse作为开发IDE,结果各种不好使,首先下载和安装SDK,以及不同版本的Imag ...

  5. WIN10下java8的开发环境配置与第一个java程序

    一.开发环境配置 1.在官网上下载jdk-8u111-windows-x64.exe 2.运行安装包,可以自定义安装路径 3.进入环境变量设置: 计算机右键-->属性-->高级系统设置-- ...

  6. Mac下golang开发环境配置

    go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发. 下面介绍在Mac OS X中golang的开发环境配置. 1.安装brew brew是一个mac下的由ruby开发 ...

  7. win7 x64 vs2010 directShow开发环境配置

    近来工作需要,要用dirrectShow写一个视频播放的demo验证自己的想法.开发环境配置了好久都没有成功,最后终于弄完,现在记录下来,以后有同学遇到同样问题,可以以此法解决. windows SD ...

  8. 基于Eclipse的Hadoop应用开发环境配置

    基于Eclipse的Hadoop应用开发环境配置 我的开发环境: 操作系统ubuntu11.10 单机模式 Hadoop版本:hadoop-0.20.1 Eclipse版本:eclipse-java- ...

  9. XMPP开发环境配置

    首先配置XMPP开发环境配置需要的软件 先安装xampp-osx-1.8.3-5-installer.dmg 安装成功后launchpad里会多出一个XAMPP(其他),点开里面的manager-os ...

随机推荐

  1. [Unity3d][NGUI]两种思路解决AssetBundle的依赖关系.

    接上文. 使用上文中的AssetBundle打包方式生成的文件包括了依赖关系中的文件. 一般的使用中并不会发现什么问题. 可是当配合NGUI的时候,使用dynamicFont时打包AssetBundl ...

  2. DirectX 11游戏编程学习笔记之8: 第6章Drawing in Direct3D(在Direct3D中绘制)(习题解答)

            本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...

  3. Linux下生产者与消费者的线程实现

    代码见<现代操作系统> 第3版. 为了显示效果,添加了printf()函数来显示运行效果 #include<stdio.h> #include<pthread.h> ...

  4. Queueing in the Linux Network Stack !!!!!!!!!!!!!!!

    https://www.coverfire.com/articles/queueing-in-the-linux-network-stack/ Queueing in the Linux Networ ...

  5. Linux驱动开发学习的一些必要步骤

      1. 学会写简单的makefile 2. 编一应用程序,可以用makefile跑起来 3. 学会写驱动的makefile 4. 写一简单char驱动,makefile编译通过,可以insmod, ...

  6. RuntimePermissions

    This sample shows runtime permissions available in Android M and above. Display the log on screen to ...

  7. iOS图片拉伸

    常用的图片拉伸场景有:聊天页面的气泡,需要根据内容拉伸,但圆角拉伸后会变形,为避免圆角拉伸,可以指定拉伸区域.UIImage实体调用以下方法即可指定拉伸区域. - (UIImage *)stretch ...

  8. Deep Learning学习随记(一)稀疏自编码器

    最近开始看Deep Learning,随手记点,方便以后查看. 主要参考资料是Stanford 教授 Andrew Ng 的 Deep Learning 教程讲义:http://deeplearnin ...

  9. iOS开发之字典数据建立模型步骤

    1. 在控制器属性的(questions)set方法中完成字典转模型的操作 - (NSArray *)questions { if (nil == _questions) { //1.加载plist文 ...

  10. 你好,C++(8)如何表达那些始终保持不变的数据量?3.2.2 常量

    3.2.2  常量 与变量可以用在程序中表达那些可能会发生变化的数据量相对应地,在C++中,我们用常量来表达那些始终保持不变的数据量.简单来讲,就是程序中直接使用的数值.字符.字符串以及const关键 ...