语法-1.3:通用抽象语法和嵌入式语言实用程序

安全哈斯克尔

语言。句法。

描述

“语法糖”

简介

文档

句法哪里来源

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

关联的类型

类型 答::*->*来源

类型 内部来源

方法

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

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

实例

(句法a、 ~(*->*)(a)(HODomain公司dom p pVar),句法b、 ~(*->*)(b)(HODomain公司dom p pVar),p(内部a->内部b) ,第页(内部a) ,pVar(pVar)(内部a) )=>句法(a->b) 
(句法a、 ~(*->*)(a) dom、,句法b、 ~(*->*)(b) dom、,注入C 薄纱dom公司(内部a、,内部b) ,注入C 选择多姆(内部a) ,注入C 选择dom公司(内部b) )=>句法(a、b) 
(句法a、 ~(*->*)(a) dom、,句法b、 ~(*->*)(b) dom、,TupleSat卫星dom p,p(内部a、,内部b) ,第页(内部a) ,第页(内部b) ,注入C(以下为:|| 薄纱p) dom公司(内部a、,内部b) ,注入C(以下为:|| 选择p) dom公司(内部a) ,注入C(以下为:|| 选择p) dom公司(内部b) )=>句法(a、b) 
句法(ASTF公司域名a) 
(句法a、 ~(*->*)(a) dom、,句法b、 ~(*->*)(b) dom、,句法c、 ~(*->*)(c) dom、,注入C 薄纱dom公司(内部a、,内部b、,内部c) ,注入C 选择dom公司(内部a) ,注入C 选择dom公司(内部b) ,注入C 选择dom公司(内部c) )=>句法(a、b、c) 
(句法a、 ~(*->*)(a) dom、,句法b、 ~(*->*)(b) dom、,句法c、 ~(*->*)(c) dom、,TupleSat卫星dom p、p(内部a、,内部b、,内部c) ,p(内部a) ,第页(内部b) ,第页(内部c) ,注入C(以下为:|| 薄纱p) dom公司(内部a、,内部b、,内部c) ,注入C(以下为:|| 选择p) dom公司(内部a) ,注入C(以下为:|| 选择p) dom公司(内部b) ,注入C(以下为:|| 选择p) dom公司(内部c) )=>句法(a、b、c) 
(句法a、 ~(*->*)(a) dom、,句法b、 ~(*->*)(b) dom、,句法c、 ~(*->*)(c) dom、,句法d、 ~(*->*)(d) dom、,注入C 薄纱多姆(内部a、,内部b、,内部c、,内部d) ,注入C 选择dom公司(内部a) ,注入C 选择dom公司(内部b) ,注入C 选择dom公司(内部c) ,注入C 选择dom公司(内部d) )=>句法(a、b、c、d) 
(句法a、 ~(*->*)(a) dom、,句法b、 ~(*->*)(b) dom、,句法c、 ~(*->*)(c) dom、,句法d、 ~(*->*)(d) dom、,TupleSat卫星dom p、p(内部a、,内部b、,内部c、,内部d) ,第页(内部a) ,第页(内部b) ,第页(内部c) ,第页(内部d) ,注入C(以下为:|| 薄纱p) dom公司(内部a、,内部b、,内部c、,内部d) ,注入C(以下为:|| 选择p) dom公司(内部a) ,注入C(以下为:|| 选择p) dom公司(内部b) ,注入C(以下为:|| 选择p) dom公司(内部c) ,注入C(以下为:|| 选择p) dom公司(内部d) )=>句法(a、b、c、d) 
(句法a、 ~(*->*)(a)(HODomain公司dom公司可打字的pVar),注入C(蒙纳德m) dom(米(内部a) ),莫纳德m之间,可键入1m之间,可输入(内部a) ,pVar(pVar)(内部a) )=>句法(周一dom p变量m a) 
(句法a、 ~(*->*)(a) dom、,句法b、 ~(*->*)(b) dom、,句法c、 ~(*->*)(c) dom、,句法d、 ~(*->*)(d) dom、,句法e、 ~(*->*)(e) dom、,注入C 薄纱dom公司(内部a、,内部b、,内部c、,内部日期:,内部e) ,注入C 选择dom公司(内部a) ,注入C 选择dom公司(内部b) ,注入C 选择dom公司(内部c) ,注入C 选择dom公司(内部d) ,注入C 选择dom公司(内部e) )=>句法(a、b、c、d、e) 
(句法a、 ~(*->*)(a) dom、,句法b、 ~(*->*)(b) dom、,句法c、 ~(*->*)(c) dom、,句法d、 ~(*->*)(d) dom、,句法e、 ~(*->*)(e) dom、,TupleSat卫星dom p,p(内部a、,内部b、,内部c、,内部日期:,内部e) ,第页(内部a) ,第页(内部b) ,第页(内部c) ,第页(内部d) ,第页(内部e) ,注入C(以下为:|| 薄纱p) dom公司(内部a、,内部b、,内部c、,内部日期:,内部e) ,注入C(以下为:|| 选择p) dom公司(内部a) ,注入C(以下为:|| 选择p) dom公司(内部b) ,注入C(以下为:|| 选择p) dom公司(内部c) ,注入C(以下为:|| 选择p) dom公司(内部d) ,注入C(以下为:|| 选择p) dom公司(内部e) )=>句法(a、b、c、d、e) 
(句法a、 ~(*->*)(a) dom中,句法b、 ~(*->*)(b) dom、,句法c、 ~(*->*)(c) dom、,句法d、 ~(*->*)(d) dom中,句法e、 ~(*->*)(e) dom、,句法f、 ~(*->*)(f) dom、,注入C 薄纱dom公司(内部a、,内部b、,内部c、,内部日期:,内部e、,内部f) ,注入C 选择dom公司(内部a) ,注入C 选择dom公司(内部b) ,注入C 选择dom公司(内部c) ,注入C 选择dom公司(内部d) ,注入C 选择dom公司(内部e) ,注入C 选择dom公司(内部f) )=>句法(a、b、c、d、e、f) 
(句法a、 ~(*->*)(a) dom、,句法b、 ~(*->*)(b) dom、,句法c、 ~(*->*)(c) dom、,句法d、 ~(*->*)(d) dom、,句法e、 ~(*->*)(e) dom中,句法f、 ~(*->*)(f) dom、,TupleSat卫星dom p、p(内部a、,内部b、,内部c、,内部日期:,内部e、,内部f) ,第页(内部a) ,p(内部b) ,第页(内部c) ,第页(内部d) ,第页(内部e) ,第页(内部f) ,注入C(以下为:|| 薄纱p) dom公司(内部a、,内部b、,内部c、,内部日期:,内部e、,内部f) ,注入C(以下为:|| 选择p) dom公司(内部a) ,注入C(以下为:|| 选择p) dom公司(内部b) ,注入C(以下为:|| 选择p) dom公司(内部c) ,注入C(以下为:|| 选择p) dom公司(内部d) ,注入C(以下为:|| 选择p) dom公司(内部e) ,注入C(以下为:|| 选择p) dom公司(内部f) )=>句法(a、b、c、d、e、f) 
(句法a、 ~(*->*)(a) dom、,句法b、 ~(*->*)(b) dom、,句法c、 ~(*->*)(c) dom、,句法d、 ~(*->*)(d) dom、,句法e、 ~(*->*)(e) dom中,句法f、 ~(*->*)(f) dom、,句法g、 ~(*->*)(g) dom、,注入C 薄纱多姆(内部a、,内部b、,内部c、,内部日期:,内部e、,内部f中,内部g) ,注入C 选择dom公司(内部a) ,注入C 选择dom公司(内部b) ,注入C 选择dom公司(内部c) ,注入C 选择多姆(内部d) ,注入C 选择dom公司(内部e) ,注入C 选择dom公司(内部f) ,注入C 选择dom公司(内部g) )=>句法(a、b、c、d、e、f、g) 
(句法a、 ~(*->*)(a) dom、,句法b、 ~(*->*)(b) dom、,句法c、 ~(*->*)(c) dom、,句法d、 ~(*->*)(d) dom、,句法e、 ~(*->*)(e) dom、,句法f、 ~(*->*)(f) dom、,句法g、 ~(*->*)(g) dom中,TupleSat卫星dom p、p(内部a、,内部b、,内部c、,内部日期:,内部e、,内部f中,内部g) ,第页(内部a) ,第页(内部b) ,第页(内部c) ,p(内部d) ,第页(内部e) ,第页(内部f) ,第页(内部g) ,注入C(以下为:|| 薄纱p) dom公司(内部a、,内部b、,内部c、,内部日期:,内部e、,内部f中,内部g) ,注入C(以下为:|| 选择p) dom公司(内部a) ,注入C(以下为:|| 选择p) 多姆(内部b) ,注入C(以下为:|| 选择p) dom公司(内部c) ,注入C(以下为:|| 选择p) dom公司(内部d) ,注入C(以下为:|| 选择p) dom公司(内部e) ,注入C(以下为:|| 选择p) dom公司(内部f) ,注入C(以下为:|| 选择p) dom公司(内部g) )=>句法(a、b、c、d、e、f、g) 

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

句法类型转换

语法N内部|a->内部哪里来源

N元句法功能

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

减温::(句法a,句法b, ...,句法x,域域,域b~dom, ...,域x~dom)=>(a->b->…->x)->(ASTF dom(内部a)->ASTF dom(内部b)-> ...->ASTF dom(内部x))

……反之亦然糖N.

方法

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

糖N::内部->a来源

实例

(句法a、 ~(*->*)(a) dom,~*ia(AST公司dom公司(已满(内部a) )=>语法Na ia公司 
(句法a、 ~(*->*)(a) dom,~*ia(内部a) ,语法Nb ib)=>语法N(a->b)(AST公司dom公司(已满ia)->ib) 

sugarSym公司::(对称:<: AST公司dom、,应用Sym信号域,合成战术Nc b)=>对称信号->c来源

“糖衣”符号应用

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

sugarSym::(经验:<:AST dom,句法a dom,句法b dom, ...,句法x dom)=>expr(内部a:->内部b:->…:->完整(内部x))->(a->b->…->x)

糖SymC:: (注入Csym(对称)(AST公司dom)(拒绝结果信号),应用Sym信号域,语法Nc b)=>对称信号->c来源

“糖衣”符号应用

糖SymC具有任何类型的表单:

sugarSymC::(InjectC expr(AST dom)(内部x),句法a dom,句法b dom, ...,句法x dom)=>expr(内部a:->内部b:->…:->完整(内部x))->(a->b->…->x)