阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

  • 2013-09-13
  • 本文字数:1625 字

    阅读完需:约 5 分钟

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-09-13 06:511739
用户头像

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

关注

评论

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

详解UDS CAN诊断:DiagnosticSessionControl Service(SID:0X10)

不脱发的程序猿

嵌入式 汽车电子 ISO 14229 UDS诊断 诊断和通信管理功能单元

单一职责原则详解

杨充

研发管理如何度量「人效」

feijieppm

项目管理 研发效能 技术管理 文化 & 方法 效能度量

为什么我们提供了新的公共镜像库

Jianmu

k8s 镜像 Docker 镜像 容器镜像加速

xxj-job服务端架构流程

IT巅峰技术

支持向量机-SVC的模型评估指标

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

融云全球社交泛娱乐洞察,老资格的「游戏社交」还有哪些想象空间

融云 RongCloud

社交 泛娱乐社交

开闭原则详细介绍

杨充

支持向量机-ROC曲线中的概率和阈值

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

数据治理:数据标准建设方法和流程

用友BIP

汽配行业erp系统解决方案!

优秀

低代码 ERP系统 汽配行业

华为云GaussDB 为企业数字化踩了一脚油门

爱科技的水月

凝心聚力 开源共建 | 统信软件参与成立OpenKunlun开源固件社区

统信软件

开源 开源社区 开源技术

读《程序是怎样跑起来的》体会

听风go

读书笔记 后端 计算机 计算机原理 读书总结

深度学习-浅谈keras的扩展性

AIWeker

深度学习 keras 11月月更

【万字爆肝】带你了解浏览器原理

FE情报局

JavaScript 前端 浏览器 11月月更

企业办公新模式,随时随地云上协同!

秃头也爱科技

华为云大数据平台,助力企业数字化转型成效明显

路过的憨憨

华为云桌面Workspace,让云上工作更高效!

路过的憨憨

详解UDS CAN诊断:什么是UDS(ISO 14229)诊断?

不脱发的程序猿

嵌入式 汽车电子 ISO 14229 CAN诊断 UDS诊断

「Go易错集锦」正确使用defer避免代码重复

Go学堂

golang 程序员 个人成长 defer 11月月更

细说值传递、引用传递和地址传递

海风极客

编程语言 计算机基础 11月月更

python版本管理工具DVC

AIWeker

人工智能 版本管理 11月月更 dvc

制造业要用龙头带动整条产业链发展,阿里云智能制造加速器首次集结

B Impact

得物视频编辑工具优化全指南

得物技术

性能优化 线程 视频特效 视频转码

Python数据可视化:类别比较图表可视化

不脱发的程序猿

Python Python数据可视化 数据分析可视化 类别比较型图表

赫夫曼树编码实验报告

我是一个茶壶

数据结构 哈夫曼树 11月月更

2022-11-29:查找重复的电子邮箱。以下数据中a@b.com是重复的,请写出sql语句。 DROP TABLE IF EXISTS person; CREATE TABLE person (

福大大架构师每日一题

数据库 福大大

元器件科普 | 为什么电感在直流电路中相当于短路?(附视频讲解)

元器件秋姐

元器件知识 电感 电感原理 电感元件 元器件科普

Python数据可视化:如何选择合适的图表可视化?

不脱发的程序猿

Python Python数据可视化 选择合适的图表可视化? 数据分析可视化

Linux yum 命令

智趣匠

yum源 11月月更 Linux系统指令

FP Complete 推出基于浏览器的Haskell IDE_后端_Mirko Stocker_InfoQ精选文章