From: "Loup Vaillant" <loup.vaillant@gmail.com>
To: caml-list@yquem.inria.fr
Subject: How must we teach lexical scope?
Date: Wed, 28 Mar 2007 09:59:59 +0200 [thread overview]
Message-ID: <6f9f8f4a0703280059m5b9af3a1t3a9541b772af98bb@mail.gmail.com> (raw)
My brother is currently learning Camllight at the Toulouse 3
university, France. Five years ago, I followed the same course.
I don't understand the way were are taught lexical scope. Our
professors used "environments", where free variable would suffice.
(An environment is the set of defined values at a given time. The
environment of a value is the environment of when this value is
defined.)
-> They talk about closures, even in the case of pure functional
style, even in the absence of free variable (except the built in
constructions, such as '+').
-> They take hours and hours of boring an silly looking exercises
about environment, so we can understand how important environments
are.(we even had to learn a specific syntax to talk about them).
-> The promised power of the language is completely overlooked. Even
the crippled Pascal on my calculator looked more powerful.
Luckily, I had later a professor, who showed us the real power of
Caml. He didn't talked about environments.
So here are a few questions:
-> Is lexical scope that important when learning pure functional programming?
-> Are environments helpful (even the slightest bit) when teaching
lexical scope?
-> Where does this idea come from? I have not read a single book, as
single article nor blog talking about environments.
-> How can we teach lexical scope? Is there a simple solution, the
kind of a first year student can understand in less than an hour?
Thanks,
Loup
next reply other threads:[~2007-03-28 8:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-28 7:59 Loup Vaillant [this message]
2007-03-28 8:49 ` [Caml-list] " Luc Maranget
2007-03-28 14:34 ` Loup Vaillant
2007-03-28 15:43 ` ls-ocaml-developer-2006
2007-03-28 17:09 ` Loup Vaillant
2007-03-28 19:24 ` ls-ocaml-developer-2006
2007-03-29 8:17 ` Loup Vaillant
2007-03-29 10:59 ` ls-ocaml-developer-2006
2007-03-28 9:49 ` Pierre-Evariste Dagand
2007-03-28 17:41 ` Pal-Kristian Engstad
2007-03-29 3:45 oleg
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=6f9f8f4a0703280059m5b9af3a1t3a9541b772af98bb@mail.gmail.com \
--to=loup.vaillant@gmail.com \
--cc=caml-list@yquem.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