<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE message PUBLIC
  "-//MLarc//DTD MLarc output files//EN"
  "../../mlarc.dtd"[
  <!ATTLIST message
    listname CDATA #REQUIRED
    title CDATA #REQUIRED
  >
]>

  <?xml-stylesheet href="../../mlarc.xsl" type="text/xsl"?>


<message 
  url="2009/01/084cca644aebe0a7eee115861cf4acae"
  from="Mauricio Fernandez &lt;mfp@a...&gt;"
  author="Mauricio Fernandez"
  date="2009-01-29T21:15:00"
  subject="Re: [Caml-list] Defining a family of functors"
  prev="2009/01/136398e536628d96299ed71f2237b6c8"
  next="2009/01/029f860a7472de263c066b9b24c5fbf7"
  prev-in-thread="2009/01/d1e905442fb5ce55cfc4baef864b75cc"
  next-in-thread="2009/01/05f780a2c38623a81af65fd384bb7637"
  prev-thread="2009/01/075c78daae5e116a1bb9600fe4622e71"
  next-thread="2009/01/058fceaf7ab816b8e53ee025d7e00cb1"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="Defining a family of functors">
<msg 
  url="2009/01/f7ca13d9cc4ee13a6a08d9db855b9cb7"
  from="Michaël_Grünewald &lt;michaelgrunewald@y...&gt;"
  author="Michaël_Grünewald"
  date="2009-01-26T15:08:38"
  subject="Defining a family of functors">
<msg 
  url="2009/01/3ac0c3210d8125d897f761fbf92e4bd8"
  from="Jacques Carette &lt;carette@m...&gt;"
  author="Jacques Carette"
  date="2009-01-26T15:16:34"
  subject="Re: [Caml-list] Defining a family of functors">
<msg 
  url="2009/01/d2c63b2f7626796ec90499b50f2cf5a5"
  from="Andrej Bauer &lt;andrej.bauer@a...&gt;"
  author="Andrej Bauer"
  date="2009-01-27T14:30:29"
  subject="Re: [Caml-list] Defining a family of functors">
<msg 
  url="2009/01/e0c885a82a80905f27ea953e549edbf7"
  from="Jacques Carette &lt;carette@m...&gt;"
  author="Jacques Carette"
  date="2009-01-27T14:48:20"
  subject="Re: [Caml-list] Defining a family of functors">
<msg 
  url="2009/01/8d8e54f793872ffd56af17cf4847374b"
  from="David Teller &lt;David.Teller@m...&gt;"
  author="David Teller"
  date="2009-01-27T21:12:52"
  subject="Re: [Caml-list] Defining a family of functors">
<msg 
  url="2009/01/1753e428b7e5e27bce761f4376dcfc36"
  from="Nicolas Pouillard &lt;nicolas.pouillard@g...&gt;"
  author="Nicolas Pouillard"
  date="2009-01-28T00:33:36"
  subject="Re: [Caml-list] Defining a family of functors">
<msg 
  url="2009/01/521ae12c093f87e36498da99ae549e1b"
  from="David Teller &lt;David.Teller@m...&gt;"
  author="David Teller"
  date="2009-01-28T21:18:29"
  subject="Re: [Caml-list] Defining a family of functors">
<msg 
  url="2009/01/ce1c7eaeee72626fbebda727986324b6"
  from=""
  author=""
  date="2009-01-29T09:38:48"
  subject="Re: [Caml-list] Defining a family of functors">
<msg 
  url="2009/01/d1e905442fb5ce55cfc4baef864b75cc"
  from="David Allsopp &lt;dra-news@m...&gt;"
  author="David Allsopp"
  date="2009-01-29T10:41:14"
  subject="RE: [Caml-list] Defining a family of functors">
<msg 
  url="2009/01/084cca644aebe0a7eee115861cf4acae"
  from="Mauricio Fernandez &lt;mfp@a...&gt;"
  author="Mauricio Fernandez"
  date="2009-01-29T21:15:00"
  subject="Re: [Caml-list] Defining a family of functors">
<msg 
  url="2009/01/05f780a2c38623a81af65fd384bb7637"
  from="Michaël_Grünewald &lt;michaelgrunewald@y...&gt;"
  author="Michaël_Grünewald"
  date="2009-01-30T08:25:30"
  subject="Re: [Caml-list] Defining a family of functors">
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</thread>

<contents>
On Thu, Jan 29, 2009 at 10:40:50AM -0000, David Allsopp wrote:
&gt; &gt; &gt; On the other hand, it was pointed to me that Alain already wrote a
&gt; &gt; &gt; compiler patch implementing first-class modules.
&gt; &gt; 
&gt; &gt; That's right.
&gt; 
&gt; I have two questions - the first of which will probably demonstrate my lack
&gt; of skill with the OCaml module system.
&gt; 
&gt; 1. Does first-class modules, as with first-class functions mean that you can
&gt; pass them around in code? For example, I have a web-app where all of the
&gt; stuff which has to access databases is put into a single module with a known
&gt; signature DB. I then have two modules MSSQLDriver and PGSQLDriver which
&gt; implement the database functions for two different back-ends and have in
&gt; DB.ml
&gt; 
&gt; module DB = MSSQLDriver
&gt; include DB
&gt; 
&gt; So when I build for Postgres, I just change the module statement and
&gt; recompile. Would first class modules allow me to read the back-end
&gt; configuration from a config file and write something like:
&gt; 
&gt; module DB = if Config.driver = `MSSQL then MSSQLDriver else PGSQLDriver
&gt; 
&gt; Or is it about something totally different? :o)

See this page:

http://ocaml.janestreet.com/?q=node/29#comment-77

-- 
Mauricio Fernandez  -   http://eigenclass.org

</contents>

</message>

