Merhaba,
Jeremi sayesinde D'de iç içe işlev yazılabildiğini öğrendim ve biraz λ-calculus çalışayım istedim. Biraz da Chris hocanın, Bilgi Üniversitesi Mahkeme Salonu'ndaki ACM (http://www.acm.org/) İstanbul toplantısında verdiği yaklaşık 1 saatlik sunumu (http://video.cs.bilgi.edu.tr/watch/ACM_Istanbul_1) buna etkili oldu; tavsiye ederim...
http://img805.imageshack.us/img805/4481/chrisstephenson.png
Hoca güzel şeylerden bahsediyor; özellikle hemen şu aşağıdaki, Kleene Yıldızı ya da asterix işaretinin (-bknz. Stephen Cole Kleene (http://en.wikipedia.org/wiki/Stephen_Cole_Kleene)) mucidinden. Deneme kodlarını paylaşmalıyım:
Alıntı:
> /*
> l_calculus.d (01.04.2012)
> */
> import std.stdio;
>
> int l(int a) {
> return a;
> }
> bool i(bool b) {
> writeln("b was ", b);
> bool tersle(bool t) {
> writeln ("t is ", t);
> return t ? false : true;
> }
> return b ? tersle(false) : tersle(true);
> }
> int f(int n) {
> int a = 1;
> while (n != 0) a *= n--;
> return a;
> //SCHEME (define (f n)(define (iter n a)(if (zero? n)a(iter(- n 1)(* n a))))(iter n 1))
> }
> void main() {
> int a = 3;
> bool b = true;
>
> writeln(l(a), " is ", i(b));
> writeln(l(a), "! = ", f(a));
> }
> ```
**Çıktısı:**
'b was true
t is false
3 is true
3! = 6'
Bu sadece basit bir başlangıç ve meraklıları olursa birlikte devam ettiririz.
Başarılar...
--
[ Bu gönderi, <http://ddili.org/forum>'dan dönüştürülmüştür. ]