Quali caratteristiche ha MIT-Scheme che lo rendono ideale per SICP?

5

Ho pensato di provare a superare di nuovo il SICP, questa volta ben armata di un'idea migliore di ciò che il SICP intende realizzare, e di essere più vecchio e più saggio del mio primo tentativo di tornare all'università. Mi è stato detto da mani vecchie che il MIT Scheme è lo schema solo che dovrei pensare di usare, e che altri schemi mancano di funzionalità che rendono la SICP più difficile da realizzare. "C'è una ragione per cui tutti i 'SICP-in-X' finiscono con il capitolo 3. Altri linguaggi non supportano ciò che è nel capitolo 4."

Quando ho chiesto cosa c'è nel capitolo 4, la risposta è: "Dovrai superare i primi tre capitoli per capire". Che è molto Zen, lo ammetto, ma non utile.

Le uniche cose che posso pensare a quelle vecchie lisps sono lo scope dinamico e i fexprs, ma quelli non sembrano essere il problema. Quali caratteristiche possiede il MIT Scheme che lo rende "ideale" per passare attraverso SICP? (Oltre a questo è la lingua di destinazione del libro, ovviamente.)

    
posta Elf Sternberg 07.04.2014 - 22:57
fonte

1 risposta

9

Non sono così sicuro di credere a queste persone. Ho esaminato SICP e il più grande blocco che eseguirai è come viene implementato call-with-current-continuation ( call/cc ).

Mentre MIT-Scheme è ufficialmente approvato, ci sono alcuni aspetti negativi di MIT-Scheme

  1. Vecchio
  2. Non mantenuto per quanto posso dire
  3. Ambiente mediocre / repl
  4. Non errori così grandi

D'altra parte è "schema puro" con relativamente poche estensioni che potrebbero essere considerate buone per un principiante.

Il racket fornisce un IDE molto carino e Neil Van-Dyke ha scritto un bel pacchetto che implementa uno schema fatto su misura per SICP.

È un ambiente più moderno e piacevole nel complesso, e se decidi di scrivere qualche Schema dopo SICP come me, Racket en-proper è un ottimo linguaggio Scheme-ish per scrivere.

    
risposta data 07.04.2014 - 23:33
fonte

Leggi altre domande sui tag