Finally, the language for agile software development.
- Concise, unambiguous syntax
- Time-tested suite of primitive datatypes
- Syntax tools to meet changing requirements
- Fully compatible with the Racket programming language and build tools
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)