57 votes

Collection de grands programmes et applications utilisant des macros

Je suis très très intéressé par les Macros et commence tout juste à comprendre sa véritable puissance. Merci de m'aider à collecter une grande utilisation de systèmes macro.

Jusqu'à présent j'ai ces constructions:

Le Filtrage:

Andrew Wright et Bruce Duba. Modèle correspondant pour le Régime, 1995

Les Relations dans l'esprit de Prolog:

Dorai Sitaram. Programmation en schelog. http://www.ccs.neu.edu/home/dorai/schelog/schelog.html

Daniel P. Friedman, William E. Byrd, et Oleg Kiselyov. Motivé Intrigant. MIT Press, juillet 2005

Matthias Felleisen. Transliterating Prologue en Scheme. Rapport Technique 182, L'Université De L'Indiana, 1985.

Extensible Boucles:

Sebastian Egner. Désireux interprétations de la dans le Schéma: La conception de DDRS-42. Dans Atelier sur le Régime et Fonctionnelle Programmation, pages13–26 septembre 2005.

Olin Des Frissons. L'anatomie d'une boucle: histoire de la portée et de contrôle. Dans Conférence internationale sur la Fonctionnelle Programmation, pages 2 à 14, 2005.

Les Systèmes De Classe:

PLT. PLT MzLib: Bibliothèques manuel. Rapport technique PLT-TR2006-4-v352, PLT Régime Inc., 2006. http://www.plt-scheme.org/techreports/

Eli Barzilay. Swindle. http://www.barzilay.org/Swindle.

Systèmes De Composant:

Ryan Culpepper, Scott Owens, et Matthieu Flatt. Syntaxique de l'abstraction dans les interfaces des composants. Dans Conférence internationale sur Générative La programmation et l'Ingénierie des Composants, pages 373-388, 2005

Logiciel Contrat De Vérification

Matthieu Flatt et Matthias Felleisen. Unités: Cool modules à CHAUD langues Dans les ACM SIGPLAN Conférence sur Langage de programmation, de Conception et de La mise en œuvre, les pages 236-248, 1998

Oscar Waddell et R. Kent Dybvig. L'extension de la portée de la syntaxiques l'abstraction.Symposium sur les Principes de Langages de Programmation, les pages 203-215, 199

Analyseur De Générateurs

Scott Owens, Matthieu Flatt, Olin Des frissons, et Benjamin McMullan. Lexer et analyseur de générateurs dans le Schéma. Dans Atelier sur le Régime et Fonctionnelle Programmation, pages 41 à 52, septembre 2004.

Outils pour l'Ingénierie de la Sémantique:

Matthias Felleisen, Robert Bruce Findler, et Matthieu Flatt. La sémantique Ingénierie avec PLT Redex. MIT Press, Août 2009.

Les spécifications de Compilateur Transformations:

Dipanwita Sarkar, Oscar Waddell, et R. Kent Dybvig. Un nanopass cadre pour le compilateur de l'éducation. Journal de la Fonctionnelle de Programmation,15(5):653-667, Septembre 2005. Enseignement De La Perle.

De nouvelles Formes d'Exécution

Les Servlets avec serializable les continuations de Greg Pettyjohn, John Clements, Joe Marshall, Shriram Krishnamurthi, et Matthias Felleisen. Suites à partir généralisée de la pile l'inspection. International Conférence sur la Programmation Fonctionnelle, pages216–227, 2005.

Théorème-Système D'Étalonnage

Sebastian Egner. Désireux de compréhensions dans le Schéma: La conception de DDRS-42. Dans l'Atelier sur le Système et la Programmation Fonctionnelle, pages 13-26, En septembre 2005.

Les Extensions de la Langue de Base avec des Types

Sam Tobin-Hochstadt et Matthias Felleisen.La conception et la la mise en œuvre de tapé régime. Dans Symposium sur les Principes de la Programmation Langues, pages 395-406, 2008.

La paresse

Eli Barzilay et John Clements. La paresse sans le dur travail:la combinaison de paresseux et stricte langues pour l'enseignement. Fonctionnelle et de programmation déclarative dans l'éducation, pages 9 à 13, 2005.

La Réactivité Fonctionnelle

Gregory H. Cooper et Shriram Krishnamurthi. L'incorporation dynamique flux de données dans un appel-par-valeur de la langue. Dans Symposium Européen sur la Programmation, 2006


Référence:

Collectées à partir de Ryan Culpepper la Thèse de

8voto

Culpepper & Felleisen, Macros Fortifiantes, ICFP 2010

Culpepper, Tobin-Hochstadt et Felleisen, Macrologie avancée et mise en œuvre d'un schéma typé, Scheme Workshop 2007

Flatt, Findler, Felleisen, Schéma avec classes, mixins et traits, APLAS 2006

Herman, Meunier, Améliorer l'analyse statique des langues incorporées au moyen d'une évaluation partielle, ICFP 2004

6voto

Charles Stewart Points 7698

Des frissons, Carlstrom, Gasbichler & Sperber (1994 et plus tard) La Scsh manuel de Référence.

A beaucoup de bons exemples de l'utilisation de macros pour intégrer des mini-langues en Scheme. M'a initié à la technique de définir des macros qui, implicitement, la citation de leur argument. Regard sur l'utilisation de processus formes, les expressions régulières, et l'awk-mini-langues. Scsh est ma recommandation comme un point de départ pour jouer avec des macros.

Hilsdale & Friedman (2000) l'Écriture de Macros dans le Prolongement de Passage de Style.

Montre comment la faiblesse de la syntaxe des règles macros peuvent être de puissants à l'aide de la continuation passing style. Donne de nombreux exemples.

Flatt, Culpepper, Darais & Findler (soumis) les Macros qui Travaillent Ensemble - au Moment de la Compilation des Liaisons, de l'Expansion Partielle, et la Définition des Contextes.

Fournit une vue d'ensemble de, et de la sémantique de l'approche de macros dans la Raquette/PLT Régime. Pas beaucoup d'exemples, mais je pense que le papier a quelque chose que vous recherchez.

4voto

soegaard Points 6541

ReadScheme! N'oubliez pas de vérifier la vaste bibliographie sur ReadScheme.

http://library.readscheme.org/page3.html

Un exemple, je pense que vous avez manqué l'intégration de la syntaxe SQL dans le Schéma. http://repository.readscheme.org/ftp/papers/sw2002/schemeunit-schemeql.pdf

Les Macros sont également utilisés pour écrire des soutiens pour les tests automatisés.

3voto

SK-logic Points 6952

Pas un Régime, mais un peu similaire dialecte de Lisp avec une très large utilisation de macros: http://www.meta-alternative.net/mbase.html

Il y a des macros de mise en œuvre de différents types de filtrage, les interprétations de la liste, divers générateurs d'analyseurs (y compris un PEG/Packrat mise en œuvre), les Prolog, ADT visiteurs inférence (tels que les déchets de votre passe-partout en Haskell), extensible syntaxe des macros, Hindley-Milner type de système, Système-comme la syntaxe des macros, et beaucoup plus. Une partie de cette fonctionnalité peut être porté de Régime, d'autres parties de l'étendue de la macro avec système de contexte explicite.

2voto

gcbenison Points 4253

J'ajouterais "La bibliothèque standard Scheme elle-même" à la liste. Regardez le fichier boot-9.scm dans la distribution guile. La plupart des formes de schéma les plus couramment utilisées - case , and , etc. - sont définies ici comme des macros.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X