Re: [Haskell-cafe] can Haskell do everyting as we want?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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