LISPのような言語では、すべての言語構造が一流の市民です。オフサイトルールを持つ言語で、すべての言語構成をファーストクラスにすることはできますか?
はディランに、次の例を考えてみましょう:
let x = if (c)
foo();
else
bar();
end;
とLISPに:Pythonで
(setf x (if c (foo) (bar)))
あなたが記述する必要があります:Pythonは文と式をdestinguishesので
if c:
x = foo();
else:
x = bar();
を。
オフサイドルール(インデントベースの構文を持つ)に準拠する言語でのすべての言語構成を式にすることができます。これを変数に割り当てたり、パラメータとして渡したりできますか?
私はそれほど確かではありませんが、それは簡単な関数として同じルールで評価されないので、特別な形式です。 。 – fortran