プログラミング言語

ポリモルフィズムのレベル

ポリモルフィズムなし →普通の関数 例:C言語等 1つの引数(self)の型に応じてポリモルフィズム →普通のオブジェクト指向のメソッド 例:Smalltalk等 全ての引数の型に応じてポリモルフィズム →ジェネリックファンクション 例:CLOS等 さらに戻り値の型にも…

引数なしの関数呼び出しと変数参照

JavaScript Scheme Haskell Ruby 2引数 f(x,y) (f x y) f x y f x,y 1引数 f(x) (f x) f x f x 0引数 f() (f) なし f 関数本体 f f f Kernel.method(:f) JavaScriptは後ろに括弧があるかで区別する。 Schemeは括弧でくくられているかで区別する。 Haskellに…

CoqとAgda

CoqはOCamlで書かれているようだ。 To compile Coq, you need: * Objective Caml (3.07 ? version but 3.08.0). http://coq.inria.fr/distrib1-eng.html AgdaはHaskellで書かれているようだ。 Agda: Instruction(Mac) Q: Agda doesn't work suddenly. A: Did…

詳しいかどうか判定するための質問

Q01まずは「プログラミングに詳しい」かどうか判定するための質問です。正しいものを選んでください。Q1は、色々なパラダイムの言語を知っている人はニヤリとする質問になっています 色んな言語の特性に対して主語をSchemeとして記述されてるだけですしね。 …