In comp.os.linux.advocacy, Roy Schestowitz
<newsgroups@xxxxxxxxxxxxxxx>
wrote
on Sat, 19 Jul 2008 09:03:07 +0000
<3116918.ZoTPdTZZ3V@xxxxxxxxxxxxxxx>:
>
> ____/ The Ghost In The Machine on Friday 18 July 2008 16:49 : \____
>
>> In comp.os.linux.advocacy, Roy Schestowitz
>> <newsgroups@xxxxxxxxxxxxxxx>
>> wrote
>> on Fri, 18 Jul 2008 14:51:57 +0000
>> <1725011.GhelxmuWVP@xxxxxxxxxxxxxxx>:
>>>
>>> ____/ The Ghost In The Machine on Thursday 17 July 2008 20:41 : \____
>>>
>>>> In comp.os.linux.advocacy, Homer
>>>> <usenet@xxxxxxxxxx>
>>>> wrote
>>>> on Thu, 17 Jul 2008 18:56:58 +0100
>>>> <cod4l5-9vs.ln1@xxxxxxxxxx>:
>>>>> Verily I say unto thee, that Roy Schestowitz spake thusly:
>>>>>
>>>>>> Bug free software to come from EU open source Type Theory project
>>>>>
>>>>> Haven't they heard of ML? It's a self-proving language that's been
>>>>> around for three decades.
>>>>>
>>>>> http://en.wikipedia.org/wiki/ML_programming_language
>>>>>
>>>>
>>>> Interesting language; beats me how I missed this one. ;-)
>>>>
>>>> While most languages would probably implement reverse() recursively as
>>>> e.g. C++, using a substring method:
>>>>
>>>> std::string reverse(std::string inp)
>>>> {
>>>> if(inp.size() == 0) return "";
>>>> else return reverse(inp.substr(1,inp.size() - 1)) + inp[0];
>>>> }
>>>>
>>>> or Java:
>>>>
>>>> String reverse(String inp)
>>>> {
>>>> if(inp.equals("")) return "";
>>>> else return reverse(inp.substr(1)) + inp.substr(0,1);
>>>> }
>>>>
>>>> ML uses a pattern-matching syntax:
>>>>
>>>> fun reverse([])=nil
>>>> | reverse(h::t) = (reverse(t))@[h];
>>>>
>>>> Microsoft already has F#, which is apparently an ML derivative for .NET.
>>>>
>>>> For its part Linux appears to have similar functional
>>>> languages OCaml, Haskell, and is working on a beta
>>>> for Erlang. All three are in Gentoo's Portage tree,
>>>> and wxhaskell is also available (presumably based on the
>>>> wxPython widget set).
>>>
>>> ML was one of the first P/Ls I was taught. SML in high school,
>>> then Moscow ML (just a different implementation) in college.
>>> It's pretty useless for most things we think of as
>>> 'applications', but good for language processing, AI,
>>> etc.
>>>
>>> ML is a nightmare to work with at a high pace. OpenGL,
>>> on the other hand, has been lots of fun. programming
>>> for GPUs makes eye candy (bugs are very visual)
>>> whereas ML is the very opposite -- CLI.
>>
>> Agreed; I was hoping wxHaskell would be an IDE, but it turns
>> out to be a set of Haskell bindings for the wx widget set.
>> Still useful, for Haskell users, I suppose; just not quite
>> what I was expecting.
>>
>> OpenGL is also a language (though not in the usual sense), and
>> quite fun to play with.
>>
>> [.sigsnip]
>
> You could probably embed/nest ML quite conveniently under another
> framework and do some fun GTK stuff. You could also make system
> calls to the ML prompt and play with the output, I guess.
> My experience with Qt is more limited, so I don't know if
> this can be conveniently achieved (more confined).
Not sure whether ML has Qt bindings on Windows. I can't
find ML on Linux anyway, at least at the moment; Haskell
is readily available, however.
> Trolltech
> made some nice IDE (what would Nokia do to it, I wonder?) and I didn't know
> about Glade when I worked with GTK. MATLAB is the same in the sense that you
> could do all the UNIXy stuff usign system() calls. I've always made my
> programs Linux-oriented. Anything else was treated as 'other'.
>
> Does ML for Windows run as a standalone program? Or is the dreadful cmd.exe
> needed (it's quite ugly and lacks function)? I never tried it.
I doubt cmd.exe is ever needed, unless a .bat or other
such file is involved (in which case it will be invoked on
one's behalf, with the usual Windows stupidity about not
looking deeper than the actual filename); either create a
shortcut on one's desktop (actually, any folder will do),
or use "Run As".
If it needs a console, I suspect it'll open one;
certainly Windows has AllocConsole() for just such
a purpose, though I don't think many call it directly.
http://msdn.microsoft.com/en-us/library/ms681944%28VS.85%29.aspx
I frankly don't know regarding ML specifically, though.
http://en.wikipedia.org/wiki/Standard_ML
suggests a fair number of implementations. SML.NET (at
http://www.cl.cam.ac.uk/research/tsg/SMLNET/ ) looks to
be an interesting but possibly risky (patents) implementation
of ML that compiles down to .NET's CLR. SML# also exists
as an entirely different project produced in Japan:
http://www.pllab.riec.tohoku.ac.jp/smlsharp/ .
There are a fair number of open source variants of ML as well,
and it turns out Gentoo does have MLton ('emerge mlton'
or 'emerge mlton-bin'), which claims to have a very fast
optimizing compiler.
Gadzooks, two more languages to learn. ;-)
[.sigsnip]
--
#191, ewill3@xxxxxxxxxxxxx
Useless C++ Programming Idea #992398129:
void f(unsigned u) { if(u < 0) ... }
** Posted from http://www.teranews.com **
|
|