User defined pipe and redirection operators: Difference between revisions
Content added Content deleted
(Pass each record on as soon AS available through each of the filter/procedure in the chain.) |
(Remove speculation about coroutines in GNU C. The task might be implemented with coroutines, or without them.) |
||
Line 15: | Line 15: | ||
'''Alternately:''' if the language does not support operator definition then replace with: |
'''Alternately:''' if the language does not support operator definition then replace with: |
||
* define the procedures: input(cmd,stream), pipe(stream,cmd), output(stream, stream), whereis(array), append(stream) |
* define the procedures: input(cmd,stream), pipe(stream,cmd), output(stream, stream), whereis(array), append(stream) |
||
Note: I estimate this alternative task can be done '''without''' using [http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html Coroutines] in GNU C. |
|||
For bonus Kudos: Implement the shell "&" concept as a dyadic operator in the specific language. e.g.: <lang sh>( head x & tail x & wait ) | grep test</lang> |
For bonus Kudos: Implement the shell "&" concept as a dyadic operator in the specific language. e.g.: <lang sh>( head x & tail x & wait ) | grep test</lang> |