轻量级的 F# 库 FunScript

Apache
C#
Windows
2014-12-08
红薯

FunScript 是一个轻量级的 F# 库,可以让你快速开发单页 Web 应用。你可以连接到外部数据源并调用 REST API,生成面板,使用 JavaScript 可视化库,编写异步计算。

示例代码:

// Allow access to the F# AST
[<ReflectedDefinition>]
module Sample

open FSharp.Data
open FunScript
open FunScript.TypeScript

// Access standard JavaScript libraries in a type-safe way.
// Generate strongly-typed interfaces from TypeScript 0.9.x 
// definitions files or use any of the 280+ pre-built library
// mappings (hosted on NuGet).
#r "FunScript.TypeScript.Binding.lib.dll"
#r "FunScript.TypeScript.Binding.jquery.dll"
#r "FunScript.TypeScript.Binding.highcharts.dll"

// Integrate REST APIs with F# 3.0 type providers
type WorldBank = WorldBankDataProvider<Asynchronous=true>
let data = WorldBank.GetDataContext()

// Get full type checking for external data sources!
let countries = 
  [ data.Countries.Denmark
    data.Countries.``Czech Republic``
    data.Countries.``United Kingdom``
    data.Countries.``United States`` ]

// Easily define strongly-typed Foreign Function Interfaces
// (FFIs) to access unmapped functions
[<JSEmitInlineAttribute("({0} * 1.0)")>]
let number(x : int) : float = failwith "never"

// Write asynchronous computations without callbacks
let render () = async {
  let chart = createEmpty<HighchartsOptions>()
  chart.series <- [| |]
  for country in countries do

    // Access data sets in a statically typed way
    let data = country.Indicators
    let! l = data.``School enrollment, tertiary (% gross)``

    // Add line series to the chart
    let seriesOpts = createEmpty<HighchartsSeriesOptions>()
    seriesOpts.name <- country.Name
    seriesOpts.data <- 
        [| for t, y in l -> [| number t; y |] :> obj |]

    // Use a standard library function 
    // through ...Binding.lib.dll
    chart.series.pushOverload2 seriesOpts |> ignore 
}
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

JavaScript 解析器相关资料 AST Parser。。。

http://0xmiracle.sinaapp.com/blog/?p=453 看了acorn和uglifyjs,对编译又有了点兴趣。 转一下这篇list mark一下。 https://github.com/jashkenas/coffee-script/wiki/List-of-languages-th...

2012/12/09 16:40
742
0
一些.NET的开源项目资料

API 框架 NancyFx:轻量、用于构建 HTTP 基础服务的非正式(low-ceremony)框架,基于.Net 及 Mono 平台。 ASP.NET WebAPI:快捷创建 HTTP 服务的框架,可以广泛用于多种不同的客户端,包括浏...

03/15 09:25
94
0
.Net 资源大全中文版

# DotNet 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。[awesome-dotnet](https://github.com/quozd/awesome-dotnet) 是由 quozd 发起和维护。内容...

2016/09/20 09:35
227
0
DotNet 资源大全

DotNet 资源大全

2016/04/21 12:34
120
2
Word天,.Net 大集合,学学学~~~

Awesome .NET! API NancyFx - Lightweight, low-ceremony, framework for building HTTP based services on .Net and Mono ASP.NET WebAPI - Framework that makes it easy to build HTTP se...

2016/12/21 13:13
100
0
转帖:DotNet 资源大全中文版

为开源社区的发展,略尽绵薄。.NET开源框架、.NET开源项目。

2016/11/08 12:49
157
1
DotNet 资源大全中文版(Awesome最新版)

为.NET开源事业,略尽绵薄。本文转载自博客园。内容集中整理了很多.NET方面的相关资源。大家可以继续不断补充,繁荣开源社区。

2016/09/20 12:57
114
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部