タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

いつか読むに関するclouds-across-the-moonのブックマーク (7)

  • Cog Blog :: Build me a JIT as fast as you can…

    Cog Blog Speeding Up Terf, Squeak, Pharo and Croquet with a fast open-source Smalltalk VM Pat-a-cake, pat-a-cake Baker’s man, Build me a JIT as fast as you can… So how does one write a just-in-time compiler (or JIT for short)? First, why write a JIT? Essentially dynamic languages defer certain performance-critical computations to run-time. These languages are "late-bound". Type information is kept

  • バロース B5000 - Wikipedia

    バロース B5000は、バロースが1961年にリリースした大型コンピュータの名称。当時バロースは、大型・中型・小型でそれぞれ全く異なるアーキテクチャを採用し、ロバート・S・バートン(英語版)のコンセプトからそれぞれ命令セットを特定の高水準言語向けに最適化するという戦略をとった。大型システムの設計部門はスタックマシン型命令セットを採用し、命令の密度を高めると共に[NB 1]データワード長を48ビットとした。B5000は ALGOL 60 向けに最適化されており、単純なコンパイラでコンパイル可能とした。後継にはB5500がある。その後、B6500/B6700 やその後継機がリリースされた。なお、中型システムはCOBOLに最適化されており、小型システムはコントロールストアが書き換え可能で命令セットを置換可能とされた。 1880年代に創業したバロースはコンピュータ業界では最古参だったが、1950年

    バロース B5000 - Wikipedia
  • scalaz.Forall を読む - 月の塵

    ScalaScala では def で定義されたメソッドだけが多相性を持つことができ、値である関数は多相性を持つことができない。メソッドを関数に変換すると、そこで型パラメータが適当な型に特定化される。 scala> val id = identity _ id: Nothing => Nothing = メソッドの引き数に多相的な値を渡したりと rank-n 多相のようなことをしたいときにこれでは困ることがある。 scalaz の Forall は、そのようなときに Scala の型システムの範囲内で全称量化された値を扱うためのパッケージである。このパッケージには scala> val singleton = new Forall[({ type X[A] = A => List[A] })#X]{ | def apply[A] = (x : A) => List(x) | } sing

    clouds-across-the-moon
    clouds-across-the-moon 2011/12/28
    なごやこわい
  • 型クラスで tagless DSL メタプログラミング - keigoiの日記

    これは Haskell Advent Calendar 2011 の5日目の記事です。 去年も書きましたが、その記事はこちら → Haskell厨を6年やってる俺がOCamlを仕事で2ヶ月使ってみた - keigoiの日記 先日の記事 Haskell+タグレスな型付きDSLで楽々!C言語コード生成 - keigoiの日記 をちょっとブラッシュアップした。前回はコードについては全く説明しなかったので、改めて解説する。 おさらい HaskellやOCamlなどの関数型言語は、プログラミング言語の処理 ― 構文解析とコード生成 ― がとても得意だ。 大手のソフトウェア企業として知られる NTTデータも既存コードの処理 (構文解析〜リバースエンジニアリング) のために Haskell を使っているそうだ。 (函数プログラミングの集い2011より。インドに外注する部分もあるそう togetter 1

    型クラスで tagless DSL メタプログラミング - keigoiの日記
    clouds-across-the-moon
    clouds-across-the-moon 2011/12/07
    なるほど。全くわからん
  • GUI Architectures

    There have been many different ways to organize the code for a rich client system. Here I discuss a selection of those that I feel have been the most influential and introduce how they relate to the patterns. 18 July 2006 This is part of the Further Enterprise Application Architecture development writing that I was doing in the mid 2000’s. Sadly too many other things have claimed my attention sinc

    GUI Architectures
  • Enumerator Package - Yet Another Iteratee Tutorial - Preferred Networks Research & Development

    バレンタインチョコ欲しい! 田中です。 Iterateeの素晴らしいチュートリアルを見つけたので、今回はその翻訳をお届けしようと思います。以前、The Monad Reader Issue 16 のiterateeの記事をベースにした解説記事を書いたのですが、こちらの記事はかなり概念的なところから始まり、結構天下り的にiterateeの定義を受け入れていたのに対して、こちらの記事は、一貫して具体例からの抽象化で話が進み、また易しく書かれているので、比較的理解しやすいと思います。また、実際の実装に即して解説されていますので、読み終えて即実際に使ってみることが出来るでしょう。 このチュートリアルを書かれたMichael Snoymanという方は、現在YesodというHaskellのWebフレームワークを精力的に開発されています。Yesodには実際にiterateeがふんだんに用いられており、そ

    Enumerator Package - Yet Another Iteratee Tutorial - Preferred Networks Research & Development
  • Lazy I/O must go! - Iteratee: 列挙ベースのI/O - 純粋関数型雑記帳

    最近ちょっと気になるiterateeを勉強したので、日語の解説を書いてみます。と言いつつ、大部分が The Monad.Reader Issue 16 *1 からの引用です。 はじめに Iterateeと呼ばれる新たなI/Oの抽象化手法が、最近にわかに広まりつつあります。既存のI/Oが抱える問題を解決するべくOleg Kiselyovによって2008年頃に提唱されたiterateeは、新しい高性能webフレームワークsnap *2 や、hyena *3 で利用されています。また、HackagDB上にて、iterateeパッケージ*4、およびiterateeを利用できる様々なパッケージ *5 *6 *7 *8 が公開されています。 しかし、ドキュメントの少なさなどからiterateeがどういうものなのかよく分からないという人も多いようです。そういうわけなので、iterateeを易しく解説し

    Lazy I/O must go! - Iteratee: 列挙ベースのI/O - 純粋関数型雑記帳
  • 1