Perl plugins for a Haskell program?
[ikiwiki.git] / doc / todo / rewrite_ikiwiki_in_haskell / discussion.mdwn
1 Ok, I have to admit, I have no idea if this is an April fool's joke or not.  
2 Congratulations for demonstrating that April fools jokes can still be subtle
3 (whether intentionally or not!) -- [[Jon]]
4
5 > Having said all that, have you looked at erlang? Have you heard of couchdb?
6 > I'd strongly recommend looking at that. -- [[Jon]]
7
8 >> I've glanced at couchdb, but don't see how it would tie in with ikiwiki.
9 >> --[[Joey]] 
10
11
12 >>> It doesn't really. I recently (re-)read about couchdb and thought that
13 >>> what it was trying to do had some comparisons with the thinking going on
14 >>> in [[todo/structured_page_data]]. -- [[Jon]]
15
16 -----
17
18 I'm torn about this idea, if it's actually serious.  I'm very comfortable
19 programming in Perl, and have written quite a few modules for IkiWiki, and
20 it would be a huge pain to have to start from scratch all over again. On
21 the other hand, this could be a motivation for me to learn Haskell.  My
22 only encounter with Haskell has been a brief time when I was using the
23 Xmonad window manager, but it looks like an interesting language.
24 Functional programming is cool.
25
26 There are a lot of interesting plusses for Haskell you note (in the parent
27 page), but it's true that the idea is horribly daunting (as [[Joey]] said
28 "If only I had a spare year").  Is there any way that you could "start
29 small"?  Because nothing will ever happen if the task is too daunting to
30 even start.
31
32 > This seems destined to remain a thought experiment unless something like
33 > that can be done, or I get a serious case of second system disease.
34
35 > I've considered doing things like using the external plugin interface
36 > to run a separate haskell program, which would allow implementing
37 > arbitrary plugins in haskell (starting with a pandoc plugin..),
38 > and could perhaps grow to subsume the perl code. However, this would
39 > stick us with the perl data structures, which are not a very good fit
40 > for haskell. --[[Joey]]
41
42 On further thought... perhaps it would be easier to fork or contribute to
43 an existing Haskell-based wiki, such as <a
44 href="http://jaspervdj.be/hakyll">Hakyll</a>?
45
46 --[[KathrynAndersen]]
47
48 > As far as I know there are no other wikis (haskell or otherwise)
49 > that are wiki compilers. Since we know from experience that dealing
50 > with static compilation turns out to be one of the trickiest parts of
51 > ikiwiki, I'm doubtful about trying to bolt that into one. --[[Joey]] 
52
53 >> Haykll isn't a wiki but it does do static compilation. The missing
54 >> parts are: the web interface, the wiki link processing, and page
55 >> dependency stuff. -- [[tychoish]]
56
57 >>> (nods) Which is why I suggested it.  I'm not sure whether it would be easier to "bolt on" those things than static compilation, but it could be worth looking at, at least. -- [[KathrynAndersen]]
58
59 -----
60
61 Rather than coding plugins for the Perl ikiwiki in Haskell, I wonder how easily a Haskell ikiwiki could still support plugins written in Perl? The (old and apparently stale) [HsPerl5](http://hackage.haskell.org/package/HsPerl5) package might provide a helpful starting point there. -- [[JoshTriplett]]