view boolean.rhope @ 167:690ed78ead8a

Some type inference fixes and make method calls into regular calls when first arg type is known at compile time
author Mike Pavone <pavone@retrodev.com>
date Mon, 04 Apr 2011 01:41:19 -0400
parents 38d9cd036d49
children ac5c2d78663f
line wrap: on
line source


Generate Boolean Methods[backend:out]
{
	func,inval <- [[[[[backend]Create Function["If@Boolean",("in"),("yes","no"),"rhope"]
		]Set Input Type[Type Instance["Boolean"], 0]
		]Set Output Type[Type Instance["Boolean"], 0]
		]Set Output Type[Type Instance["Boolean"], 1]
		]Read Field["in", "Val"]

	ifyes <- [[[func]Instruction Stream
		]Move["in","yes"]
		]Set Null["no"]

	ifno <- [[[func]Instruction Stream
		]Move["in","no"]
		]Set Null["yes"]

	ffunc <- [[func]Do If[inval, ifyes]
		]Do If[NotCond[inval], ifno]

	out <- [backend]Store Function[ffunc]
}