写点什么

FP Complete 推出基于浏览器的 Haskell IDE

2013 年 9 月 13 日

FP Complete 推出了 FP Haskell Center ,这是他们新的 Haskell IDE 和应用程序服务器。该 IDE 基于浏览器实现,开发者能够通过该 IDE 和应用程序服务器更加容易地创建并运行基于 Web 的 Haskell 程序。

为什么要选择 Haskell 呢?FP Complete强调了Haskell 的“强类型检查能力,能够在编译时捕捉到所有的错误,而不是像传统语言那样在运行时捕捉,这让Haskell 程序员能够从一开始就创建干净、简洁和正确的代码”。它们还宣称“Haskell 把产品的上市时间提升了30% 到50%,大大提高了程序员的生产力,降低了成本,提高了产品质量”。但是到目前为止Haskell 的使用已经受阻,因为Haskell 是通过一组开源的国产工具集部署的,用户必须通过一个复杂且耗时的流程才能将它们拼凑到一起。

InfoQ 对函数式编程障碍的研究结果表明,匮乏的工具支持是限制其发展的第二大障碍。因此这就Haskell IDE 发挥作用的地方。虽然它现在依然缺少很多传统的IDE 所具有的功能,但是它已经具有增量编译、错误报告、语法高亮和代码完成功能,同时还集成了 Hoogle (Haskell API 搜索引擎)。基于 CodeMirror 的编辑器还集成了 Git 和 GitHub,当然也提供了部署程序所需要的操作。作为另一种选择,你还能够下载一个独立的你应用程序的二进制包。

为了了解构建该 IDE 过程中所面对的挑战,InfoQ 采访了 FP Complete 的相关负责人。

构建一个 Haskell IDE 的挑战在于帮助开发者利用 Haskell 所拥有的所有能力。我们想要为类型错误和语法错误提供即时反馈,消除对单独的解释器的需要,例如用于测试表达式的 GHCi。我们还想利用现有的工具,例如 Hoogle 和 Haskell 的类型签名,从而能够在编辑器中搜索数据库为开发者提供额外的帮助。随着时间的推移,我们将非常有机会提供更加实时的反馈让开发者能够纠正常见的编码错误。

其他的挑战是创建匹配 GHC 构建系统的项目管理以及消除使用 cabal 所带来的诸多复杂性。这样能够帮助 Haskell 新手越过一些初始的障碍和学习 Haskell 的挫折。对我们而言,让所有人都感觉 Haskell 是容易的、可接近的是最大的挑战,但是来自于用户的大量反馈让我们相信我们在很多重要的方面上都取得了成功。

InfoQ:为什么你们要选择创建一个基于浏览器的 IDE 而不是基于一个已有的 IDE 平台构建呢?

我们最初的目标是让更多的开发者能够使用这个优秀的语言和生态系统。我们感觉提供仅需要很少设置的工具能够减少学习和使用 Haskell 的挑战。我们现在正在做的大部分工作是为用户提供经过测试的、修正的、审查过的类库,让 Haskell 应用程序的部署更加容易。我们的系统不仅仅是一个 IDE。它是一个稳定的、提供商业支持的系统,它集成了 Haskell 平台,包含一个云构建系统和一个部署系统。今年秋天我们将会添加向防火墙后的系统进行部署的功能,从而简化对基于 Haskell 的应用程序和服务的构建、配置、部署和管理的任务,让用户不需要关注它们在哪里运行。

InfoQ:该 IDE 依然缺少很多典型的 IDE 所具有的功能,例如,它不支持反射、调试和单元测试。那么你们将来在这方面有什么计划?

是的,我们计划在下一个发布版中包含所有这些功能,该版本大约会在今年年底发布,而这期间的更新版本可能会包含其中的一部分功能。我们还计划添加一些功能从而支持那些由很多子项目构造而成或者依赖于其他项目的大型项目。大型项目需要一个大型项目构建系统。我们还打算在任何可能的时机利用已有的工具和类库。

此外,我们还打算创建一些 API 和插件从而能够在已有的 IDE 和编辑器中使用我们的系统。Emacs 和 VIM 就非常受 Haskell 社区欢迎。随着时间的推移,我们将会添加更多的内容,并且会利用 Haskell 社区成员所完成的优秀工作成果。

FP Complete 提供了 30 天的产品免费试用期,同时还有一些其他的选择(每一个授权许可每月75 美元)。学生和老师能够获取到免费帐号。你是一名Haskell 程序员么,或者说你想要成为其中的一份子么?那么请让我们知道你的想法!

查看英文原文 FP Complete Launches Browser Based Haskell IDE

2013 年 9 月 13 日 06:511365
用户头像

发布了 321 篇内容, 共 105.0 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

湖南省电信网络崩溃 一小时损失上亿,网友:还以为手机欠费了?

代码熬夜敲

黑客 网络安全 信息安全 网络 电信

Scrum Patterns:小团队(译)

Bruce Talk

敏捷开发 译文 Agile Scrum Patterns

Spark测试用例生成apache iceberg结果

聚变

大数据 iceberg

缓存系统设计精要

比伯

Java 互联网 面试 程序人生 技术宅

yyds!用飞桨玩明日方舟

百度大脑

百度 飞桨

重读《重构2》- 内联函数

顿晓

重构 4月日更

MOOM集团模式

飞亚科技

SpringBoot项目中的日志不会选型?带你认识主流日志框架,教你轻松切换日志框架

攻城狮Chova

slf4j 日志框架 4月日更

大数据文件浏览器

聚变

混战的低代码江湖,如何区分「李逵」和「李鬼」?

ToB行业头条

聪明人的训练(十三)

Changing Lin

4月日更

低代码之所以能火,离不开这些原因!

优秀

低代码

感谢Github帮我斩获了8家大厂Offer

Java架构师迁哥

一个可递归遍历的Vue树型组件

空城机

JavaScript vue.js 前端 4月日更

真的香!Github一夜爆火被各大厂要求直接下架的Java面试题库也太全了

程序员小毕

Java spring 程序员 架构 面试

微信被单删或拉黑?这两个免打扰检测方法你要知道。

彭宏豪95

微信 工具 社交 数据备份 4月日更

干货 | Redis进阶笔记

ninetyhe

redis 缓存 原理分析

cat监控http请求-CatFilter

青乡之b

监控 cat

颜色值JavaScript换算(HSV、RGB、十六进制颜色码)

空城机

JavaScript 前端 颜色值换算

你看起来很美味?独家揭露视频推荐系统AI秘方

脑极体

从程序员角度看湖南电信网络全崩,如何防范服务器被攻击以及解决方案

北游学Java

Java 网络安全 网络 服务器

用吃解决生活问题

石云升

读书笔记 好好吃饭 28天写作 4月日更

《中寰卫星导航项目管理部负责人卜钢:智能网联行业的问题与前景》(采访提纲):

谙忆

不确定的海浪中,更需要数字化转型的定海神针

脑极体

[TcaplusDB知识库]TcaplusDB的高可用性和数据安全性介绍

TcaplusDB

数据库 nosql 数据 TcaplusDB

Java编辑器

ベ布小禅

四月日更

活久见,58同城居然也有这么牛的Java内部教程

Java架构师迁哥

颠覆微服务认知:深入思考微服务的七个主流观点

xcbeyond

微服务 微服务架构 4月日更

一文搞懂MySQL体系架构!!

冰河

MySQL 数据库 程序员 系统架构 数据存储

java基础集合之HashMap

false℃

阿里P9纯手打的JDK文档太吊了,微软都开始学习了!

Java架构师迁哥

FP Complete 推出基于浏览器的Haskell IDE-InfoQ