Recently I reviewed the programming languages I’ve used over the 28 years1 of my programming career. The result is shown in the chart below. (Click on the image to see it full size.) There are some obvious trends here2. The languages are mostly getting higher level. There are a few “survivors”: languages that I’ve used over the the course of a decade, although discontiguously: C/C++, Common Lisp,
Functional is a JavaScript library for functional programming. It defines the standard higher-order functions (map, reduce, filter) that you can read about elsewhere on the web. It also defines functions for partial function application and function-_level_ programming: curry, partial, compose, guard, and until. Finally, it introduces “string lambdas”, which let you write 'x -> x+1', 'x+1', or eve
I was originally writing a much more ambitious post that tried to introduce category theory and its uses, but have been having a hard time writing it. Unfortunately it is not something that I think can be easily explained tersely, although my attempts to do so have lead me to learn a lot more about category theory than I thought I’d ever want to know. Yet, I would still like to expose monads in a
Posted by: Hirotaka Ogawa @ February 16, 2007 05:42 PM | 前のエントリーで書いた方法だとブラウザによってはページをリロードするたびに待たされることになります。 mt-search.cgiをmod_cacheで超高速化する!! - Ogawa::Memoranda なんでかな?と思ったので、動的コンテンツ(この場合はURLにクエリ文字列を含む動的コンテンツ)へのリクエストに対する、(mod_cacheで実現された)サーバーサイドキャッシュの振る舞いをもう少し深追いしてみました。 サーバーサイドキャッシュがない場合 サーバーサイドキャッシュがない場合には、すべての動的コンテンツへのリクエストごとにレンダリングを行い、そのデータがレスポンスとして返されます。 動的コンテンツで、Last-Modified, ETagヘッダを含むレスポンスを行
This domain has been purchased and parked by a customer of Loopia. Use LoopiaWHOIS to view the domain holder's public information. Are you the owner of the domain and want to get started? Login to Loopia Customer zone and actualize your plan. Register domains at Loopia Protect your company name, brands and ideas as domains at one of the largest domain providers in Scandinavia. Search available dom
Introduction to rFeedParser, the Universal Feed Parser in Ruby rFeedParser is a translation of Mark Pilgrim's Universal Feed Parser from Python into Ruby. It has nearly the exact same behavior. Example code: require 'rubygems' require 'rfeedparser' pf = FeedParser.parse(a_url_file_stream_or_string) # Or pf = rfp(a_url_file_stream_or_string) # These next four lines are equivalent. pf.entries.each{
_ Open Source Conference 2007 Hokkaido 発表資料 少し遅くなりましたが、発表資料を公開します。slideshareは masuidrive さんのページから教わりました。これは便利ですね。 スライドにはありませんが、当日の質疑応答で「モナドがわかんね」という質問が出ました。これに対して、「do notation でプログラムを書くことに慣れればいいです」と答えました。いや、本当は (>>=) と (>>) と return と fail がそれぞれ何を意味するものかをわかるほうがいいんですが、10分程度でそれをわかってもらうのは無理というものです。Hutton 流にいくなら、まず「State monad とは何か」から入るのがいいんじゃないのかなあ。あと、懇親会では、「Haskell のプログラムがどう動いているのか見えないのがキショイ」と言われました
EfficientJavaScript - Dev.Opera - 効率的な JavaScript 目次 この文書について 効率的な JavaScript ECMAScript eval や Function のコンストラクタを使うのはやめよう eval を書き換えよう 関数を使いたいなら function を使おう with を使うのはやめよう 性能を決める関数で try-catch-finally を使うのはやめよう eval と with は隔離しよう グローバル変数を使うのはやめよう 暗黙のオブジェクト変換に気をつけよう 性能を決める関数で for-in を使うのはやめよう 文字列は累積スタイルで使おう プリミティブの操作は関数呼び出しより速い setTimeout() や setInterval() には文字列でなく関数を渡そう DOM 再描画と再フロー 再フローの回数をでき
I discovered this fun idiom while implementing an operational semantics in Haskell. The monadic syntax allows you to express monadic binding in either of two directions: x <- expr;or expr -> x;Combine that with a custom operator definition: infix 4 |-and now you can write interpreters whose syntax looks like a big-step evaluation judgment: (|-) :: Env -> Expr -> Eval Value env |- Lit n = return (N
Connect to Firefox and other Mozilla apps, explore and modify them from the inside, while they're running. Execute Javascript, play with browser GUI, sneak into HTML pages, examine functions and variables, redefine them on the fly, hot-fix bugs, ... MozRepl itself is programmable from within MozRepl. MozRepl is part of MozLab. Watch the video: Exploring the browser, online docs, entering web pages
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く