タグ

haskellに関するmanatenのブックマーク (19)

  • Haskell 超入門 - Qiita

    Haskellで簡単なプログラムを書くのに最低限必要な基礎文法を取り上げます。練習では再帰に慣れることに重点を置きます。再帰によるリスト処理の例として各種ソート(挿入ソート、バブルソート、マージソート、クイックソート)を紹介します。ラムダやモナドなどの発展的な内容には触れませんのでご了承ください。 シリーズの記事です。 Haskell 超入門 ← この記事 Haskell 代数的データ型 超入門 Haskell アクション 超入門 Haskell ラムダ 超入門 Haskell アクションとラムダ 超入門 Haskell IOモナド 超入門 Haskell リストモナド 超入門 Haskell Maybeモナド 超入門 Haskell 状態系モナド 超入門 Haskell モナド変換子 超入門 Haskell 例外処理 超入門 Haskell 構文解析 超入門 【予定】Haskell 継続

    Haskell 超入門 - Qiita
  • Haskell アクションとラムダ 超入門 - Qiita

    Haskellのdoブロックの中はbindで結ばれています。アクションとラムダを組み合わせることで仕組みを探ります。アクションをもっと便利に使うことを目的としているため、モナドや圏論には言及しません。 シリーズの記事です。 Haskell 超入門 Haskell 代数的データ型 超入門 Haskell アクション 超入門 Haskell ラムダ 超入門 Haskell アクションとラムダ 超入門 ← この記事 Haskell IOモナド 超入門 Haskell リストモナド 超入門 Haskell Maybeモナド 超入門 Haskell 状態系モナド 超入門 Haskell モナド変換子 超入門 Haskell 例外処理 超入門 Haskell 構文解析 超入門 【予定】Haskell 継続モナド 超入門 【予定】Haskell 型クラス 超入門 【予定】Haskell モナドとゆかいな

    Haskell アクションとラムダ 超入門 - Qiita
  • Haskell製サービスを本番投入 | POSTD

    thoughtbotはWebとモバイルアプリを開発するWebコンサルティング会社。Railsの有名プラグインであるPaperclipやFactory Girlなどのオープンソースプロジェクトや、自社プロダクト(hound、Upcase)も開発している。ボストンをベースに、サンフランシスコ、デンバー、ニューヨーク、フィラデルフィア、ローリー、ストックホルムにオフィスを持っている。 数週間前、私たちはGiant Robotブログで新しいコメント機能をひそかにリリースしました。パラグラフやコードブロック上でホバーすると、右側に小さなアイコンが表示され、その記事の該当するセクションにコメントできる機能です。 この機能を公開して、これまでずっと言いたかったことがようやく言えます。ついにHaskellのサービスを一般出荷しました! ここでは、リリースの概要および仕組みを説明し、私たちが遭遇したさまざま

  • PHP で zip、unzip、zipWith

    PHP: array_map のコールバック関数がキーを受け付けるようにするPHP: コールバック関数でキーをフィルタリングするPHP: filter と map を1つにまとめた関数を定義するPHP: filter と partitionPHPzip、unzipzipWitharray_fill にコールバック関数を受け付ける機能を追加するZipping and unzipping listszipunzipzipWithHakell の zip、unzipzipWith に相当する関数を PHP で定義してみた。まずはこれらの関数のふるまいを GHCi で試すと次のようになった。Haskell においてラムダ式はバックスラッシュと矢印記号を組み合わせで表現される。 Prelude> zip [1, 2, 3][9, 8, 7] [(1,9),(2,8),(3,7)] Prel

    PHP で zip、unzip、zipWith
    manaten
    manaten 2014/04/23
    array_mapが思ったより色々できたんだな
  • GitHub - gree/haskell-jobqueue

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - gree/haskell-jobqueue
  • IHaskell

    IHaskell Notebook Hello, and welcome to the IHaskell Notebook. IHaskell Notebook is similar to an interactive shell along the lines of GHCi. However, it is much more powerful, and provides features such as syntax highlighting, autocompletion, multi-line input cells, integrated documentation, rich output visualization, and more. In this notebook, I'd like to demonstrate many of the awesome features

  • YBlog - Haskell web programming

    update: updated for Yesod 1.2 tl;dr: A simple Yesod tutorial. Yesod is a Haskell web framework. You shouldn’t need to know Haskell. Its efficiency (see Snap Benchmark & Warp Benchmark1). Haskell is an order of magnitude faster than interpreted languages like Ruby and Python2. Haskell is a high level language that makes it harder to shoot yourself in the foot than C, C++ or Java, for example. One o

  • HaskellとScalaの型システムとforall

    しいたけ @yuroyoro @nagise ScalaとHaskellでは、そもそも方向性が全然ちがうよぅ。Haskellはオブジェクト指向的なクラスベースの型システムがないですし なぎせ ゆうき @nagise @yuroyoro それは知ってるのだけど、ジェネリクス周りではHaskellがよく引き合いに出されるのでそこは抑えておきたいかなあと。HaskellでやれてScalaでできないことってなんだろうとか

    HaskellとScalaの型システムとforall
  • 実装して理解する遅延評価の仕組み 〜 thunkを絵に描いて理解しよう・JavaScriptでHaskellを実装!? - プログラムモグモグ

    この記事では, Haskellに用いられる「遅延評価」の仕組みを, 図に描いて説明します. 更に, 遅延評価版のフィボナッチ数の無限列を, JavaScriptで実装します. 遅延評価とはどのように動くのか, 考えて行きましょう. HaskellのコードとJavaScriptのコードの比較 Haskellでの x = y y = 10 と, JavaScriptの var x = y; var y = 10; というコードを考えてください. Haskellのコードは, これだけでは何も起こりません. print xとすると, x = y = 10 となって 10 が表示されます. 一方, JavaScriptのコードは var x = y; を評価した瞬間, 「ReferenceError: y is not defined」というエラーが出ます. 更に, main = let x = 1

    実装して理解する遅延評価の仕組み 〜 thunkを絵に描いて理解しよう・JavaScriptでHaskellを実装!? - プログラムモグモグ
  • Google Sites: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

    manaten
    manaten 2013/03/05
    いろんな言語で畳み込み
  • Scala の内面を Haskell 化する話 - akihiro4chawonの日記

    Scala を使って Haskell 風の記述をしている例を時々見かけるけれど、徹頭徹尾 Haskell になっている例はあまり見掛けない。アプリケーションロジックだけ見れば同じなんだけれど、実際の内部動作は全然違っていたりする。そして、パフォーマンスが致命的に劣っていたりすると、悲しくてやりきれない気持ちになる。Scala は、当は出来る子なんですと。 そこで、Haskell っぽい記述に耐えうる Scala Library を整備していこうと思う。 循環無限リストの整備 Haskell の無限リストのつもりで Scala の Stream を使うと、こんな落とし穴が待ち受けている。 例えば、無限リストの第1000000*1000番目が欲しいとき、Haskellならば、メモリ不足にはならないんだけれど、 Prelude> repeat 42 !! (1000000*1000) 42Sc

    Scala の内面を Haskell 化する話 - akihiro4chawonの日記
  • HGamer3D

    HGamer3D is a toolset for developing 3D games in the programming language Haskell. HGamer3DHGamer3D.AudioHGamer3D.Audio.SoundListenerHGamer3D.Audio.SoundSourceHGamer3D.Audio.VolumeHGamer3D.DataHGamer3D.Data.AngleHGamer3D.Data.ColourHGamer3D.Data.GameTimeHGamer3D.Data.Geometry2DHGamer3D.Data.LMHHGamer3D.Data.LabelHGamer3D.Data.LogMessageHGamer3D.Data.ParentHGamer3D.Data.PlayCmdHGamer3D.Data.ScreenR

  • Haskellで作る超コンパクト音声認識システム

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

  • Haskellの「fib = 1:1:zipWith (+) fib (tail fib)」はとても遅い - 西尾泰和のはてなダイアリー

    ラボの昼休みに光成さん、中谷さんとご飯をべながら話した内容を一応ざっくりとまとめておく。 発端はたしか最近Haskellを勉強の光成さんが、Haskellのかっこいいsieveは実はとても遅い(俺は Haskell の sieve についてとんでもない思い違いをしていたようだ...)という話を見て、同様にかっこいいけど遅い下記のフィボナッチ数列の定義の速度を調べてみたら2.5乗くらいのオーダーになっていたという話だったかと思う。 fib = 1:1:zipWith (+) fib (tail fib) 僕も確認するために、コマンドライン引数でNを与えられるフィボナッチ数列のN番目を求めるコードを書いた。 import System fib = 1:1:zipWith (+) fib (tail fib) main = do args <- getArgs print $ (0 *) $

    Haskellの「fib = 1:1:zipWith (+) fib (tail fib)」はとても遅い - 西尾泰和のはてなダイアリー
  • 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
  • 本物のプログラマはHaskellを使う:ITpro

    筆者 shelarcy Haskellは,関数型プログラミングというジャンルに属する言語です。Haskellや関数型プログラミングを題材に物事を見ていくことで,今まで思いもよらなかったような未知の世界を知ることができるでしょう。 プログラミング言語を学ぶという行為には, 言語の基的な文法や考え方を理解する 言語の文化圏で広く使われている考え方に親しんでその言語らしい書き方を習得する 単に言語を使ってできること以上の知恵を学ぶ の3段階があります。この連載では,三つ目の段階を目標に,Haskellプログラミングの世界を一つひとつ丁寧に紹介していきます。 更新は毎月第1水曜日(1月のみ第2水曜日)

    本物のプログラマはHaskellを使う:ITpro
  • 文字列処言語間理比較表 - Haskellの駄目な使い方

    ここ→配列操作の比較表に触発されて、Rubyの文字列メソッドの対応物をJavaとHaskellで探してみました。 Javaの文字列処理がそれほど高機能じゃないのはある程度想定内だったけど、Haskellもなかなか1対1の対応物がない。 lines,unlinesとか逆にあまったけど。 そもそもHaskellのソレって文字列処理用っていうよりほとんど汎用リスト操作関数なわけで。 Haskellって 「汎用性の高い関数を用意したから自由に組み合わせて使ってね」 って思想だと思うわけで。 カリー化された関数の強力な応用力とあいまってこれはこれで一つの便利さの方向性だとはおもう。 ただこれの欠点は 「もっとエレガントで短い書き方があるんじゃないか?」 って不安がいつまでも付きまとう事。 (しかもタチの悪い事にパズルみたいで楽しすぎる!) 自分の修行が足りなくてイディオムを知らないせいもあるけどね。

    文字列処言語間理比較表 - Haskellの駄目な使い方
  • azito.com

    This domain may be for sale!

  • Program | 速くないクイックソート

    Index of /diary/index.php/2004/07/19 NameLast modifiedSizeDescription Parent Directory  - 0/2016-01-06 09:45 - Apache/2.4.10 (Debian) Server at www.jmuk.org Port 80

  • 1