Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,21 @@
|
|||
# Reading task (synchronous)
|
||||
(task (open "input.txt")
|
||||
(let Fd @
|
||||
(if (in Fd (line T)) # More lines?
|
||||
(udp "localhost" 4444 @) # Yes: Send next line
|
||||
(task (port T 4445) # Else install handler
|
||||
(prinl (udp @) " lines") # to receive and print count
|
||||
(task (close @)) )
|
||||
(udp "localhost" 4444 T) # Send 'T' for "Done"
|
||||
(task (close Fd)) ) ) ) # Stop the task
|
||||
|
||||
# Printing task (asynchronous)
|
||||
(sigio (setq "Sock" (port T 4444))
|
||||
(job '((Cnt . 0))
|
||||
(let? X (udp "Sock")
|
||||
(if (=T X) # Done?
|
||||
(prog
|
||||
(udp "localhost" 4445 Cnt) # Yes: Send count
|
||||
(sigio (close "Sock")) ) # and stop the task
|
||||
(println X) # Else print line to stdout
|
||||
(inc 'Cnt) ) ) ) ) # and increment count
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
(co 'unit1
|
||||
(yield) # Allow 'unit2' to start
|
||||
(in "input.txt" # Read the file
|
||||
(while (line T) # Send each line
|
||||
(yield @ 'unit2) ) ) # to 'unit2'
|
||||
(prinl
|
||||
(yield NIL 'unit2) # Send 'NIL' for "Done", receive count
|
||||
" lines" ) )
|
||||
|
||||
(co 'unit2
|
||||
(let Cnt 0 # Init counter
|
||||
(while (yield NIL 'unit1) # Receive line
|
||||
(println @) # Print it
|
||||
(inc 'Cnt) ) # Increment count
|
||||
(yield Cnt 'unit1) ) ) # Send count to 'unit1'
|
||||
Loading…
Add table
Add a link
Reference in a new issue