タグ

cyanに関するyouzのブックマーク (12)

  • Cyan for Silverlight - 七誌の開発日記

    id:takuto_hさんのプログラミング言語CyanをSilverlightに移植しました。Cyanのクラス構成もマップ化して分析しました。動作確認とソースのダウンロードは以下です。 Cyan for Silverlight Cyan クラスマップ Cyanの外部でコンソールのエミュレーションを行っているため(詳細は id:n7shi:20090713 を参照)、Cyan体にはほとんど手を加えていません。手を加えた部分は#ifディレクティブで分離してあるため、SILVERLIGHTで検索すれば列挙できます。修正箇所は以下の通りです。 Silverlightのリフレクションの制限でprotectedコンストラクタを呼ぶことができないためpublicに変更 ProgramクラスはVMではなくコードから呼ばれるためpublicに変更 ProgramクラスはCyan名前空間の外のため、エミュレ

  • PLOT: Table of Contents

    Programming Language for Old Timers by David A. Moon February 2006 .. September 2008 Comments and criticisms to dave underscore moon atsign alum dot mit dot edu. Last updated 4/16/2009.

  • 思考実験: returnを関数と思ってみる話 - d.y.d.

    21:07 09/03/26 zipWithN twitterでいけがみさんが張ってらした論文が面白かったです。 map f [a1, a2, ..., an] ==> [f a1, ..., f an] zipWith f [a1, ..., an] [b1, ..., bn] ==> [f a1 b1, ..., f an bn] zipWith3 f [a1, ..., an] [b1, ..., bn] [c1, ..., cn] ==> [f a1 b1 c1, ..., f an bn cn] ... zipWith7 f [a1, ..., an] [b1, ..., bn] ... [g1, ..., gn] ==> [f a1 b1 … g1, ..., f an bn … gn] Haskell98 の標準ライブラリの関数ですけど、 1引数関数 f と1つのリスト as

  • Re^2: Cyanインタビューはようするに - なんたらノート第三期ベータ

    http://d.hatena.ne.jp/wasisan/20090124/p2 いつもご愛読ありがとうございます(^^ コメント欄だと長くなりすぎたので、トラバで。コメントまで引用してしまってすみません。 それにしても、“あのような”プログラミング言語を高校生が設計したということについて、これを侮辱だと受け取る人が少ないということの方がむしろ私には驚きです。例えば、代わりにこれが「建築物の設計図」で、これを高校生が作ってきましたとかだったら、普通見向きもされないと思うのですが。 あと、既存の大人が作ったプログラミング言語ですらパクリ・危険な言語は日常茶飯事ですし。高校生だとしたら許容されるのは尚更のことでしたね。 しかし、建築家にしてみても、“有名建築から色々な要素を表面的に・安易に、盗んで”きて、しかも、“使用時の危険性をまったく認識していない”、ものだとさすがにイラつく・批判したく

    Re^2: Cyanインタビューはようするに - なんたらノート第三期ベータ
    youz
    youz 2009/01/30
    ※欄
  • Cyanインタビューはようするに - なんたらノート第三期ベータ

    はてなダイアリー で、 Cyanを設計した高校生、5カ月で5つの言語を習得 − @IT自分戦略研究所 から引用されている、 私からアドバイスするなら、地面に足を着ける感覚をさらに磨いてはどうでしょう。プログラミング言語は、それ自体すごく面白いけど、マシン上で動いて初めて言語として機能します。コンピュータが動く構造については多分まだ勉強してないのかもしれないけど、人間が理解しやすく書きやすいプログラムで設計することは機械にとっては重荷。要するに2つの攻め方があって、いまのコンピュータを生かすためにはどういうプログラミング言語が必要かと、コンピュータをどうすれば人間に分かりやすい言語で実行できるか。いずれにせよ、コンピュータの奥底であるアーキテクチャを理解する必要があります。 についてなんですが、つまり、 Cyanのソースハックを試みる 2倍速達成 - なんたらノート 第二期 Cyanのパフォ

    Cyanインタビューはようするに - なんたらノート第三期ベータ
    youz
    youz 2009/01/19
    支持
  • Cyanを設計した高校生、5カ月で5つの言語を習得

    読者の皆さんは、「Cyan」(サイアン)という言語をご存じないかもしれない。Cyanは、Lispのマクロを持ち、Python風のインデントによってブロックを表すプログラミング言語。2008年の春、林拓人という1人の高校生によって設計された。 連載第1回の竹内郁雄氏が「開発」の天才、第2回の五十嵐悠紀氏が「発想」の天才とするならば、今回の林氏は「プログラミング言語」の天才だ。 林氏がプログラミング言語に初めて触れたのは中学3年の夏休み。そこから冬休みまでの5カ月間に、5つのプログラミング言語を習得した。その後もいくつかのプログラミング言語を学ぶ中、林氏の興味はWebサービスなどのものづくりには行かず、ひたすら言語自体へと向かっていった。 高校2年の春、自身でプログラミング言語Cyanを作り上げた。Cyanを設計した林氏は、「U-20プログラミング・コンテスト」(以下、U-20プロコン)で経済

    Cyanを設計した高校生、5カ月で5つの言語を習得
    youz
    youz 2009/01/16
    Cyanのマクロは好き。/ mac(mkcls)^(c,ms){`class(?c)^{?*ms.map^(m){`def(?m)^{say'?m;self}}}}; mkcls(Foo,[foo,bar,baz]); Foo.new().foo().bar().baz()
  • はてなブログ | 無料ブログを作成しよう

    織田信長 ぼちぼち、元気にやっています。少し薬にも慣れた...んかなぁ。相変わらずべられないけど。朝、指がこわばって文字なんて入力できなかったけど、それはほぼなくなった。関節もどこも痛くない。薬効いてきたんやろな。 で、ブログを書こうと言う気がまた起きてきた。 …

    はてなブログ | 無料ブログを作成しよう
  • Grassインタプリタ - takuto_hの日記

    id:youzさんが、CyanでGrassインタプリタを書いてくださいました。 Grass interpreter for Cyan language - * *scrap* 実は、私自身はCyanでこのようなちゃんとしたプログラムを書いたことがないため、今、非常に感動しています。 私がこんなことを言える立場ではないかもしれませんが、Cyanらしさが垣間見える、素晴らしいコードだと思います。 自分が作ったプログラムを人に使ってもらうというのは、当にうれしいことなのだと実感しています。 今後、日記がなかなか更新できなくなるかもしれないのですが、この喜びを忘れずに、自らの糧にしていきたいと思っています。 今後ともどうぞよろしくお願いします。

    Grassインタプリタ - takuto_hの日記
    youz
    youz 2008/11/08
    こちらこそ
  • ゆの in Cyan - takuto_hの日記

    いまさらですが。 X = _ = 'X X.(/) = method^(_): X X.(<) = macro method^(_): print("ひだまりスケッチ×365 "); say(_); X X / _ / X < 来週も見てくださいね!

    ゆの in Cyan - takuto_hの日記
    youz
    youz 2008/11/02
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Cyan - &lt;s&gt;gnarl,&lt;/s&gt;技術メモ”’&lt;marquee&gt;&lt;textarea&gt;¥

    Cyan, Yet Another New language - takuto_hの日記 http://www.geocities.jp/takt0_h/cyan/index.html ほうほう。 実行の流れとしては、Parser#ParseでコードをパースしてCyanオブジェクト作成→Evaluatorオブジェクトを引数にCyBase#Compileを呼ぶとEvaluatorに中間言語のコンパイル結果が格納される→Evaluator#Runで実行。という処理をLoaderクラス内でやってる。 エンジン部分はこのへん。命令文字列-引数のペアが格納されたリストから命令を拾ってきてリフレクションで同名メソッドを呼んでるわけか、なるほど。 //Evaluator#Run()より抜粋 while (instructions.Count > 0) { insn = instructions[0];

    Cyan - &lt;s&gt;gnarl,&lt;/s&gt;技術メモ”’&lt;marquee&gt;&lt;textarea&gt;¥
  • Cyan, Yet Another New language - takuto_hの日記

    プログラミング言語Cyanを公開しました。 これは、私がU-20プログラミング・コンテストに応募し、個人部門で賞をいただいた作品です。 Cyanは「さいあん」と読みます。Lispのマクロを持ち、Python風のインデントによってブロックを表します。インスタンスベース・オブジェクト指向や継続といった概念を取り入れています。 以下に簡単な紹介を載せます。詳しい説明は、Cyanリファレンスマニュアルなどをご覧ください。 S式とマクロの分離 Cyanのもっとも大きな特徴は、LispのS式とマクロの分離を試みたことです。 mac(while)^(test, body): `loop: if(!?test): break() begin(?body)これは、準クオートを用いて記述したwhileマクロです。単純なマクロはこのように簡単に記述できます。 これが可能なのは、式がすべてオブジェクトだからです。

    Cyan, Yet Another New language - takuto_hの日記
  • 1