Content deleted Content added
No edit summary |
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
(3 intermediate revisions by 3 users not shown) | |||
Line 5:
| logo size = 140px
| screenshot = Drracket.png
|
| screenshot caption = DrRacket on [[Linux]]
| paradigm = [[Multi-paradigm programming language|Multi-paradigm]]: [[Functional programming|functional]], [[Imperative programming|imperative]], [[Logic programming|logic]], [[Metaprogramming|meta]], [[Modular programming|modular]], [[Object-oriented programming|object-oriented]], [[Reflective programming|reflective]]
Line 23:
| license = [[MIT License|MIT]] or [[Apache License 2.0|Apache 2.0]]<ref>{{cite web|title=Completing Racket's relicensing effort|url=https://blog.racket-lang.org/2019/11/completing-racket-s-relicensing-effort.html|last1=Tobin-Hochstadt|first1=Sam|last2=Gerard|first2=Sage|last3=Dueck|first3=Joel|last4=Flatt|first4=Matthew|author-link4=Matthew Flatt|author5=Software Freedom Conservancy|author-link5=Software Freedom Conservancy|last6=Chestek|first6=Pamela|date=2019-11-15|access-date=2019-12-27}}</ref>
| file ext = .rkt<ref>{{cite web|title=DrRacket Files|quote=The standard file extension for a Racket program file is ".rkt". The extensions ".ss", ".scm", and ".sch" are also historically popular.|url=https://docs.racket-lang.org/drracket/drracket-files.html|access-date=21 July 2019}}</ref>
| website = {{
}}
'''Racket''' is a [[General-purpose programming language|general-purpose]], [[multi-paradigm programming language]]. The Racket language is a modern dialect of [[Lisp (programming language)|Lisp]] and a descendant of [[Scheme (programming language)|Scheme]]. It is designed as a platform for [[programming language theory|programming language design]] and implementation.<ref name="manifesto">{{cite journal |last1=Felleisen |first1=M. |last2=Findler |first2=R.B. |last3=Flatt |first3=M. |last4=Krishnamurthi |first4=S. |last5=Barzilay |first5=E. |last6=McCarthy |first6=J. |last7=Tobin-Hochstadt |first7=S. |title=The Racket Manifesto |journal=Proceedings of the First Summit on Advances in Programming Languages |date=2015 |pages=113–128 |url=https://www2.ccs.neu.edu/racket/pubs/manifesto.pdf}}</ref> In addition to the core Racket language, ''Racket'' is also used to refer to the family of programming languages<ref>{{cite web |title=Dialects of Racket and Scheme |url=http://docs.racket-lang.org/guide/dialects.html |access-date=2011-08-15}}</ref> and set of tools supporting development on and with Racket.<ref>{{cite web |title=Welcome to Racket |url=http://docs.racket-lang.org/guide/intro.html|access-date=2019-05-15}}</ref> Racket is also used for [[script (computing)|scripting]], [[computer science]] education, and research.
The Racket platform provides an implementation of the Racket language (including a [[runtime system]],<ref name="mred"/> libraries, and [[compiler]] supporting several compilation modes: machine code, machine-independent, interpreted, and JIT) along with the DrRacket [[integrated development environment]] (IDE) written in Racket.<ref name="drscheme"/> Racket is used by the [[ProgramByDesign]] outreach program, which aims to turn [[computer science]] into "an indispensable part of the [[liberal arts]] [[curriculum]]".<ref name="teachscheme">{{cite news| last1=Felleisen |last2=Findler |last3=Flatt |last4=Krishnamurthi |year=2004 |url=http://www.ccs.neu.edu/scheme/pubs/#cse2003-fffk |title=The TeachScheme! Project: Computing and Programming for Every Student|journal=Journal of Computer Science Education}}</ref><ref>{{cite web |url=http://programbydesign.org/overview |title=Overview |publisher=Program by Design |access-date=2011-08-17 |archive-date=2013-05-20 |archive-url=https://web.archive.org/web/20130520104718/http://www.programbydesign.org/overview |url-status=dead }}</ref>
The core Racket language is known for its extensive [[macro (computer science)|macro]] system which enables creating embedded and [[___domain-specific language]]s, language constructs such as [[class (computer programming)|classes]] or [[modular programming|modules]], and separate dialects of Racket with different [[semantics of programming languages|semantics]].<ref name="scheme-with-classes">{{cite conference
Line 55:
|year=2011
|url=http://www.ccs.neu.edu/scheme/pubs/pldi11-thacff.pdf}}
</ref><ref>{{Cite journal |doi=10.1145/3127323 |volume=61 |issue=3 |pages=62–71 |last1=Felleisen |first1=Matthias |last2=Findler |first2=Robert Bruce |last3=Flatt |first3=Matthew |last4=Krishnamurthi |first4=Shriram |last5=Barzilay |first5=Eli |last6=McCarthy |first6=Jay |last7=Tobin-Hochstadt |first7=Sam |title=A Programmable Programming Language |journal=Communications of the ACM |date=2018 |s2cid=3887010 |url=https://cacm.acm.org/magazines/2018/3/225475-a-programmable-programming-language/fulltext|url-access=subscription }}</ref>
The platform distribution is [[free and open-source software]] distributed under the [[Apache License|Apache 2.0]] and [[MIT license]]s.<ref name="racket-lgpl-license">{{cite web |title=Racket: Software License |url=http://download.racket-lang.org/license.html |access-date=2015-10-20}}</ref> Extensions and packages written by the community may be uploaded to Racket's [[package manager|package catalog]].
|