Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-05 Thread Thomas Schilling
On 4 August 2010 21:21, Jason Dagit da...@codersbase.com wrote:
 Is scion still being developed?  I have the impression it's dead now. Really
 a shame, I think it has a good solid design and just needs work/polish.

It is:  http://github.com/nominolo/scion/network

I changed the architecture to use separate processes (I tried to hold
it off, but in the end it was necessary). I hope that this will make a
few things easier.  The other issue is time of course.

Also JP has been adding some features in his Scion branch for
EclipseFP.  The plan is to merge that back eventually.

/ Thomas
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-05 Thread mokus
David Leimbach wrote:
 On Wed, Aug 4, 2010 at 3:16 AM, Alberto G. Corona
 agocor...@gmail.comwrote:

 Just to clarify,  I mean: Haskell may be seriously addictive.  Sounds
 like
 a joke, but it is not.  I do not recommend it for coding something quick
 and
 dirty.


 I use it for quick and dirty stuff all the time, mainly because what I
 want
 is often something that can be broken down into stages of processing, and
 pure functions are really nice for that.

 If I know the input is coming from a reliable enough stream (like a unix
 pipe to stdin) I can use functions like interact to create filters, or
 parse some input, and produce some output.

 It's pretty nice.


I may be mistaken (in which case, I'm sorry for putting words in his
mouth) but I understood what he was saying not as that Haskell is not
suited for quick and dirty projects, but rather that Haskell for small
projects could be a dangerous gateway drug that could seriously impact
one's ability to continue to enjoy working in other languages.

-- James

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-04 Thread Marc Weber

Hi Qi,

have a look at brainfuck language. Its turing complete as Python, Haskell, etc
are. Then you'll learn that the quesntion Can I do everything possible
is not at all important. You have to ask instead:  Can I complete my
task in reasonable time and with reasonable runtime performance etc.
  For most use cases Haskell is a good choice - the only real things
I'm missing are
- nice stack traces
- completion support - because I find it relaxing not having to looking
  all names. This could be fixed to some extend though..

If you want to target JavaScript in browsers I'm not sure whether
Haskell is the best fit either.

If I were you I'd learn some Haskell - I don't think you'll regret it.
By reading the mailinglists, joining the chat room ocassionally you'll
learn a lot.

But if you have a real task to solve - have a look whether existing
solutions exist - thus Use the best tool for the given problem.
Because recoding can sometimes take longer. And eg the Java community
has been much bigger in the past - thus there are more libraries
available. Eg Haskell has no htmlunit yet which interpretes JavaScript
and simulates a headless browser etc.

Marc Weber
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-04 Thread Alberto G. Corona
Before entering haskell, please read our disclaimer:

http://www.haskell.org/pipermail/haskell-cafe/2010-June/079044.html

You've been warned
*
*

2010/8/4 Zura_ x...@gol.ge


 As already noted here, Haskell is a general purpose language, but you
 should
 take it with a grain of salt.
 For instance, you can nail with a laptop (provided that you hit the place
 where a HDD is located), but you prefer a hammer :)
 One thing is if you do it only for enjoyment, in this case you can even
 develop 3D shooter game in Haskell, but when it comes to production/real
 world use, I think it is better to maintain right tool for the right job
 attitude.

 Regards,
 Zura


 Qi Qi-2 wrote:
 
  Is there anyone happen to come into any tasks that haskell is not able
  to achieve?
 

 --
 View this message in context:
 http://old.nabble.com/can-Haskell-do-everyting-as-we-want--tp29341176p29342871.html
 Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-04 Thread Alberto G. Corona
Just to clarify,  I mean: Haskell may be seriously addictive.  Sounds like a
joke, but it is not.  I do not recommend it for coding something quick and
dirty.

2010/8/4 Alberto G. Corona agocor...@gmail.com

 Before entering haskell, please read our disclaimer:

 http://www.haskell.org/pipermail/haskell-cafe/2010-June/079044.html

 You've been warned
 *
 *

 2010/8/4 Zura_ x...@gol.ge


 As already noted here, Haskell is a general purpose language, but you
 should
 take it with a grain of salt.
 For instance, you can nail with a laptop (provided that you hit the place
 where a HDD is located), but you prefer a hammer :)
 One thing is if you do it only for enjoyment, in this case you can even
 develop 3D shooter game in Haskell, but when it comes to production/real
 world use, I think it is better to maintain right tool for the right job
 attitude.

 Regards,
 Zura


 Qi Qi-2 wrote:
 
  Is there anyone happen to come into any tasks that haskell is not able
  to achieve?
 

 --
 View this message in context:
 http://old.nabble.com/can-Haskell-do-everyting-as-we-want--tp29341176p29342871.html
 Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-04 Thread Ivan Lazar Miljenovic
Marc Weber marco-owe...@gmx.de writes:

 Hi Qi,

 have a look at brainfuck language. Its turing complete as Python, Haskell, etc
 are. Then you'll learn that the quesntion Can I do everything possible
 is not at all important. You have to ask instead:  Can I complete my
 task in reasonable time and with reasonable runtime performance etc.

And in a way that makes the code maintainable.

   For most use cases Haskell is a good choice - the only real things
 I'm missing are
 - nice stack traces
 - completion support - because I find it relaxing not having to looking
   all names. This could be fixed to some extend though..

If you mean whilst writing your code, this is an editor issue (I believe
scion aims to help writing cross-editor utilities for things like
this).  ghci also has tab-completion, and ghc-mod provides such
functionality in Emacs.

-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-04 Thread Ivan Lazar Miljenovic
Marc Weber marco-owe...@gmx.de writes:

 Excerpts from Ivan Lazar Miljenovic's message of Wed Aug 04 12:37:29 +0200 
 2010:
 functionality in Emacs.

 I know - I patched the py backend for scion. I'm talking about:

   node.getParent().getParent().tabAttributes[value]

 Or (let's talk about a haskell example):

 pkgVersion $ package $ packageDescription

 It feels unnatural to complete this. How should this be done?
 I know that you can define your own .dot. operator, so that you can
 write it in (let's call it Java style):

 packageDescription .dot. package .dot. pkgVersion

I don't get the point of this .dot. operator (which isn't even a valid
operator).

 Without completion I have to get the type of packageDescription, then
 follow the structure until I find Version. Using tags and Vim that's
 fast. Still completion is a lot faster.

Not really following your example here: you want something to write your
code for you and read your mind to know what that code should be?

My understanding of tab-completion in IDEs for Java, etc. is that it
just displayed every single possible class method for a particular
object value, and then did some kind of matching based upon what you
typed to narrow down the list, not that it was type-based.

 I'm not talking about the universal put everything in scope completion
 thing - eg which Vim provides for some languages. I'm talking about
 really helpful context sensitive completion. I know its pretty hard to
 get this hard for Haskell - because type is determined by things you
 use. But the example I gave above is one which could be implemented
 easily.

How is it easy?  How would this mythical completer know which function
to use?

-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-04 Thread Tillmann Rendel

Ivan Lazar Miljenovic wrote::

My understanding of tab-completion in IDEs for Java, etc. is that it
just displayed every single possible class method for a particular
object value, and then did some kind of matching based upon what you
typed to narrow down the list, not that it was type-based.


Good completion is type based. For example, consider the following 
situations in Eclipse:


  (1) int foo = bar.cursor here
  (2) String foo = bar.cursor here

In both cases, completion will only propose methods of String and its 
super class Object, so the type of the receiver is taken into account.


Furthermore, the proposed methods will be ordered differently in (1) and 
(2). In (1), the list of proposed methods starts with methods returning 
int, while in (2), the list of proposed methods starts with methods 
returning String, so the type of the context is taken into account.


I guess that it may be easier to implement effective completion for Java 
because in Java, completion-relevant context information is often to the 
left of the completion position.


On the other hand, shouldn't constraint-based type inference à la 
Haskell be relatively easy to extend towards type-based completion? An 
IDE could infer the types of the holes in half-finished source code, and 
then try to unify the types of identifiers in scope with the type of the 
hole the programmer is typing in. If the resulting constraint system is 
consistent, the identifier should be proposed as a completion.


  Tillmann
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-04 Thread Yitzchak Gale
Rogan Creswick wrote:
 Haskell has very limited support for high-level Natural Language
 Processing (tokenization, sentence splitting, Named-entity
 recognition, etc...).

Since the role of a general purpose language is relatively
new for Haskell, there are many areas where Haskell is still
an emerging language. So it is interesting that you say that
about NLP, where Haskell is not only quite mature, but
arguably the leading language today.

For example, the EU's huge Molto project http://molto-project.eu/,
which aims to provide automated real-time high-quality
translation of a wide class of documents between all
of the EU languages, is based on Haskell's GF
http://grammaticalframework.org/.

Coincidentally, just yesterday a company that markets
one of the top semantic NLP products contacted me.
They have decided to dump their entire Java code base,
using older technologies such as the ones you mentioned.
One of their leading candidates for a replacement language
is Haskell. They told me, You see Haskell everywhere in
NLP these days.

See http://www.haskell.org/haskellwiki/Applications_and_libraries/Linguistics
for links about NLP work in Haskell. That is a huge wiki
page and hard to maintain, so some of the links are out of
date, but you get the idea.

Regards,
Yitz
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-04 Thread Ivan Lazar Miljenovic
Tillmann Rendel ren...@informatik.uni-marburg.de writes:

 Ivan Lazar Miljenovic wrote::
 My understanding of tab-completion in IDEs for Java, etc. is that it
 just displayed every single possible class method for a particular
 object value, and then did some kind of matching based upon what you
 typed to narrow down the list, not that it was type-based.

 Good completion is type based. For example, consider the following
 situations in Eclipse:

   (1) int foo = bar.cursor here
   (2) String foo = bar.cursor here

 In both cases, completion will only propose methods of String and its
 super class Object, so the type of the receiver is taken into account.

Yes, it knows which class methods are available.  But can it list every
possible argument that a given class method needs?  IMHO, that is a
closer analogy/comparison to what type-based completion for Haskell
would require.

-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-04 Thread David Leimbach
On Wed, Aug 4, 2010 at 3:16 AM, Alberto G. Corona agocor...@gmail.comwrote:

 Just to clarify,  I mean: Haskell may be seriously addictive.  Sounds like
 a joke, but it is not.  I do not recommend it for coding something quick and
 dirty.


I use it for quick and dirty stuff all the time, mainly because what I want
is often something that can be broken down into stages of processing, and
pure functions are really nice for that.

If I know the input is coming from a reliable enough stream (like a unix
pipe to stdin) I can use functions like interact to create filters, or
parse some input, and produce some output.

It's pretty nice.



 2010/8/4 Alberto G. Corona agocor...@gmail.com

 Before entering haskell, please read our disclaimer:

 http://www.haskell.org/pipermail/haskell-cafe/2010-June/079044.html

 You've been warned
 *
 *

 2010/8/4 Zura_ x...@gol.ge


 As already noted here, Haskell is a general purpose language, but you
 should
 take it with a grain of salt.
 For instance, you can nail with a laptop (provided that you hit the place
 where a HDD is located), but you prefer a hammer :)
 One thing is if you do it only for enjoyment, in this case you can even
 develop 3D shooter game in Haskell, but when it comes to production/real
 world use, I think it is better to maintain right tool for the right
 job
 attitude.

 Regards,
 Zura


 Qi Qi-2 wrote:
 
  Is there anyone happen to come into any tasks that haskell is not able
  to achieve?
 

 --
 View this message in context:
 http://old.nabble.com/can-Haskell-do-everyting-as-we-want--tp29341176p29342871.html
 Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe




 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-04 Thread Jason Dagit
On Wed, Aug 4, 2010 at 3:37 AM, Ivan Lazar Miljenovic 
ivan.miljeno...@gmail.com wrote:

 Marc Weber marco-owe...@gmx.de writes:

  Hi Qi,
 
  have a look at brainfuck language. Its turing complete as Python,
 Haskell, etc
  are. Then you'll learn that the quesntion Can I do everything possible
  is not at all important. You have to ask instead:  Can I complete my
  task in reasonable time and with reasonable runtime performance etc.

 And in a way that makes the code maintainable.

For most use cases Haskell is a good choice - the only real things
  I'm missing are
  - nice stack traces
  - completion support - because I find it relaxing not having to looking
all names. This could be fixed to some extend though..

 If you mean whilst writing your code, this is an editor issue (I believe
 scion aims to help writing cross-editor utilities for things like
 this).  ghci also has tab-completion, and ghc-mod provides such
 functionality in Emacs.


Is scion still being developed?  I have the impression it's dead now. Really
a shame, I think it has a good solid design and just needs work/polish.

Jason
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-03 Thread Don Stewart
qiqi789:
 
 As more I learn haskell, I am more interested in this function
 programming language. I am intended to more focus on haskell than other
 languages like python, Java, or C++. But I am still wonder whether haskell 
 can do everyting
 as other languages do, such as python, perl, Java and C++.
 
 Is there anyone happen to come into any tasks that haskell is not able
 to achieve?

Well, Haskell is a general purpose language, so it should be able to do
pretty much anything.

Here's a graphical representation of what Haskell is used for, based on
the number of packages on Hackage in that category:

http://donsbot.wordpress.com/2009/01/24/what-is-haskell-good-for/

Most endeavors in computer programming are available in some form or
another on Hackage, so I'd say we have lived up to the goal of providing
a general purpose language.

One thing that is not well covered, due to the nature of the runtime, is
hard real time computing.

-- Don
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-03 Thread Jeremy Shaw
I use Haskell for everything. In fact, I will be approaching my 10
year anniversary of using Haskell as my primary development language
soon.

 The only area I have had any trouble with Haskell is doing realtime
music synthesis. And only because the garbage collector is not
realtime friendly. That is not unfixable though. However, I am
thinking that the best way to do realtime synthesis with Haskell is to
use it to create a DSL that uses LLVM to create code at runtime so
that the realtime code is outside the scope of the normal RTS and
garbage collector. Aside from being a 'hack' to get around the garbage
collector, this could actually provide better performance than
low-level C/ASM by allowing very specialized code to be generated at
runtime in response to configuration changes. This concept was
explored with some success in Synthesis OS:
http://c2.com/cgi/wiki?SynthesisOs  (a general purpose unix-like OS,
the synthesis in the name is referring to the runtime code generation
for OS services, not music).

The other area I have found Haskell to sometimes fall short is when I
want even stronger guarantees from the type system. For those
instances, I want something more like Agda or Epigram, not something
weaker like Java/C++.

- jeremy

On Tue, Aug 3, 2010 at 6:12 PM, Qi Qi qiqi...@gmail.com wrote:

 As more I learn haskell, I am more interested in this function
 programming language. I am intended to more focus on haskell than other
 languages like python, Java, or C++. But I am still wonder whether haskell 
 can do everyting
 as other languages do, such as python, perl, Java and C++.

 Is there anyone happen to come into any tasks that haskell is not able
 to achieve?

 Thanks.

 --
 Qi Qi

 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-03 Thread Rogan Creswick
On Tue, Aug 3, 2010 at 4:12 PM, Qi Qi qiqi...@gmail.com wrote:

 Is there anyone happen to come into any tasks that haskell is not able
 to achieve?

Haskell has very limited support for high-level Natural Language
Processing (tokenization, sentence splitting, Named-entity
recognition, etc...).  NLTK (python), OpenNLP (java), and FleeLing
(C++) all have quite a lot to offer here, but there aren't currently
any bindings to those implementations from Haskell.  FreeLing is the
best choice from a pure languages standpoint, but it is GPL, which
would infect the resulting bindings and reduce the utility of the
result.

I have some hope that jvm-bridge can be resurrected to bind to
OpenNLP, but that's something I've only spent a few days thinking
about.  (I'd love to have some pointers / help / documentation on
jvm-bridge, if anyone has insights :)

--Rogan



 Thanks.

 --
 Qi Qi

 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] can Haskell do everyting as we want?

2010-08-03 Thread Ivan Miljenovic
On 4 August 2010 10:42, Rogan Creswick cresw...@gmail.com wrote:

 Haskell has very limited support for high-level Natural Language
 Processing [snip]

This isn't a fault of the language, it just


 I have some hope that jvm-bridge can be resurrected to bind to
 OpenNLP, but that's something I've only spent a few days thinking
 about.  (I'd love to have some pointers / help / documentation on
 jvm-bridge, if anyone has insights :)

 --Rogan



 Thanks.

 --
 Qi Qi

 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe




-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe