[Haskell-beginners] Haskell in the Digital Humanities

"René@gmail" rtbtobi at gmail.com
Wed Jul 23 15:23:35 UTC 2014


Dear Niels-Oliver,

having some relation to DH and working in my student's job with 
(dirty-tagsoup) XML.

Struck by Haskells beauty and clearness of coding but also aware of the 
rather deep and technical type abstractions and combinatorics which are 
still hard to grasp for me, I also felt unsure about following the 
Haskell road. Still clinging on to Haskell because:

a) bespoken clearness of code of Haskell I miss too hard when looking on 
other languages code

b) elegance of Parser-Combinators (well this seems not really an 
argument because they are ported to many other languages, but I also 
suspect something might be lost, because you do not get the full 
customizability of functions and operators like in Haskell in other langs)

c) stemming from the same Parser-Combinator vein: PANDOC: is there a 
better text conversion tool, which is so well maintained and so easy 
(well yes, some knowledge needed -> see learning tipps) to extend

d) I don't know much about robust code in other languages, but then 
again I had so much input by Haskell blogs and tutorials, that the idea 
that type safety and testing functions in isolation might be a good one 
has stuck. So although you probably will not interface with a nuclear 
power plant in your DH coding, I think robustness could be an argument too.

So the elegance of code and the safety of the program are very general 
pro-arguments for Haskell. Text handling capabilities through 
Parser-Combinators are really handy. Still for text-munging to produce a 
desired output for D3.js all this might seem overkill and to be honest I 
wouldn't want to parse tagsoup with Haskell either (but only because I 
know the benefits of a specialized text-processing-toolbox like TUSTEP 
[http://www.tustep.uni-tuebingen.de/tustep_eng.html]).

On the other hand, if you have a well formed XML there a enough 
XML-tools for haskell which produce a neat Haskell data structure which 
in turn you can work at with nice pure functions. Also there are enough 
possibilities to get these structures out into Javascript (Fay,...). 
(javascript? I also find elm-lang.org very compelling.)

So for now my solution is to have Haskell as an important side-project. 
I still have to go through the "Write Yourself A Scheme" [1] which is 
said to give the needed exposure to some abstract types so that one can 
digest the theory behind those much better, but I hope by then the 
scariness of the abunding type system will abate a bit more. There's 
also a new book about data anlysis, which advertises "Recipes for every 
stage of data analysis, from collection to visualization" [2].

Interfacing with C?
At least from my superficial obervance of my cabal installs 
Foreign.PointerC (or so) is by no means an exception. Don't know about 
Python, though.

Well, anyway good to know, someone has similar worries like me. Good luck!

Cheers,
René Tobner

[1] http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours
[2] http://www.packtpub.com/haskell-data-analysis-cookbook/book

On 22.07.2014 14:00, beginners-request at haskell.org wrote:
> 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?



More information about the Beginners mailing list