Re: [Haskell-cafe] Most used functions in hackage

2013-02-03 Thread Richard O'Keefe

On 2/02/2013, at 7:05 AM, Rustom Mody wrote:

 Instead lets make a map (functor?) from learning the programming language 
 Haskell to learning the natural language English.
 So I dont know English (and yeah there are Godelian anomalies in that 
 statement) and I gather that vocabulary is a key to mastering the language.
 Now Webster is a bit too fat to cram up as a whole so I decide to isolate the 
 5000 most used English words. 
 Do you think my English mastery will be improved that way?

*Stopping* there will not let you master English,
but *beginning* with a core of high frequency words
is a good idea for bootstrapping.

Basic English had 700 words.
Globish has 1500 words.
The Longman Dictionary of Contemporary English uses a
controlled core of about 2200 words in all definitions.

 Surely Webster had a bigger vocabulary than Shakespeare.

Many people called Webster have written.
Assuming you mean the lexicographer,
just because someone is able to put a word into a dictionary
does not mean that it is part of their active vocabulary.
(Vide Johnson's famous Ignorance, madam, pure ignorance.)
Shakespeare's active vocabulary was on the close order of
20,000 terms.  (This actually seems to be a typical size for
pre-literate natural language entire vocabularies.)  It
would be surprising if _in his other writings_ Webster's
active vocabulary were noticeably larger than Shakespeare's.
 
 IOW mastering the paradigm is more important than the details.

False dichotomy.  Haskell (and English) being Haskell (and
English), you _can't_ learn a significant chunk of the
library (high-frequency vocabulary) without learning something
about the way things are put together.

You can learn the English word 'vomer' without learning
anything important about English, but learn what 'although'
means AND HOW IT IS USED and you have learned quite a bit.

In the same way, you can't really learn 'liftM' without
learning quite a lot about Haskell.

 I have a couple of pages on my blog:
 http://blog.languager.org/2012/10/functional-programming-lost-booty.html
 gives a few of the basics that FPers should know (IMHO) before going to 
 advanced stuff. I should mention that it was written it because Haskell is 
 becoming increasingly hard for beginners with the focus on 'type-magic' is 
 overshadowing the basics. [In any case after 25 years of teaching, I am 
 finding it harder and harder to teach] If you have crossed over the basic 
 stage it may not be much use to you :-)

Not just beginners, either.

There _is_ a problem with the idea of trawling the top N functions
from Hackage.  That is that the code written for Hackage is, by and
large, written to be used rather than understood by beginners.  These
are not necessarily the top N functions that it is useful for a
beginner to use or know.  It's probably better to pick one module at
a time that provides a service you really intend to use and learn
what you can from that.  (Like learning how to read one complete
story.)


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


Re: [Haskell-cafe] Most used functions in hackage

2013-02-02 Thread Rustom Mody
On Sat, Feb 2, 2013 at 12:43 PM, Casey Basichis caseybasic...@gmail.comwrote:

 I'm not sure what you mean.

 I would imagine popular success for either would be circumstantial and
 have little to do with their actual ability and more to do with the
 opportunities they pursue and the cultural atmosphere at the time.



 For this student:
 http://www.youtube.com/watch?v=_bjKDJD-CLc
 I would have a very clear idea of the many things


He He... Yes you are making a similar point to what I am making --
calibrating the learning curve.

I would excise from the typical piano education to help her form her
 musical intuitions as simply and effectively as possible, with the
 knowledge that in time, she will find her own way to a personal style and
 repertoire.

 You are being a little cryptic.  I don't see how the nuances that
 differentiate two experts relates.


Sorry… Yes…
a. There are some concerns which a teacher thinks about which experts --
whether in FP or in music -- may not think about
b. And then there is a side that is going too far afield for a haskell
list… so yes I was cryptic I guess.

For now let me say this much: I spent much precious time and energy and
vitality in my younger days trying (more correctly wishing) to play piano
like Cziffra and just making a thorough mess.  If my teacher had calibrated
my learning curve according to my needs rather than my whims it may have
been better.  Then again who knows? How many talented students have lost
interest due to over-strict teachers?

This line of inquiry is perhaps best taken off the haskell list. For now
let me just make a couple of observations that are (hopefully :-) )
on-topic for the question of learning haskell, though (1,2) are true for
learning anything, not just FP/Haskell.

1. In any field, teachers need to work out the path aka learning curve
through the field.  This usually manifests as 'pre-requisites' in a
curricular structure. eg
To study quantum physics, differential equations are needed, they need
algebra, which needs basic arithmetic
2. What the student thinks he most needs, he usually needs to go easy on.
eg diabetics like sweets (usually), BP-patients like salty savouries and
obese/heart-patients like rich food
3. In CS/programming the problems are compounded; nobody agrees on how the
basics and the advanced stuff bifurcate.  How many CS depts have a
significant amount of haskell? How many start with haskell?
Yes, you may say, but that is a local, specific problem.
I would like to suggest that it is general and systemic:
So if I may quote myself:
http://blog.languager.org/2011/02/cs-education-is-fat-and-weak-2.html :
CS-academics are mostly teaching the wrong things, and when right in the
wrong order.

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


Re: [Haskell-cafe] Most used functions in hackage

2013-02-01 Thread Rustom Mody
On Tue, Jan 29, 2013 at 1:53 PM, Casey Basichis caseybasic...@gmail.comwrote:

 Hi Dmitry,

 Thanks for the links.  I've been through the 24 Days of Hackage, but I
 think its time to run through them again now that I'm a little more
 familiar with everything.

 Why do you think browsing function by function is a bad idea?  It seems
 that knowing exactly what the most used functions are would be an extremely
 effective way of finding both which parts of the Prelude and Hackage are
 most broadly useful (instead of browsing them like a phonebook) and also
 finding support from the community as the most commonly used functions
 would likely be the easiest to find support for.


Find out the most used functions seems to be eminently desirable.
To do that we need to count function-uses.
And to do that we need to know what to count.

Do we?

If you remember, the cost-centre mode of counting functions in haskell
programs was precisely because the usual (first-order language) mode of
counting would lead to the strange conclusion that map and foldr were the
most used and therefore most inefficient functions in Haskell! So a new way
of counting had to be devised.

There is a book: Mathsemantics by Edward Macneal which deals with things
like:
How does an airline count the number of passengers. I quote from the book:

I 1980 I was one passenger, ten passengers, eighteen passengers, thirty-six
 passengers, forty-two passengers, fifty-five passengers, seventy-two
 passengers and ninety-four passengers.  Each of these statements is true.


He then goes on to explain.

I was one passenger in the sense that I was a person who traveled by air in
 that year.
 I was eighteen passengers in the sense that I made eighteen round trips.
 I was forty-two passengers in the sense that on forty-two different
 occasions I entered and exited the system of a different carrier.
 I was seventy-two passengers in the sense that on seventy-two occasions I
 was on board an aircraft when it took off from one place and landed at
 another.
 I was ninety-four passengers in the sense that I made ninety-four separate
 entrances and exits from airport terminal buildings.


[He missed the explanation for 10!]

He goes on to say that these differences are not mere technicalities and
its important to get the sense of 'passenger'

So… like 'passenger', how many meanings does 'function-use' have?

Rusi
-- 
http://www.the-magus.in
http://blog.languager.org
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Most used functions in hackage

2013-02-01 Thread Casey Basichis
That book Mathsemantics sounds like something I should read, would you
recommend it?

Your point occurred to me the other day when measuring number of downloads
of whole packages was mentioned as being the ideal measure.

I have more confidence in measuring the contents of the packages themselves
as creating a Hackage package suggests a competency with the language and
baseline of sophistication.

My thought was the best measure might be the count of functions across all
packages, where an included function in any individual package would only
be counted once per package.

In this sense, map and fold would still likely be towards the top, but that
is as it should be.

But it seems there are many measures that would be useful, like the
percentage of functions from a package that tend to get used in the same
project - do people nit pick particular functions from a specific package
or does the package use tend to require the use of all of its functions in
every project the package is used in.

I'd love to hear some thoughts on this as I generally don't know where to
begin in solving these sorts of problems and would like to know more about
those methods in general.

Casey


On Fri, Feb 1, 2013 at 7:00 AM, Rustom Mody rustompm...@gmail.com wrote:

 On Tue, Jan 29, 2013 at 1:53 PM, Casey Basichis 
 caseybasic...@gmail.comwrote:

 Hi Dmitry,

 Thanks for the links.  I've been through the 24 Days of Hackage, but I
 think its time to run through them again now that I'm a little more
 familiar with everything.

 Why do you think browsing function by function is a bad idea?  It seems
 that knowing exactly what the most used functions are would be an extremely
 effective way of finding both which parts of the Prelude and Hackage are
 most broadly useful (instead of browsing them like a phonebook) and also
 finding support from the community as the most commonly used functions
 would likely be the easiest to find support for.


 Find out the most used functions seems to be eminently desirable.
 To do that we need to count function-uses.
 And to do that we need to know what to count.

 Do we?

 If you remember, the cost-centre mode of counting functions in haskell
 programs was precisely because the usual (first-order language) mode of
 counting would lead to the strange conclusion that map and foldr were the
 most used and therefore most inefficient functions in Haskell! So a new way
 of counting had to be devised.

 There is a book: Mathsemantics by Edward Macneal which deals with things
 like:
 How does an airline count the number of passengers. I quote from the book:

 I 1980 I was one passenger, ten passengers, eighteen passengers,
 thirty-six passengers, forty-two passengers, fifty-five passengers,
 seventy-two passengers and ninety-four passengers.  Each of these
 statements is true.


 He then goes on to explain.

 I was one passenger in the sense that I was a person who traveled by air
 in that year.
 I was eighteen passengers in the sense that I made eighteen round trips.
 I was forty-two passengers in the sense that on forty-two different
 occasions I entered and exited the system of a different carrier.
 I was seventy-two passengers in the sense that on seventy-two occasions I
 was on board an aircraft when it took off from one place and landed at
 another.
 I was ninety-four passengers in the sense that I made ninety-four
 separate entrances and exits from airport terminal buildings.


 [He missed the explanation for 10!]

 He goes on to say that these differences are not mere technicalities and
 its important to get the sense of 'passenger'

 So… like 'passenger', how many meanings does 'function-use' have?

 Rusi
 --
 http://www.the-magus.in
 http://blog.languager.org




-- 
Casey James Basichis
Composer - Cartoon Network
http://www.caseyjamesbasichis.com
caseybasic...@gmail.com
310.387.7540
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Most used functions in hackage

2013-02-01 Thread Gwern Branwen
One thing you could do is download Hackage (easy enough with a little
scripting of 'cabal list'; see for example
http://www.haskell.org/pipermail/haskell-cafe/2011-July/093669.html ),
unpack, and use Language.Haskell.Exts to parse every Haskell file.
Here are two examples from the past:

1. http://www.haskell.org/pipermail/haskell-cafe/2012-January/098618.html
function-name search script which lets you parse a large number of
source files and print out anything calling a specified function (eg.
if you were thinking about deprecating something)
2. http://www.haskell.org/pipermail/haskell-cafe/2011-May/091663.html
language-extension search script; I used it to see how many source
files ever invoked LANGUAGE pragmas and which ones.

-- 
gwern
http://www.gwern.net

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


Re: [Haskell-cafe] Most used functions in hackage

2013-02-01 Thread Rustom Mody
On Fri, Feb 1, 2013 at 9:41 PM, Casey Basichis caseybasic...@gmail.comwrote:

 That book Mathsemantics sounds like something I should read, would you
 recommend it?



Well its quite a favourite of mine, if that counts as a recommendation…



 Your point occurred to me the other day when measuring number of downloads
 of whole packages was mentioned as being the ideal measure.

 I have more confidence in measuring the contents of the packages
 themselves as creating a Hackage package suggests a competency with the
 language and baseline of sophistication.

 My thought was the best measure might be the count of functions across all
 packages, where an included function in any individual package would only
 be counted once per package.

 In this sense, map and fold would still likely be towards the top, but
 that is as it should be.

 But it seems there are many measures that would be useful, like the
 percentage of functions from a package that tend to get used in the same
 project - do people nit pick particular functions from a specific package
 or does the package use tend to require the use of all of its functions in
 every project the package is used in.

 I'd love to hear some thoughts on this as I generally don't know where to
 begin in solving these sorts of problems and would like to know more about
 those methods in general.


Well… it seems to be a good idea to back off from here a bit and ask how we
came here.
You want to learn haskell  for which you want to pinpoint the 'most' used
functions.
Lets leave aside the question that 'most' may be harder to specify than we
may first imagine.

Instead lets make a map (functor?) from learning the programming language
Haskell to learning the natural language English.
So I dont know English (and yeah there are Godelian anomalies in that
statement) and I gather that vocabulary is a key to mastering the language.
Now Webster is a bit too fat to cram up as a whole so I decide to isolate
the 5000 most used English words.
Do you think my English mastery will be improved that way?
Surely Webster had a bigger vocabulary than Shakespeare.
Do you think Webster knew English better than Shakespeare?
[You can of course replace Shakespeare to whoever happens to take your
fancy]

IOW mastering the paradigm is more important than the details.

Now its important to get that the paradigm cannot be caught in any
single-point sloganeering such as:
Functional programming is programming without side-effects
Haskell is syntactically sugared lambda calculus
The key feature of Haskell is its sexy type magic

Nevertheless its also true that 'paradigm' consists of far fewer elements
than 'the 500 most used functions.'

I have a couple of pages on my blog:
http://blog.languager.org/2012/10/functional-programming-lost-booty.html
gives a few of the basics that FPers should know (IMHO) before going to
advanced stuff. I should mention that it was written it because Haskell is
becoming increasingly hard for beginners with the focus on 'type-magic' is
overshadowing the basics. [In any case after 25 years of teaching, I am
finding it harder and harder to teach] If you have crossed over the basic
stage it may not be much use to you :-)

There is also
http://blog.languager.org/2011/02/cs-education-is-fat-and-weak-1.html and
sequel
which is more of a grumble about CS education than about FP/Haskell per se.
Still, an undercurrent of that grumble is that much of the nonsense of CS
education is because FP has not become mainstream soon enough.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Most used functions in hackage

2013-02-01 Thread Casey Basichis
I just ordered Mathsemantics for a hefty $2.10.

Your article's were an enjoyable read and very informative.  I'll dig more
into you blog tonight.

I've read the Great Good book, Haskell school of music, and I'm working my
way through Real World Haskell. I've also read countless blog articles on
Haskell.

With a great deal read and understood about Haskell I have no confidence
that I can make anything in it at all.

Kurt Vonnegut retyped James Joyce's work to feel a great novel under his
fingers before writing his own.

Webster knew English better than Shakespeare.  Shakespeare was a master of
creation.

To be able to create from a small core and then extend those intuitions
with knowledge over time is to me far more effective than mastering
language and then attempting creation.

While not rigorous, getting hands on with high level practical libraries
and working by example would have built my intuitions far faster than all
of the countless reading and toy examples I've done.  The problem is, for
that approach, there isn't any material for a book or insightful blog post
to be written. Mimetics are mundane and unnecessary to those in the know.
 The teachers seem to be unaware of how their own intuitions were formed.

While learning the fundamentals my mind struggles to imagine how these
basic concepts play into the larger picture - how would they use foldr to
build persistent?  I don't have real answers to those questions but it's a
constant distraction.

I am certain that sitting down with a few simple examples of how to use a
library like Persistent, without any concern as to how it works, will
surely take me from a useless Haskeller to being able to make useful tools
that I can use in my career as a composer.

In learning Do notation the books took me through three ways of expressing
the same thing before arriving at the sugary syntax that I will likely use
for the next ten projects. I don't see that as building a core towards
creation, but rather the elevation of a fetishy obsession with language.
 Children learn the most critical words before grammar - only in language
studies does grammar come before vocabulary.

The question is what is the core knowledge that facilitates creation?

That core is a mutating form.  It works from the high level downward as it
needs to, not from the low level upward because it is thought that it
should.  There are thousands of articles on how to use raw C++ pointers.
One in the know knows to use smart pointers because they facilitate
creation.

I constantly read authors of blog posts say things like I wish I had
learned monad transformers sooner.  What is a rigorous way to prioritize
learning the full scope of Haskell so that creative intuition is maximized?
 How can I know that Arrows will be generally more effective than
Category-Extras for creating things?

If data mining Hackage to find the practical reality of how Haskell is
actually being used by people who are creating complete and useful things
is not an effective way to learn, what approach is better?

Best,
Casey


On Fri, Feb 1, 2013 at 10:05 AM, Rustom Mody rustompm...@gmail.com wrote:



 On Fri, Feb 1, 2013 at 9:41 PM, Casey Basichis caseybasic...@gmail.comwrote:

 That book Mathsemantics sounds like something I should read, would you
 recommend it?



 Well its quite a favourite of mine, if that counts as a recommendation…



 Your point occurred to me the other day when measuring number of
 downloads of whole packages was mentioned as being the ideal measure.

 I have more confidence in measuring the contents of the packages
 themselves as creating a Hackage package suggests a competency with the
 language and baseline of sophistication.

 My thought was the best measure might be the count of functions across
 all packages, where an included function in any individual package would
 only be counted once per package.

 In this sense, map and fold would still likely be towards the top, but
 that is as it should be.

 But it seems there are many measures that would be useful, like the
 percentage of functions from a package that tend to get used in the same
 project - do people nit pick particular functions from a specific package
 or does the package use tend to require the use of all of its functions in
 every project the package is used in.

 I'd love to hear some thoughts on this as I generally don't know where to
 begin in solving these sorts of problems and would like to know more about
 those methods in general.


 Well… it seems to be a good idea to back off from here a bit and ask how
 we came here.
 You want to learn haskell  for which you want to pinpoint the 'most' used
 functions.
 Lets leave aside the question that 'most' may be harder to specify than we
 may first imagine.

 Instead lets make a map (functor?) from learning the programming language
 Haskell to learning the natural language English.
 So I dont know English (and yeah there are Godelian anomalies in that
 statement) and I gather 

Re: [Haskell-cafe] Most used functions in hackage

2013-02-01 Thread Rustom Mody
On Sat, Feb 2, 2013 at 3:38 AM, Casey Basichis caseybasic...@gmail.comwrote:

 I just ordered Mathsemantics for a hefty $2.10.

 Your article's were an enjoyable read and very informative.  I'll dig more
 into you blog tonight.

 I've read the Great Good book, Haskell school of music, and I'm working my
 way through Real World Haskell. I've also read countless blog articles on
 Haskell.

 With a great deal read and understood about Haskell I have no confidence
 that I can make anything in it at all.

 Kurt Vonnegut retyped James Joyce's work to feel a great novel under his
 fingers before writing his own.

 Webster knew English better than Shakespeare.  Shakespeare was a master
 of creation.

 To be able to create from a small core and then extend those intuitions
 with knowledge over time is to me far more effective than mastering
 language and then attempting creation.

 While not rigorous, getting hands on with high level practical libraries
 and working by example would have built my intuitions far faster than all
 of the countless reading and toy examples I've done.  The problem is, for
 that approach, there isn't any material for a book or insightful blog post
 to be written. Mimetics are mundane and unnecessary to those in the know.
  The teachers seem to be unaware of how their own intuitions were formed.

 While learning the fundamentals my mind struggles to imagine how these
 basic concepts play into the larger picture - how would they use foldr to
 build persistent?  I don't have real answers to those questions but it's a
 constant distraction.

 I am certain that sitting down with a few simple examples of how to use a
 library like Persistent, without any concern as to how it works, will
 surely take me from a useless Haskeller to being able to make useful tools
 that I can use in my career as a composer.

 In learning Do notation the books took me through three ways of expressing
 the same thing before arriving at the sugary syntax that I will likely use
 for the next ten projects. I don't see that as building a core towards
 creation, but rather the elevation of a fetishy obsession with language.
  Children learn the most critical words before grammar - only in language
 studies does grammar come before vocabulary.

 The question is what is the core knowledge that facilitates creation?

 That core is a mutating form.  It works from the high level downward as it
 needs to, not from the low level upward because it is thought that it
 should.  There are thousands of articles on how to use raw C++ pointers.
 One in the know knows to use smart pointers because they facilitate
 creation.

 I constantly read authors of blog posts say things like I wish I had
 learned monad transformers sooner.  What is a rigorous way to prioritize
 learning the full scope of Haskell so that creative intuition is maximized?
  How can I know that Arrows will be generally more effective than
 Category-Extras for creating things?

 If data mining Hackage to find the practical reality of how Haskell is
 actually being used by people who are creating complete and useful things
 is not an effective way to learn, what approach is better?

 Best,
 Casey


Lets say you teach the piano and two prospective students come to you.
A with much passion wants to play like this
http://www.youtube.com/watch?v=3L0Rncqx1yQ
B with more focus than passion, has this ideal
http://www.youtube.com/watch?v=Yu06WnXlPCY

Who do you think/feel would be more likely to succeed?
Who would you prefer to teach?
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Most used functions in hackage

2013-02-01 Thread Casey Basichis
I'm not sure what you mean.

I would imagine popular success for either would be circumstantial and have
little to do with their actual ability and more to do with the
opportunities they pursue and the cultural atmosphere at the time.

For this student:
http://www.youtube.com/watch?v=_bjKDJD-CLc
I would have a very clear idea of the many things I would excise from the
typical piano education to help her form her musical intuitions as simply
and effectively as possible, with the knowledge that in time, she will find
her own way to a personal style and repertoire.

You are being a little cryptic.  I don't see how the nuances that
differentiate two experts relates.


On Fri, Feb 1, 2013 at 10:31 PM, Rustom Mody rustompm...@gmail.com wrote:



 On Sat, Feb 2, 2013 at 3:38 AM, Casey Basichis caseybasic...@gmail.comwrote:

 I just ordered Mathsemantics for a hefty $2.10.

 Your article's were an enjoyable read and very informative.  I'll dig
 more into you blog tonight.

 I've read the Great Good book, Haskell school of music, and I'm working
 my way through Real World Haskell. I've also read countless blog articles
 on Haskell.

 With a great deal read and understood about Haskell I have no confidence
 that I can make anything in it at all.

 Kurt Vonnegut retyped James Joyce's work to feel a great novel under his
 fingers before writing his own.

 Webster knew English better than Shakespeare.  Shakespeare was a master
 of creation.

 To be able to create from a small core and then extend those intuitions
 with knowledge over time is to me far more effective than mastering
 language and then attempting creation.

 While not rigorous, getting hands on with high level practical libraries
 and working by example would have built my intuitions far faster than all
 of the countless reading and toy examples I've done.  The problem is, for
 that approach, there isn't any material for a book or insightful blog post
 to be written. Mimetics are mundane and unnecessary to those in the know.
  The teachers seem to be unaware of how their own intuitions were formed.

 While learning the fundamentals my mind struggles to imagine how these
 basic concepts play into the larger picture - how would they use foldr to
 build persistent?  I don't have real answers to those questions but it's a
 constant distraction.

 I am certain that sitting down with a few simple examples of how to use a
 library like Persistent, without any concern as to how it works, will
 surely take me from a useless Haskeller to being able to make useful tools
 that I can use in my career as a composer.

 In learning Do notation the books took me through three ways of
 expressing the same thing before arriving at the sugary syntax that I will
 likely use for the next ten projects. I don't see that as building a core
 towards creation, but rather the elevation of a fetishy obsession with
 language.  Children learn the most critical words before grammar - only in
 language studies does grammar come before vocabulary.

 The question is what is the core knowledge that facilitates creation?

 That core is a mutating form.  It works from the high level downward as
 it needs to, not from the low level upward because it is thought that it
 should.  There are thousands of articles on how to use raw C++ pointers.
 One in the know knows to use smart pointers because they facilitate
 creation.

 I constantly read authors of blog posts say things like I wish I had
 learned monad transformers sooner.  What is a rigorous way to prioritize
 learning the full scope of Haskell so that creative intuition is maximized?
  How can I know that Arrows will be generally more effective than
 Category-Extras for creating things?

 If data mining Hackage to find the practical reality of how Haskell is
 actually being used by people who are creating complete and useful things
 is not an effective way to learn, what approach is better?

 Best,
 Casey


 Lets say you teach the piano and two prospective students come to you.
 A with much passion wants to play like this
 http://www.youtube.com/watch?v=3L0Rncqx1yQ
 B with more focus than passion, has this ideal
 http://www.youtube.com/watch?v=Yu06WnXlPCY

 Who do you think/feel would be more likely to succeed?
 Who would you prefer to teach?




-- 
Casey James Basichis
Composer - Cartoon Network
http://www.caseyjamesbasichis.com
caseybasic...@gmail.com
310.387.7540
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Most used functions in hackage

2013-01-30 Thread Dmitry Vyal

On 01/29/2013 12:23 PM, Casey Basichis wrote:


Why do you think browsing function by function is a bad idea?  It 
seems that knowing exactly what the most used functions are would be 
an extremely effective way of finding both which parts of the Prelude 
and Hackage are most broadly useful (instead of browsing them like a 
phonebook) and also finding support from the community as the most 
commonly used functions would likely be the easiest to find support for.


Well, I think the popularity is best measured on the level of packages, 
not separate functions. And I've seen quite a few ratings of most 
popular packages in the past. For example:


http://corp.galois.com/blog/2009/3/23/one-million-haskell-downloads.html
http://haskellwebnews.wordpress.com/2011/03/16/hackage-stats-the-past-year/

I guess Google can suggest much more. There is one thing you should keep 
in mind while looking at such charts. Authors measure number of 
downloads. Most of them are results of cabal-install fetching 
dependencies, not of the deliberate decision of a programmer to use the 
package.


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


Re: [Haskell-cafe] Most used functions in hackage

2013-01-29 Thread Casey Basichis
Hi Dmitry,

Thanks for the links.  I've been through the 24 Days of Hackage, but I
think its time to run through them again now that I'm a little more
familiar with everything.

Why do you think browsing function by function is a bad idea?  It seems
that knowing exactly what the most used functions are would be an extremely
effective way of finding both which parts of the Prelude and Hackage are
most broadly useful (instead of browsing them like a phonebook) and also
finding support from the community as the most commonly used functions
would likely be the easiest to find support for.

I guess what I'm looking for doesn't exist, which is what it is.  I'm just
interested in why it's not an ideal way to take in Haskell, starting with
the common and moving to the to rare.

Thanks,
Casey


On Mon, Jan 28, 2013 at 11:57 PM, Dmitry Vyal akam...@gmail.com wrote:

 On 01/29/2013 11:21 AM, Casey Basichis wrote:


 Is there any link that counts the use of all functions in all packages in
 Hackage and lists them by frequency or by other stats?

 I'm still new to haskell but I've been working my way through tons and
 tons of tutorials and books. It would be very helpful to target in on the
 current reality of the most critical functions.

  Hello Casey,

 You can use Hoogle http://www.haskell.org/hoogle/ to get information
 about a particular function or to find a function by a part of it's
 signature.

 While it's helpful to carefully study some basic modules like Prelude
 function by function, I don't think it's a good approach in general. I
 suggest you to look for reviews of popular modules. Personally, I found 24
 days of hackage http://ocharles.org.uk/blog/ to be quite informative. I
 wouldn't argue it's a best source for a beginner, but at least it gives
 quite a broad perspective.

 Best regards,
 Dmitry




-- 
Casey James Basichis
Composer - Cartoon Network
http://www.caseyjamesbasichis.com
caseybasic...@gmail.com
310.387.7540
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Most used functions in hackage

2013-01-29 Thread Henk-Jan van Tuyl
On Tue, 29 Jan 2013 09:23:34 +0100, Casey Basichis  
caseybasic...@gmail.com wrote:


I guess what I'm looking for doesn't exist, which is what it is.  I'm  
just

interested in why it's not an ideal way to take in Haskell, starting with
the common and moving to the to rare.



It is worth while to study the Prelude functions:
  A Tour of the Haskell Prelude
  
http://undergraduate.csse.uwa.edu.au/units/CITS1211/Documentation/tourofprelude.html

and:
  A tour of the Haskell Monad functions
  http://members.chello.nl/hjgtuyl/tourdemonad.html

Regards,
Henk-Jan van Tuyl


--
http://Van.Tuyl.eu/
http://members.chello.nl/hjgtuyl/tourdemonad.html
Haskell programming
--

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


[Haskell-cafe] Most used functions in hackage

2013-01-28 Thread Casey Basichis
Hi,

I'm guessing this is a long shot, but

Is there any link that counts the use of all functions in all packages in
Hackage and lists them by frequency or by other stats?

I'm still new to haskell but I've been working my way through tons and tons
of tutorials and books. It would be very helpful to target in on the
current reality of the most critical functions.

Anything like this out there?

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


Re: [Haskell-cafe] Most used functions in hackage

2013-01-28 Thread Dmitry Vyal

On 01/29/2013 11:21 AM, Casey Basichis wrote:


Is there any link that counts the use of all functions in all packages 
in Hackage and lists them by frequency or by other stats?


I'm still new to haskell but I've been working my way through tons and 
tons of tutorials and books. It would be very helpful to target in on 
the current reality of the most critical functions.



Hello Casey,

You can use Hoogle http://www.haskell.org/hoogle/ to get information 
about a particular function or to find a function by a part of it's 
signature.


While it's helpful to carefully study some basic modules like Prelude 
function by function, I don't think it's a good approach in general. I 
suggest you to look for reviews of popular modules. Personally, I found 
24 days of hackage http://ocharles.org.uk/blog/ to be quite 
informative. I wouldn't argue it's a best source for a beginner, but at 
least it gives quite a broad perspective.


Best regards,
Dmitry


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