2007-07-01から1ヶ月間の記事一覧

C#3.0仕様チェック

C#

8/8までC#3.0までの統合仕様書をレビューして、blogにコメントくださいとのこと。http://blogs.msdn.com/charlie/archive/2007/07/26/csharp-language-specification-version-3-0-available-for-review.aspxワード文書の仕様書はこちら。VS2008β2のお供に。(…

Lua on the DLR

Nuaだそうな。 http://callvirt.net/blog/entry.aspx?entryid=745a1eb7-bd8e-45bf-8bbf-7b391e08799a http://www.codeplex.com/NuaLua知らないけど見つけちゃったのでメモ。 ちなみに http://callvirt.net/blog/ の人の前のblogは http://blogs.msdn.com/joe…

LINQ to Objects で グループ化

C#

SQL を勉強しようと↓の本を読んでいます。SQL ってうまいの?ってレベルの私にもわかりやすく、薄いのに丁寧でよい本です。順に読めば SQL がしっかり理解できます。個々の DB について詳しい本ではなく、SQL 特にクエリーについての「言語の入門書」といっ…

IronRubyプレアルファ

出たそうです。 http://www.iunknown.com/2007/07/a-first-look-at.htmlvia 荒井さんのBlog http://blogs.msdn.com/shozoa/archive/2007/07/23/dlr-ironruby.aspx (追記)Astクラスがおもしろいことになっていますが、昔どこかで見た partial を使ったビジタ…

unfold に挑戦

C#

id:NyaRuRu:20070722#p2 のお題がおもしろいので、unfold 書いてみました。Orcas 立ち上げるのが面倒だったので C#2.0 で。 コードは最後にして、その前にいろいろと。 unfold ??? まずは unfold が何なのかわからなかったので Haskell の定義から。Hugs の …

LINQでSQLの検索CASE式

C#

LINQのおかげでSQLがすっかり関数型言語の高階関数群にしか見えなくなってしまいました。でもJoinのようなRDBらしい機能はやっぱりよくわからないので、SQLの入門書を借りてきて読んでます。 その中でSQLにもCASE式があることを知ったので、拡張メソッドでCA…

分解してしまう

C#

関数型言語は、何もかも徹底的に分解してその意味を熟考し、その結果汎用にできるものを汎用的に拡張し、全体を再構築した、そんな言語だと思います(特にLisp)。それで高階関数やら、奇妙な概念の継続みたいなものが生まれてきたんだろうなぁと想像します。…

LINQ日本語ドキュメント

C#

via ひろえむさんのところ http://blogs.wankuma.com/hirom/archive/2007/07/18/85770.aspx LINQ: .NET 言語統合クエリ(Don Box, Anders Hejlsberg) .NET 標準クエリ演算子 既に一部古いところがあるっぽいけど、日本語&一覧性が高いのがありがたい。わざわ…

謎メモ

コンパイル前実行、コンパイル時実行 Cのマクロ、C++のテンプレート、AOP(主にJava界隈やC#界隈)、RubyのMixIn、.NETの属性による機能付加 似てるような似てないような、関係あるようなないような。

Google Book検索のブラウザ用検索プロバイダ (IE7/Firefox2)

Googleブック検索を使ってブラウザから検索する検索プロバイダを作りました。IE7とFirefox2の両方で動くことを確認済みです。http://siokoshou.googlepages.com/booksgoogle.html↑のサイトを開いて右上の検索ボックスで追加操作をしてください。 まだ日本語…

匿名メソッドって難しい

C#

NyaRuRuさんのC#クイズを見て、そういえば前のクイズのほうもよくわからないまま放置してたなぁと思い出してしまいました。delegateまわりは推論があったり手厚いシンタックスシュガーがあったりレキシカルクロージャだったり共変と反変だのと、まぁとにかく…

正規表現 Cheat Sheet

http://regexlib.com/CheatSheet.aspx\b って単語境界だったりバックスペースだったりするのか。マッチしなくて使うの諦めたことがありました(T-T) MSDNの日本語解説。コンテキストによって変わるらしい。いやらしい。

カリー化で遊んでたら全然違うものになった

C#

※最初はカリー化と称して全然違うものを書いてました。全面的に訂正しました、ごめんなさい。C#3.0の拡張メソッドのカリー化、便利な使いどころを見つけようと遊んでいるうちにカリー化してない例になってしまったけど、現実的なLINQの使い方になっているの…

LINQ で FizzBuzz

C#

IEnumerable病がじわじわ広まっているので、LINQでFizzBuzzしてみた(イミフ)。 http://golf.shinh.org/p.rb?FizzBuzz using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { foreach ( string str in E…

不変なオブジェクト

C#

不変、immutable について。生成したら生涯、値が変わらないオブジェクトを不変なオブジェクトといいます。 string や Uri クラスなどが例です。誰もが使っている割りに、言及されることはまれです。string や Uri と対になる mutable なクラスは StringBuil…

LINQ開発秘話

C#

それはある日の、悪名高い Don Box からの一通のメールからはじまった。「なんで expression tree に eval がないの?」…続きは英語で。IQueryable's Deep Dark Secret おもしろいです、このお話。 これって、以前波村さんが書いたDLINQ Is Magicのことなの…

拡張メソッド

C#

利点 クラス提供者ではなく利用者が、クラスを後から拡張できる Mix-inとはまた違う、クラス横断型のクラス拡張方法 (としても使える) パイプ&フィルタ(例:LINQ)がネストした関数呼び出しから、左から右へと続く一連の関数の羅列になり、いかにもパイプらし…

IronPythonの名前の由来が「料理の鉄人」だった件について

http://blogs.msdn.com/shozoa/archive/2007/06/30/python-workshop-the-edge-2007.aspxコーヒー吹くとこだったw ずっと気になってたので、この情報はうれしい