kmizuの日記

プログラミングや形式言語に関係のあることを書いたり書かなかったり。

C#

Scalaのimplicit parameterでC#のdefault(T)を実現する

このエントリはScala Advent Calendar jp 2010の11日目です。また、このエントリはTwitterでの@xuwei_kさんの疑問に答えようと考えて作成したコードが元になっています。どうもありがとうございます。皆さん、C#のdefaultみたいなことScalaでしたくなったこ…

Scalaの限定継続を使って、C#のyieldぽいものを実現するライブラリを書いてみた

Scalaの限定継続を使って遊んでいたら副産物的にできたもので、実用に供することができるものではないですが、まあこんなこともできますという例として。なんかキャストとか使っていてあまり綺麗じゃないですが、型安全なように書こうとすると複雑になる上に…

Dictionaryリテラルっぽい何か

C#

(中略) static void Main(string[] args) { var dict = Dict.Create( (out string key, out int val) => { key = "hoge"; val = 0; }, (out string key, out int val) => { key = "piyo"; val = 10; }); foreach (var p in dict) { Console.WriteLine(p.ToSt…

C#で作るPEGパーザコンビネータ

id:tad0さんのコメント: C#版きぼんぬ http://d.hatena.ne.jp/kmizushima/20090226/1235619468#c1235739906 ということで、C#版も書いてみました。C#については時々調べたりするものの、ほとんど全くと言っていいほど使っていないので(たとえば、今回、C# 3…