/racketui

Automated Web UI Generator for Racket

Primary LanguageRacket

RacketUI - Automated Web UI Generator for Racket
================================================

RacketUI is intended to be a teachpack to provide facilities for the
quick and easy generation of web interfaces for programs written in 
the HtDP (_How to Design Programs_) languages of Racket (see 
docs.racket-lang.org).


Example
-------

Consider the following program, which builds an acronym from the
capitalized words in a list of strings (comments and test cases are
omitted):

(define (acronym a-los)
  (cond [(empty? a-los) ""]
        [(cons? a-los) (cond 
                         [(string-upper-case? (string-ith (first a-los) 0))
                          (string-append (string-ith (first a-los) 0)
                                         (acronym (rest a-los)))]
                         [else (acronym (rest a-los))])]))

A web application for this can be automatically generated using:

(require (planet nah22/racketui/web-launch))

(web-launch
 "Acronym Builder"
 (function "Produces an acronym of the capitalized words in the given list."
           (acronym ["Words" (listof+ ["Word" string+])]
                    ->["The acronym" string])))

Running this program should launch a web browser with an user
interface allowing input of a list of words (strings) and the
ability to apply the function to that input to view the result.



License
-------

RacketUI
Copyright (c) 2010-2011 Nadeem Abdul Hamid