タグ

ブックマーク / alohakun.blog7.fc2.com (11)

  • ホワット・ア・ワンダフル・ワールド iota (イオタ)

    最近 FizzBuzz で一躍有名になった scheme (Scheme Request For Implementation) の iota 関数って,なんでこういう名前なんですか ? 私にはさっぱり想像も付きません.これってトリビアになりませんかね ? というわけで,プログラミングトリビアの泉 「srfi-1 の iota 関数の由来は… APL のι原始関数」 へーへーへー APL言語入門 ここで使用した原始関数ι(イオタ)では、指標原点(通常は1)から始まる整数列が作成される。 なんというわかりにくさ.car/cdr (Contents of the Address/Decrement part of the Register) もそうだけど,ここらへんは無駄に敷居を上げる,Lisp の悪習なような. まぁ,飲み屋のネタには (ならない). しっかし,なんで APL の整数列生成原

    kiyo_hiko
    kiyo_hiko 2012/12/20
    iotaの関数名の由来
  • ホワット・ア・ワンダフル・ワールド 「PrologでまったりPart 2」は良スレ

    私は知識に何ものかを付け加え,また他の人々がより多くのものを付け加える手助けをした --- G.H.ハーディ 風邪引いて熱で頭がまわらなくてボケーッとウェブ見てたら,なかなかの良スレとコメントを発見したのでメモ PrologでまったりPart 2 358 :デフォルトの名無しさん :2006/01/12(木) 11:07:44 >>329 LISP系などはすこし近いと思うのですが、 言語観が他のプログラム言語と少し違う気がする。 身長(尾崎,168). は、Prologプログラマにとって大事なプログラムであり、 このようなプログラムを自らの環境にできるだけたくさん、 永続的に維持したい願う。ひとかけら、ひとかけらが 独立した貴重なプログラムという感覚。 この部分が一番の違いであり、特徴といってもいいのではないか。 Prolog は不完全 (例えば,手続き的な制御構造を素直に表現できない)

  • ホワット・ア・ワンダフル・ワールド 本物のプログラマは do を恐れずに使う

    Author:あろは (alohakun) WAKATSUKI toshihiro 連絡先 : alohakun ___at___ gmail.com mixi : http://mixi.jp/show_friend.pl?id=182927 twitter : http://twitter.com/alohakun abstract プログラミングという人間の知的行為を体系化し,単なる職人芸ではなく,サイエンスにするための研究をしています. 具体的には,等価変換計算モデルに基づいた,仕様記述からのプログラム合成の研究をしています. もっと噛み砕くと,プログラムの正しさをどのように定式化し,どのような枠組みで,どのように変換を進めていけば,正しさを保証したまま,効率的なプログラムを手に入れることができるのか,ということについて研究しています. キーワード : equivalent tra

    kiyo_hiko
    kiyo_hiko 2012/12/03
    「不必要に goto を制限したり嫌悪したりすることは,プログラミングスタイルを不必要に狭めたり,歪めたりすることにつながる場合もある」
  • ホワット・ア・ワンダフル・ワールド ET で Continuation Passing Style

    まぁ,コンパイラとか作ってると CPS (継続渡しスタイル) ってのは非常に重要になってくるんですが,あんまり世間的にはメジャーな概念じゃないのかも. というわけで,突発的に ET で CPS を説明してみる.面倒なので,詳しくは (1) なんでも継続 (2) Scheme:CPS (3) 情報科学実験II資料 (3) CPSの定義 などを見てください (手抜き). # もともとたまたま読んだ (2) に,「CPSそのものは、 PerlでもRubyでもJavaでも書けます。」とあって,でもそんな低水準な言語じゃ面倒だろうに,ET とか Prolog ならもっと楽なのになぁ,と思ったのがきっかけ. ちょー簡単な例題として,リストの長さを求めるルール length を使おう. (length () *n) --> (= *n 0). (length (? | *xs) *n) --> (len

    kiyo_hiko
    kiyo_hiko 2012/07/24
    コメント欄に末尾再帰への変換について
  • ホワット・ア・ワンダフル・ワールド 間違った抽象化により失われるもの

    kiyo_hiko
    kiyo_hiko 2012/03/06
    「プログラミング言語に限らず,宇宙の歴史は,このフラットな世界に構造を与える歴史でもあった.私は専門家では無いのでテキトーだが,素粒子の世界には,何の構造も無い.」…この着眼点すき
  • ホワット・ア・ワンダフル・ワールド ライブラリで言語はリッチになりません

    kiyo_hiko
    kiyo_hiko 2011/03/04
    「仮にライブラリで提供できたとしても,それが本当に正しい,あるいは使いやすい (主観的ですが) のか」
  • ホワット・ア・ワンダフル・ワールド scheme 普及活動(笑)

    他の研究室の後輩達と雑談していたら,定番の,どのプログラミング言語を C 言語や Java の次に学ぶか,みたいな話しに. .NET がどうとかいう話しをみんなしていたので… ついつい,年甲斐もなく後輩達に scheme の美しさ・無駄のなさについて話し込んでしまいました (^ _ ^;) 曰く 全ての中断処理は継続の一概念で表現できるとか, while だの do だのが全て効率を気にせず再帰でエレガントに書けるとか, C++ の企画書は 700 ページ, scheme は 50 ページとか, 機能を無制限に増やして肥大化し,見せかけの利便性を追求するのではなく,制限をできるだけ減らすことによって物の自由度と抽象度の高さを得るという革新的な発想とか, 直接構文木を記述してしまうというありえなさとか, 定番の,lisp ではプログラムもデータも区別なく扱えてしまうので,プログラム内で生成

    kiyo_hiko
    kiyo_hiko 2011/03/03
    「知っておきたかったことは,直接 scheme とは関係ありませんが,泣けるくらいの名文です.勇気づけられます! 」・・・全くの同意です。あれは万人が読むべき。
  • ホワット・ア・ワンダフル・ワールド xyzzy は非常に素晴らしいのではなかろうか

    いまさらながら気付きました. xyzzy とは,素晴らしいエディタが付いてる Windows 用 Common Lisp 処理系のことです (笑). 準拠度は 6 割とのことですが,それでも凄すぎです (確か,CLtL2 (第二版仕様) では,関数だけでも 500 ぐらいあったような.データ構造も,リスト配列ハッシュ構造体クラスタプルシンボル文字列 fixnum 有理数複素数多倍長数… と選り取りみどりです). 亀井哲弥さんというスーパハカーが開発しました.湯淺太一先生と萩谷昌己先生の KCL (Kyoto Common Lisp.世界初の CLtL1 実用処理系.後に GNU に寄与され,現 GCL) といい,日人の Common Lisp への貢献には目を見張るものがありますね.素晴らしい. やる気のないこと山の如しなぺぇじ てきとーに解凍して,アイコンをだぶるくりっく ! 後は S

    kiyo_hiko
    kiyo_hiko 2011/02/08
    起動してS式を打って[C-j]でさくっとお手軽評価。emacsをよく知らないおれにもできました><
  • ホワット・ア・ワンダフル・ワールド 若者に薦める 5 冊

    大学の後輩が何人か,この blog を読んでいるようなので,学部の若いうちに読んでおくと人生が変わりそうなを 5 冊紹介してみます. # 私も,もっと若いうちに出会いたかったですよ.何かを一生懸命やりたい,打ち込みたい,という気持ちだけがカラ回りし,腐っていた高校生のあたりにでも… (-o-;) どれも高価なですが,お金では買えない価値があるばかりです.何度読んでも,開くたびに新たな発見があります.(逆に言えば,何度も開かせる魅力があるでもあります) 自分が成長するたびに,引き出せるものが増えてゆくのかもしれません. ちなみに,私はアフィリエイターではないので,ここから買ったとしても,私には何の利益にもなりませんよ (笑) ご安心あれ. ・『心の社会』 人間の知能とは,それ自体では考えることができないような,とても小さなプロセスの社会である. 我々人工知能屋の根底を支えるテーゼを打

  • ホワット・ア・ワンダフル・ワールド 流行り物 ?

    Note 2007-06-29 晴 ■最近進歩が無い 流行りそうなので早目に書いておく。←この時点でダメダメ Greenbear Diary 2007-06-23 ■ [kmc] OB会 KMCのOB会があった。 最初期の部員の方が「モットーは 年齢 via http://shinh.skr.jp/m/?date=20070629#p04 昔は一通りいろいろ齧ったものですが (C/C++/Java/Prolog/Scheme/Common Lisp ...) 今何も見ないで書ける言語は,ET と C ぐらいですかね… というか,最近は ET で C とか C# とか (Javagoto が無いので,コード生成が面倒) を吐くプログラムしか書いて無いのですが… さすがにもう,研究以外のコードを書く余裕も無いですし,書いてる場合でも無くなってきたので. ここは一つ,バックエンドを書いたこ

    kiyo_hiko
    kiyo_hiko 2010/10/08
    「Prolog だけは,一度慣れれば死ぬほど読み易いと思います.「あー,僕でも Prolog みたいな宣言的言語ならば,他人が書いた,しかもこんなメタプログラミングとか高度な内容のプログラムでも理解できるんだなぁ」」
  • ホワット・ア・ワンダフル・ワールド オブジェクト指向についての雑感

    kiyo_hiko
    kiyo_hiko 2010/06/04
    今Javaやってるけど「オブジェクト指向というのものがよくわからない」。継承はまるでフォルダーツリーのようだけど、クラスが実際に持っている属性はシンボルの寄せ集め、まるでタグの集合体だ。何言いたいんだ自分
  • 1