Send Beginners mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        http://www.haskell.org/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."


Today's Topics:

   1. Re:  How to deal with library dependencies? (Lorenzo Bolla)
   2.  Haskell as a useful practical 'tool' for intelligent
      non-programmers (Nicholas Kormanik)
   3. Re:  Haskell as a useful practical 'tool' for intelligent
      non-programmers (Joseph Fredette)
   4. Re:  Haskell as a useful practical 'tool' for     intelligent
      non-programmers (Nicholas Kormanik)


----------------------------------------------------------------------

Message: 1
Date: Fri, 27 Apr 2012 15:48:12 +0100
From: Lorenzo Bolla <[email protected]>
Subject: Re: [Haskell-beginners] How to deal with library
        dependencies?
Cc: [email protected]
Message-ID: <20120427144812.GG20470@dell>
Content-Type: text/plain; charset=us-ascii

On Thu, Apr 26, 2012 at 01:37:26PM -0400, Brent Yorgey wrote:
> On Thu, Apr 26, 2012 at 05:42:37PM +0100, Lorenzo Bolla wrote:
> > Hi all,
> >  
> > This problem is obviously more general, and so is my question: How to
> > handle packages that depend of different versions of the same
> > library?
> 
> There's no really good answer to this question (yet).
> 
> > Would you manually patch the cabal files for all the packages in the
> > dependency tree, hoping that newest libraries are backward compatible?
> > Would you wait for the library developers to update their cabal file
> > every time a library they rely upon changes?
> 
> One of these two is what I would usually do.  Which one I would choose
> depends on how badly I want the package in question and how
> comfortable I am trying to manually patch the cabal file.
> 
> > To me, it looks like dependencies in .cabal files are usually too
> > strict. 
> 
> That's one way of looking at it; the alternative, however, would be
> that dependencies are too lax, and then things might install just fine
> but not work; or maybe you'd get crazy type errors instead of version
> errors.  Which would you rather have?  Personally, I'd rather have
> version errors, and let the package maintainers figure out the type
> errors when they update their packages.
> 
> > Or, packages should agree on the meaning of "minor" version
> > numbers. For example, if blaze-html's API did not change from 0.4 to 0.5
> > (supposing that API changes are identified by a change in the major
> > version number), then there is no point in the libraries that depend on
> > it to require a dependency <0.5.
> 
> Most packages do agree on this; in particular they conform to the
> Package Version Policy:
> 
>   http://www.haskell.org/haskellwiki/Package_versioning_policy
> 
> Among other things it says that breaking API changes are identified by
> changes in the first and/or second component of the version number.
> 
> The problem is that even if the API of a package changes (thus
> necessitating a bump in at least the second component of the version
> number), packages that depend on it may continue to work with both the
> old and new versions, if they didn't happen to use the part of the API
> that changed.
> 
> -Brent
> 
> _______________________________________________
> Beginners mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/beginners

Thanks for your suggestions.
I gave cabal-meta a try, but it failed (actually, cabal failed) to
install packages directly from github because it can't handle https
protocol, apparently.

So, I did it by hand: git clone && cd && cabal install
Only in 1 case I had to update the cabal file for the package from
github (and I already submitted a pull request for that patch), meaning
that github is more up-to-date than hackage, usually. Unfortunately,
though, not all the packages I git-cloned are installed simply with
"cabal install" (one required "make"): but I consider those packages
broken.

In fact, why not having a tool that relies exclusively on github? That
is, it downloads some metadata for a package from hackage (the source
repo) and then goes out, fetches the source, and builds it locally.
Is there already a tool like this?

Thanks,
L.

-- 
Lorenzo Bolla
http://lbolla.info



------------------------------

Message: 2
Date: Fri, 27 Apr 2012 14:16:38 -0600
From: "Nicholas Kormanik" <[email protected]>
Subject: [Haskell-beginners] Haskell as a useful practical 'tool' for
        intelligent non-programmers
To: <[email protected]>
Message-ID: <[email protected]>
Content-Type: text/plain;       charset="us-ascii"


I am not a programmer, and have no intention of becoming one. I'm a stock
and options trader. MetaStock is one of the primary programs I use. Other
statistical and mathematical programs as well.

Very often when some small need arises, I Google-search for a solution.
There seems to be any number of freeware utilities out there in cyberland --
and more all the time -- that do pretty much whatever is needed.

Additionally, Mathematica (as one example) has a powerful programming
language built in.

So, my question is: Does it make practical sense to spend time learning
Haskell for the purpose of adding it to my assortment of 'tools' -- to
quickly do this or that, as the need arises?

Is there any better general practical 'tool' (or, if you want, 'programming
language') to add to my arsenal.

Thanks for your comments and suggestions.

Nicholas Kormanik






------------------------------

Message: 3
Date: Fri, 27 Apr 2012 17:05:50 -0400
From: Joseph Fredette <[email protected]>
Subject: Re: [Haskell-beginners] Haskell as a useful practical 'tool'
        for intelligent non-programmers
To: [email protected]
Cc: [email protected]
Message-ID:
        <camzje55ugitzrsbyrapue-+r9ka412akdqe4e2xtnp3rkgv...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

It seems to me that what you're looking for is a way to build tools suited
to particular tasks, subject to particular performance constraints. If
you're goal is to be able to build these tools yourself, I would say that,
by definition, you are intending to be a programmer; inasmuch as a
programmer is a person who's job is to build tools using a tool-building
tool.

To that end, I recommend Haskell as a good language to use to build
performant tools, especially for stuff like data-analysis, where speed is a
factor. Branching out from there, you may want to look at and learn about
Hadoop and similar technologies, MapReduce is a very powerful tool for
large-scale data analytics.

Along those lines, languages like R are optimized for datacrunching and
data visualization, and are certainly worth learning about.

So, in essence, I guess I'd say that if you're intention is to learn about
practical, generic tools; then by definition your intention _is_ to be a
programmer, and therefore you may want to consider approaching the problem
from that point of view.

If your goal is merely to consume tools -- perhaps writing a small amount
of code, you (I think) still have intention (if unseen) to be a programmer,
but you might find it easier to use languages like Perl, Python, or Ruby --
which have large standard libraries, good ability to function as "glue" and
low syntactic and semantic overhead (that is to say, they're a bit easier
to write) than some languages (eg, Erlang, Haskell, R, etc.)

That's not to say it's hard to write good code in the latter set of
languages, merely that it requires (I think) more understanding of a
potentially more complicated model (especially true with haskell).

I don't know if that answers your question, I hope it helps.

/Joe



On Fri, Apr 27, 2012 at 4:16 PM, Nicholas Kormanik <[email protected]>wrote:

>
> I am not a programmer, and have no intention of becoming one. I'm a stock
> and options trader. MetaStock is one of the primary programs I use. Other
> statistical and mathematical programs as well.
>
> Very often when some small need arises, I Google-search for a solution.
> There seems to be any number of freeware utilities out there in cyberland
> --
> and more all the time -- that do pretty much whatever is needed.
>
> Additionally, Mathematica (as one example) has a powerful programming
> language built in.
>
> So, my question is: Does it make practical sense to spend time learning
> Haskell for the purpose of adding it to my assortment of 'tools' -- to
> quickly do this or that, as the need arises?
>
> Is there any better general practical 'tool' (or, if you want, 'programming
> language') to add to my arsenal.
>
> Thanks for your comments and suggestions.
>
> Nicholas Kormanik
>
>
>
>
> _______________________________________________
> Beginners mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://www.haskell.org/pipermail/beginners/attachments/20120427/e6350499/attachment-0001.htm>

------------------------------

Message: 4
Date: Fri, 27 Apr 2012 15:59:55 -0600
From: "Nicholas Kormanik" <[email protected]>
Subject: Re: [Haskell-beginners] Haskell as a useful practical 'tool'
        for     intelligent non-programmers
To: "'Joseph Fredette'" <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset="utf-8"

 

?You might find it easier to use languages like Perl, Python, or Ruby??

 

In a nutshell, which of these to start with?  I?m totally clueless.  And it all 
seems so daunting.

 

Yes, I?m a big user of little nifty tools/utilities you programmers put out, 
free to the world.  It?s simply amazing what you programmers accomplish.  I?m 
always searching the web to find new ones.

 

But it would be terrific to be able to do some of that myself ? if I could find 
a good practical ?tool? to make my own little tools, to extemporaneously cobble 
together as needed.

 

Nicholas

 

 

From: Joseph Fredette [mailto:[email protected]] 
Sent: Friday, April 27, 2012 3:06 PM
To: [email protected]
Cc: [email protected]
Subject: Re: [Haskell-beginners] Haskell as a useful practical 'tool' for 
intelligent non-programmers

 

It seems to me that what you're looking for is a way to build tools suited to 
particular tasks, subject to particular performance constraints. If you're goal 
is to be able to build these tools yourself, I would say that, by definition, 
you are intending to be a programmer; inasmuch as a programmer is a person 
who's job is to build tools using a tool-building tool.

 

To that end, I recommend Haskell as a good language to use to build performant 
tools, especially for stuff like data-analysis, where speed is a factor. 
Branching out from there, you may want to look at and learn about Hadoop and 
similar technologies, MapReduce is a very powerful tool for large-scale data 
analytics.

 

Along those lines, languages like R are optimized for datacrunching and data 
visualization, and are certainly worth learning about.

 

So, in essence, I guess I'd say that if you're intention is to learn about 
practical, generic tools; then by definition your intention _is_ to be a 
programmer, and therefore you may want to consider approaching the problem from 
that point of view.

 

If your goal is merely to consume tools -- perhaps writing a small amount of 
code, you (I think) still have intention (if unseen) to be a programmer, but 
you might find it easier to use languages like Perl, Python, or Ruby -- which 
have large standard libraries, good ability to function as "glue" and low 
syntactic and semantic overhead (that is to say, they're a bit easier to write) 
than some languages (eg, Erlang, Haskell, R, etc.)

 

That's not to say it's hard to write good code in the latter set of languages, 
merely that it requires (I think) more understanding of a potentially more 
complicated model (especially true with haskell).

 

I don't know if that answers your question, I hope it helps.

 

/Joe

 

 

On Fri, Apr 27, 2012 at 4:16 PM, Nicholas Kormanik <[email protected]> wrote:


I am not a programmer, and have no intention of becoming one. I'm a stock
and options trader. MetaStock is one of the primary programs I use. Other
statistical and mathematical programs as well.

Very often when some small need arises, I Google-search for a solution.
There seems to be any number of freeware utilities out there in cyberland --
and more all the time -- that do pretty much whatever is needed.

Additionally, Mathematica (as one example) has a powerful programming
language built in.

So, my question is: Does it make practical sense to spend time learning
Haskell for the purpose of adding it to my assortment of 'tools' -- to
quickly do this or that, as the need arises?

Is there any better general practical 'tool' (or, if you want, 'programming
language') to add to my arsenal.

Thanks for your comments and suggestions.

Nicholas Kormanik




_______________________________________________
Beginners mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/beginners

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://www.haskell.org/pipermail/beginners/attachments/20120427/cf010c1f/attachment.htm>

------------------------------

_______________________________________________
Beginners mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/beginners


End of Beginners Digest, Vol 46, Issue 45
*****************************************

Reply via email to