From: "Nasser M. Abbasi" <nma@12000.org>
Subject: Re: Haskell, anyone?
Date: Sun, 15 Nov 2015 23:17:06 -0600
Date: 2015-11-15T23:17:06-06:00 [thread overview]
Message-ID: <n2bosk$gsq$1@speranza.aioe.org> (raw)
In-Reply-To: 87d1vaoa6y.fsf@nightsong.com
On 11/15/2015 10:11 PM, Paul Rubin wrote:
> range, or throws an error otherwise. This is called a "smart
> constructor" in Haskell. I think Ada's range types are similar: if X,
> Y, and Z are in that 1..20 range type and X=15 and Y=15, then Z:=X+Y is
> a legal Ada statement that doesn't raise any error until runtime.
It is detected at compile time. It gives warning. So compiler
can see at compile time the problem.
>cat foo.adb
with ada.text_io; use ada.text_io;
procedure foo is
type I is range 0 .. 20;
x,y : I :=15;
z : I :=0;
begin
z:= x + y ;
end foo;
>gnatmake foo.adb
gcc-4.8 -c foo.adb
foo.adb:8:12: warning: value not in range of type "I" defined at line 4
foo.adb:8:12: warning: "Constraint_Error" will be raised at run time
--Nasser
next prev parent reply other threads:[~2015-11-16 5:17 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-15 20:42 Haskell, anyone? mockturtle
2015-11-15 20:51 ` Paul Rubin
2015-11-15 20:53 ` Nasser M. Abbasi
2015-11-15 21:50 ` Mark Carroll
2015-11-15 22:11 ` mockturtle
2015-11-15 22:48 ` Nasser M. Abbasi
2015-11-15 23:05 ` Mark Carroll
2015-11-16 4:11 ` Paul Rubin
2015-11-16 5:17 ` Nasser M. Abbasi [this message]
2015-11-16 5:48 ` Paul Rubin
2015-11-16 5:59 ` Nasser M. Abbasi
2015-11-16 6:47 ` Paul Rubin
2015-11-16 8:45 ` Simon Wright
2015-11-16 14:38 ` Brian Drummond
2015-11-15 23:19 ` Jeffrey R. Carter
2015-11-16 9:36 ` J-P. Rosen
2015-11-16 18:14 ` Jeffrey R. Carter
2015-11-16 3:59 ` Paul Rubin
2015-11-16 8:33 ` Dmitry A. Kazakov
2015-11-16 9:33 ` mockturtle
2015-11-16 9:45 ` Paul Rubin
2015-11-16 10:25 ` Hadrien Grasland
2015-11-16 11:19 ` Simon Wright
2015-11-16 11:25 ` Hadrien Grasland
2015-11-16 13:59 ` G.B.
2015-11-16 20:24 ` Jeffrey R. Carter
2015-11-16 23:23 ` Paul Rubin
2015-11-17 8:26 ` Dmitry A. Kazakov
2015-11-17 9:10 ` Mark Carroll
2015-11-17 20:09 ` Dmitry A. Kazakov
2015-11-17 10:49 ` Hadrien Grasland
2015-11-17 12:01 ` G.B.
2015-11-17 16:43 ` Hadrien Grasland
2015-11-17 18:04 ` Paul Rubin
2015-11-17 21:42 ` Hadrien Grasland
2015-11-18 4:36 ` Paul Rubin
2015-11-18 8:48 ` Hadrien Grasland
2015-11-18 9:23 ` Paul Rubin
2015-11-18 10:44 ` Hadrien Grasland
2015-11-18 11:02 ` Dmitry A. Kazakov
2015-11-18 12:41 ` G.B.
2015-11-18 23:06 ` Randy Brukardt
2015-11-19 8:56 ` Hadrien Grasland
2015-11-19 9:19 ` Hadrien Grasland
2015-11-19 21:27 ` Randy Brukardt
2015-11-24 12:03 ` Jacob Sparre Andersen
2015-11-19 7:22 ` Paul Rubin
2015-11-19 9:39 ` Hadrien Grasland
2015-11-17 13:01 ` Thomas Løcke
2015-11-17 16:45 ` Hadrien Grasland
2015-11-18 0:11 ` Paul Rubin
2015-11-18 9:44 ` Hadrien Grasland
2015-12-06 12:59 ` David Thompson
2015-12-07 7:25 ` Hadrien Grasland
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox