view testnworker.rhope @ 139:a68e6828d896

Global stores and transactions are working. Definately leaks memory on retries. Probably a fair number of bugs to work out. However, a basic test program works.
author Mike Pavone <pavone@retrodev.com>
date Fri, 19 Nov 2010 04:04:14 -0500
parents e09c2d1d6d5b
children c6ba9fe45910
line wrap: on
line source

Import nworker_c.rhope

Test NWorker[:out]
{
	ref+ <- Worker Ref["+","rhope",2,1,Yes]
	ref* <- Worker Ref["*","rhope",2,1,Yes]
	,a <- [NWorker["rhope"]
	]Add Input["a", 0] {
		,b <- [~]Add Input["b", 1] {
		,c <- [~]Add Input["c", 2] {
		,outref <- [~]Add Output["out", 0] {
		,call+ <- [~]Add Worker Call[ref+] {
		,call* <- [~]Add Worker Call[ref*] {
		out <- [[[[[~]Add Wire[a,0,call+,0]
		]Add Wire[b,0,call+,1]
		]Add Wire[call+,0,call*,0]
		]Add Wire[c,0,call*,1]
		]Add Wire[call*,0,outref,0]
	}}}}}}
}

Main[]
{
	Print[
		[[[[NProgram[]]Register Builtins
		]Bind Worker["Test", Test NWorker[]]
		]Compile Program[C Program[]]
		]Text
	]
}