X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/d98f3ef9ac5ee8595c32547b1207892d4f1f312f..1226d9f144310876080c077a9c45bd2257829a32:/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn?ds=sidebyside diff --git a/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn b/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn index cf2725594..e19ceaa8f 100644 --- a/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn +++ b/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn @@ -15,11 +15,47 @@ Congratulations for demonstrating that April fools jokes can still be subtle ----- -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. +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? -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. +--[[KathrynAndersen]] -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]] ---[[KathrynAndersen]] +>> 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](http://hackage.haskell.org/package/HsPerl5) package might provide a helpful starting point there. -- [[JoshTriplett]]