タグ

haskellに関するtokoromのブックマーク (6)

  • Swiftの関数の引数は、常に一つ - Qiita

    だとしたら、Swiftではカリー化は不要ということになってしまう。 すなわち、ざっくり言うとカリー化とは複数の引数を1つに減らすことを指します - Swiftで関数のカリー化(currying)入門 Swiftの関数は、つねに一つの値を受け取り、一つの値を返すのだから。 以下のコードを動かしてみれば、それがわかる。 func call<A,R>(f:A->R, a:A)->R { return f(a) } func id(i:Int)->Int { return i } func add(x:Int, y:Int)->Int { return x + y } call(id, 42) // 42 call(add, (21,21)) // 42 上記のcall()は、「『型Aの値を一つだけ取って型Rの値を返す関数』と『型Aの値』を取って『型Rの値』を返す関数」なはずなのに、「IntとIn

    Swiftの関数の引数は、常に一つ - Qiita
    tokorom
    tokorom 2014/07/30
    Haskell勉強会のおかげでこの内容理解できてよかった(それまでカリー化とか知らんかった)
  • すごい Vim で Haskell を書こう ... の補足 - 反省はしても後悔はしない

    この記事は Vim Advent Calendar の 274 日目の記事です。昨日は id:osyo-manga さんの unite-highlight つくった でした。 はじめに 先週の日曜日(8/25)になごやまつりというイベントがあり、そこで Haskell を Vim で書く方法というネタで LT をしてきました。発表するのが決まったのが前日ということもありちゃんとまとまった内容になっていなかったので、エントリで少し補足を書きたいと思います。 すごいVimでhaskellを書こう@なごやまつり from cohama とりあえず、インデントをどうにかする 発表では「Haskell のデフォルトのインデントプラグインは全然ダメ」という発言をしましたが、間違いでした。訂正します。 「Haskell のデフォルトのインデントプラグインなんてなかった!」 まさか、ないとは...。 と

    すごい Vim で Haskell を書こう ... の補足 - 反省はしても後悔はしない
    tokorom
    tokorom 2013/09/03
    めも
  • VimでHaskellを書く時に入れておきたいプラグイン5つ - Qiita

    augroup ghcmodcheck autocmd! BufWritePost <buffer> GhcModCheckAsync augroup END " $VIMRUNTIME/after/ftplugin/haskell.vimに保存しておく Haskellではこまめにコンパイルして型のエラーをチェックするのが重要なので、 自動でチェックできるとかなり捗ります。 また、型推論によって、カーソルが示している関数がどういう型なのかを表示する機能があります。 ソースコードの状態によるので、常に動作するわけでは無いですが、 あれ、これ今どういう型になってんだろう、って時に非常に役に立ちます。 モナドのdo記法の中とか、型がイメージしづらい時などにも使えます。 GhcModType html-template-syntax HaskellのWebフレームワークYesodでは、hamlet

    VimでHaskellを書く時に入れておきたいプラグイン5つ - Qiita
    tokorom
    tokorom 2012/10/19
    めも
  • Useful Haskell functions

    Prelude.hs is the standard library which is loaded when you start Haskell, and it contains all the functions you have learned so far. Here's my pick of the most useful. Note that just knowing about these functions ain't gonna help you; knowing how to use them is the key! So, lots of practice is essential. List processing basics

  • 2.5. GHCiデバッガ

    GHCiは単純な命令的スタイルのデバッガを搭載していて、実行中の計算を停めて変数の値を確かめることができる。このデバッガはGHCiに統合されており、デフォルトで有効になっている。デバッグ機能を使うのにフラグは必要ない。一つ、重要な制限があって、ブレークポイントとステップ実行は解釈実行されているモジュールでしか使えない。コンパイル済みコードはデバッガからは見えない[5]。 このデバッガは以下のものを提供する。 プログラム中の関数定義や式にブレークポイントを設定する能力。その関数が呼ばれたとき、あるいはその式が評価されたとき、GHCiは実行を中断してプロンプトに戻る。そこで、実行を続ける前に、局所変数の値を調べることができる。 ステップ実行ができる。評価器は、簡約をだいたい一回行うごとに実行を一時停止し、局所変数を調べることができるようにする。これはプログラムのあらゆる地点にブレークポイントを

    tokorom
    tokorom 2012/09/08
    Haskell面白いけどバグっているときにデバッグできんくてイカン、と思ったらデバッグも簡単だったのね。
  • Haskell on Heroku - ごったく

    Heroku で Yesod が動かせると聞いたので、やや今さらな感もありますが、最近注目を集めている PaaS 型のクラウドプラットフォーム Heroku で Yesod を動かすまでのメモ。 Heroku では、OS や必要なライブラリをセットにしたものを Stack と呼びます。これまでは Ruby 用の 2 種類のスタックが用意されていたものに加えて、Node.js や Clojure, Java, Python, Scala に対応した Celadon Cedar Stack が新たに作られました。現在 Cedar stack はパブリックベータという位置付けですが、上記以外にも、Yesod などの Haskell アプリケーションもデプロイすることができます。 ここでは RubyGems と Haskell Platform が既にインストールされており、Yesod アプリケー

    Haskell on Heroku - ごったく
    tokorom
    tokorom 2012/05/16
    めも
  • 1