写点什么

在 Linux 以及 Mac OS X 启用 F#

  • 2016-04-29
  • 本文字数:784 字

    阅读完需:约 3 分钟

随着.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-04-29 19:002373
用户头像

发布了 218 篇内容, 共 72.9 次阅读, 收获喜欢 76 次。

关注

评论

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

论 Erda 的安全之道

尔达Erda

云原生 安全 企业数字化转型 云平台 开发平台

TrafficStatsRunnable 实用封装

Changing Lin

8月日更

2021第二届云原生编程挑战赛正式启动,抢先报名!

阿里巴巴云原生

阿里云 Serverless RocketMQ 云原生 dubbo

阿里云-云开发平台入门篇——静态网站的全生命周期实战

若尘

阿里云 8月日更

限12小时删!白嫖对标阿里P5—P8的Java学习路线+大厂刷题秘籍

Java架构追梦

Java 阿里巴巴 架构 面试

只需6步,教你从零开发一个签到小程序

华为云开发者联盟

小程序 App 移动 智慧校园 FunctionGraph

九大核心专题,630页内容,熬夜23天吃透,我收割了3个大厂offer

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

赛迪发布《2020-2021年中国IT服务市场研究年度报告》,联想位居第一梯队

科技大数据

科技互联网

推动数据中心行业的“水电煤”,可视化如何用数据改变传统产业?

一只数据鲸鱼

机房 数据可视化 数字孪生 智能IDC

百度智能云遇到三一重机,工程机械维保有了新方案

百度大脑

人工智能 三一重工

FIL分币平台|FIL算力系统软件开发技术

量化系统19942438797

#区块链# fil币

Spark 架构剖析:一个任务是怎么运行的

程序员赤小豆

大数据 spark 架构

632页!我熬夜读完这份“高分宝典”,竟4面拿下字节跳动offer

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

在阿里晋升3次,5年拿下P8岗位,这份pdf记录了我的整个成长过程

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

面试阿里P6,过关斩将直通2面,结果3面找了个架构师来吊打我?

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

Serverless 全能选手,再添一“金”

Serverless Devs

Serverless 互联网 云原生

三面阿里被挂,竟获内推名额,历经5面拿下口碑offer(Java后台)

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

不愧为京东内部Spring Boot全解笔记,真的是把精髓全总结出来了

Java~~~

Java 面试 Spring Boot 架构师 京东

一个弱鸡管理者如何带领一支牛逼的队伍?

弱鸡管理者

安全 技术人 创新 技术人应知的创新思维模型 管理经验

去中心化市值管理机器人开发|去中心化做市机器人

Geek_23f0c3

量化交易机器人系统开发 市值管理机器人系统开发 去中心化市值管理机器人

如何实时打通数据孤岛?Tapdata 创始人唐建法受邀于GOTC深度分享

tapdata

数据库 打通数据孤岛 数据同步 Real Time DaaS GOTC

Python代码阅读(第4篇):过滤掉列表中的唯一值

Felix

Python 编程 Code Programing 阅读代码

iOS开发-为 iOS 编写 Kotlin Parcelize 编译器插件

iOSer

ios 编译器 编译器原理 iOS 知识体系 Kotlin Parcelize

如何保存数据并更快地从勒索软件攻击中恢复

九河云安全

【Vue2.x 源码学习】第二十七篇 - Vue 生命周期的实现

Brave

源码 vue2 8月日更

这本“算法宝典”讲得透彻,完全掌握后,我竟拿到字节跳动offer

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

50 亿观众的 “云上奥运”,顶级媒体背后的数智化力量

阿里云CloudImagine

阿里云 直播技术 视频制作 视频云 奥运

看完字节大佬的算法刷题宝典,我直接手撕了500道算法算法题

Java~~~

Java 面试 算法 二叉树 架构师

你的工作有弹性么?

escray

学习 极客时间 朱赟的技术管理课 8月日更

基于香港服务器的应用开发中测试数据管理的 3 个最佳实践

九河云安全

防止数据丢失和减轻勒索软件攻击的 5 种方法

九河云安全

在Linux以及Mac OS X启用F#_.NET_Pierre-Luc Maheu_InfoQ精选文章