論理型言語とは、記号論理学の体系をプログラミング言語として実現したものである。大体は一階述語論理相当のアプローチを利用する。
プログラミングにおいて広く利用される手続き型言語ではコンピュータに対し「××をせよ」という具体的な指示を与えていくのに対し、論理型言語では「○○は××である」という定義を書き連ねる。そして「△△は××か?」とか「××なものを求めよ」という条件を与えると、それに見合う結果が返ってくるという言語である。
その特性ゆえに「8クイーン問題」のような、条件を決めると結果が確定する(が、具体的にどうやって求めるかは難しい)タイプの問題を非常に扱いやすいのであるが、先に手順が決まっていてその通りに動いて欲しいような処理は全くと言っていいほど書くことができない。現代主流言語の対極にあるような存在である。
ちなみにれっきとしたチューリング完全な体系であって、論理型言語が時代を席巻する世界線もあった・・・はず。
代表言語はほぼProlog一択。日本の第5世代コンピュータ計画では論理型言語にスポットが当てられており、並列論理言語KL1などが開発されている。第5世代コンピュータ自体が黒歴史とか言ってはいけない。他に論理型要素を持つ言語というと、一部で人気のErlangぐらいであろうか。
掲示板
急上昇ワード改
最終更新:2025/12/06(土) 07:00
最終更新:2025/12/06(土) 07:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。