<?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="2003/07/ea88f0a762dce2584b0efc4c9a7e8244"
  from="Sylvain LE GALL &lt;sylvain.le-gall@p...&gt;"
  author="Sylvain LE GALL"
  date="2003-07-19T12:29:30"
  subject="Re: [Caml-list] Roadplan for world domination (or constructive criticism of ocaml facilities)"
  prev="2003/07/bace975ca45aebeb14a9c19ade934cbd"
  next="2003/07/be804e6bc462dddab4d6e6c3f1e94752"
  prev-in-thread="2003/07/d9acf3fc30207c13fdb566843f1b031c"
  next-in-thread="2003/07/e10127791c425c583a2239eb023093ef"
  prev-thread="2003/07/5d2fdf4a723ea61c443961a0ab49053d"
  next-thread="2003/07/ef60d4603922f2d2f781f8553631d16a"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] Roadplan for world domination (or constructive criticism of ocaml facilities)">
<msg 
  url="2003/07/d9acf3fc30207c13fdb566843f1b031c"
  from="Chris Clearwater &lt;chris@s...&gt;"
  author="Chris Clearwater"
  date="2003-07-18T21:21:36"
  subject="[Caml-list] Roadplan for world domination (or constructive criticism of ocaml facilities)">
<msg 
  url="2003/07/ea88f0a762dce2584b0efc4c9a7e8244"
  from="Sylvain LE GALL &lt;sylvain.le-gall@p...&gt;"
  author="Sylvain LE GALL"
  date="2003-07-19T12:29:30"
  subject="Re: [Caml-list] Roadplan for world domination (or constructive criticism of ocaml facilities)">
</msg>
<msg 
  url="2003/07/e10127791c425c583a2239eb023093ef"
  from="Richard Jones &lt;rich@a...&gt;"
  author="Richard Jones"
  date="2003-07-19T15:38:32"
  subject="Re: [Caml-list] Roadplan for world domination (or constructive criticism of ocaml facilities)">
</msg>
<msg 
  url="2003/07/5a14a3ffdecf0d03dfe19479b2179ed2"
  from="William Lovas &lt;wlovas@s...&gt;"
  author="William Lovas"
  date="2003-07-21T15:18:45"
  subject="Re: [Caml-list] Roadplan for world domination (or constructive criticism of ocaml facilities)">
<msg 
  url="2003/07/2f7391ad9fc07a014aad5c5530f2ec53"
  from="Eray Ozkural &lt;exa@k...&gt;"
  author="Eray Ozkural"
  date="2003-07-25T20:27:23"
  subject="Re: [Caml-list] Roadplan for world domination (or constructive criticism of ocaml facilities)">
<msg 
  url="2003/07/320e0499de1c5ba5030cbf85d4558f05"
  from="Stefano Zacchiroli &lt;zack@b...&gt;"
  author="Stefano Zacchiroli"
  date="2003-07-26T07:36:32"
  subject="Re: [Caml-list] Roadplan for world domination (or constructive criticism of ocaml facilities)">
<msg 
  url="2003/07/dfa9f67c0326317cde19619827146f59"
  from="Eray Ozkural &lt;exa@k...&gt;"
  author="Eray Ozkural"
  date="2003-07-27T17:23:29"
  subject="Re: [Caml-list] Roadplan for world domination (or constructive criticism of ocaml facilities)">
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2003/07/dd4eee1da1c0f5324a3e55b705d52598"
  from="Warren Harris &lt;wh232@p...&gt;"
  author="Warren Harris"
  date="2003-07-26T20:15:05"
  subject="Re: [Caml-list] Roadplan for world domination">
<msg 
  url="2003/07/c546c6fd40c929e9dafaa1c48b5a9e7e"
  from="Guillaume Marceau &lt;gmarceau@c...&gt;"
  author="Guillaume Marceau"
  date="2003-07-28T14:39:31"
  subject="Re: [Caml-list] Roadplan for world domination">
</msg>
<msg 
  url="2003/07/2ab4d468bda5c3438af6cd095bb30130"
  from="Damien Doligez &lt;Damien.Doligez@i...&gt;"
  author="Damien Doligez"
  date="2003-07-29T12:38:35"
  subject="Re: [Caml-list] Roadplan for world domination">
</msg>
</msg>
</msg>
</thread>

<contents>
Hello,

On Fri, Jul 18, 2003 at 04:21:14PM -0500, Chris Clearwater wrote:
&gt;     I have come across the Ocaml language several months ago and after much
&gt; investigation and trial coding I have come to several conclusions. Most
&gt; importantly I think Ocaml is a wonderful language to program in. It has all
&gt; the features I would expect from a modern language and on top of that it's
&gt; compiled native code appears to rival that of C in many areas. It truly is
&gt; the language of the future. 

Well said, you get the essence of the a powerful language, which is
ocaml.

&gt; Now that I have expressed how much I am growing
&gt; to love Ocaml I would like to share with you my initial experiences as a new
&gt; user. First I would like to single out some issues that I believe threaten
&gt; Ocaml from being taken seriously and then i would like to offer some
&gt; solutions that would improve the usability of ocaml greatly.
&gt; 
&gt; - Support on win32 could certainly be much better
&gt; - Compiling and distributing Ocaml source is a very delicate process
&gt; - There exists much fragmentation among usage of different GUI toolkits
&gt;   and they are limited to C/C++ conventions. (Is it possible to create your
&gt;   own custom GTK widgets within ocaml?)
&gt; 
&gt; And without further ado I present to you 10 steps to world domination:
&gt; 
&gt; 1) Support for Ocaml on win32 (both as a development and target enviroment) is
&gt; very crucial for the adoption and practicality of Ocaml. For example, look at
&gt; the trouble some developers must go through to get their application running
&gt; under win32: http://groups.yahoo.com/group/unison-hackers/message/31.
&gt; Forutnately this doesn't have to be the case. The mingw32 toolset allow
&gt; compilation and linking to be done very similarily to how it is done on Unix.
&gt; Also, it enables one to develop win32 apps without shelling out hundeds of
&gt; dollars to Microsoft: http://msdn.microsoft.com/visualc/howtobuy/pricing.aspx
&gt; I propose mingw32 be made the default compiler/linker for native win32 binaries
&gt; (or even drop MSVC support entirely).
&gt; 
&gt; 2) Take the idea of ocamlmklib further to generalize the compilation of both
&gt; Ocaml programs and libraries into a module called "Ocamlmake". Also create a
&gt; binary of ocamlmake which makes use of the module for command line compiling
&gt; and include these in the standard distribution on all platforms.
&gt; 
&gt; 3) Now that we have a easy cross-platform way to compile ocaml applications we
&gt; can just distibute our code with Makefiles that call ocamlmake! WRONG.
&gt; Makefiles suck. Now we standardize on the idea of an Ocaml "package". Each
&gt; package would include in it's toplevel directory a file called setup.ml (This
&gt; is starting to resemble python's distutils indeed). setup.ml would make use of
&gt; the Ocamlmake module by building a record and passing it to Ocamlmake.setup.
&gt; This record might be static or it might be created by self-configuration.
&gt; For example, the ocamlsdl package would call sdl-config to retrieve some
&gt; compilation flags. You _would_ rather configure in ocaml than "portable shell
&gt; script", right? Then to build the application you would execute "ocamlrun
&gt; setup.ml build" and "ocamlrun setup.ml install" to install it. Also the record
&gt; would contain meta-information such as the author, copyright, etc.
&gt; 

I totally agree. What would be very useful will be a good tool to
compile ocaml source ( and C stubs ). But take a look at :
http://caml.inria.fr/humps/index_framed_caml.html Section Makefile

&gt; 4) Change the ocaml distribution to compile using Ocamlmake :) (except for
&gt; bootstrapping if you dont already have a previous version of ocaml installed)
&gt; 
&gt; 5) Create a module called Framebuffer which parallels the primtives found in
&gt; OpenGL/DirectX. The Graphics module is close, but the design doesn't match
&gt; well with these two APIs (We want hardware acceleration). Implement for each
&gt; platform a Framebuffer module (DirectX or OpenGL where available, Xlib or
&gt; other native graphics system otherwise). Include this in the standard
&gt; distribution.
&gt; 
&gt; 6) Create a cross-platform Event module. Include this in the standard
&gt; distribution.
&gt; 
&gt; 7) Create a cross-platform Font module (wrap freetype or create an Ocaml
&gt; implementation). Include this in the standard distribution.
&gt; 
&gt; 8) Create a GUI on top of the Framebuffer, Event, and Font modules,
&gt; implemented in Ocaml :) Include this in the standard distribution.
&gt; 

As gui : there is lablgtk ( binding of gtk ). As Framebuffer, there is a
binding for SDL &amp;&amp; OpenGL &amp;&amp; Xlib (but i am not sure of this last ).

&gt; 9) Now the big payoff, we write a standard Ocaml IDE, to be included with the
&gt; Ocaml distribution. It would be well integrated with the distribution. Ocamlmake
&gt; module for compiling, the ocaml lexer for syntax highlighting, exporting packages
&gt; (setup.ml). This would make it incredably easy to get started creating
&gt; cross-platform libraries and modules. Realating to point #1, now a win32 user
&gt; need only grab the mingw32 and Ocaml distributions and they are set. They can
&gt; even easily export their code to a ocaml package for distribution. Obviously the
&gt; benefit extends to all other platforms as well.
&gt; 

Take a look at a project called cameleon, written in ocaml for ocaml...

&gt; 10) World domination.
&gt; 

World domination when hundred of fortran, C, C++, cobol, java programmer will
loose the castle of programmation ( not yet, and not for the 20 next
years ).

Regard
Sylvain LE GALL

-------------------
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

</contents>

</message>

