语法-3.4:抽象语法的一般表示和操作

安全哈斯克尔
语言哈斯克尔2010

语言。句法。

描述

“语法糖”

有关详细信息,请参阅“EDSL的深埋和浅埋相结合”(2013年全要素生产率,网址:http://www.cse.chalmers.se/~emax/documents/sveningsson2013combining.pdf).

简介

文档

句法哪里 来源

通常假设(去糖(a) )具有相同的含义作为.

关联的类型

类型 答::*->*来源

类型 内部来源

方法

去糖::a->ASTF公司(a)(内部a)来源

::ASTF公司(a)(内部a) ->a来源

实例

复苏剂:: (句法a、,句法b、,一个~b、,内部一个~内部b) =>a->b来源

句法类型转换

语法Nf内部|f->内部哪里 来源

N元句法功能

去糖氮具有任何类型的表单:

去糖氮::(句法a,句法b。。。,句法x,域a~sym,域b~sym。。。,域x~sym)=>(a->b->…->x)->(ASTF sym(内部a)->ASTF sym(内部b)->。。。->ASTF sym(内部x))

……反之亦然糖N.

方法

去糖氮::f->内部来源

糖N::内部->f来源

实例

(句法f、 (~)(*->*)(f) sym,(~)*fi(AST公司sym(对称)(完全(内部f) )=>语法Nf fi(光纤) 来源 
(句法a、 (~)(*->*)(a) 符号,(~)*ia(内部a) ,语法Nf fi)=>语法N(a->f)(AST公司sym(对称)(完全ia)->fi) 来源 

sugarSym公司:: (签名sig、fi~SmartFun智能娱乐sup-sig,sig~智能Sigfi、sup~SmartSym公司fi、,合成战术Nf fi,接头:<:sup)=>亚信号->f来源

“糖衣”符号应用

sugarSym公司具有任何类型的表单:

sugarSym::(sub:<:AST补充,句法a,句法b。。。,句法x,域a~域b~…~域x)=>子(内部a:->内部b:->…:->完整(内部x))->(a->b->…->x)

sugar符号类型:: (签名sig、fi~SmartFun智能娱乐(打字sup)信号,信号~智能Sigfi、,打字供应~SmartSym公司fi、,语法Nf fi,接头:<:啜饮,可键入(拒绝结果sig)=>亚sig->f来源

“糖衣”符号应用

sugar符号类型具有任何类型的表单:

sugarSymTyped::(sub:<:AST(类型sup),句法a,句法b。。。,句法x,域a~域b~…~域x,可打字(内部x))=>子(内部a:->内部b:->…:->完整(内部x))->(a->b->…->x)