Scheme'de mezhep ve yuvaları kullanma

Dec 18 2020

"Fonksiyonel Programlama için Algoritmalar" yardımıyla FP'nin başlangıcını öğrenmeye çalışıyorum. 2. bölümde yazar sectve <>anahtar sözcüklerini tanıtıyor . Kitaptaki prosedürlerden biri şöyle olacaktır:

(define add1 (sect + <> 1))

Prosedürü hesaplamak için Repl.it kullandım . Ancak ne yazık ki şu hatayı atıyor:

Error: execute: unbound symbol: "<>" []

Çünkü Sonra, Raket çalıştı okumak tamamen herhangi Şema standardını desteklemeyen burada Repl.it kullanımları BiwaScheme. Ama sonra başka bir hata aldım:

sect: undefined;
cannot reference an identifier before its definition

Yani yanlış bir şey mi yapıyorum? Yoksa kullanmam gereken başka bir editör / IDE var mı?

Yanıtlar

2 JacobvanLingen Dec 18 2020 at 20:53

Her ikisi de yanılmışım sectve <>Scheme anahtar sözcükleri değiller. Önsözde yazarın (afp primitives)kitaplığı ilkel prosedürler ve sözdizimi uzantıları için kullandığından bahsedilmektedir . Bu kütüphaneyi kullanarak, emrinizde bir sürü ekstra prosedür elde edersiniz.

Buradan indirebilirsiniz .

1 Shawn Dec 19 2020 at 08:34

Raketin bir add1işlevi vardır; kendi kimliğinizi tanımlamanıza gerek yok.

Ve SRFI-26'yı destekler cut, ki bu sectbaşka, daha yaygın bir adla göründüğü gibi:

> (require srfi/26)
> ((cut + 1 <>) 2)
3