Re: Packaging, and GUIs

Adrian Hey <[email protected]>
Newsgroups gmane.comp.lang.haskell.gui,gmane.comp.lang.haskell.libraries
Message-ID <[email protected]>
Hello

It's interesting to see that his ideas for GUI development
seem pretty much identical to mine except I've decided to
use SDL for now (and Haskell of course :-)

Regards
--
Adrian Hey

On Wednesday 23 July 2003 08:27, Simon Peyton-Jones wrote:
> Dear Haskell library and GUI folk,
>
> Here's an interesting message from the Caml mailing list, largely
> focusing on
> 	a) packaging
> 	b) GUIs
>
> Interestingly, the very two topics on which we have active groups
> working!  I wonder if it'd be a good time for a status report from both
> efforts?  Both have been very quiet of late, but I see that Daan and
> Krasimir have both published new GUI libraries recently, so GUI stuff is
> still going on.
>
> Simon
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Chris Clearwater
> Sent: 18 July 2003 22:21
> To: [email protected]
> Subject: [Caml-list] Roadplan for world domination (or constructive
> criticism of ocaml facilities)
>
>     I have come across the Ocaml language several months ago and after
> much
> investigation and trial coding I have come to several conclusions. Most
> importantly I think Ocaml is a wonderful language to program in. It has
> all
> the features I would expect from a modern language and on top of that
> it's
> compiled native code appears to rival that of C in many areas. It truly
> is
> the language of the future. Now that I have expressed how much I am
> growing
> to love Ocaml I would like to share with you my initial experiences as a
> new
> user. First I would like to single out some issues that I believe
> threaten
> Ocaml from being taken seriously and then i would like to offer some
> solutions that would improve the usability of ocaml greatly.
>
> - Support on win32 could certainly be much better
> - Compiling and distributing Ocaml source is a very delicate process
> - There exists much fragmentation among usage of different GUI toolkits
>   and they are limited to C/C++ conventions. (Is it possible to create
> your
>   own custom GTK widgets within ocaml?)
>
> And without further ado I present to you 10 steps to world domination:
>
> 1) Support for Ocaml on win32 (both as a development and target
> enviroment) is
> very crucial for the adoption and practicality of Ocaml. For example,
> look at
> the trouble some developers must go through to get their application
> running
> under win32: http://groups.yahoo.com/group/unison-hackers/message/31.
> Forutnately this doesn't have to be the case. The mingw32 toolset allow
> compilation and linking to be done very similarily to how it is done on
> Unix.
> Also, it enables one to develop win32 apps without shelling out hundeds
> of
> dollars to Microsoft:
> http://msdn.microsoft.com/visualc/howtobuy/pricing.aspx
> I propose mingw32 be made the default compiler/linker for native win32
> binaries
> (or even drop MSVC support entirely).
>
> 2) Take the idea of ocamlmklib further to generalize the compilation of
> both
> Ocaml programs and libraries into a module called "Ocamlmake". Also
> create a
> binary of ocamlmake which makes use of the module for command line
> compiling
> and include these in the standard distribution on all platforms.
>
> 3) Now that we have a easy cross-platform way to compile ocaml
> applications we
> can just distibute our code with Makefiles that call ocamlmake! WRONG.
> Makefiles suck. Now we standardize on the idea of an Ocaml "package".
> Each
> package would include in it's toplevel directory a file called setup.ml
> (This
> is starting to resemble python's distutils indeed). setup.ml would make
> use of
> the Ocamlmake module by building a record and passing it to
> Ocamlmake.setup.
> This record might be static or it might be created by
> self-configuration.
> For example, the ocamlsdl package would call sdl-config to retrieve some
> compilation flags. You _would_ rather configure in ocaml than "portable
> shell
> script", right? Then to build the application you would execute
> "ocamlrun
> setup.ml build" and "ocamlrun setup.ml install" to install it. Also the
> record
> would contain meta-information such as the author, copyright, etc.
>
> 4) Change the ocaml distribution to compile using Ocamlmake :) (except
> for
> bootstrapping if you dont already have a previous version of ocaml
> installed)
>
> 5) Create a module called Framebuffer which parallels the primtives
> found in
> OpenGL/DirectX. The Graphics module is close, but the design doesn't
> match
> well with these two APIs (We want hardware acceleration). Implement for
> each
> platform a Framebuffer module (DirectX or OpenGL where available, Xlib
> or
> other native graphics system otherwise). Include this in the standard
> distribution.
>
> 6) Create a cross-platform Event module. Include this in the standard
> distribution.
>
> 7) Create a cross-platform Font module (wrap freetype or create an Ocaml
> implementation). Include this in the standard distribution.
>
> 8) Create a GUI on top of the Framebuffer, Event, and Font modules,
> implemented in Ocaml :) Include this in the standard distribution.
>
> 9) Now the big payoff, we write a standard Ocaml IDE, to be included
> with the
> Ocaml distribution. It would be well integrated with the distribution.
> Ocamlmake
> module for compiling, the ocaml lexer for syntax highlighting, exporting
> packages
> (setup.ml). This would make it incredably easy to get started creating
> cross-platform libraries and modules. Realating to point #1, now a win32
> user
> need only grab the mingw32 and Ocaml distributions and they are set.
> They can
> even easily export their code to a ocaml package for distribution.
> Obviously the
> benefit extends to all other platforms as well.
>
> 10) World domination.
>
> I would greatly appreciate any feedback.
>
> -------------------
> To unsubscribe, mail [email protected] 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
>
>
> _______________________________________________
> GUI mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/gui
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.