-
-
Notifications
You must be signed in to change notification settings - Fork 41
/
add-ssd.rkt
30 lines (28 loc) · 1.2 KB
/
add-ssd.rkt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#lang racket/base
(require web-server/servlet)
(provide (all-defined-out))
(define interface-version 'v1)
(define timeout +inf.0)
; request-number : str -> num
(define (request-number which-number)
(send/suspend/dispatch
(lambda (embed/url)
(response/xexpr
`(html (head (title "Enter a Number to Add"))
(body ([bgcolor "white"])
(form ([action ,(embed/url
(lambda (request)
(string->number
(extract-binding/single
'number
(request-bindings request)))))]
[method "post"])
"Enter the " ,which-number " number to add: "
(input ([type "text"] [name "number"] [value ""]))
(input ([type "submit"] [name "enter"] [value "Enter"])))))))))
(define (start initial-request)
(response/xexpr
`(html (head (title "Sum"))
(body ([bgcolor "white"])
(p "The answer is "
,(number->string (+ (request-number "first") (request-number "second"))))))))