Ok, I have to admit, I have no idea if this is an April fool's joke or not.
Congratulations for demonstrating that April fools jokes can still be subtle (whether intentionally or not!) -- Jon

Having said all that, have you looked at erlang? Have you heard of couchdb? I'd strongly recommend looking at that. -- Jon

I've glanced at couchdb, but don't see how it would tie in with ikiwiki. --Joey

It doesn't really. I recently (re-)read about couchdb and thought that what it was trying to do had some comparisons with the thinking going on in structured page data. -- Jon

I'm torn about this idea, if it's actually serious. I'm very comfortable programming in Perl, and have written quite a few modules for IkiWiki, and it would be a huge pain to have to start from scratch all over again. On the other hand, this could be a motivation for me to learn Haskell. My only encounter with Haskell has been a brief time when I was using the Xmonad window manager, but it looks like an interesting language. Functional programming is cool.

There are a lot of interesting plusses for Haskell you note (in the parent page), but it's true that the idea is horribly daunting (as Joey said "If only I had a spare year"). Is there any way that you could "start small"? Because nothing will ever happen if the task is too daunting to even start.

This seems destined to remain a thought experiment unless something like that can be done, or I get a serious case of second system disease.

I've considered doing things like using the external plugin interface to run a separate haskell program, which would allow implementing arbitrary plugins in haskell (starting with a pandoc plugin..), and could perhaps grow to subsume the perl code. However, this would stick us with the perl data structures, which are not a very good fit for haskell. --Joey

On further thought... perhaps it would be easier to fork or contribute to an existing Haskell-based wiki, such as Hakyll?


As far as I know there are no other wikis (haskell or otherwise) that are wiki compilers. Since we know from experience that dealing with static compilation turns out to be one of the trickiest parts of ikiwiki, I'm doubtful about trying to bolt that into one. --Joey

Haykll isn't a wiki but it does do static compilation. The missing parts are: the web interface, the wiki link processing, and page dependency stuff. -- tychoish

(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

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 package might provide a helpful starting point there. -- JoshTriplett

I'm very keen on this, and would be interested in helping. I've been wanting to use ikiwiki for years, but the idea of investing time in the perl ecosystem and perl-based implementation stops me. -- Simon Michael