gf-服务器
食品.pgf
读取PGF :: 文件路径 -> IO(输入输出) PGF公司 线性化 :: PGF公司 -> 语言 -> 树 -> 字符串 线性化AllLang :: PGF公司 -> 树 -> [( 语言 , 字符串 )] 解析 :: PGF公司 -> 语言 -> 类别 -> 字符串 -> [ 树 ] 解析所有语言 :: PGF公司 -> 类别 -> 字符串 -> [( 语言 ,[ 树 ])] 语言 :: PGF公司 -> [ 语言 ] 类别 :: PGF公司 -> [ CId代码 ] 启动Cat :: PGF公司 -> 类别
进口 PGF公司 主要的 = 做 前列腺素f <- 读取PGF “食品.pgf” 相互作用 ( 无线条 . 地图 ( 翻译 前列腺素f ) . 线 ) 翻译 前列腺素f 秒 = 案例 解析所有语言 前列腺素f ( 启动Cat 前列腺素f ) 秒 属于 ( 从 , 树 : _ ) : _ -> 无线条 [ 使线性化 前列腺素f 到 树 | 到 <- 语言 前列腺素f , 到 /= 从 ] _ -> “无理由”
123是素数吗? 不。 77是否受损? 乌伊。
摘要 算术 = { 旗帜 启动 = 问题 ; 猫 答案 ; 对象 ; 问题 ; 乐趣 偶数 , 奇数 , 底漆 : 对象 -> 问题 ; 编号 : 国际 -> 对象 ; 是的 , 不 : 答案 ; }
混凝土 算术工程 属于 算术 = { 林肯猫 答案 , 对象 , 问题 = Str公司 ; 林 偶数对象 = 是 “偶数” 对象 ; 奇数对象 = 是 “奇数” 对象 ; Prime对象 = 是 “主要” 对象 ; 数字int = 整数 . 秒 ; 不 = “没有。” ; 是的 = “是的。” ; 操作人员 是 : Str公司 -> Str公司 -> Str公司 = \ pred(前) , 对象 -> “是” ++ 对象 ++ pred(前) ++ "?" ; }
进口 PGF公司 主要的 :: IO(输入输出) () 主要的 = 做 前列腺素f <- 读取PGF “算术.pgf” 相互作用 ( 无线条 . 地图 ( 翻译 前列腺素f 转移 ) . 线 ) 翻译 :: PGF公司 -> ( 树 -> 树 ) -> 字符串 -> 字符串 翻译 前列腺素f 转移 秒 = 案例 解析所有语言 前列腺素f ( 启动Cat 前列腺素f ) 秒 属于 ( 朗 , 树 : _ ) : _ -> 线性化 前列腺素f 朗 ( 转移 树 ) _ -> “无理由” 转移 :: 树 -> 树 --传输=。。。
模块 算术 哪里 数据 G回答 = GNo公司 | GYes公司 数据 G对象 = G编号 GInt公司 数据 G问题 = GEven公司 G对象 | GOdd公司 G对象 | G首字母 G对象 班 Gf公司 一 哪里 玻璃纤维 :: 一 -> 树 前景 :: 树 -> 一
进口 PGF公司 进口 算术 转移 :: 树 -> 树 转移 = 玻璃纤维 . 回答 . 前景 回答 :: G问题 -> G回答 回答 ( GEven公司 x个 ) = 测试 即使 x个 回答 ( GOdd公司 x个 ) = 测试 古怪的 x个 回答 ( G首字母 x个 ) = 测试 首要的 x个 测试 :: ( 国际 -> 布尔 ) -> G对象 -> G回答 测试 对 ( G编号 ( GInt公司 x个 )) = 如果 对 x个 然后 GYes公司 其他的 GNo公司 首要的 n个 = 和 [ n个 ` 国防部 ` d日 /= 0 | d日 <- [ 2 .. n个 - 1 ]]
gf-make--输出格式=js FoodEng.gf FoodIta.gf