タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

多値とlispに関するkiyo_hikoのブックマーク (2)

  • なぜ、多値関数は人気がないのだろう - 檜山正幸のキマイラ飼育記 (はてなBlog)

    たいていのプログラミング言語が、「関数」、「メソッド」、「手続き」などと呼ばれる言語構成要素を持っています。ここ最近のエントリー内で僕は、それらをひっくるめて(少し低水準な観点から)「サブルーチン」と呼びました。 このサブルーチン概念に関していえば、どの言語も大差ない印象を持ちます。いくつかの引数をもらって何かして1つの値を返しますよね。(値を返さないこともあるけど、ありゃ、暗黙に特定の値を返していると見てさしつかない。) なんで引数はn個なのに、戻り値は1個なんでしょう? 多値関数をサポートしている言語もあるけど(例:Common Lisp)、なんかオマケみたいな扱い。言語の中核的仕様として多値を採用している例を僕は知りません(あったら、教えて)。 それはコンピュータのせいでしょうか 「プログラマの常識関連」の文脈で言及した、スタックやレジスタが原因かもしれません。 普通(“普通”の解釈

    なぜ、多値関数は人気がないのだろう - 檜山正幸のキマイラ飼育記 (はてなBlog)
    kiyo_hiko
    kiyo_hiko 2014/11/10
    猫語
  • Scheme:多値

    多値の機能はR5RSになってから追加された、Schemeでは比較的新しい機能だ。 CommonLispやDylanにはある。 純粋な意味での多値、すなわちコンティニュエーションに一つ以上の値が渡るという意味での 多値を実装している言語は、メインストリームではあまり無いと思う。 ただ、多重代入(データストラクチャをdecomposeして複数の変数に代入する機能) があれば、ほとんど多値と同じことができる。RubyPythonにはこの機能がある。 そのため、多値の必要性に関しては大きな議論があり、Schemeコアな人々の中でも 意見が割れている。最近もcomp.lang.schemeで 大きなスレッドが立った。 個人的には多値はかなり頻繁に利用している。 このページでは主として使いどころに関していろいろ書いてみる。 突っ込み歓迎。 --Shiro 方法 - どうやって使う?現象 - どんな時

    Scheme:多値
    kiyo_hiko
    kiyo_hiko 2014/11/10
    Perlでよく見るけど何か気持ち悪いと思ってしまう
  • 1