Captcha security check simplyscala.com is for sale Please prove you're not a robot View Price Processing
Googleが、Webブラウザ上でネイティブバイナリコードを実行する「Native Client」を公開した。 Native Client http://code.google.com/p/nativeclient/ Google Earth,Quakeなどがすでに動いているようだ。 これはすごい!ブラウザ上でX86バイナリを動かす「Native Client」 http://www.moongift.jp/2008/12/native_client/ サンドボックスで安全性確保、オーバーヘッド5% ブラウザでx86バイナリ実行、グーグルが新技術 http://www.atmarkit.co.jp/news/200812/09/nacl.html あと、サンプルのlife.ccにSDL_surfaceと書いてあるのでSDLの描画まわりが既に動いているのだろうから、今後、たくさんのアプリがN
Haskell 、Erlang の次のブームは Coq に違いありません。とりあえず基本ということで、Coq でひねりのない brainfuck インタプリタを書いてみました。動作例。Coq のコードが色づけできないとは何事か。 Eval compute in (finite_execute " +++++++++[>++++++++>+++++++++++>+++++<<< -]>.>++.+++++++..+++.>-.------------.<++ ++++++.--------.+++.------.--------.>+. " "" 500). = "Hello, world!"%string : string 残念ながら (?) Coq では停止性が保障された関数しか定義できません。ここでは最大評価ステップを指定しないといけないという仕様にしてごまかしています (引数の 50
プログラミング言語 Grass の Ruby 1.9 による処理系です。 # parse A, L = Struct.new(:m, :n), Struct.new(:code) code = File.read(ARGV[0]) code = code.gsub("\uFF37", "W").gsub("\uFF57", "w").gsub("\uFF56", "v") code = code.gsub(/[^wWv]/, "") code = code[/w.*\z/m].split(/v/).map do |sub| sub = sub.scan(/w+|W+/) arity = sub.first[0] == "w" ? sub.shift.size : 0 sub = sub.each_slice(2).map {|n, m| A[n.size - 1, m.size - 1]
これは? Compiler (compile.h, compile.c) VM Generator (rb/insns2vm.rb, insns.def)命令記述 VM (Virtual Machine, vm.h, vm.c)レジスタ スタックフレームメソッドローカルフレーム ブロックローカルフレーム クラスフレーム フレームデザインについての補足 メソッド呼び出しについて 例外例外テーブル rescue ensure break, return(ブロック中)、retry 定数の検索定数検索パス 最適化手法threaded code Peephole optimization inline method cache inline constant cache ブロックと Proc オブジェクトの分離 特化命令 命令融合 オペランド融合 stack caching JIT Compile
日々の流転 トラックバックスパムを大量に喰らったので、トラックバックを一時的に無効にしています。 λ. A brainf*ck interpreter in Erlang HelloWorld を書いたので、次は brainf*ck のインタプリタでも。 -module(brainfuck). -export([brainfuck/1]). brainfuck(Src) -> Prog=parse(Src), seq(Prog, {[], [0]}). parse(X) -> {Y,_} = parse(X, []), Y. parse([], Acc) -> {lists:reverse(Acc), []}; parse([H|T], Acc) -> case H of $] -> {lists:reverse(Acc), T}; $> -> parse(T, ['>'|Acc]);
前回の Scheme Hackathon の時に、次は "Haskell Hackathon" やりたいね、という話が出ました。はっきり言って、僕は、「Haskell ぽか〜ん」の人です。モナドがわかりません。Scheme は実装することで、少し理解しました。きっと、Haskell も処理系作ったら、理解できるのではないかと期待しています!(おぃ というわけで、Haskell Hackathonは「12時間で Haskell の処理系を実装しよう!」というイベントです。 詳細はこんな感じ。 参加者全員、Haskell の処理系実装! 会場は、関東、関西、名古屋です。Ustream か Skype Video などで会場をつなぎます。関東は、サイボウズ・ラボ、関西は株式会社グッディ、名古屋は来栖川電算です。 時間は、3/1土曜日のAM11時〜PM11時です。 実装言語は、不問。僕の経験から言
日々の流転 トラックバックスパムを大量に喰らったので、トラックバックを一時的に無効にしています。 λ. A brainf*ck interpreter in Prolog ふと、現実逃避にPrologでBrainf*ckの簡単なインタプリタを書いてみた。 brainfuck(Src) :- bf(Prog, Src, []), !, seq(Prog, []*[0], _). bf([]) --> []. bf([X|Y]) --> bf1(X), {!}, bf(Y). bf(X) --> [_], bf(X). bf1('>') --> ">". bf1('<') --> "<". bf1('+') --> "+". bf1('-') --> "-". bf1('.') --> ".". bf1(',') --> ",". bf1(w(X)) --> "[", bf(X), "]".
Note: Hugs is no longer in development. The content on these pages is provided as a historical reference and as a resource for those who are still interested in experimenting with or otherwise exploring the system. Hugs 98 is a functional programming system based on Haskell 98, the de facto standard for non-strict functional programming languages. Hugs 98 provides an almost complete implementation
Update (March 2013): C-REPL was a neat hack, but a more principled implementation of the same goal exists in Cling. Many programming languages come with a REPL (read-eval-print loop), which allows you to type in code line by line and see what it does. This is quite useful for prototyping, experimentation, and debugging code. Other programming languages, and especially C, use a "compile-run" model,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く