--|可以在任何类型的环境中工作的命令,或者因为它们不工作
--使用PGF,或者因为它们只是在这里记录和实现的
--其他地方
模块 GF.命令。通用命令 哪里
进口 数据。列表(分类)
进口 数据。烧焦 (isSpace公司)
进口 GF.命令。命令信息
进口 有资格的 数据。地图 作为 地图
进口 GF.参考。SIO公司
进口 GF.参考。UseIO(使用IO)(写入UTF8文件)
进口 GF.参考。选项(重命名编码)
进口 GF.系统。慰问(更改控制台编码)
进口 GF.系统。过程
进口 GF.命令。摘要 --(isOpt、valStrOpts、prOpt)
进口 GF.文本。很漂亮
进口 GF.文本。音译
进口 GF.文本。莱克辛(字符串Op,操作InEnv)
进口 数据。烧焦 (isSpace公司)

进口 有资格的 前列腺素F 作为 H(H)(显示CID,显示Expr,到树,到Trie,尝试(..))

扩展::映射k a->[(k,a)]->映射k a延伸 映射ka古老的 [(k,a)]新的 = 地图ka->地图ka->映射ka对于所有k a。Ord k=>Map k a->Map k a->Map ka地图.联合体 ([(k,a)]->映射k a对于所有k a。Ord k=>[(k,a)]->映射k a映射自列表 [(k,a)]新的) 映射ka古老的 --Map.union是左撇子

common命令 :: (莫纳德 ,MonadSIO公司 ) => 地图。地图 字符串 (命令信息 )
commonCommands::映射字符串(CommandInfo m)common命令 = (CommandInfo SIO->CommandInfom)->映射字符串(CommandInfo SIO)->映射字符串(CommandInfo m)对于所有(f::*->*)a b.函数f=>(a->b)->fa->fb功能性维修计划 ((SIO命令输出->m命令输出)->命令信息SIO->命令信息m对于所有(m1::*->*)(m2::*->*)。(m1命令输出->m2命令输出)->命令信息m1->CommandInfo m2mapCommandExec(映射命令执行) SIO命令输出->m命令输出对于所有(m::*->*)a.MonadSIO m=>SIO a->ma提升型IO) (映射字符串(CommandInfo SIO)->映射字符串(CommandInfo m))->映射字符串(CommandInfo SIO)->映射字符串(CommandInfo m)对于所有a b(a->b)->a->b$ [(String,CommandInfo SIO)]->映射字符串(CommandInfo-SIO)对于所有k a。Ord k=>[(k,a)]->映射k a映射自列表 [
  (字符串"!", 命令信息SIO所有(m::*->*)。命令信息m清空命令信息 {
     提要::字符串简介 = 字符串“系统命令:转义到系统外壳”,
     语法::字符串语法   = 字符串“!SYSTEMCOMMAND”,
     示例::[(String,String)]示例 = [
       (字符串“!ls*.gf”,  字符串“列出工作目录中的所有GF文件”)
       ]
     }),
  (字符串"?", 命令信息SIO所有(m::*->*)。命令信息m清空命令信息 {
     提要::字符串简介 = 字符串“系统管道:将值从上一个命令发送到系统命令”,
     语法::字符串语法   = 字符串“?SYSTEMCOMMAND”(系统管理员),
     示例::[(字符串,字符串)]示例 = [
       (字符串“gt|l|?wc”,  字符串“生成,线性化,字数”)
       ]
     }),
  (字符串“直流”,  命令信息SIO所有(m::*->*)。命令信息m清空命令信息 {
     longname::字符串长名 = 字符串“定义命令”,
     语法::字符串语法 = 字符串“dc识别命令行”,
     提要::字符串简介 = 字符串“定义命令宏”,
     说明::字符串解释 = [String]->字符串无线条 [
       字符串将IDENT定义为COMMANDLINE的宏,直到IDENT被重新定义,
       字符串“命令调用的格式为%IDENT。命令可以采用”,
       字符串“参数,在COMMANDLINE中标记为?0。字符串和“,
       字符串“树可以是参数。目前最多只能有一个参数。”,
       字符串此命令必须是它自己的一行,因此不能是其中的一部分,
       字符串“一根管子。”
       ]
     }),
  (字符串“日期”,  命令信息SIO所有(m::*->*)。命令信息m清空命令信息 {
     longname::字符串长名 = 字符串“define_tree”,
     语法::字符串语法 = 字符串“dt识别符(树|字符串| \”<\“命令行)”,
     提要::字符串简介 = 字符串“定义树或字符串宏”,
     说明::字符串解释 = [String]->字符串无线条 [
       字符串将IDENT定义为TREE或STRING的宏,直到IDENT被重新定义,
       字符串定义值也可以来自前面加有“<\”的命令,
       字符串如果命令给出了许多值,则选择第一个值,
       字符串“宏的使用形式为%IDENT。当前此用法不能为”,
       字符串“另一棵树的子树。此命令必须是它自己的一行”,
       字符串“因此不能成为管道的一部分。”
       ],
     示例::[(String,String)]示例 = [
       字符串->(String,String)mkEx公司 (字符串“dt ex \”hello world \“--将ex定义为字符串”),
       字符串->(String,String)mkEx公司 (字符串“dt ex UseN man_N--将ex定义为字符串”),
       字符串->(String,String)mkEx公司 (字符串“dt-ex<p-cat=NP\”车里的男人\“--将ex定义为解析结果”),
       字符串->(String,String)mkEx公司 (字符串“l-lang=LangSwe%ex | ps-to_utf8--将树ex线性化”)
       ]
     }),
  (字符串“e”,  命令信息SIO所有(m::*->*)。命令信息m清空命令信息 {
     longname::字符串长名 = 字符串“空”,
     提要::字符串简介 = 字符串“清空环境”
     }),
  (字符串“嗯”,  命令信息SIO所有(m::*->*)。命令信息m空的通讯信息 {
     longname::字符串长名 = 字符串“执行历史记录”,
     语法::字符串语法 = 字符串“eh文件”,
     提要::字符串简介 = 字符串“从文件中读取命令并执行它们”
     }),
  (字符串“ph值”, 命令信息SIO所有(m::*->*)。命令信息m清空命令信息 {
     longname::字符串长名 = 字符串“打印历史记录”,
     提要::字符串简介 = 字符串“打印命令历史记录”,
     说明::字符串解释 = [String]->字符串无线条 [
       字符串“打印GF会话期间发出的命令。”,
       字符串“eh命令可以读取结果。”,
       字符串“启动GF时,结果可用作脚本。”
       ],
     示例::[(String,String)]示例 = [
      字符串->(String,String)mkEx公司 字符串“ph|wf-file=foo.gfs--将历史保存到文件中”
      ]
     }),
  (字符串“ps”, CommandInfo任意所有(m::*->*)。命令信息m清空命令信息 {
     longname::字符串长名 = 字符串“输入字符串”,
     语法::字符串语法 = 字符串“ps OPT?字符串”,
     提要::字符串简介 = 字符串“返回字符串,可能用函数处理”,
     说明::字符串解释 = [String]->字符串无线条 [
       字符串“返回通过应用从参数字符串中获取的字符串”,
       字符串“按命令行中给定的顺序处理字符串函数”,
       字符串“选项列表。因此'ps-f-gs'返回g(fs)。典型的字符串处理器”,
       字符串“是lexers和unlexers,但也可以进行字符编码转换。”,
       字符串“不及格的人保留他们输入的行的除法。”,
       字符串要查看音译表,请使用命令ut
       ],
     示例::[(String,String)]示例 = [
--mkEx“l(EAdd 3 4)|ps-code——线性化类码输出”,
       字符串->(String,String)mkEx公司 字符串“l(EAdd 3 4)|ps-unexcode--线性化类代码输出”,
--mkEx“ps-lexer=code | p-cat=Exp--解析类代码输入”,
       字符串->(String,String)mkEx公司 字符串“ps-lexcode | p-cat=Exp--解析类代码输入”,
       字符串->(String,String)mkEx公司 字符串“gr-cat=QCl | l | ps-bind--来自LangFin的线性化输出”,
       字符串->(String,String)mkEx公司 字符串“ps-to_devanagari \”A-p \“--以UTF8终端显示梵文”,
       字符串->(String,String)mkEx公司 字符串“rf-file=Hin.gf | ps-env=quotes-to_devanagari--将translit转换为UTF8”,
       字符串->(String,String)mkEx公司 字符串“rf-file=Ara.gf | ps-from_utf8-env=quotes-from_arabic--将utf8转换为音译”,
       字符串->(String,String)mkEx公司 字符串“ps-to=chinese.trans\”abc\“--应用文件chinese.trans中定义的音译”,
       字符串->(String,String)mkEx公司 字符串“ps-lexgreek \”a)gavoi`a)'nvrwpoi'tines*\“--使古希腊重音正常化”
       ],
     exec::[选项]->命令参数->SIO命令输出执行官 = \[选项]opts选项 命令参数x个-> 
                ([选项]操作系统,[选项]金融服务) = [选项]->([选项],[选项])选项和标志 [选项]opts选项
               字符串->字符串反式 <- [选项]->SIO(字符串->字符串)opt变速器 [选项]opts选项

               案例 [选项]opts选项 属于
                 [选项]_ | 字符串->[选项]->BoolisOpt公司 字符串“线条” [选项]opts选项 -> 命令输出->SIO命令输出对于所有(m::*->*)a.Monad m=>a->ma返回 (命令输出->SIO命令输出)->命令输出->SIO命令输出对于所有a b(a->b)->a->b$ [String]->命令输出来自字符串 ([String]->CommandOutput)->[String]->CommandOutput对于所有a b(a->b)->a->b$ (字符串->字符串)->[String]->[String]对于所有a b.(a->b)->[a]->[b]地图 (字符串->字符串反式 (字符串->字符串)->(字符串->字符串)->字符串->字符串对于所有的b c a。(b->c)->(a->b)->a->c. Maybe(String,String)->[String]->String->String字符串操作 ([Option]->Maybe(字符串,字符串)环境标志 [选项]金融服务) ((Option->String)->[Option]->[String]对于所有a b.(a->b)->[a]->[b]地图 选项->字符串prOpt选项 [选项]操作系统)) ([String]->[String])->[String]->[Stringe]对于所有a b(a->b)->a->b$ 命令参数->[String]到字符串 命令参数x个
                 [选项]_ | 字符串->[选项]->BoolisOpt公司 字符串“段落” [选项]opts选项 -> 命令输出->SIO命令输出对于所有(m::*->*)a.Monad m=>a->ma返回 (命令输出->SIO命令输出)->命令输出->SIO命令输出对于所有a b(a->b)->a->b$ [String]->命令输出来自字符串 ([String]->CommandOutput)->[String]->CommandOutput对于所有a b(a->b)->a->b$ (字符串->字符串)->[String]->[String]对于所有a b.(a->b)->[a]->[b]地图 (字符串->字符串反式 (字符串->字符串)->(字符串->串)->字符串->字符串对于所有的b c a。(b->c)->(a->b)->a->c. Maybe(String,String)->[String]->String->String字符串操作 ([选项]->也许(字符串,字符串)环境标志 [选项]金融服务) ((选项->字符串)->[Option]->[String]对于所有a b.(a->b)->[a]->[b]地图 选项->字符串prOpt选项 [选项]操作系统)) ([String]->[String])->[String]->[Stringe]对于所有a b(a->b)->a->b$ [字符串]->[字符串]到段落 ([String]->[String])->[String]->[Stringe]对于所有a b(a->b)->a->b$ 命令参数->[String]到字符串 命令参数x个
                 [选项]_ -> 命令输出->SIO命令输出对于所有(m::*->*)a.Monad m=>a->ma返回 ((字符串->命令输出来自字符串 (字符串->命令输出)->(CommandArguments->String)->命令参数->命令输出对于所有的b c a。(b->c)->(a->b)->a->c. 字符串->字符串反式 (字符串->字符串)->(CommandArguments->String)->命令参数->字符串对于所有的b c a。(b->c)->(a->b)->a->c. Maybe(String,String)->[String]->String->String字符串操作 ([Option]->Maybe(字符串,字符串)环境标志 [选项]金融服务) ((Option->String)->[Option]->[String]对于所有a b.(a->b)->[a]->[b]地图 选项->字符串prOpt公司 [选项]操作系统) (字符串->字符串)->(CommandArguments->字符串)->CommandArguments->字符串对于所有的b c a。(b->c)->(a->b)->a->c. 命令参数->字符串toString(字符串)) 命令参数x个),
     选项::[(String,String)]选项 = [
       (字符串“线条”,字符串将操作分别应用于每个输入行,并返回行列表),
       (字符串“段落”,字符串分别应用于每个输入段落(由空行分隔),返回行列表)
       ] [(String,String)]->[(Striing,String对于所有a.[a]->[a]->[a]++
       [(字符串,字符串)]字符串操作选项,
     标志::[(String,String)]旗帜 = [
       (字符串“环境”,字符串“仅适用于此环境”),
       (字符串“来自”,字符串“向后应用此文件中定义的音译(每行格式为'unicode translit')”),
       (字符串“至”,  字符串“转发应用此文件中定义的音译”)
       ]
     }),
  (字符串“q”,  命令信息SIO所有(m::*->*)。命令信息m清空命令信息 {
     longname::字符串长名 = 字符串“退出”,
     提要::字符串简介 = 字符串“退出GF解释器”
     }),
  (字符串“r”,  命令信息SIO所有(m::*->*)。命令信息m清空命令信息 {
     longname::字符串长名 = 字符串“重新加载”,
     简介:字符串简介 = 字符串“重复最新的导入命令”
     }),

  (字符串“se”, CommandInfo任意所有(m::*->*)。命令信息m清空命令信息 {
     longname::字符串长名 = 字符串“设置编码”,
     提要::字符串简介 = 字符串“设置当前终端中使用的编码”,
     语法::字符串语法   = 字符串“se ID”,
     示例::[(String,String)]示例 = [
      字符串->(String,String)mkEx公司 字符串“se cp1251—将编码设置为cp1521”,
      字符串->(String,String)mkEx公司 字符串“se utf8—将编码设置为utf8(默认)”
      ],
     需要TypeCheck::Bool需要TypeCheck = 布尔False(错误),
     exec::[选项]->命令参数->SIO命令输出执行官 = \ [选项]opts选项 命令参数ts秒 ->
       案例 字符串->[字符串] (命令参数->字符串toString(字符串) 命令参数ts秒) 属于
         [字符串c(c)] ->   cod::字符串鳕鱼 = 字符串->字符串重命名编码 字符串c(c)
                   IO()->SIO()对于所有a.IO a->SIO a受限制的 (IO()->SIO())->IO()->SIO(对于所有a b(a->b)->a->b$ 字符串->IO()更改控制台编码 字符串鳕鱼
                   命令输出->SIO命令输出对于所有(m::*->*)a.Monad m=>a->ma返回 命令输出空隙
         [字符串]_ -> 命令输出->SIO命令输出对于所有(m::*->*)a.Monad m=>a->ma返回 (字符串->命令输出管道消息 字符串“se命令未解析”)
    }),
  (字符串“sp”, 命令信息任意所有(m::*->*)。命令信息m清空命令信息 {
     longname::字符串长名 = 字符串“系统管道”,
     提要::字符串简介 = 字符串“将参数发送到系统命令”,
     语法::字符串语法   = 字符串“sp-command=\”SYSTEMCOMMAND\“,替代?SYSTEMCOMMAND”,
     exec::[选项]->命令参数->SIO命令输出执行官 = \[选项]opts选项 命令参数参数 -> 
        系统::字符串系统 = [选项]->字符串optComm(操作通信) [选项]opts选项  --++“”++tmpi
       {-设tmpi=“_tmpi”---让tmpo=“_tmpo”受限$writeFile tmpi$toString参数restrictedSystem$syst++“<”++tmpi++“>”++tmpofmap fromString$restricted$readFile tmpo,-}
       (字符串->命令输出)->SIO字符串->SIO命令输出对于所有(f::*->*)a b.函数f=>(a->b)->fa->fb功能性维修计划 ([String]->命令输出来自字符串 ([String]->CommandOutput)->(字符串->[字符串])->字符串->命令输出对于所有的b c a。(b->c)->(a->b)->a->c. 字符串->[字符串]线) (SIO字符串->SIO命令输出)->([String]->SIO字符串)->[String]->SIO命令输出对于所有b c a(b->c)->(a->b)->a->c. IO字符串->SIO字符串对于所有a.IO a->SIO a受限制的 (IO字符串->SIO字符串)->([String]->IO字符串)->[String]->SIO字符串对于所有的b c a。(b->c)->(a->b)->a->c. 字符串->字符串->IO字符串读取Shell进程 字符串系统 (字符串->IO字符串)->([String]->String)->[String]->IO字符串对于所有的b c a。(b->c)->(a->b)->a->c. [String]->字符串无线条 ([String]->字符串)->([字符串]->[字符串])->[字符串]->字符串对于所有的b c a。(b->c)->(a->b)->a->c. (字符串->字符串)->[String]->[String]对于所有a b.(a->b)->[a]->[b]地图 ((字符->Bool)->字符串->字符串对于所有a.(a->Bool)->[a]->[a]dropWhile(删除While) (字符->字符->布尔对于所有a.方程a=>a->a->Bool==烧焦“\n”)) ([String]->SIO CommandOutput)->[String]->SIO命令输出对于所有a b(a->b)->a->b$ 命令参数->[String]到字符串 (CommandArguments->[String])->CommandArugments->[字符串]对于所有a b(a->b)->a->b$ 命令参数参数,

     标志::[(String,String)]旗帜 = [
       (字符串“命令”,字符串“应用于参数的系统命令”)
       ],
     示例::[(String,String)]示例 = [
       字符串->(String,String)mkEx公司 字符串“gt|l|?wc—生成树、线性化并计算单词数”
       ]
     }),
  (字符串“tt”, CommandInfo任意所有(m::*->*)。命令信息m清空命令信息 {
     longname::字符串长名 = 字符串“目标(_T)”,
     语法::字符串语法 = 字符串“目标(_T)”,
     提要::字符串简介 = 字符串“将树列表合并为trie”,
     exec::[选项]->命令参数->SIO命令输出执行官 = \ [选项]_ -> 命令输出->SIO命令输出对于所有(m::*->*)a.Monad m=>a->ma返回 (命令输出->SIO命令输出)->(CommandArguments->CommandOutput)->命令参数->SIO命令输出对于所有的b c a。(b->c)->(a->b)->a->c. 字符串->命令输出来自字符串 (字符串->命令输出)->(CommandArguments->字符串)->命令参数->命令输出对于所有b c a(b->c)->(a->b)->a->c. [树]->字符串特里 ([树]->字符串)->(CommandArguments->[Tree])->命令参数->字符串对于所有的b c a。(b->c)->(a->b)->a->c. 命令参数->[树]到Exprs
    }),
  (字符串“ut”, CommandInfo任意所有(m::*->*)。命令信息m清空命令信息 {
     longname::字符串长名称 = 字符串“unicode表(_T)”,
     提要::字符串简介 = 字符串“显示unicode字符集的音译表”,
     exec::[选项]->命令参数->SIO命令输出执行官 = \[选项]opts选项 命令参数_ -> 
          t::字符串t吨 = (选项->字符串)->[选项]->字符串对于所有(t::*->*)a b.可折叠t=>(a->[b])->t a->[b]concatMap(连接地图) 选项->字符串prOpt选项 (Int->[Option]->[Option(选项)]对于所有a.国际->[a]->[a] 国际1 [选项]opts选项)
          out::字符串外面的 = 字符串->(音译->字符串)->可能音译->字符串对于所有的ba.b->(a->b)->也许a->b也许 吧 字符串“没有这样的音译” 音译->字符串字符表 (可能是翻译->字符串)->可能是音译->字符串对于所有a b(a->b)->a->b$ 字符串->可能是音译音译 字符串t吨
         命令输出->SIO命令输出对于所有(m::*->*)a.Monad m=>a->ma返回 (命令输出->SIO命令输出)->命令输出->SIO命令输出对于所有a b(a->b)->a->b$ 字符串->命令输出来自字符串 字符串外面的,
     选项::[(String,String)]选项 = [(字符串,字符串)]音译PrintNames
     }),
  (字符串“wf”, CommandInfo任意所有(m::*->*)。命令信息m清空命令信息 {
     longname::字符串长名 = 字符串“写入文件”,
     提要::字符串简介 = 字符串“将字符串或树发送到文件”,
     exec::[选项]->命令参数->SIO命令输出执行官 = \[选项]opts选项 命令参数参数-> 
          文件::字符串文件 = 字符串->字符串->[选项]->字符串valStrOpts选项 字符串“文件” 字符串“gftmp(_G)” [选项]opts选项
         如果 字符串->[选项]->布尔isOpt公司 字符串“附加” [选项]opts选项
           然后 IO()->SIO()对于所有a.IO a->SIO a受限制的 (IO()->SIO())->IO()->SIO(对于所有a b(a->b)->a->b$ 字符串->字符串->IO()appendFile(追加文件) 字符串文件 (命令参数->字符串到行 命令参数参数)
           其他的 IO()->SIO()对于所有a.IO a->SIO a受限制的 (IO()->SIO())->IO()->SIO(对于所有a b(a->b)->a->b$ 字符串->字符串->IO()写入UTF8文件 字符串文件 (命令参数->字符串到行 命令参数参数)
         命令输出->SIO命令输出对于所有(m::*->*)a.Monad m=>a->ma返回 命令输出空隙,
     选项::[(String,String)]选项 = [
       (字符串“附加”,字符串附加到文件,而不是覆盖它)
       ],
     标志::[(String,String)]旗帜 = [(字符串“文件”,字符串“输出文件名”)]
     })
  ]
 哪里
   optComm::[Option]->字符串optComm(操作通信) [选项]opts选项 = 字符串->字符串->[选项]->字符串valStrOpts选项 字符串“命令” 字符串"" [选项]opts选项

   optTranslit::[选项]->SIO(字符串->字符串)optTranslit(光学平移) [选项]opts选项 = 案例 (字符串->字符串->[选项]->字符串valStrOpts选项 字符串“至” 字符串"" [选项]opts选项, 字符串->字符串->[选项]->字符串valStrOpts选项 字符串“来自” 字符串"" [选项]opts选项) 属于
     (字符串"",字符串"")  -> (字符串->字符串)->SIO(字符串->串)对于所有(m::*->*)a.Monad m=>a->ma返回 字符串->字符串对于所有a.a->a身份证件
     (字符串文件,字符串"") -> 
       字符串型钢混凝土 <- IO字符串->SIO字符串对于所有a.IO a->SIO a受限制的 (IO字符串->SIO字符串)->IO字符串->SIO字符串对于所有a b(a->b)->a->b$ 字符串->IO字符串readFile(读取文件) 字符串文件
       (字符串->字符串)->SIO(字符串->串)对于所有(m::*->*)a.Monad m=>a->ma返回 ((字符串->字符串)->SIO(字符串->串))->(字符串->字符串)->SIO(字符串->串)对于所有a b(a->b)->a->b$ 字符串->字符串->Bool->字符串->字符串带文件的音译 字符串文件 字符串型钢混凝土 布尔False(错误)
     (字符串_,字符串文件) -> 
       字符串型钢混凝土 <- IO字符串->SIO字符串对于所有a.IO a->SIO a受限制的 (IO字符串->SIO字符串)->IO字符串->SIO字符串对于所有a b(a->b)->a->b$ 字符串->IO字符串readFile(读取文件) 字符串文件
       (字符串->字符串)->SIO(字符串->串)对于所有(m::*->*)a.Monad m=>a->ma返回 ((字符串->字符串)->SIO(字符串->串))->(字符串->字符串)->SIO(字符串->串)对于所有a b(a->b)->a->b$ 字符串->字符串->Bool->字符串->字符串带文件的音译 字符串文件 字符串型钢混凝土 布尔真的

字符串操作::也许(字符串,字符串)->[String]->String->String字符串操作 也许(字符串,字符串)菜单 [字符串]opts选项 字符串 = (字符串->字符串->字符串)->字符串->[字符串]->字符串对于所有(t::*->*)a b。可折叠t=>(a->b->b)->b->t a->b文件夹 ((字符串->字符串)->字符串->字符串菜单(menvop) ((字符串->字符串)->字符串->字符串->(字符串->字符串->字符串)->字符串->字符串->字符串->字符串对于所有的b c a。(b->c)->(a->b)->a->c. 字符串->字符串->字符串应用程序) 字符串 ([字符串]->[字符串]对于所有a.[a]->[a]颠倒 [字符串]opts选项)
  哪里
    app::String->String->字符串应用程序 字符串(f) = (字符串->字符串)->((字符串->字符串)->字符串->字符串->可能(字符串->字符串)->字符串->字符串对于所有的ba.b->(a->b)->也许a->b也许 吧 字符串->字符串对于所有a.a->a身份证件 (字符串->字符串)->字符串->字符串对于所有a.a->a身份证件 ((字符串->Bool)->字符串->可能(字符串->字符串)字符串Op (Bool->字符串->Bool对于所有a b.a->b->a常数 布尔False(错误)) 字符串(f))
    menvop::(字符串->字符串)->字符串->字符串菜单(menvop) 字符串->字符串操作 = (字符串->字符串)->((字符串,字符串)->字符串->字符串)->也许(字符串,字符串)->字符串->字符串对于所有的ba.b->(a->b)->也许a->b也许 吧 字符串->字符串操作 (\ (字符串b条,字符串e(电子)) -> 字符串->字符串->(字符串->字符串)->字符串->字符串操作InEnv 字符串b条 字符串e(电子) 字符串->字符串操作) 也许(字符串,字符串)男性

envFlag::[Option]->可能(String,String)环境标志 [选项]金融服务 =
  案例 字符串->字符串->[选项]->字符串valStrOpts选项 字符串“环境” 字符串“全球” [选项]金融服务 属于
    字符串“引号” -> (字符串,字符串)->可能(字符串,String)对于所有a.a->可能是只是 (字符串"\"",字符串"\"")
    字符串_ -> 也许(字符串,字符串)对所有人来说。也许是没有什么

stringOpOptions::[(String,String)]字符串操作选项 = [(String,String)]->[(String-String)]对于所有a.订单a=>[a]->[a]分类 ([(String,String)]->[(String-String)])->[(String,String)]->[(String-String)]对于所有a b(a->b)->a->b$ [
       (字符串“绑定”,字符串“绑定由Prelude.bind分隔的标记,即&+”),
       (字符串“字符”,字符串“使每个非空格字符都成为标记的lexer”),
       (字符串“来自_cp1251”,字符串“从cp1251解码(保加利亚资源中使用的西里尔文)”),
       (字符串“来自utf8”,字符串“从utf8解码(默认)”),
       (字符串“lextext”,字符串“类似文本的lexer”),
       (字符串“词汇代码”,字符串“类似代码的lexer”),
       (字符串“词汇混合”,字符串“文本和代码的混合,如LaTeX(代码在$…$,\\(…)\\,\\[…\\]之间)”),
       (字符串“词汇希腊语”,字符串“使古希腊重音正常化的lexer”),
       (字符串“lexgreek2”,字符串“lexer规范化带有元音长度注释的文本的古希腊重音”),
       (字符串“到_cp1251”,字符串“编码为cp1251(保加利亚资源中使用的西里尔文)”),
       (字符串“to_html”,字符串“用换行符换行html文件”),
       (字符串“到utf8”,字符串“编码为utf8(默认)”),
       (字符串“非文本”,字符串“类似文本的unlexer”),
       (字符串“无代码”,字符串“类似代码的unlexer”),
       (字符串“未混合”,字符串“文本和代码的混合(代码介于$…$、\\(…)\\、\\[…\\]之间)”),
       (字符串“不变”,字符串“在标记之间没有空格的unlexer”),
       (字符串“非希腊语”,字符串“非标准化古希腊重音”),
       (字符串“unwords”,字符串“在标记之间放置单个空格的unlexer(默认)”),
       (字符串“单词”,字符串“假定标记由空格分隔的lexer(默认)”)
       ] [(字符串,字符串)]->[(字符串,字符串)]->[(字符串,字符串)]对于所有a.[a]->[a]->[a]++
      [[(String,String)]]->[(String-String)]for all(t::*->*)a.可折叠t=>t[a]->[a]凹面(concat) [
       [(字符串“来自_” 字符串->字符串->字符串对于所有a.[a]->[a]->[a]++ 字符串第页, 字符串“从unicode到GF” 字符串->字符串->字符串对于所有a.[a]->[a]->[a]++ 字符串n个 字符串->字符串->字符串对于所有a.[a]->[a]->[a]++ 字符串“音译”),
        (字符串“至_”   字符串->字符串->字符串对于所有a.[a]->[a]->[a]++ 字符串第页, 字符串“来自GF” 字符串->字符串->字符串对于所有a.[a]->[a]->[a]++ 字符串n个 字符串->字符串->字符串对于所有a.[a]->[a]->[a]++ 字符串“unicode音译”)] |
                                    (字符串第页,字符串n个) <- [(字符串,字符串)]音译PrintNames]

trie::[Tree]->字符串特里 = 文档->字符串对于所有a.相当不错的a=>a->String提供 (文件->字符串)->([树]->文件)->[树]->String对于所有的b c a。(b->c)->(a->b)->a->c. [[尝试]]->文档购买力平价 ([[Trie]]->Doc)->([Tree]->[Trie])->[Tree]->Doc对于所有的b c a。(b->c)->(a->b)->a->c. [A树]->[[Trie]]H.toTrie公司 ([A树]->[[尝试]])->([树]->[树])->[树]->[三]]对于所有b c a(b->c)->(a->b)->a->c. (树->树)->[树]->[树树]对于所有a b.(a->b)->[a]->[b]地图 树->A树H.toA树
  哪里
    ppts::[[尝试]]->文档购买力平价 [[尝试]ts秒] = 字符串"*"字符串->单据->单据对于所有a1a2。(漂亮a1,漂亮a2)=>a1->a2->Doc<+>内部->单据->单据对于所有a.相当a=>Int->a->Doc 国际2 ([尝试]->文档ppts公司 [尝试]ts秒)
    购买力平价 [[尝试]]总悬浮固体  = 【文件】->文件对于所有a.相当a=>[a]->Doc虚拟通信卫星 [国际内部->单据->单据对于所有a1a2。(漂亮a1,漂亮a2)=>a1->a2->Doc<+>内部->单据->单据对于所有a.相当a=>Int->a->Doc 国际2 ([尝试]->文档ppts(点对点) [尝试]ts秒)|(国际,[尝试]ts秒)<-[智力]->[[智力]]->[(智力,[智力])]对于所有a b。[a]->[b]->[(a,b)]拉链 [(国际1::国际)..] [[尝试]]总悬浮固体]

    ppts::[试用]->文档ppts(点对点) = 【文件】->文件对于所有a.相当a=>[a]->Doc虚拟通信卫星 ([文件]->文件)->([试卷]->[文件])->[试卷]->文件对于所有的b c a。(b->c)->(a->b)->a->c. (试->文件)->[试]->[文件]对于所有a b.(a->b)->[a]->[b]地图 尝试->文档购买力平价

    ppt::尝试->文档购买力平价 尝试t吨 =
      案例 尝试t吨 属于
        H.奥思 e(电子)     -> 字符串->文档对于所有a.相当a=>a->Doc聚丙烯 ([CId]->树->字符串H.showExpr公司 [] e(电子))
        H.阿普 CId代码(f) [[]] -> 字符串->文档对于所有a.相当a=>a->Doc聚丙烯 (CId->字符串H.showCId(显示CID) CId代码(f))
        H.阿普 CId代码(f) [[尝试]]总悬浮固体  -> CId->字符串H.showCId(显示CID) CId代码(f) 字符串->单据->单据对于所有a1a2。(漂亮a1,漂亮a2)=>a1->a2->Doc$$ 国际->单据->单据对于所有a.相当a=>Int->a->Doc 国际2 ([[尝试]]->文档ppts公司 [[尝试]]总悬浮固体)

--**转换命令输入
toString::CommandArguments->StringtoString(字符串)  = [String]->字符串解除武装 ([String]->字符串)->(命令参数->[String])->命令参数->字符串对于所有的b c a。(b->c)->(a->b)->a->c. 命令参数->[String]到字符串
toLines::CommandArguments->字符串到线条 = [String]->字符串无线条 ([String]->字符串)->(命令参数->[String])->命令参数->字符串对于所有的b c a。(b->c)->(a->b)->a->c. 命令参数->[String]到字符串

to段落::[String]->[String]到段落 = (字符串->字符串)->[String]->[String]对于所有a b.(a->b)->[a]->[b]地图 ([String]->字符串解除武装 ([字符串]->字符串)->(字符串->[字符串])->字符串->字符串对于所有的b c a。(b->c)->(a->b)->a->c. 字符串->[字符串]) ([字符串]->[字符串])->([String]->[String])->[String]->[Stringe]对于所有的b c a。(b->c)->(a->b)->a->c. [字符串]->[字符串]至段落
  哪里
    toParas::[String]->[String]至段落 [字符串]最小二乘法 = 案例 (字符串->布尔)->[String]->([String],[String])对于所有a.(a->Bool)->[a]->([a],[a])打破 ((Char->Bool)->String->Bool对于所有(t::*->*)a.可折叠t=>(a->Bool)->ta->Bool全部的 字符->布尔isSpace公司) [字符串]最小二乘法 属于
      ([],[])   -> []
      ([],字符串_:[字符串]陆上通信线) -> [字符串]->[字符串]至段落 [字符串]陆上通信线
      ([字符串], [])   -> [[String]->字符串解除武装 [字符串]]
      ([字符串], 字符串_:[字符串]陆上通信线) -> [String]->字符串解除武装 [字符串] 字符串->[String]->[String]对于所有a.a->[a]->[a]: [字符串]->[字符串]至段落 [字符串]陆上通信线