Bulent Murtezaoglu wrote:
"ES" == Emre Sevinc <[EMAIL PROTECTED]> writes:
    ES> - Continuation'lari Java'da uygulamak mümkün mü? (Bu CBC
    ES> tarafindan sorulmustu, tam olarak ne ile ilgili sorulmustu
    ES> simdi hatirlamiyorum).

Bilmiyorum bunu.  Continuation'i dikkatli tarif etmek lazim.  'Full'
continuation uretmek CL'de de zor. Bir suru komplikasyon cikiyor. Manasi da belli olmuyor: unwind-protect'in korudugu bir bolumun dinamik olarak altinda kalan (dynamic contour'unda) bir yerde continuation kapip saklarsan ne oluyor mesela? (bu klasik ornektir). Diger taraftan iyice sulandirirsan C'deki setjmp/longjmp da continuation olarak dusunulebilir.

;; şu kodu schemede yazıp sormuştum emrenin bahsettiği soruyu:

(define make-n-tuple
  (lambda (n symbol)
    (cond ((<= n 0) '())
          (else (cons symbol (make-n-tuple (- n 1) symbol))))))

(define make-tupleable-symbol
  (lambda (symbol)
    (lambda (n)
      (make-n-tuple n symbol))))

;; şöyle çağırdığınızda
((make-tupleable-symbol 21) 12)
;; şu geliyor
(21 21 21 21 21 21 21 21 21 21 21 21)

sanki sıralı çağrım gibi birşey oluyor. ilk çağrımda ilk parametre, 2. çağrımda 2. parametreyi veriyormuşsun gibi gözüküyor. bunu nasıl yaparız javada demiş idim.

Google'a "upward continuation", "downward continuation" filan yedir istersen.

Graham'in On Lisp'inde CL'de kisitli bir call/cc ornegi olmasi lazim.
Bu konuya iyice hakim olmanin bir yolu Scheme ile o tarzda bol bol
program yazmak veya en azindan okumak.  SICP'de yok bu yanlis
hatirlamiyorsam.  Hangi kitap iyi anlatiyor da bilmiyorum.  Ciddi
schemeciler balki bir kaynak verirler?

[ ... ]


_______________________________________________
cs-lisp mailing list
[email protected]
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

Cevap