Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

Scheme Textboard Development

Name: Anonymous 2013-09-04 8:37

So, since I've been making headway on the FastCGi daemon and all that, one thing I'm not looking forward to is writing the BBCode parser in Scheme.

Does anyone know of a BBCode implementation in Scheme? Or can anyone make a sane one in (mostly pure) Scheme?

Name: sage 2013-09-04 11:32

>>2
Maybe a very slim version of sexpcode, as the whole thing is needlessly complicated. I don't mind, really. As long as you guys like it and it can be implemented sanely.

Name: Anonymous 2013-09-04 20:10

>>3
I don't think it would be harder to parse than BBCode, but it would be way easier to write in posts.

You can forget about silly stuff like ``function'' definitions, just composing the tags would be good enough.

Coincidentally, I recently wrote a Sexpcode parser in Clojure, I don't think it would be hard to translate it into Scheme if you are so inclined.

Name: Anonymous 2013-09-04 20:33

>>4
That would be good, if you don't mind sharing. I've actually used Clojure so it would be easy to translate.

Name: Anonymous 2013-09-04 20:38

If anything, Sexpcode would be easier to parse, because, you know, they are Sexps.

Name: Anonymous 2013-09-04 21:19

Here you go: http://pastebin.com/QF8q0tx7

It's a Base64-encoded .tar.gz archive. It contains the leiningen project.

I missed some test bullshit while cleaning up, and note that there are slight differences from what the Clojure code would be from Clojurescript in the parser, but I think I commented them, and they otherwise should be quite simple.

Name: Anonymous 2013-09-04 21:26

>>7
Thanks!

Also, that was only 7KB. You're free to post b64 on here if you want:

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
G2j/C+/nTvcAeAAA


Looks good. I'll translate it so that it works in the Scheme interpreter and post results.

Name: Anonymous 2013-09-05 5:02

yes, you could consider me an expert in applying purely functional scheme to the domain of everyday problems. I tail recurse. I reverse my accumulators. I swap dup and mul everyday. And- *sees >>7* -oh I'm too late.

Don't change these.
Name: Email:
Entire Thread Thread List