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.
Cours associés (11)
MICRO-401: Machine learning programming
This is a practice-based course, where students program algorithms in machine learning and evaluate the performance of the algorithm thoroughly using real-world dataset.
CS-119(d): Information, Computation, Communication
L'objectif de ce cours est d'introduire les étudiants à la pensée algorithmique, de les familiariser avec les fondamentaux de l'Informatique et de développer une première compétence en programmation (
ME-474: Numerical flow simulation
This course provides practical experience in the numerical simulation of fluid flows. Numerical methods are presented in the framework of the finite volume method. A simple solver is developed with Ma
Afficher plus
Séances de cours associées (32)
Méthodes multi-étapes
Couvre les méthodes multi-étapes pour résoudre les équations différentielles, en se concentrant sur les conditions de stabilité et des exemples.
Spécification et vérification d'un client léger Blockchain
Couvre la conception, la mise en œuvre et la vérification formelle des systèmes distribués, en se concentrant sur les systèmes et organisations distribués vérifiables.
Régression : Hautes Dimensions
Explore la régression linéaire en dimensions élevées et la prévision pratique des prix des maisons à partir d'un ensemble de données.
Afficher plus
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

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.