packages feed

egison 3.3.14 → 3.3.15

raw patch · 4 files changed

+27/−16 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

egison.cabal view
@@ -1,5 +1,5 @@ Name:                egison-Version:             3.3.14+Version:             3.3.15 Synopsis:            Programming language with non-linear pattern-matching against unfree data Description:   An interpreter for Egison, the programming langugage that realized non-linear pattern-matching against unfree data types.
lib/string/japanese.egi view
@@ -15,6 +15,7 @@      [,'ダ' #t] [,'ヂ' #t] [,'ヅ' #t] [,'デ' #t] [,'ド' #t]      [,'バ' #t] [,'ビ' #t] [,'ブ' #t] [,'ベ' #t] [,'ボ' #t]      [,'パ' #t] [,'ピ' #t] [,'プ' #t] [,'ペ' #t] [,'ポ' #t]+     [,'ヴ' #t] [,'ヰ' #t]      [,'ァ' #t] [,'ィ' #t] [,'ゥ' #t] [,'ェ' #t] [,'ォ' #t]      [,'ャ' #t] [,'ュ' #t] [,'ョ' #t]      [,'ッ' #t] [,'ー' #t]@@ -57,19 +58,19 @@ (define $katakana-to-yomi-y-1   (lambda [$cs]     (match cs (list char)-      {[,{'キ' 'ャ'} {"K" "Y" "A"}] [,{'キ' 'ュ'} {"K" "Y" "U"}] [,{'キ' 'ョ'} {"K" "Y" "O"}]-       [,{'ギ' 'ャ'} {"G" "Y" "A"}] [,{'ギ' 'ュ'} {"G" "Y" "U"}] [,{'ギ' 'ョ'} {"G" "Y" "O"}]-       [,{'シ' 'ャ'} {"SH" "Y" "A"}] [,{'シ' 'ュ'} {"SH" "U"}] [,{'シ' 'ョ'} {"SH" "O"}]+      {[,{'キ' 'ャ'} {"KY" "A"}] [,{'キ' 'ュ'} {"KY" "U"}] [,{'キ' 'ョ'} {"KY" "O"}]+       [,{'ギ' 'ャ'} {"GY" "A"}] [,{'ギ' 'ュ'} {"GY" "U"}] [,{'ギ' 'ョ'} {"GY" "O"}]+       [,{'シ' 'ャ'} {"SH" "A"}] [,{'シ' 'ュ'} {"SH" "U"}] [,{'シ' 'ョ'} {"SH" "O"}]        [,{'ジ' 'ャ'} {"J" "A"}] [,{'ジ' 'ュ'} {"J" "U"}] [,{'ジ' 'ョ'} {"J" "O"}]        [,{'チ' 'ャ'} {"CH" "A"}] [,{'チ' 'ュ'} {"CH" "U"}] [,{'チ' 'ョ'} {"CH" "O"}]        [,{'ヂ' 'ャ'} {"J" "A"}] [,{'ヂ' 'ュ'} {"J" "U"}] [,{'ヂ' 'ョ'} {"J" "O"}]-       [,{'ニ' 'ャ'} {"N" "Y" "A"}] [,{'ニ' 'ュ'} {"N" "U"}] [,{'ニ' 'ョ'} {"N" "O"}]-       [,{'ヒ' 'ャ'} {"H" "Y" "A"}] [,{'ヒ' 'ュ'} {"H" "Y" "U"}] [,{'ヒ' 'ョ'} {"H" "Y" "O"}]-       [,{'ビ' 'ャ'} {"B" "Y" "A"}] [,{'ビ' 'ュ'} {"B" "Y" "U"}] [,{'ビ' 'ョ'} {"B" "Y" "O"}]-       [,{'ピ' 'ャ'} {"P" "Y" "A"}] [,{'ピ' 'ュ'} {"P" "Y" "U"}] [,{'ピ' 'ョ'} {"P" "Y" "O"}]-       [,{'ミ' 'ャ'} {"M" "Y" "A"}] [,{'ミ' 'ュ'} {"M" "Y" "U"}] [,{'ミ' 'ョ'} {"M" "Y" "O"}]-       [,{'リ' 'ャ'} {"R" "Y" "A"}] [,{'リ' 'ュ'} {"R" "Y" "U"}] [,{'リ' 'ョ'} {"R" "Y" "O"}]-       [,{'フ' 'ュ'} {"F" "Y" "U"}] [,{'テ' 'ュ'} {"CH" "U"}] [,{'デ' 'ュ'} {"D" "Y" "U"}]+       [,{'ニ' 'ャ'} {"NY" "A"}] [,{'ニ' 'ュ'} {"N" "U"}] [,{'ニ' 'ョ'} {"N" "O"}]+       [,{'ヒ' 'ャ'} {"HY" "A"}] [,{'ヒ' 'ュ'} {"HY" "U"}] [,{'ヒ' 'ョ'} {"HY" "O"}]+       [,{'ビ' 'ャ'} {"BY" "A"}] [,{'ビ' 'ュ'} {"BY" "U"}] [,{'ビ' 'ョ'} {"BY" "O"}]+       [,{'ピ' 'ャ'} {"PY" "A"}] [,{'ピ' 'ュ'} {"PY" "U"}] [,{'ピ' 'ョ'} {"PY" "O"}]+       [,{'ミ' 'ャ'} {"MY" "A"}] [,{'ミ' 'ュ'} {"MY" "U"}] [,{'ミ' 'ョ'} {"MY" "O"}]+       [,{'リ' 'ャ'} {"RY" "A"}] [,{'リ' 'ュ'} {"RY" "U"}] [,{'リ' 'ョ'} {"RY" "O"}]+       [,{'フ' 'ュ'} {"FY" "U"}] [,{'テ' 'ュ'} {"CH" "U"}] [,{'デ' 'ュ'} {"DY" "U"}]        [<cons $c1 <cons $c2 <nil>>> {@(katakana-to-yomi-1 {c1})                                      @(match c2 char {[,'ャ' {"Y" "A"}] [,'ュ' {"Y" "A"}] [,'ョ' {"Y" "A"}]})}]        })))@@ -79,10 +80,10 @@     (match cs (list char)       {[,{'ウ' 'ィ'} {"W" "I"}] [,{'ウ' 'ェ'} {"W" "E"}] [,{'ウ' 'ォ'} {"W" "O"}]        [,{'キ' 'ィ'} {"K" "I"}]-       [,{'ク' 'ァ'} {"K" "W" "A"}] [,{'ク' 'ィ'} {"K" "W" "I"}] [,{'ク' 'ェ'} {"K" "W" "E"}] [,{'ク' 'ォ'} {"K" "W" "O"}]+       [,{'ク' 'ァ'} {"K" "A"}] [,{'ク' 'ィ'} {"K" "I"}] [,{'ク' 'ェ'} {"K" "E"}] [,{'ク' 'ォ'} {"K" "O"}]        [,{'シ' 'ィ'} {"S" "I"}] [,{'シ' 'ェ'} {"SH" "E"}]        [,{'ジ' 'ェ'} {"J" "E"}]-       [,{'ツ' 'ァ'} {"TS" "A"}] [,{'ツ' 'ゥ'} {"T" "U"}] +       [,{'ツ' 'ァ'} {"TS" "A"}] [,{'ツ' 'ィ'} {"TS" "I"}] [,{'ツ' 'ゥ'} {"TS" "U"}] [,{'ツ' 'ェ'} {"TS" "E"}] [,{'ツ' 'ォ'} {"TS" "O"}]         [,{'チ' 'ェ'} {"CH" "E"}]        [,{'フ' 'ァ'} {"F" "A"}] [,{'フ' 'ィ'} {"F" "I"}] [,{'フ' 'ェ'} {"F" "E"}] [,{'フ' 'ォ'} {"F" "O"}]        [,{'ヴ' 'ァ'} {"V" "A"}] [,{'ヴ' 'ィ'} {"V" "I"}] [,{'ヴ' 'ェ'} {"V" "E"}] [,{'ヴ' 'ォ'} {"V" "O"}]@@ -112,6 +113,6 @@        [,{'ダ'} {"D" "A"}] [,{'ヂ'} {"D" "I"}] [,{'ヅ'} {"D" "U"}] [,{'デ'} {"D" "E"}] [,{'ド'} {"D" "O"}]        [,{'バ'} {"B" "A"}] [,{'ビ'} {"B" "I"}] [,{'ブ'} {"B" "U"}] [,{'ベ'} {"B" "E"}] [,{'ボ'} {"B" "O"}]        [,{'パ'} {"P" "A"}] [,{'ピ'} {"P" "I"}] [,{'プ'} {"P" "U"}] [,{'ペ'} {"P" "E"}] [,{'ポ'} {"P" "O"}]-       [,{'ヴ'} {"V" "U"}] [,{'ヮ'} {"W" "A"}] +       [,{'ヴ'} {"V" "U"}] [,{'ヮ'} {"W" "A"}] [,{'ヰ'} {"I"}]        }))) 
lib/string/string.egi view
@@ -102,3 +102,13 @@      [,'u' 'U'] [,'v' 'V'] [,'w' 'W'] [,'x' 'X'] [,'y' 'Y']      [,'z' 'Z']      [$c c]}))++(define $lower-case+  (match-lambda char+    {[,'A' 'a'] [,'B' 'b'] [,'C' 'c'] [,'D' 'd'] [,'E' 'e']+     [,'F' 'f'] [,'G' 'g'] [,'H' 'h'] [,'I' 'i'] [,'J' 'j']+     [,'K' 'k'] [,'L' 'l'] [,'M' 'm'] [,'N' 'n'] [,'O' 'o']+     [,'P' 'p'] [,'Q' 'q'] [,'R' 'r'] [,'S' 's'] [,'T' 't']+     [,'U' 'u'] [,'V' 'v'] [,'W' 'w'] [,'X' 'x'] [,'Y' 'y']+     [,'Z' 'z']+     [$c c]}))
sample/salesman.egi view
@@ -22,9 +22,9 @@            (loop $i [2 5]              <cons [,s_(- i 1) <cons [$s_i $p_i] _>]                    ...>-             <cons [,s_5 <cons [(& ,"東京" $s_6) $p_6] _>]+             <cons [(& ,"錦糸町" ,s_5) _]                    _>)>-     [(sum (map (lambda [$i] p_i) (between 1 6)))+     [(sum (map (lambda [$i] p_i) (between 1 5)))       s]]))  (define $main