Events: Difference between revisions
Content added Content deleted
(Added Elixir) |
m (→{{header|LFE}}: Tweaked for LFE) |
||
Line 468: | Line 468: | ||
=={{header|LFE}}== |
=={{header|LFE}}== |
||
⚫ | |||
;;; |
|||
;;; 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)) |
|||
{{trans|Erlang}} |
|||
Paste in the REPL: |
|||
⚫ | |||
(defun log (msg) |
(defun log (msg) |
||
(let ((( |
(let ((`#(,h ,m ,s) (erlang:time))) |
||
(lfe_io:format "~2.B:~2.B:~2.B => ~s~n" ( |
(lfe_io:format "~2.B:~2.B:~2.B => ~s~n" `(,h ,m ,s ,msg)))) |
||
(defun task () |
(defun task () |
||
Line 490: | Line 484: | ||
(log "Task resumed")) |
(log "Task resumed")) |
||
(defun |
(defun run () |
||
(log "Program start") |
(log "Program start") |
||
(let ((pid (spawn (lambda () (task))))) |
(let ((pid (spawn (lambda () (task))))) |
||
Line 501: | Line 495: | ||
</lang> |
</lang> |
||
Usage: |
|||
⚫ | |||
<pre> |
|||
> (run) |
|||
18:34:53 => Program start |
|||
18:34:53 => Program sleeping |
|||
18:34:53 => Task start |
|||
18:34:54 => Program signalling event |
|||
18:34:54 => Task resumed |
|||
ok |
|||
</pre> |
|||
⚫ | |||
=={{header|JavaScript}}== |
=={{header|JavaScript}}== |