タグ

Programmingとhaskellに関するTacoSのブックマーク (4)

  • where節。 - t-imaizumiのMacとかのはなし

    where節以降で関数を定義すると、その直前で定義した関数からのみ使える関数が定義関数を定義、変数を束縛できる。 main = do print $ whereTest 1 whereTest :: Int -> Int whereTest n = plus 5 where plus :: Int -> Int plus num = n + num この場合、plus関数はwhereTest関数からのみ使用可能。また、plus関数からはwhereTest関数の引数を参照できる。 main = do print $ whereTest 1 print $ plus 5 としてコンパイルすると、 Not in scope: `plus' 怒られる。 where節以降でmain関数からも使用する関数を定義する場合は、 whereTest :: Int -> Int whereTest n = p

    where節。 - t-imaizumiのMacとかのはなし
  • プライム、プライム、プライム - yarbの日記

    数万語あるスペル辞書から「amble、blame、mabel、mable」のようなアナグラムになっている単語を拾い出すというプログラムをHaskellでもやってみようと頑張ってみた。前にRubyで書いていたし、比較的簡単にかけそうな気がしたのだけど、コンパイルエラーが出まくって全然ダメ……。 やっぱりまずは基礎なんだと思って、ふつうのHaskellを3分の2のあたりまで読み進めた。非常におもしろい。 Haskellってすごくピュアな方面を目指してるんだと思ったけど、二項演算子は扱いが特殊だったりして、案外不純なんだなと思った。「a + b」式の二項演算子なんて排除して、すべて「+ a b」でいいじゃんというのがLispとかScheme系の人の発想なんだろうけど、Hakellは意外にも「a + b」を許す。で、面白いのが普通の関数でも「a 'func' b」と書くことで、あたかも2項演算子

    プライム、プライム、プライム - yarbの日記
    TacoS
    TacoS 2013/04/21
    関数名にシングルクオーテーションが使えるのか
  • Haskell基礎文法最速マスター - think and error

    見ていただけるのは嬉しいですがこのエントリは十分古いため、新しい情報へアクセスをしてください。以下のをお勧めします。 すごいHaskellたのしく学ぼう! 作者: MiranLipovaca出版社/メーカー: オーム社発売日: 2017/07/14メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る 関数プログラミング実践入門 ──簡潔で、正しいコードを書くために (WEB+DB PRESS plus) 作者: 大川徳之出版社/メーカー: 技術評論社発売日: 2014/11/14メディア: 単行(ソフトカバー)この商品を含むブログ (8件) を見る みんなHaskellやろうぜ!! ということで書きました。 CやJavaRubyなど他言語を知っている人は、これを読むことでHaskellの大抵のことはマスターでき…ません。 特殊な構文が多すぎて他言語との類

    Haskell基礎文法最速マスター - think and error
  • ラムダ文字の由来:Rainy Day Codings:So-net blog

    Haskell で匿名関数を表現するのに \ を使うのはバックスラッシュがラムダ文字 λ に似てるかららしい。でもこれは Windows とかだと円記号になってしまって台無しである。それにバックスラッシュは相当多くの言語で一意にエスケープの意味を持つので混乱する。 匿名関数をラムダ lambda と呼ぶのは Lisp の影響だが、Peter Norvig の Paradigms of Artificial Intelligence Programming によると Lisp で匿名関数を lambda と書くのは以下のような由来らしい。 - Russel と Whitehead の Principia Mathematica では のように束縛変数の上にキャレットを置く書き方をしていた - Church がその記法を ^x(x+x) と変えた - キャレットの下に何も無いのが変だと思ったの

    TacoS
    TacoS 2011/06/23
    今まで、lambdaって気持ち悪かったけど、なんとなく納得
  • 1