2012-03-01から1ヶ月間の記事一覧

Xslate 1.5008 released

異常系の振る舞いを少し変えました。 https://metacpan.org/release/Text-Xslate Xslateでは、render()へ渡すテンプレートパラメータや登録関数からの戻り値は必ずEncodeモジュールでデコードしたテキスト文字列であるべきです。しかし、デコードしてないバ…

クールすぎる新機能「SourceMap」で楽々Dartデバッグ

タイトルは釣りです。まだDartは対応してません。 Introduction to JavaScript Source Maps - HTML5 Rocks 圧縮後のJavaScriptやコンパイル後のCoffeeScriptでも、ブラウザ上で元のソースを参照できる新技術「Source Maps」登場 - Publickey Source Mapとい…

frogrunを書いた #dartlang

frogc foo.dart && node foo.dart.jsという繰り返しに飽きてきたので、Dartでfrogrunというコマンドを書いた。インストールは cp frogrun.dart ~/bin/frogrun などとすればよい。本当はfrogcの実装を直接呼びたいが、APIが用意されていないようなのでプロセ…

Standalone Dart VMのソース構成

闇鍋プログラミング勉強会でDartの処理系のひとつであるfrogcについて発表します。さて、Dart SDKにはもうひとつdart(1)というコマンドが付属していますが、こちらについては上記の勉強会では触れないのでここにメモしておきます。ますソースコードは以下か…

クロージャのあるDartではC++ likeなbind()は不要

DartでBindとジョブキューみたいなの作ってみた - とりあえず適当な名前にした C++ (C++11以前) でよく使われる関数オブジェクトは無名関数やクロージャがない言語での苦肉の策なので、クロージャのあるDartではあまり使う必要はないと思います。このあたり…

Dartでfireworksを書いてみた

Dartでfireworksを書いてみた。 https://github.com/gfx/dart-Fireworks クラスを普通の構文で扱えるのは便利だし、静的型に基づくDart Editorの補完が便利で、コーディングは容易だった。Dart EditorがEclipse系ということもあり、ActionScriptを書いている…

Dart (frogc) でJavaScriptの機能を直接呼ぶ方法

Dart specには含まれていないようだが、処理系によってはnativeキーワードでJavaScriptを参照できるようだ*1。ただし、使いたいメソッドすべてに宣言が必要なので多少の手間がかかる。 // JavaScriptのクラスというかオブジェクトを参照する // 'Math'はJSの…

How Dart classes work as JS

Dartのクラス機構はどんなものか調べた記録。DartはCoffeeScriptよりも遥かに複雑だが、継承メカニズムはほぼ同一だった。 DartからJSにコンパイルされた結果は長いので肝心なところだけ。 function $inherits(child, parent) { if (child.prototype.__proto…

How CoffeScript classes work

CoffeeScriptのクラス機構はどんなものか調べた記録。コード量は少ないが洗練されており効率も良いようだ。http://coffeescript.org/#classesさて、元のcoffeeスクリプトは単にクラスとサブクラスの定義をするだけのもの。 #!/usr/bin/env coffee class Anim…

コマンドとしてもライブラリとしても動くnode.jsスクリプト

Perlではモジュールとコマンドの拡張子が違うのであまりやりませんが、node.jsスクリプトだとたまに必要になるので備忘録として。 process.argv[1]がnode(1)に渡されたスクリプト名、__filenameがスクリプトファイルの名前なので、これが一致したときはメイ…

RubyのMethod#source_locationをPerlで

[追記]Cside先生がUNIVERSAL::source_location_forとしてリリースしておりますのでcpanmでご利用ください![/追記]asakusa.rbでsource_locationというメソッドを教えてもらいました。 それによれば、Rubyのメソッドオブジェクト(UnbountMethod, Method, Proc…