Racket est un langage de programmation de la famille Lisp. Il fait partie du projet Racket (autrefois PLT Scheme), qui regroupe plusieurs variantes du langage Scheme ainsi qu'une série d'outils pour les utiliser. L'un de ses objectifs est de servir de plate-forme pour la création, la conception et l'implémentation. Initialement, DrScheme a été conçu comme un environnement de développement à but pédagogique, pour servir de support au cours d'introduction à l'informatique de l'université Rice. D'abord basé sur le langage Scheme RRS, l'environnement implémente aujourd'hui le langage Racket, un dérivé de Scheme multi-paradigme. Le langage est utilisé tant que langage de script, programmation à usage général et dans de nombreux domaines comme l'enseignement en informatique et la recherche. La plateforme fournit une implémentation du langage Racket (y compris un environnement d’exécution avancé, des bibliothèques variées, un compilateur à la volée) ainsi qu'un environnement de développement nommé Dr Racket (anciennement DrScheme) écrit en Racket. Le cœur du langage est connu pour son système de macros avancé qui permet de créer des langages dédiés, des constructions du langage permettant de créer des classes et des modules et de nombreux dialectes du langage avec leur propre sémantique. La distribution de la plateforme est de type Free/Libre Open Source Software et est distribué sous la Licence Publique Générale Limitée GNU également appelé GNU LGPL. Les extensions et packages créés par la communauté sont téléchargeables via le catalogue de packages centralisé de Racket. Matthias Felleisen a fondé PLT au milieu des années 1990, d'abord en tant que groupe de recherche, puis en tant que projet destiné à la production de matériel pédagogique pour les programmeurs débutants (conférences, exercices / projets, logiciels). En , le groupe a décidé de développer un environnement de programmation pédagogique basé sur Scheme. Matthew Flatt a bricolé MrEd, la machine virtuelle originale de Racket, issu de libscheme, wxWidgets, et de quelques autres systèmes libres.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Publications associées (45)
Concepts associés (23)
Language-oriented programming
Language-oriented programming (LOP) is a software-development paradigm where "language" is a software building block with the same status as objects, modules and components, and rather than solving problems in general-purpose programming languages, the programmer creates one or more domain-specific languages (DSLs) for the problem first, and solves the problem in those languages. Language-oriented programming was first described in detail in Martin Ward's 1994 paper Language Oriented Programming, published in Software - Concepts and Tools, Vol.
Clojure
Clojure est un langage de programmation fonctionnelle compilée, multi-plateforme et destiné à la création de programmes sûrs et facilement distribuables. C’est un dialecte de Lisp. Il transpile vers du bytecode Java, du code JavaScript et du bytecode .NET. Clojure est donc disponible sur la JVM, le CLR, les navigateurs et Node.js. vignette|Rich Hickey, créateur de Clojure Rich Hickey est le créateur du langage Clojure. Avant Clojure, il a développé dotLisp, un projet similaire basé sur la plate-forme .
Hygienic macro
In computer science, hygienic macros are macros whose expansion is guaranteed not to cause the accidental capture of identifiers. They are a feature of programming languages such as Scheme, Dylan, Rust, Nim, and Julia. The general problem of accidental capture was well known in the Lisp community before the introduction of hygienic macros. Macro writers would use language features that would generate unique identifiers (e.g., gensym) or use obfuscated identifiers to avoid the problem.
Afficher plus