• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-341  評論-2670  文章-0  trackbacks-0
                經過上一次的成功試驗,這次終于完成了剩余的表達式類型的類型推導。過程及結果如下:

                修改if函數的代碼,去掉類型聲明:
            1 def if cond t f = select cond of
            2                     case true : t
            3                     case false : f
            4                   end

                為了對lambda expression進行推導,將makearray的表達式isub max 1替換成(\a->\b->isub a b) max 1:
            1 def makearray max = if (iequ max 0
            2                       empty 
            3                       (list max (makearray ((\a->\b->isub a b) max 1)))

                然后進行推導。由于推導的時候沒有根據依賴關系(函數可以循環依賴)來確定推導順序,因此采用了迭代的方法。編譯器不斷推導一直到無法得到更好的結果為止(實現的時候有一個很方便的判斷方法)。

                首先對if進行推導。因為cond使用了true和false進行模式匹配,因此cond一定是system.bool。其次,兩個表達式分別返回t與f,可以判斷t與f的類型必定相同。因此,可以很容易的得到if的結果:
            1   func if T1 :: (system.bool -> (<T1> -> (<T1> -> <T1>)))

                其次對makearray進行推導。進行到(\a->\b->isub a b)的時候,因為max類型位置,標記為?,1類型為system.int。因此該lambda expression的期望類型為?1 -> system.int -> ?2。因為isub a b,因此a一定是int,而且isub接受兩個int返回bool,因此該lambda expression的推導類型為system.int -> system.int -> system.bool。所以得到makearray的類型如下:
            1   func makearray :: (system.int -> (system.list system.int))

                結果跟昨天等價的更簡單的寫法一致。
            posted on 2008-10-06 06:47 陳梓瀚(vczh) 閱讀(1511) 評論(1)  編輯 收藏 引用 所屬分類: 腳本技術

            評論:
            # re: Kernal FP所有表達式種類實現類型推導! 2008-10-06 07:51 | 陳坤
            光看摘要:
            摘要: 經過上一次的成功試驗,這次終于完成了生育
            我以為你在做什么雜交DNA實驗了  回復  更多評論
              
            日本精品久久久中文字幕| 伊人久久大香线蕉综合网站| 色悠久久久久久久综合网| 日韩中文久久| 久久国产精品一国产精品金尊| 青青青伊人色综合久久| 青青青青久久精品国产h久久精品五福影院1421 | 久久精品国产一区二区三区| 久久只有这精品99| 久久A级毛片免费观看| 国产综合精品久久亚洲| 99久久婷婷国产综合亚洲| 久久99这里只有精品国产| 久久国产精品成人免费| 少妇内射兰兰久久| 久久九九久精品国产| 亚洲精品无码久久久影院相关影片| 伊人色综合久久| 久久免费高清视频| 久久久噜噜噜久久中文字幕色伊伊| 国产精品成人无码久久久久久| 精品久久久久久中文字幕人妻最新 | 久久偷看各类wc女厕嘘嘘| 久久亚洲精品无码VA大香大香| 久久精品免费一区二区三区| 精品久久久无码人妻中文字幕 | 狠狠色婷婷综合天天久久丁香| 日韩人妻无码一区二区三区久久99| 亚洲综合婷婷久久| 99久久婷婷国产综合亚洲| 久久人妻少妇嫩草AV无码专区| 狠狠色丁香婷婷久久综合五月| 久久精品视屏| 亚洲国产日韩欧美综合久久| 国产精品VIDEOSSEX久久发布 | 久久精品国产亚洲av麻豆色欲| 中文字幕无码精品亚洲资源网久久| 精品国产乱码久久久久软件| 精品久久久一二三区| 久久久亚洲裙底偷窥综合| 蜜桃麻豆WWW久久囤产精品|