view samples/oper_impl.tp @ 242:0e7982adc76b

Make the successful return value from a match expression be truthy and the failure value false. This avoids an extra method call when checking the result and avoids allocating a new object when a match fails.
author Mike Pavone <pavone@retrodev.com>
date Sun, 05 Jan 2014 20:56:25 -0800
parents 9820ecd4eed4
children
line wrap: on
line source

#{
	pair <- :a b {
		#{
			first <- a
			second <- b
			+ <- :other {
				pair: first + (other first) second + (other second)
			}
		}
	}

	main <- {
		foo <- pair: 5 7
		bar <- pair: 9 23
		baz <- foo + bar
		print: ((baz first) string) . "\n"
		print: ((baz second) string) . "\n"
		0
	}
}