https://github.com/jrincayc/ucblogo-code
Raw File
Tip revision: 62fc2f7d6c41edcf685277a872c68e47a76fb254 authored by Dan Malec on 12 December 2020, 01:50:52 UTC
FEAT-CD: Initial pass at having a CD build.
Tip revision: 62fc2f7
dmaybeoutput
.MAYBEOUTPUT value					(special form)

	works like OUTPUT except that the expression that provides the
	input value might not, in fact, output a value, in which case
	the effect is like STOP.  This is intended for use in control
	structure definitions, for cases in which you don't know whether
	or not some expression produces a value.  Example:

		to invoke :function [:inputs] 2
		.maybeoutput apply :function :inputs
		end

		? (invoke "print "a "b "c)
		a b c
		? print (invoke "word "a "b "c)
		abc

	This is an alternative to RUNRESULT.  It's fast and easy to use,
	at the cost of being an exception to Logo's evaluation rules.
	(Ordinarily, it should be an error if the expression that's
	supposed to provide an input to something doesn't have a value.)

back to top