start docs

dev-elider-3
Matthew Butterick 9 years ago
parent a0108d27bf
commit fca4b96b7b

@ -0,0 +1,2 @@
#lang info
(define scribblings '(("scribblings/br.scrbl" ())))

@ -0,0 +1,65 @@
#lang scribble/manual
@(require (for-label br/conditional))
@title[#:style 'toc]{Beautiful Racket}
@author[(author+email "Matthew Butterick" "mb@mbtype.com")]
Beautiful Racket @link["http://beautifulracket.com"]{is a book} about making programming languages with Racket.
This library provides the @tt{#lang br} teaching language used in the book, as well as supporting modules that can be used in other programs.
@;defmodulelang[br]
@tt{#lang br} is a teaching language designed to smooth over some of the small idiosyncrasies and inconsistencies in Racket, so that those new to Racket will say ``ah, that makes sense'' rather than ``huh? what?'' @tt{#lang br} is not meant to hide the true nature of Racket, but rather defer certain parts of the learning curve.
To that end, this documentation not only explains the functions and forms in the Beautiful Racket library, but also how they depart from traditional or idiomatic Racket. (BTW ``Beautiful Racket'' is the name of the book, not an implication that the rest of Racket is less than beautiful. It is! But one thing at a time.)
@section{Conditionals}
@defmodule[br/conditional]
@defform[(while cond body ...)]
Loop over @racket[_body] expressions as long as @racket[_cond] is not @racket[#f]. If @racket[_cond] starts out @racket[#f], @racket[_body] expressions are not evaluated.
@defform[(until cond body ...)]
Loop over @racket[_body] expressions until @racket[_cond] is not @racket[#f]. If @racket[_cond] starts out @racket[#f], @racket[_body] expressions are not evaluated.
@section{Datums}
@defmodule[br/datum]
@defproc[
(format-datum
[datum-template symbol?]
[arg any/c?] ...)
datum?]
tk
@section{Debugging}
@defmodule[br/debug]
TK
@section{Define}
@defmodule[br/define]
TK
@section{Reader utilities}
@defmodule[br/reader-utils]
TK
@section{Syntax}
@defmodule[br/syntax]
TK

@ -3,4 +3,5 @@
(define version "0.01")
(define deps '("base" "sugar"))
(define build-deps '("racket-doc" "rackunit-lib"))
(define build-deps '("racket-doc" "rackunit-lib" "scribble-lib"))
(define scribblings '(("br/scribblings/br.scrbl" ())))

Loading…
Cancel
Save