# Huh, setting up a minimal client server example with threads is... surprisingly # easy: import std/os var commChan: Channel[string] sender: Thread[void] receiver: Thread[void] proc setupSender() = echo "Type in a message to send to the Backend!" proc sendMsg() = while true: let terminalInput = readLine(stdin) echo "Sending message from Frontend from thread ", getThreadId(), ": ", terminalInput commChan.send(terminalInput) createThread(sender, sendMsg) proc setupReceiver() = proc recvMsg() = while true: let msg: string = commChan.recv() echo "Received message at Backend on Thread: ", getThreadId(), " :", msg createThread(receiver, recvMsg) proc main() = commChan.open() setupSender() setupReceiver() joinThreads(sender, receiver) main()