25 lines
618 B
Racket
25 lines
618 B
Racket
#lang racket/base
|
|
;; Trivial example of os-userland.
|
|
|
|
(require "os-userland-stdlib.rkt")
|
|
|
|
(define (main)
|
|
(spawn display-driver)
|
|
(spawn read-line-driver)
|
|
(spawn sleep-driver)
|
|
(spawn (userland (lambda ()
|
|
(display "HI\n")
|
|
(sleep 1000)
|
|
(display "THERE\n"))))
|
|
(poll) ;; Wait for drivers to become ready (!)
|
|
;; The Right Way to do this is to have presence integrated with subscription
|
|
(display "Hello! Enter your name:\n")
|
|
(define name (rpc 'read-line))
|
|
(display "Hello, ")
|
|
(display name)
|
|
(display "!\n")
|
|
(sleep 1000)
|
|
(display "Goodbye\n"))
|
|
|
|
(ground-vm/stdlib (userland main))
|