Files
gem300/gem300.rkt

25 lines
558 B
Racket

#lang racket
(require (prefix-in net: "net.rkt")
(prefix-in gmi: "gmi.rkt"))
(define commands
(list
(cons "default" (lambda (line) (void)))))
(define (dispatch-command line)
(let ([split (string-split line " ")])
(let ([cmd (assoc (cond [(null? split) "default"]
[else (first split)])
commands)])
(if cmd
((cdr cmd) (string-join (cdr split)))
(displayln "no such command")))))
(define (repl)
(display "G300> ")
(dispatch-command (read-line))
(repl))