Let's start Scheme

2010-11-15

メジャーデビュー決まりました

Mixiで変なバトンを踏んだので・・・
これ、マイミクの部分どうすればいいんだよ・・・
しかも、足跡残らねえよ・・・

内容は以下。
☆☆☆☆☆☆☆☆☆☆☆☆

バンドバトン♪♪

見てしまった人は必ずやること♪

足跡に残るので逃げられませんよ♪

タイトルは『メジャーデビュー決まりました』にすること♪

見た以上は必ずコメントすること♪



♪本名は?

⇒外部ブログなのでさすがに伏せさせてくださいm(_ _)m

♪ステージネームは?

⇒ねえよ

♪担当パートは?

⇒Topテナー

♪そのパートを選んだ理由は?

⇒低音が出ないから、High Cとかその辺の音が出る人があんまりいないから

♪メインで使ってる楽器はどんなの?

⇒ファルセットと実声の中間

♪それを選んだ理由は?

⇒高音をきれいに出すにはと試行錯誤した結果、あんまり力まずそこそこ張れるから

♪その楽器のPRポイントは?

⇒High G(ソプラノのG)くらいまでがんばれば出せます(使い物にはならんが・・・)

♪歴はどれくらい?

⇒そろそろ10年か(でも、ここ2年はやってないからもっと少ないか)

♪初めて完コピーした曲は?

⇒ゴスペラーズの星屑の街かな

♪その曲を選んだ理由は?

⇒アカペラの曲で有名なのは少ないのよ

♪憧れのミュージシャンは?

⇒昔はパバロッティ、今は誰だろ?

♪好きなミュージシャンは?

⇒たくさん

♪好きな曲を1曲挙げるとすると?

⇒一曲なんて無理です・・・

♪好きなジャンルは?

⇒最近はHipHopとかも聞くようになったし、おそらく演歌以外すべてかと
でも、あんまり意味不明なジャンルは聞かない

♪今バンド組んでる?

⇒組んでない。
オランダ在住で、アカペラやりたい人やりませんか?w

♪バンド組んでる人はバンド名を教えて下さい

⇒組んでない

♪プロは目指してる?

⇒プロってなに?

♪ライブの失敗談はありますか?

⇒結婚式で歌ったときに、オルガンの演奏がまったく聞こえず、意味不明になった

♪担当パートの楽器にいくらぐらい遣った?

⇒無料、タダ、Free、Gratis

♪生まれ変わってもバンドをやるならパートは何がいい?

⇒楽器を使うパートかな・・・でもアカペラも楽しいんだよね・・・

♪付き合う前の好きな異性をライブに呼んだことはある?

⇒ない

♪その異性とはいい感じになった?

⇒ない

♪その異性と今は?

⇒何の質問だこれ?

♪このバトンを見た人は必ずやらなければなりませんが、中でも特にやってほしいマイミクを5人挙げて下さい

⇒マイミク少ないのに・・・
Rogさん
Zestさん
まっけんじーさん
ラフマさん
うまmiさん

バンド組んでない人は、架空のバンドを想定してくださいm(_ _)m
上三人はB.G.M.でOKだと思います。

♪最後になりますが、音楽は世界を救うと思いますか?

⇒戦闘なんてくだらねぜ、俺の歌を聞け~!!!
こうですか?

以上

☆☆☆☆☆☆☆☆☆☆☆☆

2010-11-12

syntax-case続き

とりあえず、こういう方針でいこうという考えをまとめておく。

syntax-case自体はコンパイラとは関係ない(ないことはないが)、ライブラリとする。
define-syntaxで定義された構文は変換器を返し、変換器が変換する。
(Gaucheはそうしてると思う。ソース見る限り・・・今のところsyntax-rules限定っぽいけど)
define-syntaxで定義された構文にS式が与えられた場合、構文オブジェクトとしてすべての引数を与える。
こんな感じ?
(define-syntax sample
  (lambda (x)
    (syntax-case x ()
      ....)))
(sample 1 2 3) ;; <- この1 2 3っていうのがsyntax-caseによって処理されるために構文オブジェクトになる
ということは、マクロを展開する際に、S式をいったん構文オブジェクトにする必要がありそう。 これで、syntax-caseを定義するとすると
(define-syntax syntax-case
  (lambda (x)
    ... ;; いろいろ定義がいりそう?
    ;; x は構文オブジェクト。matchはAndrew Wrightみたいなの(構文オブジェクトにも対応)
    (match x
      ((_ e ((? literal? literals) ...) clauses ...)
        ...)))) ;; きっといろいろする
っで、こいつ自体が変換器なので、syntax-rulesはこう書いて
(define-syntax with-syntax
  (lambda (x)
    (syntax-case x ()
      ((_ () e1 e2 ...)             (syntax (begin e1 e2 ...)))
      ((_ ((out in)) e1 e2 ...)     (syntax (syntax-case in ()
                                              (out (begin e1 e2 ...)))))
      ((_ ((out in) ...) e1 e2 ...) (syntax (syntax-case (list in ...) ()
                                              ((out ...) (begin e1 e2 ...))))))))
(define-syntax syntax-rules
  (lambda (x)
    (define clause
      (lambda (y)
        (syntax-case y ()
          (((keyword . pattern) template)
           (syntax ((dummy . pattern) (syntax template))))
          (_
           (syntax-violation 'syntax-rules "Invalid expression" x)))))
    (syntax-case x ()
      ((_ (k ...) cl ...)
       (for-all identifier? (syntax (k ...)))
       (with-syntax (((cl ...) (map clause (syntax (cl ...)))))
         (syntax
          (lambda (x) (syntax-case x (k ...) cl ...))))))))
syntax-rulesで定義された構文は 構文 -> syntax-rules変換器 -> syntax-case変換器 -> ごにょごにょ という感じになるはず。 こんなのは
(define-syntax print
  (syntax-rules ()
    ((_ o)
     (begin (display o) (newline)))
    ((_ o1 o2 ...)
     (begin
       (display o1)(newline)
       (print o2 ...)))))
(print 1 2)
こうなる?
(print 1 2) -> (transformer syntax-rules '(syntax-object (print 1 2)))
: with-syntaxは略
-> (transformer syntax-case '(syntax-object ...#;多分この辺にsyntax-rulesで作られたtempleteが入る (print 1 2)))

正しいのかよくわからん。その上、どう実装していいのかもよくわからん・・・

syntax-caseの実装

Schemeの話。

マクロの展開を実装しようとした際に、syntax-caseがどうしてもキーワードになる。
これはなんだ?
いや、何かはわかっているんだけど、R6RSの仕様書を見ると、こいつはライブラリだと書かれている。

っで、いろいろなR6RS準拠の処理系で試したところ、
どうもこいつはキーワードっぽい動きをする。(defineとかlambdaとか見たいな)

ということは、組み込みか、(define-syntax ...)で定義されたものかという気がする。
っで、仕様書にはライブラリと書かれている・・・
syntax-rulesとかはsytax-caseで定義できるみたいだが、
syntax-caseはどうやって定義するのだろう?
こんな感じ?
(define-syntax syntax-case
   (lambda (form literal rules)
     ...))
っで、適当にパースすればOK?

ちなみに、psyntaxはよく知らないけど、
YpsilonとかAndre van Tonderのexpanderとかだと割りと組み込みみたいな書き方してる。
(コンパイラが持ってるわけじゃないからライブラリ?)
細かいこと考えなくてもいい?
う~ん。

2010-11-05

【尖閣ビデオ】見た!!!!

昨日の夜(といっても日本時間なら午前5時か6時くらい)にYoutubeにアップされていたビデオを見た。
中国は真っ黒です!!

これみて、コツンと当たったとか、日本側が悪いとか言ってるアホ議員がいるということが正直信じられない。
個人的な意見だけど、これ逆の立場だったら中国は最大級の外交カードとして使うだろう。
そもそも、領海侵犯してる漁船が体当たり+逃亡なんてロシアとかアメリカに対してやったら船がこの世から消えてるレベル。

この動画の2分くらいのところから:

明らかにぶつけにきて、かつ逃亡。

こっちの方は海保の船「みずき」が黒煙を上げてる:


これで
こんな穴が船体右側に空くわけがない!!!
ってか、仮に先端部が当たってあいたとして、真四角の穴が開くわけないだろ!!

これで船員を釈放した無能議員とか死んでいいんじゃね?

2010-11-02

Infoseekが終了した

まぁ、2ヶ月くらい前から知っていたことではあるが、自分の過去のHPも一緒に消えた。
(メンテナンスしてなかった上に、FTPのパスワード忘れちゃったのでどうにでもなれ状態ではあったが・・・)

困るなぁと思うのは、自分のとは違って有益な情報を載せてるサイトが結構多かったので、移転せずに消えてしまったらいやだなぁということ。
有料のサービスは残るとのことなので、有益サイトがそっちだったらいいなぁ・・・