Could you give me some example about how you could translate those examples in 
CPS. Because the docs seems very confusing :
    
    
    proc printInDesorder(sleepTimeMs: int) =
        sleepAsync(sleepTimeMs)
        echo "> I woke up after ", sleepTimeMs, "ms"
    
    waitAll @[
        goAsync printInDesorder(110),
        goAsync printInDesorder(220),
        goAsync printInDesorder(60),
    ]
    
    
    Run

or this :
    
    
    import nimgo, nimgo/gofile
    const NumberOfIO = 1000
    
    var p1 = createGoPipe(buffered = false)
    var p2 = createGoPipe(buffered = false)
    var consumerSock = (receiver: p1[0], sender: p2[1])
    var producerSock = (receiver: p2[0], sender: p1[1])
    
    proc producer() =
        for i in 0..<NumberOfIO:
            discard producerSock.sender.write("Hello\n")
            discard producerSock.receiver.readLine()
    
    proc consummer() =
        while true:
            var data = consumerSock.receiver.readLine()
            if data == "":
                break
            discard consumerSock.sender.write("Hello\n")
    
    withEventLoop():
        goAsync consummer()
        goAsync producer()
    
    
    
    Run

Reply via email to