Name: Anonymous 2009-07-14 17:28
I've spent long nights meditating on this and I think I have a design that could work.
Commands are normal scheme expressions embedded in text, for example a post body of "Hello, number (+ 2 3)" would output "Hello, number 5". Literal parenthesis would need to be escaped with a backslash. All expressions are evaluated and their output displayed except for define expressions, which are both evaluated and displayed.
Each thread is roughly equivalent to a scheme session. Names defined in parent posts are available to subsequent posts in the thread. Names are immutable within a thread; symbols cannot be redefined.
Obviously a set of primitives should be provided: the basic arithmetic operations; a display operation; a set of formatting operations roughly equivalent in capability to today's BBCode; and, of course, our old friends cons, car and cudder.
What say you, /prog/? Can we do this thing?
Commands are normal scheme expressions embedded in text, for example a post body of "Hello, number (+ 2 3)" would output "Hello, number 5". Literal parenthesis would need to be escaped with a backslash. All expressions are evaluated and their output displayed except for define expressions, which are both evaluated and displayed.
Each thread is roughly equivalent to a scheme session. Names defined in parent posts are available to subsequent posts in the thread. Names are immutable within a thread; symbols cannot be redefined.
Obviously a set of primitives should be provided: the basic arithmetic operations; a display operation; a set of formatting operations roughly equivalent in capability to today's BBCode; and, of course, our old friends cons, car and cudder.
What say you, /prog/? Can we do this thing?