
<hanoi 1 #from #to _>
	<print #from "->" #to>
	;

<hanoi #n #from #to #tmp>
	<let #n1 = #n - 1>
	<hanoi #n1 #from #tmp #to>
	<print #from "->" #to>
	<hanoi #n1 #tmp #to #from>
	;

? <hanoi 3 a b c>;

