Saturday, May 13, 2006

Code as Data

Don Box post ถึง new favorite feature ใน C#3.0
โดยยกตัวอย่าง scheme code ให้ดูด้วย
Expression<Func<int, int>> expr = a => a + 3;
Console.WriteLine(expr); // prints "a => Add(a, 3)"
Func<int, int> func = expr.Compile(); // LCG's an MSIL method from the expr
Console.WriteLine(func(4)); // prints "7"

(define expr '(lambda (a) (+ a 3)))
(display expr)
(define func (eval expr (scheme-report-environment 5)))
(display (func 4))

Patrick ตั้งข้อสังเกตว่า comparison มี flaws บางอย่าง

สุดท้าย Don ก็เลยเขียนอธิบายให้เห็นชัดๆว่า
Code and Data in C#

Related link from Roti

No comments: