From: Kenneth Adam Miller <kennethadammiller@gmail.com>
To: caml users <caml-list@inria.fr>
Subject: [Caml-list] Compiler Intrinsics question
Date: Tue, 17 Mar 2015 23:16:40 -0400 [thread overview]
Message-ID: <CAK7rcp_dNwJmFdhv_z0ArDB=KorRsfKm==b0_qvLiTCb4J6SQA@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 790 bytes --]
So, OCaml uses a lot of immutable data structures by default, and there's a
way in OCaml to express how to replace everything else in a type with the
same edition, with the exception of a single variable being updated.
But does that mean that the compiler is sufficiently capable to conclude
side effects that are more efficient rather than just the nieve
explanation, which is a *copy* of the entire data structure with only the
specified changed variable updated? Can OCaml conclude that it can update
only one variable for efficiency, and know that the rest of the data
structure is safe?
For example, in tail recursion, it's provably equivalent to produce code
that doesn't blow the stack and is faster, and that's exactly what the
compiler does. So are side effects a "conclusion"?
[-- Attachment #2: Type: text/html, Size: 900 bytes --]
next reply other threads:[~2015-03-18 3:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-18 3:16 Kenneth Adam Miller [this message]
2015-03-18 6:10 ` Gabriel Scherer
2015-03-20 8:38 ` Ben Millwood
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='CAK7rcp_dNwJmFdhv_z0ArDB=KorRsfKm==b0_qvLiTCb4J6SQA@mail.gmail.com' \
--to=kennethadammiller@gmail.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