⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 list-xprod.mldoc

📁 这是我们参加06年全国开源软件的竞赛作品
💻 MLDOC
字号:
<!-- list-xprod.mldoc --><!-- Entities.sgml entry <!ENTITY ListXProd SDATA "list-xprod-sig.sml"> --><!DOCTYPE ML-DOC SYSTEM><COPYRIGHT OWNER="Bell Labs, Lucent Technologies" YEAR=1998><VERSION VERID="1.0" YEAR=1998 MONTH=6 DAY=11><TITLE>The ListXProd structure</TITLE><INTERFACE><HEAD>The <CD/ListXProd/ structure</HEAD><SEEALSO>  <STRREF TOPID DOCUMENT=SML-BASIS-DOC/List/  <STRREF TOPID DOCUMENT=SML-BASIS-DOC/ListPair/</SEEALSO><PP>The <STRREF NOLINK/ListXProd/ structure provides functions forcomputing with the cross product of two lists. For purposes ofdocumentation, we define the cross product of two lists as thethe list produced by the following function:<CODE>fun xProd (l1, l2) = let      fun mkPair a b = (a,b)      in        List.foldr (fn (a,l) => (map (mkPair a) l2)@l) [] l1      end</CODE><STRUCTURE STRID="ListXProd">  <SIGBODY SIGID="LIST_XPROD" FILE=LIST-XPROD>    <SPEC>      <VAL>appX<TY>(('a * 'b) -> 'c) -> ('a list * 'b list) -> unit        <COMMENT>          <PROTOTY>          appX <ARG/f/ (<ARG/l1/, <ARG/l2/)          </PROTOTY>          applies <ARG/f/ to the cross product of the two lists.          This is equivalent to:          <CODE>          List.app f (xProd(l1,l2))          </CODE>    <SPEC>      <VAL>mapX<TY>(('a * 'b) -> 'c) -> ('a list * 'b list) -> 'c list        <COMMENT>          <PROTOTY>          mapX <ARG/f/ (<ARG/l/, <ARG/l2/)          </PROTOTY>          creates a new list by mapping <ARG/f/ across the cross product           of the two lists.          This is equivalent to:          <CODE>          List.map f (xProd(l1,l2))          </CODE>    <SPEC>      <VAL>foldX<TY>(('a * 'b * 'c) -> 'c) -> ('a list * 'b list) -> 'c -> 'c        <COMMENT>          <PROTOTY>          foldX <ARG/f/ (<ARG/l/, <ARG/l2/) <ARG/a/          </PROTOTY>          fold <ARG/f/ across the cross product of the two lists.          This is equivalent to:          <CODE>          List.foldl (fn((a,b),c) => f(a,b,c)) a (xProd(l1,l2))          </CODE></STRUCTURE></INTERFACE>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -