Content deleted Content added
Codeofdusk (talk | contribs) m Fix the definite article |
→Integrated Language Extensibility and Macros: heading caps and misuse of bold |
||
Line 109:
At the end of 2014, much of Racket's code was moved into a new packaging system separate from the main code base. This new packaging system is serviced by a client program named ''raco''. The new package system provides fewer features than PLaneT; a blog post by Jay McCarthy on the Racket blog explains the rationale for the change and how to duplicate the older system.<ref>{{cite web |url=http://blog.racket-lang.org/2014/12/the-racket-package-system-and-planet.html |title=The Racket package system and Planet}}</ref>
===Integrated
{{See also|Racket features#Language Extensions|l1=Racket language extensions}}
Line 116:
The module-level extensibility features are combined with a [[Scheme (programming language)|Scheme]]-like hygienic macro system, which provides more features than [[Lisp (programming language)|Lisp's]] s-expression manipulation system,<ref name='you-want-it-when'>{{cite conference |last=Flatt |first=Matthew |url=http://www.cs.utah.edu/plt/publications/macromod.pdf |title=Composable and Compilable Macros, You Want it When? |book-title=International Conference on Functional Programming |year=2002}}</ref><ref>Flatt, Culpepper, Darais, Findler, [http://www.cs.utah.edu/plt/publications/jfp12-draft-fcdf.pdf Macros that Work Together; Compile-Time Bindings, Partial Expansion, and Definition Contexts]</ref> Scheme 84's [[Hygienic macro|hygienic]] extend-syntax macros, or [[R5RS]]'s [[syntax-rules]]. Indeed, it is fair to say that the macro system is a carefully tuned [[application programming interface]] (API) for [[compiler]] extensions. Using this compiler API, programmers can add features and entire [[___domain-specific language]]s in a manner that makes them completely indistinguishable from built-in language constructs.
The
Other dialects include FrTime ([[functional reactive programming]]), Scribble (documentation language),<ref>{{cite conference |last1=Flatt |first1=M. |last2=Barzilay |first2=E. |last3=Findler |first3=R. B. |title=Scribble: Closing the Book on Ad Hoc Documentation Tools |book-title=International Conference on Functional Programming |year=2009}}</ref> Slideshow ([[slide show|presentation]] language),<ref>{{cite conference |last1=Findler |first1=R. B. |last2=Flatt |first2=M. |title=Slideshow: Functional Presentations |book-title=International Conference on Functional Programming |year=2004}}</ref> and several languages for education.<ref name="functional-io">{{cite conference |last1=Felleisen |last2=Findler |last3=Flatt |last4=Krishnamurthi |first1=M. |first2=R. B. |first3=M. |first4=S. |title=A Functional I/O System (or Fun for Freshman Kids) |url=http://www.ccs.neu.edu/scheme/pubs/icfp09-fffk.pdf |book-title=International Conference on Functional Programming |year=2009}}</ref><ref>{{cite journal |title=The Structure and Interpretation of the Computer Science Curriculum |last1=Felleisen |last2=Findler |last3=Flatt |last4=Krishnamurthi |first1=M. |first2=R. B. |first3=M. |first4=S.|journal=Journal of Functional Programming |volume=14 |issue=4 |pages=365–378 |url=http://www.ccs.neu.edu/scheme/pubs/fdpe2002-fffk.pdf |year=2004|doi=10.1017/S0956796804005076 }}</ref>
|