Re: The OCaml MOOC offered again?

"Alexandre Gouraud [email protected] [ocaml_beginners]" <[email protected]> Wed, 1 Feb 2017 08:51:49 +0100
Newsgroups gmane.comp.lang.ocaml.beginners
Message-ID <CAMNTtbp2iU7i1kaZ+JeoR4b4nLPj+sua9F-B5Aqo2MMTT5NYQg@mail.gmail.com>
--001a1141392066f26c0547735306
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi Douglas,

As you mentioned Haskell has been created by native English speakers, hence
a wider adoption. There are many books for OCaml in French, because it has
been teached in French universities. Though francophone community is
smaller.

If you say there are less books for OCaml than for Haskell for instance
(Are you sure F# is more documented ?), I believe you. But for my personal
use, I have never been limited by this...

Alexandre.


2017-02-01 0:25 GMT+01:00 Douglas Lewit [email protected] [ocaml_beginners]
<[email protected]>:

>
>
> Hi Alexandre,
>
> But what about Haskell?  Haskell has a huge amount of documentation to
> support it.  I believe Haskell originally began at the University of
> Edinborough in Scotland as a mostly academic initiative.  Now if I visit
> Amazon.com there are DOZENS of books about Haskell, and www.oreilly.com
> now offers two or maybe three tutorial video collections on Haskell.  Bot=
h
> Haskell and Scala are very well documented.  So is F#.  OCaml has much le=
ss
> documentation to support it, and that's a weakness.  ( More a weakness of
> the culture than of the language per se. )   Other languages are also wel=
l
> supported with very good documentation.  There must be hundreds of books
> and YouTube videos describing all the functions, libraries and applicatio=
ns
> of Python, Ruby, Java, JavaScript, etc, etc.  Even in the obscure world o=
f
> AI one can find some good documentation explaining how to write code in
> LISP and how to use Emacs as an IDE/editor.  I just wish that the OCaml
> community would follow that example.  I sort of get the feeling that the
> only way to really learn everything about OCaml is to get a job working a=
t
> Jane Street.  Otherwise.... well, good luck!
>
> Actually.... there's a good question.  Does Jane Street have any
> documentation for OCaml that is *open to the public*?  I've tried looking
> for some, but so far haven't had much success trying to find it.
>
> Best,
>
> Douglas.
>
>
>
>
> On Tue, Jan 31, 2017 at 2:17 PM, Alexandre Gouraud alexandre.gouraud@enst=
-
> bretagne.fr [ocaml_beginners] <[email protected]> wrote:
>
>>
>>
>> Dears,
>>
>> Let me give you my two cents to this story. OCaml has been created by a
>> french "public" research organisation called Inria. Therefore, the
>> evolutions of the language have followed requirements that are way far f=
rom
>> the promotion and adoption of a language by a majority of users. Their
>> requirements were more research oriented, with quite limited resources. =
If
>> it turns out that the language is useful and used by many researchers or
>> developers, fine, but it was/is not the initial objective, nor any long(
>> er) term objective. Research organizations, by nature, cannot deal with
>> such objectives, as Microsoft or Sun or Google do with their own languag=
e.
>> This being said, even business oriented organisation do not promote
>> languages for the fun of it, it is usually because they think it brings
>> them strategic advantage on their market...remember.
>>
>> At the end, INRIA's people don't have time anymore to promote the
>> language, develop it, write books and answer to questions. They mainly r=
ely
>> on the community. This is why there is no decent environment for Windows
>> developers, and I am the first one to deplore it. Finally, remember that
>> it was a french initiative. I believe that because the engineers who fir=
st
>> adopted it were not native English speakers was a barrier (and still is)=
 a
>> barrier to wider adoption of the language, despite the HUGE penetration =
of
>> this language in the world. You see here the power of the language of a
>> culture and the influence it allows.
>>
>> OCaml is great ! Keep coding :-)
>>
>> Cheers,
>>
>> Alexandre.
>>
>> 2017-01-31 17:58 GMT+01:00 Douglas Lewit [email protected]
>> [ocaml_beginners] <[email protected]>:
>>
>>>
>>>
>>> Looks like it's a major relief for you to type + instead of ^ ?   Hahah=
ahahaha....
>>> very funny!!!  I'm not sure if one language is really "better" than
>>> another, but I find it really interesting why Don Syme ( F#'s creator )=
 did
>>> it his way and why Xavier Leroy ( OCaml's creator ) did it another way.
>>> Don Syme obviously made the decision that it was silly to have + for in=
ts
>>> and +. for floats, and I think in OCaml you need +/ for big ints, etc,
>>> etc.  So Don Syme combined everything into one overloaded operator.  Is=
 it
>>> good or bad?  I'm not sure.  It depends on the programmer and why you'r=
e
>>> programming.  BUT.... I still believe that language documentation is ve=
ry,
>>> very important.  You can have the greatest computer language in the wor=
ld,
>>> but if nobody writes about it or teaches it.... then who is going to kn=
ow
>>> about it except a minority of elite developers?!  ( And the elitist
>>> mentality will not help a language to become popular and successful. )
>>>
>>> The OCaml MOOC is a fun course, and full of great information, but I
>>> don't like that the team behind it is pretty bad about answering email
>>> queries.  I sent a couple of emails to OCamlPro requesting more informa=
tion
>>> and did not get back a single reply.  I guess I'm not important enough =
for
>>> them to worry about!  ( Or so they think. )  Again.... a wonderful
>>> language, but the community of people supporting the language have to d=
o
>>> their work to promote the language.  Unless of course we want OCaml to =
go
>>> the route of Pascal or Perl!
>>>
>>>
>>> On Mon, Jan 30, 2017 at 10:43 PM, Pierpaolo Bernardi [email protected]=
m
>>> [ocaml_beginners] <[email protected]> wrote:
>>>
>>>>
>>>>
>>>> On Mon, Jan 30, 2017 at 10:53 PM, Douglas Lewit [email protected]
>>>> [ocaml_beginners] <[email protected]> wrote:
>>>> >
>>>> >
>>>> >
>>>> > Hello everyone,
>>>> >
>>>> > Remember that OCaml MOOC offered through that university in Paris,
>>>> France? Does anyone know if that course is going to be offered again i=
n the
>>>> near future? It wasn't bad! Definitely challenging, but I learned a lo=
t.
>>>>
>>>> The MOOC has been offered in 2015 and in 2016, both times it started
>>>> around Oct/Nov. Lacking any other information, we can extrapolate
>>>> from this small data set and hope that the MOOC will be offered again
>>>> toward the end of 2017 :)
>>>>
>>>> > If I want to concatenate the strings "Hello, " and "World!" in OCaml
>>>> I have to write "Hello, " ^ "World!", but in F# I would just write "He=
llo,
>>>> " + "World!".
>>>>
>>>> Just for curiosity, why in Ocaml you *HAVE*TO* use ^, while in F# you
>>>> *JUST* use + ?
>>>>
>>>> Looks like it's a major relief for you to type + instead of ^ ?
>>>>
>>>> > The operator overloading feature however does have a disadvantage
>>>> because if I don't make use of specific type annotations then the type
>>>> checker automatically assumes that my function arguments are integers.=
...
>>>> and that is not always an accurate assumption!
>>>>
>>>> That's correct. And in addition, even when the assumptions turn out
>>>> to be accurate, the code is less clear for a human reader.
>>>>
>>>> Cheers
>>>>
>>>
>>>
>>
>>
>> --
>> Alexandre
>>
>>
>=20
>



--=20
Alexandre

--001a1141392066f26c0547735306
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/htm=
l4/strict.dtd">
<html>
<head>
</head>






=20
<body style=3D"background-color: #fff;">
<span style=3D"display:none">&nbsp;</span>

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id=3D"ygrp-mlmsg" style=3D"position:relative;">
  <div id=3D"ygrp-msg" style=3D"z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id=3D"ygrp-text" >
=20=20=20=20=20=20
=20=20=20=20=20=20
      <p><div dir=3D"ltr"><p>Hi Douglas, </p><div><br></div><div>As you men=
tioned=C2=A0Haskell has been created by native English speakers, hence a wi=
der adoption. There are many books for OCaml in French, because it has been=
 teached in French universities. Though=C2=A0francophone community is small=
er. </div><div><br></div><div>If you say there are less books for OCaml tha=
n for Haskell for instance (Are you sure=C2=A0F# is more documented ?), I b=
elieve you. But for my personal use, I have never been limited by this...</=
div><div><br></div><div>Alexandre. </div><div><br></div><div><br></div><div=
 class=3D"gmail_quote">2017-02-01 0:25 GMT&#43;01:00 Douglas Lewit <a href=
=3D"mailto:[email protected]">[email protected]</a> [ocaml_beginners] <span=
 dir=3D"ltr">&lt;<a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a>&gt;</span>:<br><blockquote =
class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-color:r=
gb(204,204,204);border-left-width:1px;border-left-style:solid;">


<u></u>









=20
<div style=3D"background-color:rgb(255,255,255);">
<span>=C2=A0</span>


<div id=3D"m_-8884218585868023407ygrp-mlmsg">
  <div id=3D"m_-8884218585868023407ygrp-msg">


    <div id=3D"m_-8884218585868023407ygrp-text">
=20=20=20=20=20=20
=20=20=20=20=20=20
      <p><div dir=3D"ltr"><font size=3D"4">Hi Alexandre,</font><div><font s=
ize=3D"4"><br></font></div><div><font size=3D"4">But what about Haskell?=C2=
=A0 Haskell has a huge amount of documentation to support it.=C2=A0 I belie=
ve Haskell originally began at the University of Edinborough in Scotland as=
 a mostly academic initiative.=C2=A0 Now if I visit Amazon.com there are DO=
ZENS of books about Haskell, and <a href=3D"http://www.oreilly.com" target=
=3D"_blank">www.oreilly.com</a> now offers two or maybe three tutorial vide=
o collections on Haskell.=C2=A0 Both Haskell and Scala are very well docume=
nted.=C2=A0 So is F#.=C2=A0 OCaml has much less documentation to support it=
, and that&#39;s a weakness. =C2=A0( More a weakness of the culture than of=
 the language per se. ) =C2=A0 Other languages are also well supported with=
 very good documentation.=C2=A0 There must be hundreds of books and YouTube=
 videos describing all the functions, libraries and applications of Python,=
 Ruby, Java, JavaScript, etc, etc.=C2=A0 Even in the obscure world of AI on=
e can find some good documentation explaining how to write code in LISP and=
 how to use Emacs as an IDE/editor.=C2=A0 I just wish that the OCaml commun=
ity would follow that example.=C2=A0 I sort of get the feeling that the onl=
y way to really learn everything about OCaml is to get a job working at Jan=
e Street.=C2=A0 Otherwise.... well, good luck!</font></div><div><font size=
=3D"4"><br></font></div><div><font size=3D"4">Actually.... there&#39;s a go=
od question.=C2=A0 Does Jane Street have any documentation for OCaml that i=
s <i><u>open to the public</u></i>?=C2=A0 I&#39;ve tried looking for some, =
but so far haven&#39;t had much success trying to find it.</font></div><div=
><font size=3D"4"><br></font></div><div><font size=3D"4">Best,</font></div>=
<div><font size=3D"4"><br></font></div><div><font size=3D"4">Douglas.</font=
></div><div><font size=3D"4"><br></font></div><div><font size=3D"4"><br></f=
ont></div><div><font size=3D"4"><br></font></div></div><div class=3D"gmail_=
extra"><br><div class=3D"gmail_quote"><div><div class=3D"h5">On Tue, Jan 31=
, 2017 at 2:17 PM, Alexandre Gouraud <a href=3D"mailto:alexandre.gouraud@en=
st-bretagne.fr" target=3D"_blank">alexandre.gouraud@enst-<wbr>bretagne.fr</=
a> [ocaml_beginners] <span dir=3D"ltr">&lt;<a href=3D"mailto:ocaml_beginner=
[email protected]" target=3D"_blank">ocaml_beginners@yahoogroups.<wbr>com</=
a>&gt;</span> wrote:<br></div></div><blockquote class=3D"gmail_quote" style=
=3D"border-left-color:rgb(204,204,204);border-left-width:1px;border-left-st=
yle:solid;">


<u></u>









=20
<div style=3D"background-color:rgb(255,255,255);">
<span>=C2=A0</span>


<div id=3D"m_-8884218585868023407m_-6515622371976885825ygrp-mlmsg">
  <div id=3D"m_-8884218585868023407m_-6515622371976885825ygrp-msg">


    <div id=3D"m_-8884218585868023407m_-6515622371976885825ygrp-text"><div>=
<div class=3D"h5">
=20=20=20=20=20=20
=20=20=20=20=20=20
      <p></p><div dir=3D"ltr"><div>Dears, </div><div><br></div><div>Let me =
give you my two=C2=A0cents to this story. <span id=3D"m_-888421858586802340=
7m_-6515622371976885825:141.42">OCaml</span> has been created by a french &=
quot;public&quot;=C2=A0research organisation called <span id=3D"m_-88842185=
85868023407m_-6515622371976885825:141.43">Inria</span>. Therefore, the evol=
utions of the language have followed requirements that are way far from the=
 promotion and adoption of a language by a majority of users. Their require=
ments were more research oriented, with quite limited resources.=C2=A0If it=
 turns out that the language is useful and used by many researchers or deve=
lopers, fine, but it was/is not the initial objective, nor any long(<span i=
d=3D"m_-8884218585868023407m_-6515622371976885825:141.44">er</span>) term o=
bjective. Research <span id=3D"m_-8884218585868023407m_-6515622371976885825=
:141.45">organizations</span>, by nature, cannot deal with such objectives,=
 as Microsoft or Sun or Google do with their own language. This being said,=
 even business oriented organisation do not promote languages for the fun o=
f it, it is usually because they think it brings them strategic advantage o=
n their market...remember. </div><div><br></div><div>At the end, <span id=
=3D"m_-8884218585868023407m_-6515622371976885825:141.46">INRIA&#39;s</span>=
 people don&#39;t have time anymore to promote the language, develop it, wr=
ite books and answer to questions. They mainly rely on the community. This =
is why there is no decent environment for Windows developers, and I am the =
first one to deplore it. Finally, remember that it=C2=A0was a french initia=
tive.=C2=A0I=C2=A0believe that because=C2=A0the=C2=A0engineers who first ad=
opted it=C2=A0were not native English speakers was a barrier (and still is)=
=C2=A0a barrier to wider adoption of the language, despite the=C2=A0HUGE pe=
netration of this language in the world. You see here the power of the lang=
uage of a culture and the influence it allows. </div><div><br></div><div><s=
pan id=3D"m_-8884218585868023407m_-6515622371976885825:141.47">OCaml</span>=
 is great ! Keep coding :-)</div><div><br></div><div>Cheers, </div><div><br=
></div><div>Alexandre. </div></div></div></div><div class=3D"gmail_extra"><=
div><div class=3D"h5"><br><div class=3D"gmail_quote">2017-01-31 17:58 GMT&#=
43;01:00 Douglas Lewit <a href=3D"mailto:[email protected]" target=3D"_blan=
k">[email protected]</a> [ocaml_beginners] <span dir=3D"ltr">&lt;<a href=3D=
"mailto:[email protected]" target=3D"_blank">ocaml_beginners@=
yahoogroups.c<wbr>om</a>&gt;</span>:<br><blockquote class=3D"gmail_quote" s=
tyle=3D"border-left-color:rgb(204,204,204);border-left-width:1px;border-lef=
t-style:solid;">


<u></u>









=20
<div style=3D"background-color:rgb(255,255,255);">
<span>=C2=A0</span>


<div id=3D"m_-8884218585868023407m_-6515622371976885825m_-84007836978552805=
23ygrp-mlmsg">
  <div id=3D"m_-8884218585868023407m_-6515622371976885825m_-840078369785528=
0523ygrp-msg">


    <div id=3D"m_-8884218585868023407m_-6515622371976885825m_-8400783697855=
280523ygrp-text">
=20=20=20=20=20=20
=20=20=20=20=20=20
      <p></p><div dir=3D"ltr"><span style=3D"font-family:georgia;font-size:=
13px;">Looks like it&#39;s a major relief for you to type + instead of ^ ? =
=C2=A0 </span><font face=3D"monospace, monospace" size=3D"4">Hahahahahaha..=
.. very funny!!!=C2=A0 I&#39;m not sure if one language is really &quot;bet=
ter&quot; than another, but I find it really interesting why Don Syme ( F#&=
#39;s creator ) did it his way and why Xavier Leroy ( OCaml&#39;s creator )=
 did it another way.=C2=A0 Don Syme obviously made the decision that it was=
 silly to have + for ints and +. for floats, and I think in OCaml you need =
&#43;/ for big ints, etc, etc.=C2=A0 So Don Syme combined everything into o=
ne overloaded operator.=C2=A0 Is it good or bad?=C2=A0 I&#39;m not sure.=C2=
=A0 It depends on the programmer and why you&#39;re programming.=C2=A0 BUT.=
... I still believe that language documentation is very, very important.=C2=
=A0 You can have the greatest computer language in the world, but if nobody=
 writes about it or teaches it.... then who is going to know about it excep=
t a minority of elite developers?! =C2=A0( And the elitist mentality will n=
ot help a language to become popular and successful. )</font><div><font fac=
e=3D"monospace, monospace" size=3D"4"><br></font></div><div><font face=3D"m=
onospace, monospace" size=3D"4">The OCaml MOOC is a fun course, and full of=
 great information, but I don&#39;t like that the team behind it is pretty =
bad about answering email queries.=C2=A0 I sent a couple of emails to OCaml=
Pro requesting more information and did not get back a single reply.=C2=A0 =
I guess I&#39;m not important enough for them to worry about! =C2=A0( Or so=
 they think. ) =C2=A0Again.... a wonderful language, but the community of p=
eople supporting the language have to do their work to promote the language=
.=C2=A0 Unless of course we want OCaml to go the route of Pascal or Perl!</=
font></div><div><font face=3D"monospace, monospace" size=3D"4"><br></font><=
/div></div><span><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">=
On Mon, Jan 30, 2017 at 10:43 PM, Pierpaolo Bernardi <a href=3D"mailto:olop=
[email protected]" target=3D"_blank">[email protected]</a> [ocaml_beginners=
] <span dir=3D"ltr">&lt;<a href=3D"mailto:[email protected]" =
target=3D"_blank">[email protected]<wbr>om</a>&gt;</span> wrote=
:<br><blockquote class=3D"gmail_quote" style=3D"border-left-color:rgb(204,2=
04,204);border-left-width:1px;border-left-style:solid;">


<u></u>









=20
<div style=3D"background-color:rgb(255,255,255);">
<span>=C2=A0</span>


<div id=3D"m_-8884218585868023407m_-6515622371976885825m_-84007836978552805=
23m_-7001109014211587405ygrp-mlmsg">
  <div id=3D"m_-8884218585868023407m_-6515622371976885825m_-840078369785528=
0523m_-7001109014211587405ygrp-msg">


    <div id=3D"m_-8884218585868023407m_-6515622371976885825m_-8400783697855=
280523m_-7001109014211587405ygrp-text">
=20=20=20=20=20=20
=20=20=20=20=20=20
      <p><span>On Mon, Jan 30, 2017 at 10:53 PM, Douglas Lewit <a href=3D"m=
ailto:[email protected]" target=3D"_blank">[email protected]</a><br>
[ocaml_beginners] &lt;<a href=3D"mailto:[email protected]" ta=
rget=3D"_blank">[email protected]<wbr>om</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Hello everyone,<br>
&gt;<br>
&gt; Remember that OCaml MOOC offered through that university in Paris, Fra=
nce?  Does anyone know if that course is going to be offered again in the n=
ear future?  It wasn&#39;t bad!  Definitely challenging, but I learned a lo=
t.<br>
<br></span>
The MOOC has been offered in 2015 and in 2016, both times it started<br>
around Oct/Nov.  Lacking any other information, we can extrapolate<br>
from this small data set and hope that the MOOC will be offered again<br>
toward the end of 2017  :)<span><br>
<br>
&gt;   If I want to concatenate the strings &quot;Hello, &quot; and &quot;W=
orld!&quot; in OCaml I have to write &quot;Hello, &quot; ^ &quot;World!&quo=
t;, but in F# I would just write &quot;Hello, &quot; + &quot;World!&quot;.<=
br>
<br></span>
Just for curiosity, why in Ocaml you *HAVE*TO* use ^, while in F# you<br>
*JUST* use + ?<br>
<br>
Looks like it&#39;s a major relief for you to type + instead of ^ ?<span><b=
r>
<br>
&gt; The operator overloading feature however does have a disadvantage beca=
use if I don&#39;t make use of specific type annotations then the type chec=
ker automatically assumes that my function arguments are integers.... and t=
hat is not always an accurate assumption!<br>
<br></span>
That&#39;s correct.  And in addition, even when the assumptions turn out<br=
>
to be accurate, the code is less clear for a human reader.<br>
<br>
Cheers<br>
</p>

    </div>
=20=20=20=20=20

=20=20=20=20
    <div style=3D"height:0px;color:rgb(255,255,255);"></div>


</div>



=20=20






</div></div></blockquote></div><br></div>
</span><p></p>

    </div>
=20=20=20=20=20

=20=20=20=20
    <div style=3D"height:0px;color:rgb(255,255,255);"></div>


</div>



=20=20






</div></div></blockquote></div><br><br clear=3D"all"><br></div></div>-- <br=
><div class=3D"m_-8884218585868023407m_-6515622371976885825gmail_signature"=
 data=3D"https://ci4.googleusercontent.com/proxy/CpYzkcDKjPf-NqFCSu4GBqoQ_5=
P1dDkfTMWPGDqglo-e-uanL4gIS02e2U0=3Ds0-d-e1-ft#http://gmail_signature">Alex=
andre</div>
</div>
<p></p>

    </div>
=20=20=20=20=20

=20=20=20=20
    <div style=3D"height:0px;color:rgb(255,255,255);"></div>


</div>



=20=20






</div></div></blockquote></div><br></div>
<p></p>

    </p></div><span>
=20=20=20=20=20

=20=20=20=20
    <div style=3D"height:0px;color:rgb(255,255,255);"></div>


</span></div>



=20=20






</div></div></blockquote></div><div class=3D"gmail_extra"><br><br clear=3D"=
all"><br>-- <br></div><div class=3D"gmail_signature" data=3D"gmail_signatur=
e">Alexandre</div><div class=3D"gmail_extra">
</div></div>
</p>

    </div>
=20=20=20=20=20

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div style=3D"color: #fff; height: 0;">__._,_.___</div>

=20=20=20=20=20=20=20=20=20=20
=20=20
=20

=20=20=20=20
    <div style=3D"clear:both"> </div>

    <div id=3D"fromDMARC" style=3D"margin-top: 10px;">
        <hr style=3D"height:2px ; border-width:0; color:#E3E3E3; background=
-color:#E3E3E3;">
        Posted by: Alexandre Gouraud &lt;[email protected]=
&gt;        <hr style=3D"height:2px ; border-width:0; color:#E3E3E3; backgr=
ound-color:#E3E3E3;">
     </div>
    <div style=3D"clear:both"> </div>

    <table cellspacing=3D4px style=3D"margin-top: 10px; margin-bottom: 10px=
; color: #2D50FD;">
      <tbody>
        <tr>
          <td style=3D"font-size: 12px; font-family: arial; font-weight: bo=
ld; padding: 7px 5px 5px;"  >
                          <a style=3D"text-decoration: none; color: #2D50FD=
" href=3D"https://groups.yahoo.com/neo/groups/ocaml_beginners/conversations=
/messages/14749;_ylc=3DX3oDMTJxZ3VubDAyBF9TAzk3MzU5NzE0BGdycElkAzQ5OTkxOTQE=
Z3Jwc3BJZAMxNzA1MDA2NzY0BG1zZ0lkAzE0NzQ5BHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTQ=
4NTk0MjA2NQ--?act=3Dreply&messageNum=3D14749">Reply via web post</a>
                      </td>
          <td>&bull;</td>
          <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p=
x 5px;" >
            <a href=3D"mailto:[email protected]?subject=3D=
Re%3A%20%22ocaml_beginners%22%3A%3A%5B%5D%20The%20OCaml%20MOOC%20offered%20=
again%3F" style=3D"text-decoration: none; color: #2D50FD;">
               Reply to sender            </a>
          </td>
          <td>&bull;</td>
          <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p=
x 5px;">
            <a href=3D"mailto:[email protected]?subject=3DRe%=
3A%20%22ocaml_beginners%22%3A%3A%5B%5D%20The%20OCaml%20MOOC%20offered%20aga=
in%3F" style=3D"text-decoration: none; color: #2D50FD">
              Reply to group            </a>
          </td>
          <td>&bull;</td>
          <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p=
x 5px;" >
            <a href=3D"https://groups.yahoo.com/neo/groups/ocaml_beginners/=
conversations/newtopic;_ylc=3DX3oDMTJlNnZ1a3E4BF9TAzk3MzU5NzE0BGdycElkAzQ5O=
TkxOTQEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTQ4NTk0MjA2=
NQ--" style=3D"text-decoration: none; color: #2D50FD">Start a New Topic</a>
          </td>
          <td>&bull;</td>
          <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p=
x 5px;color: #2D50FD;" >
                            <a href=3D"https://groups.yahoo.com/neo/groups/=
ocaml_beginners/conversations/topics/14740;_ylc=3DX3oDMTM2a2djcGJ0BF9TAzk3M=
zU5NzE0BGdycElkAzQ5OTkxOTQEZ3Jwc3BJZAMxNzA1MDA2NzY0BG1zZ0lkAzE0NzQ5BHNlYwNm=
dHIEc2xrA3Z0cGMEc3RpbWUDMTQ4NTk0MjA2NQR0cGNJZAMxNDc0MA--" style=3D"text-dec=
oration: none; color: #2D50FD;">Messages in this topic</a>
                (10)
                      </td>
        </tr>
      </tbody>
    </table>

=20=20=20=20=20=20=20=20
<div id=3D"megaphoneModule">
            <hr style=3D"height:2px ; border-width:0; color:#E3E3E3; backgr=
ound-color:#E3E3E3;">
        <div>
	     <div class=3D"stream" style=3D"margin-bottom:10px;">
        <div style=3D"background-color:white;">
            <div class=3D"sn-img" style=3D"display:inline;"><img name=3D"tn=
_file" style=3D"padding:0px 10px;vertical-align:top;margin-top:5px;" src=3D=
"https://s.yimg.com/ru/static/images/yg/img/megaphone/1464031581_phpFA8bON"=
 height=3D"82" width=3D"82"></div>
            <div class=3D"mod-txt" style=3D"display:inline-block;">
                <a rel=3D"nofollow" name=3D"sub_url" target=3D"_blank" href=
=3D"https://yho.com/1wwmgg" style=3D"color:#0000FF;display:block;margin-lef=
t:5px;text-decoration:none;"><span style=3D"font-size:15px;">Have you tried=
 the highest rated email app?</span></a>
                <div style=3D"max-width:530px;padding:2px 5px;">With 4.5 st=
ars in iTunes, the Yahoo Mail app is the highest rated email app on the mar=
ket. What are you waiting for? Now you can access all your inboxes (Gmail, =
Outlook, AOL and more) in one place. Never delete an email again with 1000G=
B of free cloud storage.</div>
            </div>
        </div>
    </div>        </div>=20=20
=20=20=20=20=20
    <hr style=3D"height:2px ; border-width:0; color:#E3E3E3; background-col=
or:#E3E3E3;">
</div>

<!------- Start Nav Bar ------>


    <div id=3D"ygrp-grfd" style=3D"font-family: Verdana; font-size: 12px; p=
adding: 15px 0;">
=20=20=20=20=20=20
<!-- |**|begin egp html banner|**| -->

      Archives up to December 31, 2011 are also downloadable at <a href=3D"=
http://www.connettivo.net/cntprojects/ocaml_beginners">http://www.connettiv=
o.net/cntprojects/ocaml_beginners</a><BR>
The archives of the very official ocaml list (the seniors' one) can be foun=
d at <a href=3D"http://caml.inria.fr">http://caml.inria.fr</a><BR>
Attachments are banned and you're asked to be polite, avoid flames etc.    =
=20=20
<!-- |**|end egp html banner|**| -->

    </div>
=20=20

=20

<!-- |**|begin egp html banner|**| -->
<div id=3D"ygrp-vital" style=3D"background-color: #f2f2f2; font-family: Ver=
dana; font-size: 10px; margin-bottom: 10px; padding: 10px;">

    <span id=3D"vithd" style=3D"font-weight: bold; color: #333; text-transf=
orm: uppercase; "><a href=3D"https://groups.yahoo.com/neo/groups/ocaml_begi=
nners/info;_ylc=3DX3oDMTJlZGRra2J1BF9TAzk3MzU5NzE0BGdycElkAzQ5OTkxOTQEZ3Jwc=
3BJZAMxNzA1MDA2NzY0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTQ4NTk0MjA2NQ--" style=
=3D"text-decoration: none;">Visit Your Group</a></span>

     <ul style=3D"list-style-type: none; margin: 0; padding: 0; display: in=
line;">
                                                    </ul>
  </div>


<div id=3D"ft" style=3D"font-family: Arial; font-size: 11px; margin-top: 5p=
x; padding: 0 2px 0 0; clear: both;">
  <a href=3D"https://groups.yahoo.com/neo;_ylc=3DX3oDMTJkY2s1ZGFpBF9TAzk3ND=
c2NTkwBGdycElkAzQ5OTkxOTQEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwNmdHIEc2xrA2dmcARzd=
GltZQMxNDg1OTQyMDY1" style=3D"float: left;"><img src=3D"http://l.yimg.com/r=
u/static/images/yg/img/email/new_logo/logo-groups-137x15.png" height=3D"15"=
 width=3D"137" alt=3D"Yahoo! Groups" style=3D"border: 0;"/></a>
  <div style=3D"color: #747575; float: right;"> &bull; <a href=3D"https://i=
nfo.yahoo.com/privacy/us/yahoo/groups/details.html" style=3D"text-decoratio=
n: none;">Privacy</a> &bull; <a href=3D"mailto:ocaml_beginners-unsubscribe@=
yahoogroups.com?subject=3DUnsubscribe" style=3D"text-decoration: none;">Uns=
ubscribe</a> &bull; <a href=3D"https://info.yahoo.com/legal/us/yahoo/utos/t=
erms/" style=3D"text-decoration: none;">Terms of Use</a> </div>
</div>
<br>

<!-- |**|end egp html banner|**| -->

  </div> <!-- ygrp-msg -->

=20
  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id=3D"ygrp-sponsor" style=3D"width:160px; float:right; clear:none; m=
argin:0 0 25px 0; background: #fff;">

<!-- Start Recommendations -->
<div id=3D"ygrp-reco">
     </div>
<!-- End Recommendations -->



  </div>   <!-- |**|end egp html banner|**| -->

  <div style=3D"clear:both; color: #FFF; font-size:1px;">.</div>
</div>

  <img src=3D"http://geo.yahoo.com/serv?s=3D97359714/grpId=3D4999194/grpspI=
d=3D1705006764/msgId=3D14749/stime=3D1485942065" width=3D"1" height=3D"1"> =
<br>

<img src=3D"http://y.analytics.yahoo.com/fpc.pl?ywarid=3D515FB27823A7407E&a=
=3D10001310322279&js=3Dno&resp=3Dimg&cf12=3DCP" width=3D"1" height=3D"1">=20

<div style=3D"color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->

</body>

<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
  <style type=3D"text/css">
  <!--
  #ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad p {
  margin: 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
  #ygrp-sponsor #ygrp-lc {
  font-family: Arial;
}

#ygrp-sponsor #ygrp-lc #hd {
  margin: 10px 0px;
  font-weight: 700;
  font-size: 78%;
  line-height: 122%;
}

#ygrp-sponsor #ygrp-lc .ad {
  margin-bottom: 10px;
  padding: 0 0;
}

  #actions {
    font-family: Verdana;
    font-size: 11px;
    padding: 10px 0;
  }

  #activity {
    background-color: #e0ecee;
    float: left;
    font-family: Verdana;
    font-size: 10px;
    padding: 10px;
  }

  #activity span {
    font-weight: 700;
  }

  #activity span:first-child {
    text-transform: uppercase;
  }

  #activity span a {
    color: #5085b6;
    text-decoration: none;
  }

  #activity span span {
    color: #ff7900;
  }

  #activity span .underline {
    text-decoration: underline;
  }

  .attach {
    clear: both;
    display: table;
    font-family: Arial;
    font-size: 12px;
    padding: 10px 0;
    width: 400px;
  }

  .attach div a {
    text-decoration: none;
  }

  .attach img {
    border: none;
    padding-right: 5px;
  }

  .attach label {
    display: block;
    margin-bottom: 5px;
  }

  .attach label a {
    text-decoration: none;
  }
=20=20
  blockquote {
    margin: 0 0 0 4px;
  }

  .bold {
    font-family: Arial;
    font-size: 13px;
    font-weight: 700;
  }

  .bold a {
    text-decoration: none;
  }

  dd.last p a {
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span {
    margin-right: 10px;
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span.yshortcuts {
    margin-right: 0;
  }

  div.attach-table div div a {
    text-decoration: none;
  }

  div.attach-table {
    width: 400px;
  }

  div.file-title a, div.file-title a:active, div.file-title a:hover, div.fi=
le-title a:visited {
    text-decoration: none;
  }

  div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div=
.photo-title a:visited {
    text-decoration: none;
  }

  div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
  }

  .green {
    color: #628c2a;
  }

  .MsoNormal {
    margin: 0 0 0 0;
  }

  o {
    font-size: 0;
  }

  #photos div {
    float: left;
    width: 72px;
  }

  #photos div div {
    border: 1px solid #666666;
    height: 62px;
    overflow: hidden;
    width: 62px;
  }

  #photos div label {
    color: #666666;
    font-size: 10px;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    width: 64px;
  }

  #reco-category {
    font-size: 77%;
  }

  #reco-desc {
    font-size: 77%;
  }

  .replbq {
    margin: 4px;
  }

  #ygrp-actbar div a:first-child {
   /* border-right: 0px solid #000;*/
    margin-right: 2px;
    padding-right: 5px;
  }

  #ygrp-mlmsg {
    font-size: 13px;
    font-family: Arial, helvetica,clean, sans-serif;
    *font-size: small;
    *font: x-small;
  }

  #ygrp-mlmsg table {
    font-size: inherit;
    font: 100%;
  }

  #ygrp-mlmsg select, input, textarea {
    font: 99% Arial, Helvetica, clean, sans-serif;
  }

  #ygrp-mlmsg pre, code {
    font:115% monospace;
    *font-size:100%;
  }

  #ygrp-mlmsg * {
    line-height: 1.22em;
  }

  #ygrp-mlmsg #logo {
    padding-bottom: 10px;
  }


  #ygrp-msg p a {
    font-family: Verdana;
  }

  #ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: 700;
  }

  #ygrp-reco #reco-head {
    color: #ff7900;
    font-weight: 700;
  }

  #ygrp-reco {
    margin-bottom: 20px;
    padding: 0px;
  }

  #ygrp-sponsor #ov li a {
    font-size: 130%;
    text-decoration: none;
  }

  #ygrp-sponsor #ov li {
    font-size: 77%;
    list-style-type: square;
    padding: 6px 0;
  }=20

  #ygrp-sponsor #ov ul {
    margin: 0;
    padding: 0 0 0 8px;
  }

  #ygrp-text {
    font-family: Georgia;
  }

  #ygrp-text p {
    margin: 0 0 1em 0;
  }

  #ygrp-text tt {
    font-size: 120%;
  }

  #ygrp-vital ul li:last-child {
    border-right: none !important;=20
  }=20
  -->
  </style>
</head>

<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->


--001a1141392066f26c0547735306--