Jump to content

Events: Difference between revisions

Add LFE version of events based on the Erlang version
(Add LFE version of events based on the Erlang version)
Line 429:
->
</pre>
 
=={{header|LFE}}==
<lang lisp>
;;;
;;; This is a straight port from the Erlang version.
;;;
;;; You can run this in the LFE REPL by slurping the file:
;;;
;;; > (slurp "events.lfe")
;;; > (main)
;;;
(defmodule events
(export all))
 
(defun log (msg)
(let (((tuple h m s) (erlang:time)))
(lfe_io:format "~2.B:~2.B:~2.B => ~s~n" (list h m s msg))))
 
(defun task ()
(log "Task start")
(receive
('go 'ok))
(log "Task resumed"))
 
(defun main ()
(log "Program start")
(let ((pid (spawn (lambda () (task)))))
(progn
(log "Program sleeping")
(timer:sleep 1000)
(log "Program signalling event")
(! pid 'go)
(timer:sleep 100))))
</lang>
 
However, OTP comes with a gen_event behavior that is more robust and resilient than this version.
 
=={{header|JavaScript}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.