タグ

Haskellに関するkorinのブックマーク (11)

  • 100行で書く俺様プログラミング言語コンパイラAltJS編 - Qiita

    プログラミングをしたことがあるひとなら、誰でも1度くらい自分の理想の言語を作ってみたいと思うのではないでしょうか。このテキストは、オリジナルのプログラミング言語のコンパイラ作成を通して、パーサコンビネータの使い方を紹介していくものです。 2分でわかる、俺の俺による俺のためのプログラミング言語を作る大まかな手順 自分のオリジナルなプログラミング言語を作るには、典型的には次のような手順を踏みます。 既存のプログラミング言語を使ってみる その既存の言語の気に入らないところを徹底的になじる(ただし心のなかで) 己の内に秘める中二力を卍解し、最強プログラミング言語の仕様を妄想する コンパイラを作る その言語を教典とする宗教団体を設立し、慈悲深き終身の独裁者を名乗る 自分の言語が思ったよりしょぼいことに気付く 桶屋が儲かる このテキストではこのうち手順 4 だけ、特にコンパイラのパーサ部分を解説します

    100行で書く俺様プログラミング言語コンパイラAltJS編 - Qiita
  • GitHub - iostreamer-X/FuncShell: Improve your shell by making it functional through Haskell! (An update to Awkward)

    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 - iostreamer-X/FuncShell: Improve your shell by making it functional through Haskell! (An update to Awkward)
  • 帰納関数プログラミングシステム MagicHaskeller

    片山 晋が開発している,てけとープログラマおよび初心プログラマ向け自動HaskellプロクラミングシステムMagicHaskellerの日語ページです. 小難しい話はトップページのPublicationsのところ参照.特に,TFP2005のやつとPRICAI2008のやつ. 英語ページの方が充実してますが,売国奴ではありません.日語ページの方がよくまとまっていると考えていただければよろしいかと. (最近 MagicHaskeller Agent 使って「忖度できる汎用人工知能」ってのを作ってます. 「何じゃそりゃ」って方はこちら) Web版 関数fの仕様を述語(Trueとなるはずの式)の形で書くべし.その仕様を一般化した関数が得られるよ! 例 注意事項: Bool値を返すHaskellの式を入力してください.(ただし、letとwhereは意図的に禁止しています。) Standard P

    korin
    korin 2017/09/13
    excelの方もすごい
  • [翻訳] Haskellで生産的になる(Pythonから移行して) - Qiita

    Matthew Griffithさんのブログ記事 MECHANICAL ELEPHANT - Becoming Productive in Haskell comming from Pythonの翻訳です。そういえばProductive ProgrammerってにもHaskellを使って実証実験する話が出てました。Haskellは何度も勉強しようとして途中で止まっては忘れを繰り返しているので見習いたいと思います。 最近になってようやく私は生産性を高められるぐらいHaskellに熟達してきました。そこでHaskellを学習してきた経験について、それらを忘れてしまう前に私の考えを書き留めておこうと思います。今や私はWebプロトタイピングのほとんどをHaskellで行っています。まだ普段はPythonを使い、また楽しんでいるにも関わらず、です。 Data First(データが第一) これは動的

    [翻訳] Haskellで生産的になる(Pythonから移行して) - Qiita
  • HaskellでOSを作る試み - みずぴー日記

    函数型なんたらの集い 2014 in Tokyo - connpassで、前にやっていたajhcでmini-osを書いていたときの話をしてきた。 下書き せっかく書いたので発表のときの下書きをそのまま載せておく。 スライドを作るときに一部変えたり、下書きの段階では図をいれてなかったりするが、おおまかな流れは変わっていない(はず)。 自己紹介 みなさんこんにちは。地方枠で参加したmzpです。 普段は名古屋でRailsプログラマやってます。 導入 突然ですが、OSを作ってみたいですよね! プログラマたるもの1度はOSとかエディタは自作してみたくなりますよね!!そして、自作するなら当然、愛してやまない関数型言語を使いたいですよね。 そうです、この発表は関数型言語を使って自作のOSを作ろうとした話です。 整理 さて、ひとことでOSといっても様々な種類があるので、それを整理しておきましょう。 デスク

    HaskellでOSを作る試み - みずぴー日記
  • shell-conduit: Write shell scripts in Haskell with Conduit

    shell-conduit: Write shell scripts in Haskell with Conduit As part of my series of write-about-personal-projects, my latest obsession is writing shell scripts with Michael Snoyman’s Conduit. Here is my package, shell-conduit. It’s still in the experimental phase, but I don’t forsee any changes now for a while. Bash is evil I hate writing scripts in Bash. Until now, it was the easiest way to just w

  • 高速WebサーバMighttpdのアーキテクチャ | IIJの技術 | インターネットイニシアティブ(IIJ)

    (※)このページで紹介している事項は記事初出時点の情報に基づいたものです。ページはアーカイブとして掲載しています。 ツイート 2012年5月29日 IIJ-II技術研究所では、2009年の秋からMighttpd(mightyと読む)というWebサーバの開発を始め、オープンソースとして公開しています。この実装を通じて、マルチコアの性能を引き出しつつ、コードの簡潔性を保てるアーキテクチャにたどり着きました。ここでは、各アーキテクチャについて順を追って説明します。 ネイティブ・スレッド 伝統的なサーバは、スレッド・プログラミングという手法を用いています。このアーキテクチャでは、1つのコネクションを1つのプロセスかネイティブ・スレッドが処理します。 このアーキテクチャは、プロセスやネイティブ・スレッドを生成する方法で細分化できます。「プール」方式では、あらかじめ複数を起動しておきます。例としては

    高速WebサーバMighttpdのアーキテクチャ | IIJの技術 | インターネットイニシアティブ(IIJ)
  • Pythonのfor-else - 考える人、コードを書く人

    みんなのPython熟読中。ジェネレータの解説に出てきたコードでおもいっきりハマった。 #エラトステネスのふるい def get_prime(x=2): while True: for i in range(2,x): if x % i == 0: break else: yield x x += 1 i = get_prime() for c in range(5): print i.next()↑をパッと見たときelseのインデント位置に違和感があったので↓の間違いだろうと思って 書き直して実行してみたらおかしなことになった。 def get_prime(x=2): while True: for i in range(2,x): if x % i == 0: break else: yield x x += 1 i = get_prime() for c in range(5): p

    Pythonのfor-else - 考える人、コードを書く人
  • Haskellでコマンドラインミュージック? - 音楽方丈記

    Haskellでコマンドラインミュージック? » 音楽系動画ネタ  [編集] プログラミング言語 Haskell で実装したサウンドジェネレータ兼ループシーケンサのようなプログラム(?)を使って、コマンドラインから次々とデータ打ち込んで曲をビルドアップしていく動画。 Haskell hack « Alex McLean Loading... なんかちょっと面白そう。 [関連サイト] Haskell hack « Alex McLean Haskell - HaskellWiki Wikipedia - Haskell

  • Language.C を使ってみる with Data.Generics - らくがきえんじん

    Language.CはHaskell用の、C言語のソースコードを構文解析するライブラリ。 構文木はHaskellのデータとして操作可能で、これのおかげでC言語のコードを色々と操作できる。意味解析に役立ついくつかの補助関数も定義されているようだ(よく調べてない)。 やったこと、動機 JHC (Haskellのコンパイラ;ISO C互換のコードを吐く)は C99のコードを吐くようだ ツールの制約でgcc 2.95(19991024)しか手元にない。 gcc 2.95はC89しか受け付けないようだ jhc が吐くコードを gcc 2.95 でコンパイルできるよう自動変換したい そこで Haskell用の Cパーザである Language.C を使って、JHCが吐くコードを gcc 2.95でコンパイルできるように変換する。未完。 C89では 変数宣言が ブロックの頭以外に来たらエラー。全ての変数

    Language.C を使ってみる with Data.Generics - らくがきえんじん
  • 1