タグ

Egisonに関するmatatabityのブックマーク (2)

  • EgisonでPrologっぽいことをやってみる - Qiita

    はじめに 最近,PrologでスキーマレスなNoSQLに目覚めて楽しいです.サザエさん程度なら,学習もし易いですし,言語仕様も細かく覚える必要がありません.優しい言語で,素人でもデータベースを記述することができれば,プログラマがだいぶ楽になるんじゃないかなと思うわけですね.もちろん,規則を書かなければの話ですが. Prologには連言(AND)が使えます.質問を投げるとき,複数の述語を投げることで,質問の条件を細かく指定することができます.例えば,プリキュア戦士やスーパー戦隊などのスキーマを,以下のような述語で与えたとします. warrior(nagisa_misumi, futari_ha, black). warrior(honoka_yukishiro, futari_ha, white). warrior(hikari_kujo, max_heart, luminus). warr

    EgisonでPrologっぽいことをやってみる - Qiita
  • プログラミング言語Egison

    プログラミング言語 Egison - 直感をそのまま表現するパターンマッチング - Egison は1つの定まった標準形を持たないデータに対しても柔軟なパターンマッチが表現可能なプログラミング言語です。 リストや多重集合、集合、ツリー、グラフなどといった幅広いデータ型に対して、パターンマッチが記述できます。 それにより、Egison プログラマは非常にシンプルにプログラムを記述できるようになります。 -- 素数の無限リストから全ての双子素数をパターンマッチにより抽出 def twinPrimes := matchAll primes as list integer with | _ ++ $p :: #(p + 2) :: _ -> (p, p + 2) -- 最初の10個の双子素数を列挙 take 10 twinPrimes -- => [(3, 5), (5, 7), (11, 13)

    プログラミング言語Egison
  • 1