#lang for agile software development
Racket Makefile
Switch branches/tags
Nothing to show
Clone or download
Latest commit 2b6a273 Jan 24, 2018
Permalink
Failed to load latest commit information.
lang agile Apr 1, 2016
scribblings ** add racket/match, racket/list Jul 26, 2016
.gitignore agile Apr 1, 2016
LICENSE.txt ** update license Jan 24, 2018
README.md README Apr 1, 2016
info.rkt ** add racket/match, racket/list Jul 26, 2016
main.rkt ** add racket/match, racket/list Jul 26, 2016

README.md

#lang agile

Finally, the language for agile software development.

Agile programs start with #lang agile. The rest is up to you.

    #lang agile

    (begin-for-syntax (define-syntax-class principle
      #:attributes (message)
      (pattern (word*:id ...)
       #:attr message #'(word* ...))))

    (define-syntax make-manifesto
      (syntax-parser
       [(_ p*:principle ...)
        #:with (i* ...)
          (for/list ([p (in-list (syntax-e #'(p* ...)))]
                     [i (in-naturals 1)])
            i)
        #'(lambda (n)
            (case n
             [(i*) 'p*.message]
             ...
             [else '(Responding to change over following a plan)]))]))

    (define agile
      (make-manifesto
       [satisfy the customer]
       [welcome changing requirements]
       [deliver working software]
       [work together daily]
       [support and trust]
       [face-to-face conversation]
       [working software is the primary measure of progress]
       [sustainable development]
       [attention to excellence]
       [simplicity is essential]
       [self-organizing teams]
       [reflect tune adjust]))

    (agile 12)
    ;; '(reflect tune adjust)