タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

haskellに関するmemiguのブックマーク (10)

  • 「論理と計算のしくみ」が大変ためになった - 北海道苫小牧市出身の初老PGが書くブログ

    読み終わったので感想です。他の方々からも良書だ、良書だと勧められましたが、結論から言うとやはり買いです。 論理と計算のしくみ 萩谷 昌己 西崎 真也 前半は論理学から話を初めてゲーデルの不完全性定理までを論じます。後半はλ計算と型理論についての内容です。カリー・ハワード対応がわからなくてもいいのであれば、後半のλ計算の部分だけ読むこともできます。 読み切れば、例えば、物のプログラマはHaskellを使うの連載に出てくる次のような単語の意味は理解できるようになるでしょう。 reduction call-by-name call-by-value Weak Head Normal Form 型推論 依存型 多相型 他にも以下のような聞いたことあるけどなんだろこれって知識が補完されます。 命題論理、述語論理、様相論理、時相論理、直観論理 ゲーデルの不完全性定理 チューリングマシンの停止性問題

    「論理と計算のしくみ」が大変ためになった - 北海道苫小牧市出身の初老PGが書くブログ
  • 関数型プログラミングの世界

    The document discusses the idea of integration by parts, which involves using the product rule in reverse to evaluate integrals that cannot be solved using other methods. It presents the integration by parts formula as u(x)v'(x)dx = u(x)v(x) - u'(x)v(x)dx and works through an example problem of evaluating the integral of xex dx using this formula. The example breaks the integral down into separate

    関数型プログラミングの世界
  • Haskellで作る超コンパクト音声認識システム

    音声認識人工知能の分野の中でも独自の進化をとげた分野で,良くも悪くもガラパゴス的と言われたりします. 特に大語彙連続音声認識を実現する既存のソフトウエアは大規模かつ複雑で,音声認識の専門家でさえも全体を理解して改良を加えることは必ずしも容易ではありません.このことは近隣分野と音声認識コミュニティを分断する障壁ともなっています. しかし音声認識を実現するアルゴリズム自体は,基的には実はそれほど難解なものではありません.ソフトウエアが複雑なのは,多分に計算量やメモリ量削減のための様々な工夫やCに代表される手続き型プログラミング言語の抽象化能力の限界に起因しています. 他方,ソフトウエア工学の分野では複雑な処理をコンパクトに記述可能な次世代プログラミングパラダイムとして,純粋関数型言語が研究されています.純粋関数型言語は長らく研究段階に留まっていましたが,近年はHaskellなど実用性の高

  • kei_q

    hakyllでblogが書きたくなってきたので移行しました。 http://keqh.net 8/13に行われた第9回 横浜へなちょこiOS勉強会(#yhios)に参加してました。 googleグループ:https://groups.google.com/group/yhios?hl=ja&pli=1 周りでTitanium mobileによるアプリの開発をしている人をよく見かけるようになったので、そろそろ取り組んでみようと思っていたところ、も出版されているし、近くでyhiosがあるとのことで参加してみました。 今回取り組んだことは以下。 CoffeeScript + TitaniumでiOSアプリ作成環境の構築 を読む http://www.amazon.co.jp/gp/product/4798123986/ref=as_li_ss_tl?ie=UTF8&tag=mogya-22&

    kei_q
  • プログラミングHaskell 9章 練習問題6の他人の解答を自分なりに変更してみた - kei_q

    以下の記事を見たので、自分なりに書き直してみた。 http://d.hatena.ne.jp/morning_reading/20110415/p1 変更した部分については以下に説明を載せて、最後に全文を載せます。 解説 cls :: IO () cls = putStr "\ESC[2J" type Pos = (Int, Int) type Board = [Int] このあたりは変更なし goto :: Pos -> IO () goto (x, y) = putStr $ "\ESC[" ++ show y ++ ";" ++ show x ++ "H" ここは()ではなくて$で区切るように変更。$は右側の式を評価してから左の関数に適用するもの。 seqn :: [IO a] -> IO () seqn [] = return () seqn (a:as) = do a seqn

    プログラミングHaskell 9章 練習問題6の他人の解答を自分なりに変更してみた - kei_q
  • Vim-users.jp - Hack #211: Haskellでimportするモジュールや関数をその場で調べつつ入力する

  • 純粋関数型雑記帳

    TL;DR 簡潔で直感的に扱える、宣言的なRust向けのコマンドライン引数パーザーを作りました。 https://crates.io/crates/argopt モチベーション Rustにstructoptというライブラリがあります。これはコマンドライン引数をパーズするライブラリなんですが、僕はこのライブラリが大好きなんです。Rustのライブラリの中で一二を争うほど好きです。なんならコマンドラインツールをRustを書く理由の大部分がこのライブラリの存在といっても過言ではないかもしれません(過言ですけど)。 しかしstructoptも使い続けていると、どうにももっと便利にできるんじゃないのかと思う部分が出てきます。structoptでは名前の通りコマンドライン引数をstructで定義して、それに#[derive(StructOpt)] とStructOptをderiveすることでパーザーのコ

    純粋関数型雑記帳
  • http://atnd.org/events/10631/

    http://atnd.org/events/10631/
  • Theorem Prover Advent Calendar 2013 の21日目の記事です。 先月、信州大学で TPP 2013 という定理証明器ユーザの集会がありました。TPP では毎回証明の問題が事前に出題され、参加者の一部がこれを解いてきて発表するようになっています。これが TPPmark です。この記事は、TPPmark 2013 の SSReflect による解答例とその解説です。問題はhttp://shirodanuki.cs.shinshu-u.ac.jp/TPP/TPPmark2013_Jap.pdfを参照してください。 これ以降の証明では以下のモジュールを使います。 Require Import ssreflect ssrfun ssrbool eqtype ssrnat seq fintype path fingraph finset fingroup perm. 1

  • 型推論はどのようにして実装されているか - ラムダプラス+の紹介 -

    この記事は Haskell Advent Calendar jp 2010 のために書かれた物です。(20日目) 型推論は簡単 ML や Haskell のような言語の型推論は、型推論を知らないみなさんが考えているよりは遥かに簡単な物です。大雑把に言ってしまえば、構文木全体を探索して、同一である事が明らかな型同士の単一化をしていけば型推論できてしまうのです。 型推論の難しい所その1 - 多相型 しかし、型推論にも難しい事が無いわけではありません。まず最初の難関としては多相型が挙げられます。 ML や Haskell では let などの変数束縛に対して多相型が導入されています。式の中でこれらの変数が出現すると、その型の型変数(確定していない部分)を全て付け替える操作が発生します。 しかし、確定していない部分を付け替えるという事は、最終的に元の型が確定した後にその操作をしなければ、型を正しく

  • 1