GMTC 全球大前端技术大会 8 折涨价倒计时 2 天,现在购票立减 ¥960 ! 了解详情
写点什么

在 Linux 以及 Mac OS X 启用 F#

2016 年 4 月 29 日

随着.NET Core 的推进,如今我们在 Linux 和 Mac OS X 平台上也可以和原先 Windows 平台之下一样运行 F#程序。Microsoft 的 F#项目经理 David Stephens 先生在 Build 2016 大会上向大家介绍了如何在Linux 以及Mac OS X 启用F#

第一步需要安装.NET Core 工具。这一步对于C#和F#来说是相同的,这个工具是专属于.NET 而不是其他特定语言的。

一个基础的F#项目需要使用以下CLI 指令创建:

复制代码
dotnet new –lang f#

生成的项目文件是一个 Json 文件,该文件依照 NuGet 3 中引入的最新的项目文件格式。一个最新创建的 F#项目的 project.json 文件中包含了编译运行一个程序的基本依赖:

复制代码
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"compilerName": "fsc",
"compileFiles": [
"Program.fs"
],
"dependencies": {
"Microsoft.FSharp.Core.netcore": "1.0.0-alpha-151221",
"NETStandard.Library": "1.0.0-rc2-23811"
},
"frameworks": {
"dnxcore50": { }
}
}

在项目创建时并不包含依赖集。在执行程序之前唯一要做的一步是恢复它们:

复制代码
dotnet restore
dotnet run

以上所介绍的步骤是在 .NET Core 上编译运行一个 F#程序所需的最基础的步骤。跨平台 IDEs Visual Studio Code 和 Atom 通过开源扩展 Ionide 提供了对 F#的支持。此外,一些常用的 IDE 功能,比如说 autocompletion 和 Ionide 包括了:

值得注意的是,在运行 F#项目的同时,.Net CLI 和.Net Core 在运作,移植库到 .Net Core 中的工作也在运作。

查看英文原文 Getting Started with F# on Linux and Mac OS X


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016 年 4 月 29 日 19:001637
用户头像

发布了 217 篇内容, 共 52.6 次阅读, 收获喜欢 70 次。

关注

评论

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

云计算简史(上)- 15分钟读完15年

明道云

来自阿里面试官的Java面试连珠炮,让你自由发挥你能撑到哪一步?

Java成神之路

Java 程序员 架构 面试 编程语言

京东智联云MySQL数据库如何保障数据的可靠性?

京东科技开发者

MySQL 数据库

华为云数据安全中心正式公测,8大核心数据安全能力守护你的数据

华为云开发者社区

华为 安全 数据

websocket 是怎么连接的

lockdown56

nginx 网络 HTTP websocket

从分布式到微服务成长手册,助我面试跳槽斩获字节Offer

Java架构追梦

Java 学习 架构 面试 架构微服务

诸多老牌数据仓库厂商当前,Snowflake如何创近12年最大IPO金额

华为云开发者社区

数据仓库 数据 存储

程序员的美丽假期(并不)

Philips

敏捷开发 快速开发

反杀套路!阿里独家的MySQL优化王者晋级之路,跟弯路说再见

Java成神之路

Java 程序员 架构 面试 编程语言

“区块链技术创新要植根市场”

CECBC区块链专委会

金融科技 信息安全

分布式系统设计理念这么难学?

架构师修行之路

分布式 微服务

LAXCUS大数据集群操作系统:一个分布式分时共享E级系统软件(三)

陈泽云

人工智能 大数据 计算机网络 操作系统 网络

完美,阿里DBA骨干团队编写的792页MySQL调优笔记真香

周老师

Java 编程 程序员 架构 面试

“区块链×多方计算”解决众多难题 将成区块链应用新场景

CECBC区块链专委会

区块链 数据融合

第19届亚运会门票采用区块链技术防伪

CECBC区块链专委会

区块链技术 防伪 溯源

第12周作业

Vincent

极客时间 极客大学

甲方日常 33

句子

工作 随笔杂谈 日常

NET-Core中的配置文件操作

为体验更多

C# .net .net core ASP.NET Core

详细分析定制企业应用的价格

Learun

敏捷开发 快速开发 软件架构

“一个APP竟然可以适配这么多设备?!”《优酷响应式布局技术全解析》开放下载

破绽

阿里巴巴 阿里云 开发者 优酷 电子书

CloudQuery v1.1.1 修复版本发布

CloudQuery社区

数据库 sql 安全 工具软件

架构师训练营 - 第 4周课后作业(1 期)

Pudding

十七、深入Python异常处理

刘润森

Python

你听过CatBoost吗?本文教你如何使用CatBoost进行快速梯度提升

计算机与AI

Python 学习 优化

让AI人才在产业界闪闪发光:百度之星的“神奇滤镜”是怎样炼成的?

脑极体

有了容器为什么kubernetes还需要Pod?

架构师修行之路

分布式 微服务 pod kubernete

架构训练营 - 第4周课后作业 - 学习总结

Pudding

技术实践丨GaussDB(DWS)运维管理功能“升级”的原理和使用

华为云开发者社区

运维 数据 集群

5G时代音视频开发王器:WebRTC

华章IT

flutter WebRTC 音视频会议 React Native

考研须知

时间是一个人最好的证明

考研

GO 类型接口及反射间的转换

superman

go golang golang新手

在Linux以及Mac OS X启用F#-InfoQ