タグ

Haskellに関するsyanbiのブックマーク (30)

  • コールバック……駆逐してやる…この世から…一匹…残らず!! - Qiita

    このテキストは JavaScript のコールバック地獄に疲れたひとのためのコールバック駆逐術指南書です。対象読者は JavaScript道初段くらいの人です。このテキストを読むと、以下のそれぞれの手段における非同期処理制御の仕組み、利点および欠点がわかるようになるかもしれません。 コールバック地獄 jQuery.Deferred async.js Concurrent.Thread generators co fibers Web Workers (※なぜか『進撃の巨人』の一部ネタバレが含まれるので注意してください) それは『何故人はコールバックするのか』という話でしょうか? 非同期処理って面倒ですよね。JavaScriptではいわゆる コールバック地獄 というやつにしばしば陥りがちです。たとえば、Ajax でふたつのファイル hoge.txt と piyo.txt を持ってきて、それら

    コールバック……駆逐してやる…この世から…一匹…残らず!! - Qiita
  • Clay, CSS Preprocessor

    About Clay is a CSS preprocessor like LESS and Sass, but implemented as an embedded domain specific language (EDSL) in Haskell. This means that all CSS selectors and style rules are first class Haskell functions, which makes reuse and composability easy. Clay doesn't really use any clever Haskell tricks which makes it easy to work with, even without a lot of Haskell experience. {-# LANGUAGE Overlo

    syanbi
    syanbi 2013/08/14
    Haskell製のCSS生成器
  • 多様なフォーマットに対応!ドキュメント変換ツールPandocを知ろう - Qiita

    追記(2020.4.19) Pandoc User’s Guideを日語に全訳しました。 よろしければご参照ください。 新しい翻訳をプレリリースしました!(翻訳途中の部分もあります) Pandocユーザーズガイド 日語版 [2.7.2] — 日Pandocユーザ会 2019.02.21 ドキュメント 旧日語版:Pandoc ユーザーズガイド 日語版 はじめに 今回は、ドキュメント作成Tips Advent Calendar 2012の1日目 (マインドマップから全てを紡ぎ出す - XMind+Pandocのドキュメント作成術 -) で少し紹介したPandocというツールについて、もう少し深く掘り下げて紹介したいと思います。 MarkdownとかreStructuredTextとか、流行ってますよね いわゆる軽量マークアップ言語が最近流行しています。特にMarkdownも杓子も

    多様なフォーマットに対応!ドキュメント変換ツールPandocを知ろう - Qiita
    syanbi
    syanbi 2013/07/28
    markdown -> docx形式にできるのかー...
  • Haskellでの並列・並行プログラミングの今: Parallel and Concurrent Programming in Haskell - maoeのブログ

    HaskellコンパイラGHCの作者の一人であり並列RTSを書いた人であるSimon Marlowが、Haskellでの並列・並行プログラミングの今を切り取ったを出した。 Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming 作者: Simon Marlow出版社/メーカー: O'Reilly Media発売日: 2013/07/12メディア: Kindle版この商品を含むブログを見る The Free Lunch Is Overから8年、Haskellでの並列・並行プログラミングの今がどうなっているのかを俯瞰しつつ、実際の問題を解決するときに陥りがちな罠や、高い性能を出すためのtipsなどが読みやすくまとまった一冊になっていて、Hask

    Haskellでの並列・並行プログラミングの今: Parallel and Concurrent Programming in Haskell - maoeのブログ
  • Haskell Day2012 - 参照透過性とは何だったのか

    SonicGarden Study #11で放送された資料から一部スライドを抜いたものになります。 http://sonicgarden.doorkeeper.jp/events/13229 ----- 優れたプログラマだけが優れたソースコードを書くことができます。 では優れたプログラマになるにはどうすれば良いでしょうか。 自分の書いたコードを、優れたプログラマに指摘してもらうことが一番の近道です。それがコードレビューです。たった一人でコードレビューも受けずに、ただ書き続けてもクソコードはクソコードのままなのです。 そこで今回は、良いコードが書けるプログラマになるための、コードレビューを上手に実践する秘訣を話します。

    Haskell Day2012 - 参照透過性とは何だったのか
  • Haskellの関数の適用や合成をどうイメージしていますか? - Qiita

    プログラミングHaskellなどを読んで、小さなコードは頭では分かるようになったのですが、大きなコードを読んだり自分で設計する際に、どのように関数の適用や合成などをイメージしたり図として表したらいいか分からず悩んでおります。 具体的には、f(x,y,z) = z*(x+y) という関数が表現したい場合、 (*) :: Num a => a->a->a (+) :: Num a => a->a->a f1 x y z = z * (x + y) f2 x y = (*) $ (+) x y f3 x = (*) . (+) x

    Haskellの関数の適用や合成をどうイメージしていますか? - Qiita
    syanbi
    syanbi 2013/05/16
    おお
  • GitHub - temoto/nginx-lint: nginx config advisor

    syanbi
    syanbi 2013/03/22
    nginx lint、いちいちnginx側に設定ファイル評価させるのめんどいなと思って探したら合ったけどHaskell製なのか。個人のだし。
  • 絵で見るモナド · eed3si9n

    2012-08-21 John Wiegley さんの “Monads in Pictures” を翻訳しました。翻訳の公開は人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2012年8月20日 John Wiegley 著 2012年8月21日 e.e d3si9n 訳 これはモナドのチュートリアルではないし、ここには数学用語も出てこない。稿は、既にモナドを一応使えるぐらいには習った人を対象とする。視覚化することで、何のために何をやっているかが明らかになるはずだ。 関数 モナドに対する直感を得る一つの方法として関数からモナドへの抽象化をたどるというものがある。関数が何をやっているのかを簡単な絵で表してみよう。Haskell の関数の呼び出しの構文を上に、同じ演算を視覚化したものを下に置いた: 関数はある値 a を投射 (map) して別の値 b を得る。中で何が起

    syanbi
    syanbi 2012/08/22
    絵で見るモナド(翻訳)
  • Haskellで円周率1億桁を計算する、あるいは円周率計算にHaskellの多倍長整数の改良を見る - 純粋関数空間

    きっかけ http://d.hatena.ne.jp/itchyny/20120304 この記事を見て、私も昔円周率を計算したことがあるのを思い出しました。 http://d.hatena.ne.jp/tanakh/20070506#p1 公式は同じくチュドノフスキーを使用、GHCのIntegerをそのまま用いて円周率を計算、 当時(5年前)のマシン(おそらくCore2あたり)で1億桁が15分ほどだったようです。 SPOJというサイトのコンテスト向けに、 $\sqrt{2}$ 200万桁計算の高速化 をCで書くとこから始めて、 ナイーブ乗算、カラツバ法、そしてFFT乗算の実装にいたり、円周率へ。 最初AGMを実装し、 古くて新しい方法、Arctan系の公式の実装を経て Binary Splitting Methodを知り、 チュドノフスキーの公式へ至りました。 さらにHaskellでの実装

  • Haskell Platform

    Haskell Platform The Haskell Platform is deprecated The Haskell Platform is deprecated since 2022 and is no longer the recommended way of installing Haskell. For the latest recommended way to install Haskell please see the Downloads page.

    syanbi
    syanbi 2012/02/15
    All in one なパッケージ。Mac OS X Lion使ってる場合(gccがLLVMなっちゃった)にこいつ使うしかない...
  • 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

    syanbi
    syanbi 2012/02/15
    教えてもらったyesod tutorial siteだけどやばい。これでいいのでは?
  • Mighttpd

    Author: Kazu Yamamoto Created: 2010/03/08 Modified: 2017/02/24 Mighttpd2 (called mighty) is a simple but practical HTTP server written in Haskell. It handles static files and CGI scripts. It also provides a feature of reverse proxy and URL rewriting with HTTP redirect. Mighttpd2 is now implemented as a WAI application using the high-performance HTTP engine, "Warp". To httperf Ping-Pong benchmark,

    syanbi
    syanbi 2012/02/15
    VoQnにパフォーマンスすごいぜというプレゼンを見せてもらった。ベンチマーク早すぎでは???
  • GitHub - markchadwick/paycheck: A Python QuickCheck implementation

    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 - markchadwick/paycheck: A Python QuickCheck implementation
    syanbi
    syanbi 2012/01/19
    Haskell の QuickCheck を Pythonに portingしたもの
  • CleverCSS (Haskell) Documentation

    Introduction CleverCSS is a system for writing templates that are translated into CSS, allowing to build style sheets in a clean and structured way, following the DRY (don't repeat yourself) principle. The syntax is slightly different from CSS in that it relies on indentation instead of braces to indicate grouping, like the Python language does. The two things that enable DRY are variables and nes

    syanbi
    syanbi 2012/01/16
    CSSを書く煩わしさを軽減・・・というかlessのような形でtranslateするものか。Haskell製。lessとどっちがいいのだろう。似たことができそうだけど。
  • Haskellライブラリ入門 (2011年版) - あどけない話

    この記事では、基ライブラリである Prelude の関数をだいたい理解した人が、次に知るべきライブラリを紹介します。自由自在にリストを使いこなせ、正規表現がなくてもプログラミングができるんだなと実感した人を対象にしています。 この記事のテーマは、脱リストです。リストはとても柔軟ですが、リストで表現されている文字列は、メモリーをたくさん消費しますし、なにより遅いのです。実用的なプログラムを書くためには、必要に応じて適切なデータ構造を使う必要があります。 containers containersは、文字通りコンテナ型をいくつか集めたパッケージです。ハッシュの代替品やキューとして使えます。連想リストを使っているところは、すべて Data.Map などで置き換えることをお勧めします。 containers に入っているモジュールはすべて眺めましょう。そして、実装も読んでみましょう。(プログラミ

    Haskellライブラリ入門 (2011年版) - あどけない話
    syanbi
    syanbi 2012/01/03
    遅延ByteStringと・・・
  • Haskellの講義に関するQ&A - あどけない話

    岡山大学で、関数プログラミングの講義を一コマ担当しました。資料は、函数プログラミングの集いで使った関数プログラミングの道しるべを流用しました。ちゃんと用意しなくて、講義を受けた学生には申し訳ないです。 講義内容に関して質問を頂きました。同じような疑問を持つ人も多いと思いますので、担当教官の許可を得てここに公開します。 永続データプログラミングの意義は分かったが,破壊しないと効率が悪いのではないですか.配列のような構造が世の中には多い気がします.メモリは足りなくなりませんか. 基的に永続と呼ばれているデータは、共有の効率が高く、しかも不要になった部分はすぐに GC に回収されます。また、GHC の GC はすごく優秀であることが知られています。 Haskell では、下位のレイヤーではデータを破壊できて、たとえば固定長のバッファーを使い回すといったことも可能です。ただ、それは普通のプログラ

    Haskellの講義に関するQ&A - あどけない話
  • Ideone.com

    aW1wb3J0IE5ldHdvcmsuSFRUUAppbXBvcnQgcXVhbGlmaWVkIENvZGVjLkJpbmFyeS5VVEY4LlN0cmluZyBhcyBVVEY4CmltcG9ydCBUZXh0LkhUTUwuVGFnU291cAppbXBvcnQgQ29udHJvbC5Nb25hZAoKdHlwZSBVUkkgPSBTdHJpbmcKCm1haW4gOjogSU8gKCkKbWFpbiA9IHNjcmFwZVRhZ3MgImh0dHA6Ly9iLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5lLmpwL2VudHJ5bGlzdCIKCm9wZW5VUkwgOjogVVJJIC0+IElPIFN0cmluZwpvcGVuVVJMIHVyaSA9IGdldFJlc3BvbnNlQm9keSA9PDwgc2ltcGxl

    syanbi
    syanbi 2011/09/26
    はてブの新着エントリーの取得。Haskell製・・・
  • quine リレー - まめめも

    Update (2013-07-15): I improved this program to 50-language version. 50 言語版にパワーアップさせました。 これはこのプログラム自身を出力する Unlambda プログラム、を出力する Whitespace プログラム、を出力する brainfuck プログラム、を出力する Java プログラム、を出力する C プログラム、を出力する Haskell プログラム、を出力する OCaml プログラム、を出力する Lua プログラム、を出力する Perl プログラム、を出力する Python プログラム、を出力する Ruby プログラム、です。 # ruby l=92.chr;eval s="s=s.dump[r=1..-2].gsub(/("+l*4+"){4,}(?!\")/){|t|'\"+l*%d+\"'%(t .s

    quine リレー - まめめも
    syanbi
    syanbi 2011/07/05
    話題になってたquineプログラム元ネタこれかーーーー
  • OCaml の let と let rec はなぜ別扱いになっているのか、決定版、もしくは OCaml 暦十何年だったか忘れたけど仕事で Haskell を一年使ってみた - camlspotter’s blog

    はじめに断っておくが、全部Pros/Consのあるデザインチョイスなので、こうじゃなきゃいけないってことではない。ただ、 OCaml はこの選択をした、そいう事だ。 前回の「経験15年の OCaml ユーザーが Haskell を仕事で半年使ってみた」 http://d.hatena.ne.jp/camlspotter/20101212/1292165692 のような易しい文章ではないのでわからない人はとことん判らないだろう。まあ勘弁して欲しい。 あと、面倒だろうが、読む人は全部常体を敬体にして最後に「と思います」をつけて読んでくれ。ください、と思います。 Shadowing は便利であると思っている OCaml の let は非再帰なので以前定義された名前に別の値の束縛をオーバーライドできる。OCaml の人はこれが便利だと思っており皆普通に使っている。詳しくは http://d.hat

    OCaml の let と let rec はなぜ別扱いになっているのか、決定版、もしくは OCaml 暦十何年だったか忘れたけど仕事で Haskell を一年使ってみた - camlspotter’s blog
    syanbi
    syanbi 2011/05/10
    let, let recによる値束縛の差についてなぜあるのか(再帰、非再帰での違いだが) 、という理由について取り上げられているエントリ。Haskellとの対比があるが、Haskellは真摯にコードと向き合える人..向け.. か。
  • Slide 1

    syanbi
    syanbi 2011/02/07
    Haskell Programmingのプレゼン