[Haskell-cafe] Writing forum software in Haskell
Brian Hulley
brianh at metamilk.com
Sun Sep 24 19:40:12 EDT 2006
David House wrote:
> Hi all.
>
> The recent thread on email vs. forums inspired a bit of interest to
> get some forum software on haskell.org. Were we to go ahead with this,
> I think it'd be great to have this software written in Haskell itself.
[snip]
> * What kind of forum are we aiming at? In my eyes, it'd be less like
> the bloated phpBBs out there full of oversized signatures and avatars,
> and more like the minimalistic bbPress on show at, for example, the
> WordPress support forums [1].
> * What would be a compulsory feature list?
1) I think anyone who posts should first have to register to avoid the
problem of spam.
2) I think it would be good if it was possible to get away from the usual
tree structure of posts. By this I mean that usually you have to choose a
post to reply to, which is awkward if you want to comment on more than one
previous post because then it's not clear what post to choose as the
"parent".
As a rough idea, perhaps something which considered paragraphs(*) as the
basic unit of discourse ie
data Post = Post {_author :: !Author, _time :: !Time, _topic :: !Topic,
_paras :: ![PostPara]}
data PostPara = Own !Paragraph | Quoted !PostPara !Author !Time !Topic
data Paragraph = Text !ByteString | Code !ByteString
and I'd imagine posts being edited using an editor which displayed a
vertical sequence of PostPara's (ie edit boxes for the paragraphs you've
written yourself and some other widget involving a static text box to
display paras that you're quoting)
Multiple consecutive paras that you write yourself would just be written in
the same edit box. Actually the whole post could be written in one edit box
if there was a special escape syntax for quoting (you'd select some text in
some other post then click "quote" and it would be pasted into the post
you're composing surrounded by the appropriate escape sequences and source
info, and like the wiki editor, you could click preview to see how the whole
thing would look when posted).
This would give full support for DAG based discussions. (At the moment in
the mailing list if I want to reply to more than one person I have to click
"reply" on each email I'm replying to and cut and paste the indented text
from the second person's email into my reply to the first and hope that I
don't accidentally send the second blank reply by mistake, and if someone
has chosen to include a signature with their message or sent it using HTML
instead of plain text I have to manually indent each individual line myself
because Outlook Express doesn't display the text of signed messages but
instead puts it into a file like ATT000012.txt...)
(*) Of course the above representation doesn't give any way to only quote
part of a paragraph or to split paragraphs up so it might be too inflexible.
It might also not be clear what should be regarded as a paragraph. Perhaps
"span of text" would be a better "unit of discourse".
3) It would be nice if there was a way to put something in the "centre" to
be discussed from different angles, instead of always being stuck with a
linear flow, where important points made in previous posts can just get
ignored altogether because they are too far back in linear time. The
scenario I'm thinking of is:
3a) Person A makes 2 good points, A1 and A2
3b) Person B replies to A1
3c) Person C replies to B's reply of A1
3d ) Long discussion about A1
3e) A2 has completely been forgotten and is never addressed
I'm imagining a visual representation of the text in the centre with the
discussion around it though perhaps this is getting too complicated for
what's possible just with HTML.
4) Another nice feature would be the ability to just say "cool" or "yes" or
"no" without having to actually make a real post like a kind of vote for or
against an idea.
Anyway best of luck with whatever forum people come up with. I originally
used to post to the mailing list using the Google group fa.haskell (strange
name!!!) but though I liked the Google interface the posting didn't work
properly - my posts were delayed several days and sometimes never got there
at all.
Regards, Brian.
--
Logic empowers us and Love gives us purpose.
Yet still phantoms restless for eras long past,
congealed in the present in unthought forms,
strive mightily unseen to destroy us.
http://www.metamilk.com
More information about the Haskell-Cafe
mailing list