RosettaCodeData/Task/Events/LFE/events.lfe

20 lines
438 B
Plaintext

(defun log (msg)
(let ((`#(,h ,m ,s) (erlang:time)))
(lfe_io:format "~2.B:~2.B:~2.B => ~s~n" `(,h ,m ,s ,msg))))
(defun task ()
(log "Task start")
(receive
('go 'ok))
(log "Task resumed"))
(defun run ()
(log "Program start")
(let ((pid (spawn (lambda () (task)))))
(progn
(log "Program sleeping")
(timer:sleep 1000)
(log "Program signalling event")
(! pid 'go)
(timer:sleep 100))))