Why Exotic Languages Are Not Mainstream

Haskell was mentioned in an article called "Why Exotic Languages Are Not Mainstream" on the blog defmacro.org the other day and I thought maybe someone would be interested (i.e. is procrastinating at work and need an excuse to do something else). Any comments? http://www.defmacro.org/ramblings/not-ready.html

On Fri, 2006-08-11 at 14:43 +0200, Johan Tibell wrote:
Haskell was mentioned in an article called "Why Exotic Languages Are Not Mainstream" on the blog defmacro.org the other day and I thought maybe someone would be interested (i.e. is procrastinating at work and need an excuse to do something else). Any comments?
We need to be better ad advertising what works and what is still experimental. Eg Graphics.SOE is broken (though there are replacements), VisualHaskell is cool but still rather experimental. Other things "Just Work"tm, perhaps we need to advertise those. Duncan

I would quite appreciate the type info at edit time (especially when
tracking down errors) but as far as I know VisualStudio is a 100%
Windows only app (right?). I don't run Windows.
Is there anything similar to VisualHaskell that works in light-weight
(compared to Studio...) and multi-platform editors? E.g. Emacs or
Eclipse?
Thanks,
Nick
On 8/11/06, Duncan Coutts
snip
We need to be better ad advertising what works and what is still experimental. Eg Graphics.SOE is broken (though there are replacements), VisualHaskell is cool but still rather experimental. Other things "Just Work"tm, perhaps we need to advertise those.
Duncan
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Nicolas Frisby wrote:
I would quite appreciate the type info at edit time (especially when tracking down errors) but as far as I know VisualStudio is a 100% Windows only app (right?). I don't run Windows.
Is there anything similar to VisualHaskell that works in light-weight (compared to Studio...) and multi-platform editors? E.g. Emacs or Eclipse?
Haskell mode in emacs will show you the type of a library function if your cursor is on it. I also use http://haskell.org/hoogle quite a bit and I keep meaning to install the lambda bot locally on my machine so that I can ask it.

Hi
I also use http://haskell.org/hoogle quite a bit and I keep meaning to install the lambda bot locally on my machine so that I can ask it.
If you download and compile hoogle from the darcs repo, there is a console version included. Of course, lambdabot gives you lots more than just hoogle, so might still be the one for you. Thanks Neil

Thanks for the pointers, but I think I'm looking for type information specific to my program. The VisualHaskell feature of which I am envious is the ability to tell me the type of any identifier in my program. Disclaimer: I've never used VisualHaskell and am going only by what I read on its features page.
sqrs l = map fn l where fn x = x+2
Presumably, VisualHaskell would let me mouse-over/select the x in x+2 and tell me that it's of type 'Num a => a'; where I could mouse-over/select srqs and it would tell me that it's of type 'Num a => [a] -> [a]' (not necessarily the same a!). Of course this isn't too helpful with this example, but start imagining method definitions for
= or the like on hairier data structures.
I don't know how VisualHaskell handles type-errors, but I think it'd
be neat if it gave me as much info as possible when errors were in the
picture--that's exactly when I need the info the most!
And, of course, I'd like this functionality in a multi-platform editor.
Nick
On 8/11/06, Neil Mitchell
Hi
I also use http://haskell.org/hoogle quite a bit and I keep meaning to install the lambda bot locally on my machine so that I can ask it.
If you download and compile hoogle from the darcs repo, there is a console version included. Of course, lambdabot gives you lots more than just hoogle, so might still be the one for you.
Thanks
Neil

Maybe it could also catch errors in my cafe emails...
sqrs l = map sqr l where sqr x = x*x
On 8/11/06, Nicolas Frisby
Thanks for the pointers, but I think I'm looking for type information specific to my program. The VisualHaskell feature of which I am envious is the ability to tell me the type of any identifier in my program.
Disclaimer: I've never used VisualHaskell and am going only by what I read on its features page.
sqrs l = map fn l where fn x = x+2
Presumably, VisualHaskell would let me mouse-over/select the x in x+2 and tell me that it's of type 'Num a => a'; where I could mouse-over/select srqs and it would tell me that it's of type 'Num a => [a] -> [a]' (not necessarily the same a!). Of course this isn't too helpful with this example, but start imagining method definitions for
= or the like on hairier data structures.
I don't know how VisualHaskell handles type-errors, but I think it'd be neat if it gave me as much info as possible when errors were in the picture--that's exactly when I need the info the most!
And, of course, I'd like this functionality in a multi-platform editor.
Nick
On 8/11/06, Neil Mitchell
wrote: Hi
I also use http://haskell.org/hoogle quite a bit and I keep meaning to install the lambda bot locally on my machine so that I can ask it.
If you download and compile hoogle from the darcs repo, there is a console version included. Of course, lambdabot gives you lots more than just hoogle, so might still be the one for you.
Thanks
Neil

On 8/11/06, Nicolas Frisby
Maybe it could also catch errors in my cafe emails...
sqrs l = map sqr l where sqr x = x*x
Would you really want to write your emails in VisualStudio? ;-)
On 8/11/06, Nicolas Frisby
wrote: Thanks for the pointers, but I think I'm looking for type information specific to my program. The VisualHaskell feature of which I am envious is the ability to tell me the type of any identifier in my program.
VisualHaskell can do this, *if* your program type checks. I'm hoping in a later version that ghc can be made more tolerant of errors for interactive use. Sometimes I want to know the type of something but I have an error (such as an unfinished line) somewhere else in the program. When this happens I often insert "undefined" in the trouble spots just so my program type checks. After I double check the type of something I go back to work and remove the undefined spots. This is okay, but for every feature I like about visual studio I miss two things from emacs (perhaps I just know it better). [snip]
And, of course, I'd like this functionality in a multi-platform editor.
Look at the eclipse plugin eclipse-fp. The main things I get out of VisualHaskell these days are the automatic generation of my cabal files and the updated COM library. I find myself using emacs and ghci fairly often. Also, I'm getting to where I can hack my own cabal files without much hassle, so really I'm just using it for the updated COM library. Jason

Hello Nicolas, Friday, August 11, 2006, 7:13:26 PM, you wrote:
Thanks for the pointers, but I think I'm looking for type information specific to my program. The VisualHaskell feature of which I am
And, of course, I'd like this functionality in a multi-platform editor.
besides of Visual Haskell, there is EclipseFP project. it's still in very early stage and don't supports what you asked. but it's author continuously enhances the product and seeks for the testers. wo shile i can't figure something that solves your problems, i can suggest you to join this effort in order to got good IDE in some future -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

Is there a console version of lambdabot? I compiled and installed it
locally, but it seems to print out the IRC messages, not plain-text
messages. Do I need to install a local IRC server or is it possible to
switch it to the plain-text mode?
On 8/11/06, Neil Mitchell
Hi
I also use http://haskell.org/hoogle quite a bit and I keep meaning to install the lambda bot locally on my machine so that I can ask it.
If you download and compile hoogle from the darcs repo, there is a console version included. Of course, lambdabot gives you lots more than just hoogle, so might still be the one for you.
Thanks
Neil _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Best regards, Ivan Tarasov

At Fri, 11 Aug 2006 21:39:24 +0400, Ivan Tarasov wrote:
[1
] [1.1 ] Is there a console version of lambdabot? I compiled and installed it locally, but it seems to print out the IRC messages, not plain-text messages. Do I need to install a local IRC server or is it possible to switch it to the plain-text mode?
Did you get the darcs version? The version I got from darcs works in offline/plain-text mode by default. You have to give it the --online flag to get it to connect to the server. If you run it, and it gives you a prompt like, lambdabot> Then I think it is working in offline mode. However, it maybe be too chatty by default: --->> lambdabot> pl \x y -> x + y IrcMessage {msgPrefix = "null!n=user@null", msgCommand = "PRIVMSG", msgParams = ["#haskell",":@pl \\x y -> x + y"]} (+) lambdabot> <<--- If you hack at the code, there is probably a line of code you can comment out to suppress the 'IrcMessage' debug output. You could also the the GoA extension so that you can talk to lambdabot inside ghci. http://www.cse.unsw.edu.au/~dons/lambdabot.html j.

Neil Mitchell wrote:
If you download and compile hoogle from the darcs repo, there is a console version included. Of course, lambdabot gives you lots more than just hoogle, so might still be the one for you.
I've been avoiding that, because there are too many things I'm tempted to fiddle with inside it. But you've talked me into it.

If you download and compile hoogle from the darcs repo, there is a console version included. Of course, lambdabot gives you lots more than just hoogle, so might still be the one for you.
I've been avoiding that, because there are too many things I'm tempted to fiddle with inside it. But you've talked me into it.
Just as a warning, I've been offline without a computer for a week, and have now entirely redesigned pretty much every aspect of Hoogle 3 in preparation for Hoogle 4. Its all on paper for now, but in the very near future Hoogle will get completely rewritten :) Thanks Neil

Neil Mitchell wrote:
Just as a warning, I've been offline without a computer for a week, and have now entirely redesigned pretty much every aspect of Hoogle 3 in preparation for Hoogle 4. Its all on paper for now, but in the very near future Hoogle will get completely rewritten :)
Excellent. I see on your long term list an item for specifying module names as input. I don't suppose you plan to support something like 'Data.*' returning a list of all the modules at that level of the hierarchy? Recently I've been wanting an interactive command for browsing the module hierarchy. Switching to a browser just isn't cutting it anymore.

Hi
Excellent. I see on your long term list an item for specifying module names as input. I don't suppose you plan to support something like 'Data.*' returning a list of all the modules at that level of the hierarchy? Recently I've been wanting an interactive command for browsing the module hierarchy. Switching to a browser just isn't cutting it anymore.
Hmm, with the newly designed Hoogle 4 you can do the search: +Data /module Which would give you that behaviour. It says only look for modules (you can also do /type, /class etc) and +Data says only look inside the Data namespace. As it stands you'd have to specify a text string to search for as well, but given this use case, I'll remove that restriction. I'll also look into if there is anything else to make this kind of thing a bit easier. Thanks Neil

On 11/08/06, Clifford Beshers
I've been avoiding that, because there are too many things I'm tempted to fiddle with inside it. But you've talked me into it.
See also the really simple Hoogle/Emacs integration: http://haskell.org/haskellwiki/Hoogle#Using_Hoogle_from_Emacs -- -David House, dmhouse@gmail.com

Nicolas,
On 8/11/06, Nicolas Frisby
Is there anything similar to VisualHaskell that works in light-weight (compared to Studio...) and multi-platform editors?
There is EclipseFP: http://eclipsefp.sourceforge.net It doesn't support type inference at edition, but it is likely to be added in the future. So, I'd advise you keep an eye on it. And you can trust this is very unbiased advice, since I am the current project maintainer. :-) I don't know if Eclipse is what you'd call light weight, but it is freely available if you want to try it. At least it runs satisfactorially on my machine with 512MB of memory. Cheers, Thiago Arrais -- Mergulhando no Caos - http://thiagoarrais.blogspot.com Pensamentos, idéias e devaneios sobre desenvolvimento de software e tecnologia em geral

Hi,
The bug that you have to download the old libraries for win32 on
WinHugs is my fault, and is fixed in HEAD. Once the base library
compiles with Windows and Hugs once more I'll start making a new
release.
Thanks
Neil
On 8/11/06, Johan Tibell
Haskell was mentioned in an article called "Why Exotic Languages Are Not Mainstream" on the blog defmacro.org the other day and I thought maybe someone would be interested (i.e. is procrastinating at work and need an excuse to do something else). Any comments?
http://www.defmacro.org/ramblings/not-ready.html _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hello Johan, Friday, August 11, 2006, 4:43:27 PM, you wrote:
Haskell was mentioned in an article called "Why Exotic Languages Are Not Mainstream" on the blog defmacro.org the other day and I thought maybe someone would be interested (i.e. is procrastinating at work and need an excuse to do something else). Any comments?
i'm 100% agree with this article. imho Haskell is not ready for _application_ programming mainly because of 3 issues: - lack of specialists (and this means lack of teaching, training, books) - lack of IDE/RAD tools (this includes debugging, visual construction of GUI+DB part of program and so on) - lack of variety of libraries (application programmers want to have many libraries pre-written) imvho, these issues are less important for system programming (such as creating of web server or CMS system), so Haskell, with all its features, now is a great tool for system programming. for example, i've written zip-like tool with ghc -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

Bulat Ziganshin
- lack of specialists (and this means lack of teaching, training, books)
There's lots of interactive teaching and training on #haskell What exactly do you think is missing?
- lack of variety of libraries (application programmers want to have many libraries pre-written)
Which libraries do you think are most needed?
imvho, these issues are less important for system programming (such as creating of web server or CMS system), so Haskell, with all its features, now is a great tool for system programming. for example, i've written zip-like tool with ghc
FreeArc is way nifty! -- I've tried to teach people autodidactism, | ScannedInAvian.com but it seems they always have to learn it for themselves.| Shae Matijs Erisson

Hello Shae, Monday, August 14, 2006, 1:11:49 AM, you wrote:
- lack of specialists (and this means lack of teaching, training, books)
There's lots of interactive teaching and training on #haskell What exactly do you think is missing?
high school. while some advanced universities teach FP to students. most high schools just teach C++ or smth like this. at least, here in Russia students learn things that business was used 10 years ago while they should learn things that business will use 10 years later (and form this business environment!) skill raising courses. in my town, there are courses for Delphi, C++, at Moscow there are courses for Java, C#, perl, php. again, rare languages are out of luck books. there are tons of books that teach c++, from "C++ for dummies" up to "Using booost::lambda to create 24/7 apps" and no more than dozen for entire Haskell with all its extensions/libs. it's not enough to learn Haskell in deep
- lack of variety of libraries (application programmers want to have many libraries pre-written)
Which libraries do you think are most needed?
gui+db for standalone apps, i don't know exact requirements for web apps also plenty of libs that is used in any program: data structures, string processing, regexps, networking, concurrency, so on, so on
imvho, these issues are less important for system programming (such as creating of web server or CMS system), so Haskell, with all its features, now is a great tool for system programming. for example, i've written zip-like tool with ghc
FreeArc is way nifty!
thank you :) i thought that it is interesting only for Russian-speaking haskellers because all comments are in Russian even for this quite enough system program i required the following libraries: ByteString, Binary, filename manipulation and matching, string processing, advanced I/O. most of these was done at the moment when i wrote my code, but was not readily available, concealing itself in labyrinths of ghc, darcs and other apps :) -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com
participants (12)
-
Bulat Ziganshin
-
Clifford Beshers
-
David House
-
Duncan Coutts
-
Ivan Tarasov
-
Jason Dagit
-
Jeremy Shaw
-
Johan Tibell
-
Neil Mitchell
-
Nicolas Frisby
-
Shae Matijs Erisson
-
Thiago Arrais