Unluckily, after being involved in .Net for quite some time, I do not
share your optimism. In fact I came to think that .Net is not suitable
for anything that requires really high performance and parallelism.
Perhaps the problem is just that it is very very hard to build a really
good VM and probably impossible to build one that will be good for
more than one programming paradigm. As long as you do imperative
OO programming .Net might be ok and your comments about mixing
languages are right. But if you start doing functional and  generative
programming it will be a pain and a performance bottleneck. In that case
you need things like MetaOCaml (www.metaocaml.org) for generative
programming or OCamlP3l for easy parallelism (ocamlp3l.inria.fr/eng.htm).

You seem to have some experience where I do not. Which functional or generative .Net packages have you tried? Have you tried F#?

Have you tried any sort of loose linkage like using something like Hugs98 for .NET (or RDNZL)?

Most importantly, what is in MetaOCaml that or OCamlP3l that won't easily port?

Also, do you have any good sources for other experiences of different programming paradigms and .NET?

Thanks.

       Mark

----- Original Message ----- From: "Lukasz Kaiser" <[EMAIL PROTECTED]>
To: <agi@v2.listbox.com>
Sent: Monday, February 19, 2007 2:46 PM
Subject: **SPAM** Re: Languages for AGI [WAS Re: [agi] Priors and indefinite probabilities]


Hi,

I was offline and missed the large discussion so let me just add my 2c:

Cobra is currently at a "late alpha" stage. There are some docs
(including a comparison to Python) and examples. (And pardon my plain
looking web site, but I have no graphics skills.) Here it is:
http://cobralang.com/

Nice :). You might want to check another open-source .Net language
called Nemerle (nemerle.org). It is quite stable now, reasonably efficient
and has bindings to some IDEs (VS, monodevelop). It is majorly
a functional language and not that python-like, but it has a special
option that allows you to switch to python-like syntax (white-space
and newline delimiters, etc.). And it has very nice lisp-like macros :).

Far and away, the best answer to the best language question is the .NET
framework. If you're using the framework, you can use any language that has been implemented on the framework (which includes everything from C# to the OCAML-like F# and nearly every language in between -- those obviously many
implementations are better than others) AND you can easily intermix
languages (so the answer to best language will vary from piece to piece).

Unluckily, after being involved in .Net for quite some time, I do not
share your optimism. In fact I came to think that .Net is not suitable
for anything that requires really high performance and parallelism.
Perhaps the problem is just that it is very very hard to build a really
good VM and probably impossible to build one that will be good for
more than one programming paradigm. As long as you do imperative
OO programming .Net might be ok and your comments about mixing
languages are right. But if you start doing functional and  generative
programming it will be a pain and a performance bottleneck. In that case
you need things like MetaOCaml (www.metaocaml.org) for generative
programming or OCamlP3l for easy parallelism (ocamlp3l.inria.fr/eng.htm).

- lk

-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/?list_id=303



-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/?list_id=303

Reply via email to