Domanda

Ho letto Primer delle regole di sintassi di JRM per Merely Eccentric e mi ha aiutato a capire le regole di sintassi e come è diverso dalla macro-definizione di common-lisp. syntax-rules è solo un modo per implementare un trasformatore di sintassi all'interno di define-syntax.

Sto cercando due cose, la prima è più esempi e spiegazioni delle regole di sintassi e la seconda è una buona fonte per imparare gli altri modi di usare la definizione-sintassi. Quali risorse mi consigliate?

È stato utile?

Soluzione

Per rispondere alla tua seconda domanda: syntax-case è l'altro modulo che si trova all'interno di define-syntax . Kent Dybvig è il principale sostenitore di syntax-case e ha un tutorial su come usarlo [PDF].

Ho anche leggi la documentazione dello schema PLT su syntax-case per qualche altro esempio e per conoscere le variazioni nell'implementazione.

Altri suggerimenti

Il primer delle regole di sintassi del JRM è abbastanza buono, ma il capitolo 36 dei linguaggi di programmazione: applicazione e interpretazione, di Shriram Krishnamurti http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/ ) ha anche una buona copertura nella scrittura di macro Scheme. Tale materiale è stato utilizzato e migliorato in numerosi brevi articoli, relazioni tecniche, ecc. Negli ultimi 10 anni, quindi non è un "questo era vero sull'implementazione X dello schema nel 1983 che non è più accessibile".

L'elenco delle risorse in The Scheme Cookbook è un ottimo punto di partenza. Se preferisci i documenti, non esitare a visitare readscheme.org .

Fear of Macros è una guida pratica per l'utilizzo di macro in Racket. Mostra molti modi di usare define-syntax . Il materiale potrebbe non essere completamente applicabile a Scheme, ma potresti trovare alcuni degli esempi utili per sapere cosa si può fare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top