packages feed

egison 3.7.5 → 3.7.6

raw patch · 3 files changed

+28/−29 lines, 3 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.7.5+Version:             3.7.6 Synopsis:            Programming language with non-linear pattern-matching against non-free data Description:   An interpreter for Egison, a **pattern-matching-oriented**, purely functional programming language.
lib/math/normalize.egi view
@@ -147,47 +147,47 @@ (define $rewrite-rule-for-cos-and-sin-expr   (lambda [$expr]     (match [expr expr] [math-expr math-expr]-      {[[<div (+ (* $a (,cos $慮) $mr)+      {[[<div (+ (* $a (,cos $x) $mr)                  $pr1)               $pr2>-         (| <div (+ (* _ (| (,cos ,(/ 慮 2)) (,sin ,(/ 慮 2))) _) _) _>-            <div _ (+ (* _ (| (,cos ,(/ 慮 2)) (,sin ,(/ 慮 2))) _) _)>)]-        (rewrite-rule-for-cos-and-sin-expr (/' (+' (*' a (-' (cos (/ 慮 2))^2 (sin (/ 慮 2))^2) mr) pr1) pr2))]-       [[<div (+ (* $a (,sin $慮) $mr)+         (| <div (+ (* _ (| (,cos ,(/ x 2)) (,sin ,(/ x 2))) _) _) _>+            <div _ (+ (* _ (| (,cos ,(/ x 2)) (,sin ,(/ x 2))) _) _)>)]+        (rewrite-rule-for-cos-and-sin-expr (/' (+' (*' a (-' (cos (/ x 2))^2 (sin (/ x 2))^2) mr) pr1) pr2))]+       [[<div (+ (* $a (,sin $x) $mr)                  $pr1)               $pr2>-         (| <div (+ (* _ (| (,cos ,(/ 慮 2)) (,sin ,(/ 慮 2))) _) _) _>-            <div _ (+ (* _ (| (,cos ,(/ 慮 2)) (,sin ,(/ 慮 2))) _) _)>)]-        (rewrite-rule-for-cos-and-sin-expr (/' (+' (*' (*' a 2) (*' (cos (/ 慮 2)) (sin (/ 慮 2))) mr) pr1) pr2))]+         (| <div (+ (* _ (| (,cos ,(/ x 2)) (,sin ,(/ x 2))) _) _) _>+            <div _ (+ (* _ (| (,cos ,(/ x 2)) (,sin ,(/ x 2))) _) _)>)]+        (rewrite-rule-for-cos-and-sin-expr (/' (+' (*' (*' a 2) (*' (cos (/ x 2)) (sin (/ x 2))) mr) pr1) pr2))]        [[<div $pr2-              (+ (* $a (,cos $慮) $mr)+              (+ (* $a (,cos $x) $mr)                  $pr1)>-         (| <div (+ (* _ (| (,cos ,(/ 慮 2)) (,sin ,(/ 慮 2))) _) _) _>-            <div _ (+ (* _ (| (,cos ,(/ 慮 2)) (,sin ,(/ 慮 2))) _) _)>)]-        (rewrite-rule-for-cos-and-sin-expr (/' pr2 (+' (*' a (-' (cos (/ 慮 2))^2 (sin (/ 慮 2))^2) mr) pr1)))]+         (| <div (+ (* _ (| (,cos ,(/ x 2)) (,sin ,(/ x 2))) _) _) _>+            <div _ (+ (* _ (| (,cos ,(/ x 2)) (,sin ,(/ x 2))) _) _)>)]+        (rewrite-rule-for-cos-and-sin-expr (/' pr2 (+' (*' a (-' (cos (/ x 2))^2 (sin (/ x 2))^2) mr) pr1)))]        [[<div $pr2-              (+ (* $a (,sin $慮) $mr)+              (+ (* $a (,sin $x) $mr)                  $pr1)>-         (| <div (+ (* _ (| (,cos ,(/ 慮 2)) (,sin ,(/ 慮 2))) _) _) _>-            <div _ (+ (* _ (| (,cos ,(/ 慮 2)) (,sin ,(/ 慮 2))) _) _)>)]-        (rewrite-rule-for-cos-and-sin-expr (/' pr2 (+' (*' (*' a 2) (*' (cos (/ 慮 2)) (sin (/ 慮 2))) mr) pr1)))]+         (| <div (+ (* _ (| (,cos ,(/ x 2)) (,sin ,(/ x 2))) _) _) _>+            <div _ (+ (* _ (| (,cos ,(/ x 2)) (,sin ,(/ x 2))) _) _)>)]+        (rewrite-rule-for-cos-and-sin-expr (/' pr2 (+' (*' (*' a 2) (*' (cos (/ x 2)) (sin (/ x 2))) mr) pr1)))]        [_ expr]})))  (define $rewrite-rule-for-cos-and-sin-poly   (lambda [$poly]     (match poly math-expr-      {[(+ (* $a (,cos $慮)^,2 $mr)-           (* ,a (,sin ,慮)^,2 ,mr)+      {[(+ (* $a (,cos $x)^,2 $mr)+           (* ,a (,sin ,x)^,2 ,mr)            $pr)         (rewrite-rule-for-cos-and-sin-poly (+' pr (*' a mr)))]        [(+ (* $a $mr)-           (* ,(* -1 a) (,sin $慮)^,2 ,mr)+           (* ,(* -1 a) (,sin $x)^,2 ,mr)            $pr)-        (rewrite-rule-for-cos-and-sin-poly (+' pr (*' a (cos 慮)^2 mr)))]+        (rewrite-rule-for-cos-and-sin-poly (+' pr (*' a (cos x)^2 mr)))]        [(+ (* $a $mr)-           (* ,(* -1 a) (,cos $慮)^,2 ,mr)+           (* ,(* -1 a) (,cos $x)^,2 ,mr)            $pr)-        (rewrite-rule-for-cos-and-sin-poly (+' pr (*' a (sin 慮)^2 mr)))]+        (rewrite-rule-for-cos-and-sin-poly (+' pr (*' a (sin x)^2 mr)))]        [_ poly]})))  (define $rewrite-rule-for-cos-to-sin 1#(map-terms rewrite-rule-for-cos-to-sin-term' %1))@@ -195,8 +195,8 @@ (define $rewrite-rule-for-cos-to-sin-term'   (lambda [$term]     (match term math-expr-      {[(* $a (,cos $θ)^,2 $mr)-        (*' a (-' 1 (sin θ)^2) (rewrite-rule-for-cos-to-sin-term' mr))]+      {[(* $a (,cos $x)^,2 $mr)+        (*' a (-' 1 (sin x)^2) (rewrite-rule-for-cos-to-sin-term' mr))]        [_ term]})))  ;;@@ -231,8 +231,8 @@ (define $rewrite-rule-for-cos-to-sin-term'   (lambda [$term]     (match term math-expr-      {[(* $a (,cos $θ)^,2 $mr)-        (*' a (-' 1 (sin θ)^2) (rewrite-rule-for-cos-to-sin-term' mr))]+      {[(* $a (,cos $x)^,2 $mr)+        (*' a (-' 1 (sin x)^2) (rewrite-rule-for-cos-to-sin-term' mr))]        [_ term]})))  ;;
sample/graph.egi view
@@ -80,7 +80,6 @@                    <cons <edge ,x_1 $x_i>                          (loop $j [2 (- i 1)]                            <cons <edge ,x_j ,x_i> ...>-                           ...)-                         _>+                           ...)>                    _)>            x])))