Gemmaの日記 このページをアンテナに追加 RSSフィード

2011-01-04

コード書き初め「一二三」 12:09  コード書き初め「一二三」を含むブックマーク  コード書き初め「一二三」のブックマークコメント

書き初めに、以下のお題に答えます。 C++の問題ですが、 Javascript で。

1から1000までプリントせよ。ただし、ループ文や条件分岐文を使わずに。

c++ - Printing 1 to 1000 without loop or conditionals - Stack Overflow

コード(Firefox 専用)

var zero = function(f) function(x) x;
function succ(c) function(f) function(x) f(c(f)(x))
function add(n,m) function(f) function(x) m(f)(n(f)(x))
function multiply(n,m) function(f) function(x) n(m(f))(x)
function power(n,m) function(f) function(x) m(n)(f)(x)
function cton(c) c(function(x) {document.write(x + 1 + '\n'); return x + 1;})(0)
var two = succ(succ(zero));
var three = succ(two);
var five = add(two, three);
var thousand = power(multiply(two,five),three);
cton(thousand);

実行例:

http://eva-lu-ator.net/~gemma/hatena/hihumi.html

参考

道 (TAO) から一が生まれ, 一から二が生まれ, 二から三が生まれ, 三から万物が生まれ, 云々

Church numerals and Lambda Calculus

近況報告

新人1年目です。

仕事で Allegro Common Lisp を使っています。

いい処理系です。性能もいいし、ドキュメントもしっかりしてるし、 Emacs インタフェースもよくできてるし、マルチプラットフォームと国際化もバッチリだし。

うちの部長もよく言っていますが、確かに仕事で使うなら Allegro Common Lisp ですね。


うちの会社は ウェブサービス屋さんではないので、「入社したらウェブ技術とはお別れかな」と思ったら、全然そんなことなかったです。

おまけに、仕事で RDF とか セマンティックウェブの勉強もさせてもらいました。


書き初めといいつつ、年末年始もずっとコードを書いてました。

まとまった時間がとれたら片付けようと思っていたコードで、

Firefox 拡張で、 TCP/IP ソケットを開いて、 XMPP を nsISAXXMLReader でパースして、digest-md5 認証するやつができました。


今年もよろしくお願いします。

利用者利用者 2011/02/07 15:13 いつも利用させていただいております
ほとんどの板のURLをいれてもエラーが出てきて変換できなくなっています
ご確認お願いします

板エラー板エラー 2011/02/07 15:50 上記の方とは違いますが
私もhttp://gemmat.s206.xrea.com/matome/matome.cgi を重宝させてもらっています。
よろしければ対応お願いします。

利用者利用者 2011/02/07 17:52 直ったみたいです
お騒がせしました

けんせいけんせい 2011/07/06 17:13 はじめまして、chromeで文字化けするのですが
治す方法はありますでしょうか?

ほげほげほげほげ 2014/05/01 13:41 まとめサイトエディターはもう閉鎖でしょうか?
ずっとここ使ってたんで、できれば残しておいて欲しいです

ほげほげほげほげ 2014/05/01 13:52 あら使えるみたいです
サーバーエラーではないようでしたので閉鎖かと思いました
これからもよろしくお願いします

ほげほげほげほげ 2017/02/24 14:50 久しぶりに来てみました
まとめサイトエディター使わせてもらってます
いつもありがとうございます

 ほげほげほげほげ ほげほげほげほげ 2018/01/11 16:52 新年明けたので覗いてみました
相変わらずまとめサイトエディター使わせてもらってます
ありがとう
今後もよろしくお願いします
私しか使ってないとかないよね?

Connection: close