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. Haskell in the Digital Humanities (Niels-Oliver Walkowski)
2. Re: Haskell in the Digital Humanities (Dan Serban)
3. Re: Haskell in the Digital Humanities ([email protected])
----------------------------------------------------------------------
Message: 1
Date: Tue, 22 Jul 2014 10:19:46 +0200
From: Niels-Oliver Walkowski <[email protected]>
To: [email protected]
Subject: [Haskell-beginners] Haskell in the Digital Humanities
Message-ID: <[email protected]>
Content-Type: text/plain; charset="utf-8"
Dear Haskell Community,
I am coming to you with a question which I try to solve for 2 month now, but
still struggling, so I tried the step to refer to you. The question is simple
and was raised by many people before, probably everyone who began with another
language and at some point got to know Haskell: Should I learn Haskell?
So I read a lot of things in the www that had the same question or that could
support decision making. The reason why I couldn't manage to make a decision
rest on ? as so often ? in the particular case or at least what seems
particular for me. I would like to briefly outline why I would love to learn
Haskell, what are the reasons why I am hesitating and how all this relates to
my background. I would be tremendously grateful for feedback that will make a
decision easier for me and hope that it is ok to ask such a question on a
beginner's mailinglist.
Background: I am a humanist, working in the so called Digital Humanities realm.
I don't have any information technology education though I started coding in
PHP at the beginning of University. In DH like in many other areas of 'data
driven science' Python is 'Lengua Franca'. That might relate to the fact that
coding is means not goal. In fact, often coding is more glueing things together
than really code something and the ecosystem of scripts and libraries is as
broad as scientific discourse itself. It is easy to reach a goal a goal (which
is important when you want to test hypothesis) but things are often dirty of
cause.
Interest in Haskell: I got to know ideas of functional programing half a year
ago when I digged a little bit into machine theory. Functional Programing
expresses exactly how I think about computation and furthermore I enjoy very
much to think within a functional logic about things I want to do. Additionally
I think that the functional approach has some important advantages for coding
in science at least on the publication level because it expresses ideas in a
clear defined way that is not the same with an imperative approach. I started
to read a little bit about functional programing in Python since Python is
multi-paradigm but very quickly my impression was that it is something you do
not really want to do, it makes writing code more verbose, you do not really
have the benefits of functional programing and often feels like workaround, so
I was brought back to Haskell again
Concerns: As mentioned before coding in Digital Humanities is definitely always
means for an end. On the other hand I like to to my things straight forward and
on a certain abstraction level (maybe because I was trained in Philosophy ;-) )
General concerns rest on the fear that the Haskell ecosystem is not big enough
for the area in which I code. I work in the area of text analysis (not
identical with computational linguistics), topic modeling, I need sophisticated
visualisations, I work with XML (state of the art in DH) and a lot with so
called 'dirty data' which relates to the whole NoSQL world ? especially Graph
and JSON based. Managing Web technologies is important because of the
importance of publishing. Approaches like the IPython Notebook are significant
(I got to know that there is IHaskell which is IPython with a Haskell kernel
but I don't know how valid and stable this project is). I absolutely do not
need to have a library for any tiny task and I like to approach things fr
om a higher level of abstraction but of cause there is a point where
implementing something on your own is not reasonably time efficient anymore,
especially when the goal is something completely different. And being not
natively educated in informatics there is also a limit in capacity at a certain
point.
If you could provide me with feedback or with your judgment to help me evaluate
the Haskell environment around my area and social field in a more substantial
way and to get a more sophisticated feeling for or against the idea that
learning Haskell will work out in my case, it would be wonderful. (A blog
article about using Haskell in DH that summarizes the discussion and promotes
the awareness of Haskell in the DH community would also something I might
consider afterwards) If you feel I misused the list, please apologize.
best,
Niels-Oliver Walkowski
------------------------------
Message: 2
Date: Tue, 22 Jul 2014 12:16:21 +0300
From: Dan Serban <[email protected]>
To: The Haskell-Beginners Mailing List - Discussion of primarily
beginner-level topics related to Haskell <[email protected]>
Subject: Re: [Haskell-beginners] Haskell in the Digital Humanities
Message-ID:
<cahapvsfypziyfjc9e6wtwz7d7w9a0vm-a7bz28a1+5eamvw...@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Like you said, Haskell is a platform, and people don't use a specific
platform for the sake of using *that* platform. They use it because of
what we call a "killer app".
In the case of a programming language, a killer app is a popular
library with no counterpart in other programming languages.
You might find that Python has a richer set of niche libraries for
text analysis.
I'm not really clear what "topic modeling" entails, but it sounds like
something Haskell's type system might be well suited for.
Sophisticated visualizations? D3.JS is the answer. (Diagrams has the
wrong power-to-weight ratio here, IMO, especially if you're new to
Haskell.)
If you're dealing with dirty data, it sounds like a good idea to
attempt to discover the invariants your data is subject to. Learn how
to extract synthetic key indicators from your data, then use Haskell's
QuickCheck to either discover those subtle universal properties hidden
within the data, or make assertions about them, in order to verify the
consistency of a data set.
Finally, I'd say don't look at this as a black and white decision. If
you can get away with it, make it a hybrid Python/Haskell project and
leverage the best of each world.
------------------------------
Message: 3
Date: Tue, 22 Jul 2014 12:09:46 +0200 (CEST)
From: [email protected]
To: [email protected]
Subject: Re: [Haskell-beginners] Haskell in the Digital Humanities
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8
Thank's for the quick response. Here are some thought's around it that might
make my context clearer.
Dan Serban schrieb am 22.07.2014 11:16:
> Like you said, Haskell is a platform, and people don't use a specific
> platform for the sake of using *that* platform. They use it because of
> what we call a "killer app".
That might be a reason sometimes but I don't think it's the only one. In
my case ? I tried to describe this a little bit ? it is the platform that I
want to use because the platform, or better programming language
makes me approach a problem in a certain way (makes me think and
code in that way). My interest in using Haskell is because it is, in my very
limited view on this, the most convincing expression of functional
programming paradigms and what I read about functional programing
in Python was not really convincing. So it is not a specific library but the
design of the language that makes me consider learning Haskell. And
further more it is the general idea that a functional style of coding has
important advantages for complying to to certain best practice rules of
scientific communication when "speaking code" in the context of
multi-modal publications, like for example published IPython Notebooks
or (outside of science) in data stories of data driven journalism.
> I'm not really clear what "topic modeling" entails, but it sounds like
> something Haskell's type system might be well suited for.
> Sophisticated visualizations? D3.JS is the answer. (Diagrams has the
> wrong power-to-weight ratio here, IMO, especially if you're new to
> Haskell.)
thx for the overview D3 is exactly what I use already and when there is
an easy way to integrate it with Haskell that's awesome.
> If you're dealing with dirty data, it sounds like a good idea to
> attempt to discover the invariants your data is subject to. Learn how
> to extract synthetic key indicators from your data, then use Haskell's
> QuickCheck to either discover those subtle universal properties hidden
> within the data, or make assertions about them, in order to verify the
> consistency of a data set.
thx aslo for the mentioning these general strategies.
> Finally, I'd say don't look at this as a black and white decision. If
> you can get away with it, make it a hybrid Python/Haskell project and
> leverage the best of each world.
I thin the reason why I am framing this in a way of a black/white problem
is the fact that it means a certain effort to experience the limits of the
ecosystem for a certain programming language and that time resources
are limited (I work half-time, do my PhD halftime and have two kids, so
always something to do ;-)) So I try to evaluate before. Second reason for
a black/white attitude is exactly the argument that the background for
the decision is not so much about using this and that library but about
think, code and publish in an environment of functional programming,
the decision to spent the rare time to get deeper into the Python
ecosystem which makes many things easier but but has the general
disadvantages I tried to address or spent it to make myself familiar with
Haskell the design of a programming language where I am 100%
convinced but which make things a little bit harder to get because the
community is smaller and not related to DH. By the way, how easy is it to
interface python or C libraries from within Haskell ? this possibility would
be a good argument or did you mean something like this when talking
about a hybrid approach?
best
Niels-Oliver
> _______________________________________________
> Beginners mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/beginners
>
------------------------------
Subject: Digest Footer
_______________________________________________
Beginners mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/beginners
------------------------------
End of Beginners Digest, Vol 73, Issue 15
*****************************************