Menggunakan sekte dan slot di Skema

Dec 18 2020

Saya mencoba mempelajari awal dari FP, dengan bantuan "Algoritma untuk Pemrograman Fungsional". Pada bab 2 penulis memperkenalkan kata kunci sectdan <>. Salah satu prosedur dalam buku tersebut adalah:

(define add1 (sect + <> 1))

Saya menggunakan Repl.it untuk menghitung prosedur. Tapi sayangnya, itu menimbulkan kesalahan berikut:

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

Kemudian saya mencoba Racket, karena saya baca di sini Repl.it menggunakan BiwaScheme yang tidak sepenuhnya mendukung standar Skema apa pun. Tapi kemudian saya mendapat kesalahan lain:

sect: undefined;
cannot reference an identifier before its definition

Jadi, apakah saya melakukan sesuatu yang salah? Atau apakah ada editor / IDE lain yang harus saya gunakan?

Jawaban

2 JacobvanLingen Dec 18 2020 at 20:53

Saya salah, keduanya sectdan <>bukan kata kunci Skema. Dalam kata pengantar disebutkan penulis menggunakan (afp primitives)perpustakaan untuk prosedur primitif dan ekstensi sintaks. Dengan menggunakan pustaka ini, Anda mendapatkan banyak prosedur tambahan yang siap Anda pakai.

Anda bisa mendownloadnya disini .

1 Shawn Dec 19 2020 at 08:34

Raket hadir dengan suatu add1fungsi; tidak perlu mendefinisikan sendiri.

Dan itu mendukung SRFI-26 cut , yang sectterlihat dengan nama lain yang lebih umum:

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