X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=extending_racket.mdwn;h=efb218f267fc8431fa7358a8f3ca7394883c4c56;hp=21d81bdcfb67004bbee2ba28c9d0669368f9b028;hb=51d15385556bddc2e53ee2ea928a3007528872a3;hpb=c13ff8a4fbf261cf7274968bdd66e837674cbe63 diff --git a/extending_racket.mdwn b/extending_racket.mdwn index 21d81bdc..efb218f2 100644 --- a/extending_racket.mdwn +++ b/extending_racket.mdwn @@ -1,24 +1,39 @@ +* [Unsafe operations](http://docs.racket-lang.org/reference/unsafe.html) * Racket [FFI](http://docs.racket-lang.org/foreign/index.html) | [C API](http://docs.racket-lang.org/inside/index.html) -* [Unsafe operations](http://docs.racket-lang.org/reference/unsafe.html) -* [Initialization etc](http://docs.racket-lang.org/reference/running-sa.html) +* [Initialization etc](http://docs.racket-lang.org/reference/running-sa.html#%28part._init-actions%29) -## Teaching Languages ## +## Custom Languages ## -* [DrRacket/How to Design Programs Teaching Languages](http://docs.racket-lang.org/drracket/htdp-langs.html) -* [HtDP Languages](http://docs.racket-lang.org/htdp-langs/index.html) -* [HtDP Teachpacks](http://docs.racket-lang.org/teachpack/index.html) -* [Implementing HtDP & other customized teaching languages](http://docs.racket-lang.org/htdp/index.html) +* DrRacket/[HtDP Teaching Languages](http://docs.racket-lang.org/drracket/htdp-langs.html) | +[manuals](http://docs.racket-lang.org/htdp-langs/index.html) | +extending with "[teachpack](http://docs.racket-lang.org/teachpack/index.html)" libraries written in full language +* Authoring HtDP teachpacks: +[intro](http://docs.racket-lang.org/drracket/extending-drracket.html#%28part._teachpacks%29) | +[details](http://docs.racket-lang.org/htdp/index.html) +* [Adding Languages to DrRacket](http://docs.racket-lang.org/tools/adding-languages.html) -## Custom Languages ## -Racket users can define their own languages, as discussed in [Creating Languages](http://docs.racket-lang.org/guide/languages.html). Typically, a language name maps to its implementation through a module path by adding `/lang/reader`; for example, the language name `scribble/base` is expanded to `scribble/base/lang/reader`, which is the module that implements the surface-syntax parser. +Racket users can define their own languages, as discussed in: -* [Syntax: Meta-Programming Helpers](http://docs.racket-lang.org/syntax/index.html) -* [(require syntax/module-reader)](http://docs.racket-lang.org/syntax/reader-helpers.html#%28mod-path._syntax%2Fmodule-reader%29) +* [Creating Languages](http://docs.racket-lang.org/guide/languages.html), including +[#lang s-exp](http://docs.racket-lang.org/guide/module-languages.html#%28part._s-exp%29) +([more](http://docs.racket-lang.org/reference/reader.html#%28mod-path._s-exp%29)) + +Typically, a language name maps to its implementation through a module path by adding `/lang/reader`; for example, the language name `scribble/base` is expanded to `scribble/base/lang/reader`, which is the module that implements the surface-syntax parser. + +* [Lists and Racket Syntax](http://docs.racket-lang.org/guide/Pairs__Lists__and_Racket_Syntax.html#%28part._lists-and-syntax%29) +* [Module Syntax](http://docs.racket-lang.org/guide/Module_Syntax.html), including +the [#lang](http://docs.racket-lang.org/guide/Module_Syntax.html#%28part._hash-lang%29) shorthand +* [The Reader](http://docs.racket-lang.org/reference/reader.html), including +[#reader](http://docs.racket-lang.org/reference/reader.html#%28part._parse-reader%29), +[#lang reader](http://docs.racket-lang.org/reference/reader.html#%28mod-path._reader%29) +* [Core Syntax](http://docs.racket-lang.org/reference/syntax.html) * [#lang racket/kernel](http://docs.racket-lang.org/reference/Kernel_Forms_and_Functions.html) -* [Extending DrRacket/Teachpacks](http://docs.racket-lang.org/drracket/extending-drracket.html#%28part._teachpacks%29) -* [Adding Languages to DrRacket](http://docs.racket-lang.org/tools/adding-languages.html) -* [#lang](http://docs.racket-lang.org/drracket/module.html) [more](http://docs.racket-lang.org/guide/Module_Syntax.html#%28part._hash-lang%29) -* [Output Printing Styles](http://docs.racket-lang.org/drracket/output-syntax.html) + +* [Syntax: Meta-Programming Helpers](http://docs.racket-lang.org/syntax/index.html), including +syntax/[module-reader](http://docs.racket-lang.org/syntax/reader-helpers.html#%28mod-path._syntax%2Fmodule-reader%29) + +* [The Printer](http://docs.racket-lang.org/reference/printing.html) | +[output styles](http://docs.racket-lang.org/drracket/output-syntax.html)