Deutsch English Français Italiano |
<v8nrp9$3tp$1@reader1.panix.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!panix!.POSTED.spitfire.i.gajendra.net!not-for-mail From: cross@spitfire.i.gajendra.net (Dan Cross) Newsgroups: comp.os.vms Subject: Re: Simple Pascal question Date: Sun, 4 Aug 2024 12:22:01 -0000 (UTC) Organization: PANIX Public Access Internet and UNIX, NYC Message-ID: <v8nrp9$3tp$1@reader1.panix.com> References: <v8goeh$2b5op$1@dont-email.me> <v8hn3m$3aviu$1@gwaiyur.mb-net.net> <v8lpj0$ems$1@panix2.panix.com> Injection-Date: Sun, 4 Aug 2024 12:22:01 -0000 (UTC) Injection-Info: reader1.panix.com; posting-host="spitfire.i.gajendra.net:166.84.136.80"; logging-data="4025"; mail-complaints-to="abuse@panix.com" X-Newsreader: trn 4.0-test77 (Sep 1, 2010) Originator: cross@spitfire.i.gajendra.net (Dan Cross) Bytes: 2508 Lines: 38 In article <v8lpj0$ems$1@panix2.panix.com>, Scott Dorsey <kludge@panix.com> wrote: >In article <v8hn3m$3aviu$1@gwaiyur.mb-net.net>, >Uli Bellgardt <UliBellgardtsSpamSink@online.de> wrote: >>The value 1.5 should be an f_float value as well: >> >>$ type zzz.pas >>program z(input,output); >> >>var >> x : f_float; > >This seems very strange to me... Pascal isn't supposed to have such >strong typing, is it? I don't remember ever having to manually coerce >anything. Or is f_float sufficiently different from a normal float? Just to touch on the Pascal point itself, one of that language's hallmarks is almost excessive rigidity in how it treats types. While integer->float conversions are implicit, the opposite is not. I think that the general rule is that when a type "widens" conversion is implicitly ok (so in mathematics, when the integers are a proper subset of the reals, so every integer is already a real, and implicit conversion from int to real is intuitive, even though representations on physical computers aren't quite so neat for implementation reasons), but when types narrow, as in when going from real to int, one must exercise more caution. An old annoyance about Pascal was that the size of an array is part of it's type, which makes writing functions and procedures that work across differently sized arrays challenging. Interesting, this has become du jour again in modern languages, but those tend to provide access to a `slice` type that provides a window onto the underly array, and implicitly encodes a length (and usually a "capacity"). This makes working with arrays in such languages very convenient. - Dan C.