[pure-lang-svn] SF.net SVN: pure-lang: [390] pure/trunk/examples/array.pure
Status: Beta
Brought to you by:
agraef
From: <js...@us...> - 2008-07-05 09:38:28
|
Revision: 390 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=390&view=rev Author: jspitz Date: 2008-07-05 02:38:36 -0700 (Sat, 05 Jul 2008) Log Message: ----------- Add type annotations to variables. Modified Paths: -------------- pure/trunk/examples/array.pure Modified: pure/trunk/examples/array.pure =================================================================== --- pure/trunk/examples/array.pure 2008-07-05 07:34:02 UTC (rev 389) +++ pure/trunk/examples/array.pure 2008-07-05 09:38:36 UTC (rev 390) @@ -171,7 +171,8 @@ update (Array a) i::int y = Array (update a i y) with update (tip _) 0 y = tip y; - update (bin b a1 a2) i::int y = bin b (update a1 (i div 2) y) a2 + update (bin b::int a1 a2) i::int y + = bin b (update a1 (i div 2) y) a2 if i mod 2 == 0; = bin b a1 (update a2 (i div 2) y) if i mod 2 == 1; @@ -192,7 +193,7 @@ eq (tip _) (bin _ _ _) = 0; eq (bin _ _ _) nil = 0; eq (bin _ _ _) (tip _) = 0; - eq (bin b1 a1 a2) (bin b2 a3 a4) + eq (bin b1::int a1 a2) (bin b2::int a3 a4) = b1 == b2 && eq a1 a3 && eq a2 a4; end; @@ -207,7 +208,7 @@ neq (tip _) (bin _ _ _) = 1; neq (bin _ _ _) nil = 1; neq (bin _ _ _) (tip _) = 1; - neq (bin b1 a1 a2) (bin b2 a3 a4) + neq (bin b1::int a1 a2) (bin b2::int a3 a4) = b1 != b2 || neq a1 a3 || neq a2 a4; end; @@ -216,4 +217,4 @@ // construct a binary array node array_mkbin _ nil a2 = a2; array_mkbin _ a1 nil = a1; -array_mkbin b a1 a2 = bin b a1 a2; +array_mkbin b::int a1 a2 = bin b a1 a2; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |