WebML: A Standard ML Compiler for the Web

栏目: IT技术 · 发布时间: 5年前

内容简介:WebML is to be a Standard ML (SML '97) Compiler that works on web browsers and generatesUnder very early stage of initial development. Compiles only minimal subset of SML codes. The garbage collector is not complete.not yet implemented

WebML -- A Standard ML compiler for the Web

WebML is to be a Standard ML (SML '97) Compiler that works on web browsers and generates WebAssembly binaries. WebAssembly binaries can be run on web browsers. This means you can run SMl REPL on web browsers.

Status

Under very early stage of initial development. Compiles only minimal subset of SML codes. The garbage collector is not complete.

Implemented features

Core

  • Declaration
    • val
      • basic ( val ident = expr )
      • pattern ( val pat = expr )
      • tyvar val 'a pat = expr
      • typed ( val pat : ty = expr )
      • and ( val pat = expr and pat = expr )
    • fun
      • basic ( fun ident ident ... = expr )
      • pattern ( fun ident pat ... = expr )
      • multi-clause ( fun ident pat ... = expr | ident pat ... = expr )
      • op ( fun op ident pat ... = expr )
      • tyvar ( fun 'a ident pat ... = expr )
      • typed ( fun ident pat ... : ty = expr )
      • and ( fun ident pat ... = expr and ident pat ... = expr )
    • type ( type ident = ty )
    • datatype
      • datatype ident = Con of ty | Con ...
        • basic ( datatype ident = Con of ty | Con ... )
        • tyvar ( datatype 'a ident = Con of ty | Con ... )
        • and ( datatype ident = Con | ... and ident = Con | ... )
        • withtype ( datatype ident = Con ... withtype .. )
      • datatype ident = datatype ident
    • abstype
    • exception
    • local ... in ... end
    • open ..
    • decl ; decl
      • decl decl
      • decl ; decl
    • infix
    • infixr
    • nofix
  • Expressions
    • special constant
      • integer
      • real
        • 123.456
        • 123e456
        • 123E456
        • 123e~456
      • word
      • char
      • string
    • value identifier
    • op
    • record
      • basic ( { label = expr , ...} )
      • tuple
      • 0-tuple
      • #label
    • list ( [expr, ..., expr] )
    • (expr; ...; expr)
    • paren ( (expr) )
    • let .. in .. end
      • basic ( let decl ... in expr end )
      • derived ( let decl ... in expr; ...; expr end )
    • function application
    • infix operator
      • L
      • R
    • typed ( exp : ty )
    • exception
      • handle
      • raise
    • fn
      • basic ( fn ident => expr )
      • pattern ( fn pat => expr )
      • multi-clause fn pat => expr | pat => expr ...
    • andalso
    • orelse
    • if .. then .. else
    • while .. do ..
    • case .. of ..
  • Pattern
    • wildcard
    • special constant
      • integer
      • word
      • char
      • string
    • value identifier
    • op
    • record
      • basic ( { label = pat , ...} )
      • wildcard ( ... )
      • label as variable ( { var (as pat), ...} )
      • tuple
      • 0-tuple
    • list
    • paren
    • Constructor
    • infix
    • typed ( pat : ty )
    • layerd ( ident as pat )
  • Type
    • type variable
    • record
    • type construction
      • without param ( ident )
      • with param ( ty ident )
    • tuple
    • function
    • paren
  • Initial Basis
    • unit
    • bool
      • true
      • false
    • int
    • word
    • string
    • char
    • list
      • nil
      • ::
    • ref
      • ref
      • :=
    • exn
    • =
    • Match
    • Bind
  • Overloaded
    • +
    • -
    • *
    • div
    • mod
    • /
    • <
    • >
    • <=
    • >=
    • abs
    • ~

Module

not yet implemented

Program

  • Program
    • decl ( decl decl ... )
    • expr ( expr decl ... )
      • Note: toplevel expression expr should be treated as val it = expr

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

scikit learn机器学习

scikit learn机器学习

黄永昌 / 机械工业出版社 / 2018-3-1 / CNY 59.00

本书通过通俗易懂的语言、丰富的图示和生动的实例,拨开了笼罩在机器学习上方复杂的数学“乌云”,让读者以较低的代价和门槛轻松入门机器学习。本书共分为11章,主要介绍了在Python环境下学习scikit-learn机器学习框架的相关知识。本书涵盖的主要内容有机器学习概述、Python机器学习软件包、机器学习理论基础、k-近邻算法、线性回归算法、逻辑回归算法、决策树、支持向量机、朴素贝叶斯算法、PCA ......一起来看看 《scikit learn机器学习》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具