タグ

Egisonに関するxefのブックマーク (5)

  • formalized-egison -- Egisonの型安全性の証明に向けて - a_kawashiroのブログ

    概要 Egisonのパターンマッチの動作を定理証明支援系Coq上で定義し、「Egisonの処理系が項Mを値vに評価する」という命題をCoq上で表現できるようにしました。 動機 Egisonの中核的な機能はユーザが拡張可能なパターンマッチ機構です。例えば以下に示すように、ペアに対してその順序を無視してパターンマッチすることが可能です。 (define $unordered-pair (matcher {[<pair $ $> [something something] {[[$x $y] {[x y] [y x]}]}] [$ something {[$tgt {tgt}]}]})) (match-all [1 2] unordered-pair {[<pair $a $b> [a b]]}) ; ===> {[1 2] [2 1]} しかし、その拡張性のためにこのパターンマッチの動作は大変

    formalized-egison -- Egisonの型安全性の証明に向けて - a_kawashiroのブログ
    xef
    xef 2020/01/02
  • Haskellライクな構文をEgisonに実装している話 - momologue

    これは言語実装Advent Calendar 2019の2日目の記事です。 私は少し前から、楽天技術研究所でEgisonの開発アルバイトをしています。入社してから初めての大きなプロジェクトとしてEgisonの構文を新しくするというのを担当しているので、その紹介と、設計/実装で悩んだ(でいる)ことなどを書こうと思います。 Egisonとは Egisonについて聞いたことがないという人はとりあえず公式サイトを見てほしいのですが、概要としては 表現力豊かなパターンマッチ(非線形パターン*1など) (上のパターンマッチを利用して実装された)数式処理システム を強みとし、プログラムや数式を簡潔に記述できることに重きを置いているプログラミング言語です。 これまでEgisonはS式(Lispのようなカッコが多い文法)の構文を持っていましたが、Lispに習熟している人を除く大抵の人にとってはS式はあまり読

    Haskellライクな構文をEgisonに実装している話 - momologue
  • Egisonパターンマッチによる彩色

    Egison Workshop 2019 https://connpass.com/event/150001/ での講演スライド

    Egisonパターンマッチによる彩色
    xef
    xef 2019/11/25
  • RubyにHaskellよりも強力なパターンマッチを実装した - Qiita

    require 'egison' include Egison match_all(object) do with(pattern) do ... end end match(object) do with(pattern) do ... end with(pattern) do ... end ... end パターンマッチに成功すると、withに渡されたブロックが実行され、その結果が返されます。 このライブラリのパターンマッチでは、パターンマッチの結果が複数あるということがあります。 match_all構文はそのすべてのパターンマッチの結果それぞれについてwithに渡されたブロックを実行し、すべての結果をまとめた配列を返します。 match_all構文は1つのwith節を取ります。 一方、matchは複数のwith節を取ります。 先頭のwith節のパターンから順番にパターンマッチに成功

    RubyにHaskellよりも強力なパターンマッチを実装した - Qiita
  • Egisonの学び方

    Egisonの学び方 Egisonは,Hackageから配布されている日発のオリジナルプログラミング言語です. 記事ではこのプログラミング言語Egisonをこれから知りたいという方のためにどういう情報があるかまとめて紹介したいと思います. - まずはインストール Hackageを使って配布しているので,Haskellユーザの方なら, $ cabal update $ cabal install egison とシェルでコマンドを打つだけでインストールすることができます. Gitをインストールしているなら, $ git clone git@github.com:egisatoshi/egison2 とすれば,ソースコードも手に入ります. - エディタの設定 Egisonプログラムを書いたり読んだりするにはエディタのEgisonモードが飛鳥です. 開発者が用意したEgison-modeと,

    xef
    xef 2013/01/01
  • 1