From: Matt Gushee <mgushee@havenrock.com>
To: caml-list@inria.fr
Subject: [Caml-list] Guards vs. conditionals
Date: Thu, 26 Dec 2002 00:06:52 -0700 [thread overview]
Message-ID: <20021226070651.GB1071@swordfish> (raw)
Hi, all--
I'm just curious about something. I've been noticing that in many cases
(if not always) a pattern match with guard expressions in OCaml is
equivalent to a conditional statement. E.g.:
let foo =
function
| i when i >= 500 -> true
| i -> false
does the same thing as
let foo i =
if i >= 500 then true
else false
And I wrote a pair of small programs, each of which invokes one of these
functions on a random integer 100,000 times. The executables, whether
byte-compiled or native, are almost exactly the same size and, according
to a round of informal tests with GNU time, run at the same speed. This
suggests that the compiled code is for all practical purposes the same.
So, my question is, is there any objective reason to prefer the
pattern-match version over the conditional, or vice versa? Or is it just
a matter of coding style?
--
Matt Gushee When a nation follows the Way,
Englewood, Colorado, USA Horses bear manure through
mgushee@havenrock.com its fields;
http://www.havenrock.com/ When a nation ignores the Way,
Horses bear soldiers through
its streets.
--Lao Tzu (Peter Merel, trans.)
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
next reply other threads:[~2002-12-26 7:06 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-26 7:06 Matt Gushee [this message]
2002-12-26 9:13 ` Sven Luther
2002-12-26 16:36 ` Pierre Weis
2003-01-02 9:54 ` Xavier Leroy
[not found] <D4DBD8568F05D511A1C20002A55C008C11AC0404@uswaumsx03medge.med.ge.com>
2002-12-27 7:37 ` Matt Gushee
2002-12-27 9:15 ` Luc Maranget
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20021226070651.GB1071@swordfish \
--to=mgushee@havenrock.com \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox