You can finally run your Chameleon programs!
The latest Chamleon release includes a compiler. Chameleon programs are translated into plain Haskell (= Hindley/Milner subset plus polymorphic recursion). Note that Chameleon comes also with a type debugger. Check out http://www.comp.nus.edu.sg/~sulzmann/chameleon/ for the latest release including a number of examples. Martin
On Tue, 26 Nov 2002 13:54:08 +0800 (GMT-8) Martin Sulzmann <sulzmann@comp.nus.edu.sg> wrote:
The latest Chamleon release includes a compiler. Chameleon programs are translated into plain Haskell (= Hindley/Milner subset plus polymorphic recursion).
Do this mean I can use all of the ghc extensions and the chameleon type system in my programs? Vincenzo
Nick Name writes:
The latest Chamleon release includes a compiler. Chameleon programs are translated into plain Haskell (= Hindley/Milner subset plus polymorphic recursion).
Do this mean I can use all of the ghc extensions and the chameleon type system in my programs?
In theory yes. Though you need to include your own Haskell code into the Chameleon generated Haskell code by hand. Would be useful to have some sort of pragma statements. Let me know what you think would be useful and we try to make it available in the next release. Martin
On Tue, 26 Nov 2002 23:08:50 +0800 (GMT-8) Martin Sulzmann <sulzmann@comp.nus.edu.sg> wrote:
Let me know what you think would be useful and we try to make it available in the next release.
Maybe "extensions" was an excess :) I just want to point out, in my little student experience, that a new language without an FFI and a rich library can't be tested for "real" purposes, so I was wondering if FFI and standard library can be borrowed from GHC (maybe also concurrency). BTW I have only read the introductive article on chameleon type system so I am not the person who can tell you what's useful. Vincenzo -- Fedeli alla linea, anche quando non c'è Quando l'imperatore è malato, quando muore,o è dubbioso, o è perplesso. Fedeli alla linea la linea non c'è. [CCCP] Il contenuto di questa e-mail può essere modificato e redistribuito purchè questa nota e il suo significato rimangano intatti.
Nick Name writes:
Maybe "extensions" was an excess :) I just want to point out, in my little student experience, that a new language without an FFI and a rich library can't be tested for "real" purposes, so I was wondering if FFI and standard library can be borrowed from GHC (maybe also concurrency).
Chameleon is still in the (very) experimental stage. Don't think you can use Chameleon for "real" purposes. However, because Chameleon gets translated to Haskell, you can in theory use all of the FFI and other stuff. Martin
On Wed, 27 Nov 2002 17:00:36 +0800 (GMT-8) Martin Sulzmann <sulzmann@comp.nus.edu.sg> wrote:
However, because Chameleon gets translated to Haskell, you can in theory use all of the FFI and other stuff.
I know that it's a research language, but for example it would be nice to be able to experiment with gtk2 and chameleon. Functional programming, and advanced type systems, stand in front of C/C++ hell like a (well designed) GUI stands in front of the command line: maybe you have less control, but you do things quick and correctly, so I think it's interesting to try to apply new ideas to small "real world" examples. And to do this you need the FFI or a rich standard library (GHC provides both :)). IMHO Vincenzo -- Teatri vuoti e inutili potrebbero affollarsi se tu ti proponessi di recitare te [CCCP] Il contenuto di questa e-mail può essere modificato e redistribuito purchè questa nota e il suo significato rimangano intatti.
Vincenzo, I agree with your feeling of the expressive superiority of functional programming compared to C and even C++, although I would not use the word "hell" ;-) Actually, there is a lot of advanced meta programming enabled in C++ due to its rather powerful, but intricate, typing system in specializing and instantiating templates, and the syntactic application of the "()" operator. You should have a look at a library called Boost.MPL at http://www.boost.org for some compile-time constructs resembling what languages like Haskell can provide. In short, I think the expressiveness of powerful type systems has caught on in the C++ community. So, maybe one day the C++ developers take the next natural step and use Haskell :-) The reason that I bring this up is because I have implemented a Haskell Prelude-like library for me and my development team in those "hellish" cases where we need to express our ideas in C++, in that way promoting the "declarative, abstract and typed" thought patterns to the regular developer. Regards, David -----Original Message----- From: haskell-admin@haskell.org [mailto:haskell-admin@haskell.org] On Behalf Of Nick Name Sent: Wednesday, November 27, 2002 3:29 PM To: haskell@haskell.org Subject: Re: You can finally run your Chameleon programs! On Wed, 27 Nov 2002 17:00:36 +0800 (GMT-8) Martin Sulzmann <sulzmann@comp.nus.edu.sg> wrote:
However, because Chameleon gets translated to Haskell, you can in theory use all of the FFI and other stuff.
I know that it's a research language, but for example it would be nice to be able to experiment with gtk2 and chameleon. Functional programming, and advanced type systems, stand in front of C/C++ hell like a (well designed) GUI stands in front of the command line: maybe you have less control, but you do things quick and correctly, so I think it's interesting to try to apply new ideas to small "real world" examples. And to do this you need the FFI or a rich standard library (GHC provides both :)). IMHO Vincenzo -- Teatri vuoti e inutili potrebbero affollarsi se tu ti proponessi di recitare te [CCCP] Il contenuto di questa e-mail può essere modificato e redistribuito purchè questa nota e il suo significato rimangano intatti. _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
On Wed, 27 Nov 2002 15:46:56 -0500 "David Bergman" <davidb@home.se> wrote:
Vincenzo,
I agree with your feeling of the expressive superiority of functional programming compared to C and even C++, although I would not use the word "hell" ;-)
Just because you are not using wxwin and PREPROCESSOR BASED MESSAGE PASSING! :PPP I hope there are no wxwin developers on this list, but if there are, really, please understand me :) Note that I consider wxwin itself really good (it's worth using it if you get a program that works on macos, windows and linux with 0.1 effort), but there are things in C++ that are not so good at all. besides, OO programming brings too much syntax and too few semantics in my opinion (consider the syntactical mess of deriving a class just to get a different behaviour in response to an event, compared to an expression of type "IO a"), but I am compelled to use C++ this time so I call that "hell".
The reason that I bring this up is because I have implemented a Haskell Prelude-like library for me and my development team in those "hellish" cases where we need to express our ideas in C++, in that way promoting the "declarative, abstract and typed" thought patterns to the regular developer.
Thanks, maybe my real troubles come from the fact that I am now used to haskell and ocaml, and not from C++ in itself. Vincenzo
I know that it's a research language, but for example it would be nice to be able to experiment with gtk2 and chameleon.
I think you've been spoilt by the availability of 4 good compilers, lots of libraries, an active research community, etc. for the Haskell "research language". Most research languages have fairly modest means of support so, while they are often great little languages, they tend not to have extensive libraries and people usually content themselves with coding up a few of their favourite wee self-contained examples in the language. -- Alastair Reid alastair@reid-consulting-uk.ltd.uk Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/
On 27 Nov 2002 23:22:31 +0000 Alastair Reid <alastair@reid-consulting-uk.ltd.uk> wrote:
I think you've been spoilt by the availability of 4 good compilers, lots of libraries, an active research community, etc. for the Haskell "research language".
I don't know what "to spoil" means in this contests but I'm sure it's sort of a children having too much toys :) And that's true, haskell is one of the few production-ready research languages (or almost production-ready, I am not a software engineer). What I said is that it could be interesting to use gtk-hs and similar with chameleon, and asked if it is possible. I think that it can be interesting, because there is no production program that does not crash, and there is no production program without milions of lines of code; so I hope that starting to use new paradigms, and at least cleaner languages, will be a good start for a more correct operating environment, in an epoch where we are really starting to put our lives in the hands of a machine. Hope I have been clear, as usual I am not so good at english. Vincenzo
participants (4)
-
Alastair Reid -
David Bergman -
Martin Sulzmann -
Nick Name