# Prose Prose is a programing language that attempts to emphesize significance of communicating solution to a problem. In prose solutions are expressed in a natural language (Just as our everyday thoughts are) while procedural thoughts are expressed in more formal syntax. In a way prose inverts idea of putting comment into code. Primary program input is in [markdown][], with embedded code blocks for expressing implementation details. Language syntax used in code blocks can varry to match best specifics of the solution. Never the less, all of the "prose" code is desugars to an internal [AST][] representation in [lisp][] (Or rather in [wisp][] to be precise, that is [clojure][]-like dialect of lisp). Embedded code blocks there for can be expressed in arbitrary syntax forms as long as reader macro desugaring that form to lisp is registered. As a matter of fact reader macros could also choose to desugar to [JS][], since that a final compile target (although this can be little bit more tricky than targeting lisp form). Code blocks are expected to start with [shebang][] to identify syntax form used by them. For example code block in `clojure` syntax form will be expressed as follows: #! clojure (defn hello [name] (print (str "Hello " name))) Program may have another code blocks expressed in other syntax forms, for example next code block can be in [JS][]: #! javascript function bye(name) { print("Bye " + name) } ## Compiler [markdown]:http://daringfireball.net/projects/markdown [marked]:https://github.com/chjj/marked [Literate_programming]:http://en.wikipedia.org/wiki/Literate_programming [Literate coffeescript]:https://gist.github.com/3790135 [code block]:http://daringfireball.net/projects/markdown/syntax#precode [shebang]:http://en.wikipedia.org/wiki/Shebang_%28Unix%29 # Prose Prose is a programing language that attempts to emphesize significance of communicating solution to a problem. In prose solutions are expressed in a natural language (Just as our everyday thoughts are) while procedural thoughts are expressed in more formal syntax. In a way prose inverts idea of putting comment into code. Primary program input is in [markdown][], with embedded code blocks for expressing implementation details. Language syntax used in code blocks can varry to match best specifics of the solution. Never the less, all of the "prose" code is desugars to an internal [AST][] representation in [lisp][] (Or rather in [wisp][] to be precise, that is [clojure][]-like dialect of lisp). Embedded code blocks there for can be expressed in arbitrary syntax forms as long as reader macro desugaring that form to lisp is registered. As a matter of fact reader macros could also choose to desugar to [JS][], since that a final compile target (although this can be little bit more tricky than targeting lisp form). Code blocks are expected to start with [shebang][] to identify syntax form used by them. For example code block in `clojure` syntax form will be expressed as follows: #! clojure (defn hello [name] (print (str "Hello " name))) [markdown]:http://daringfireball.net/projects/markdown [marked]:https://github.com/chjj/marked [Literate_programming]:http://en.wikipedia.org/wiki/Literate_programming [Literate coffeescript]:https://gist.github.com/3790135 [code block]:http://daringfireball.net/projects/markdown/syntax#precode [shebang]:http://en.wikipedia.org/wiki/Shebang_%28Unix%29 # Forms Wisp emphesizes importance of the idea over implementation details and there for plain source is just a documentation in *Markdown* format. Actual code blocks are plain markdwond code blocks like one below #!wisp (defn hello [name] (print (str "Hello " name))) # Prose Prose is a programing language that attempts to emphesize significance of communicating solution to a problem. In prose solutions are expressed in a natural language (Just as our everyday thoughts are) while procedural thoughts are expressed in more formal syntax. In a way prose inverts idea of putting comment into code. Primary program input is in [markdown][], with embedded code blocks for expressing implementation details. Language syntax used in code blocks can varry to match best specifics of the solution. Never the less, all of the "prose" code is desugars to an internal [AST][] representation in [lisp][] (Or rather in [wisp][] to be precise, that is [clojure][]-like dialect of lisp). Embedded code blocks there for can be expressed in arbitrary syntax forms as long as reader macro desugaring that form to lisp is registered. As a matter of fact reader macros could also choose to desugar to [JS][], since that a final compile target (although this can be little bit more tricky than targeting lisp form). Code blocks are expected to start with [shebang][] to identify syntax form used by them. For example code block in `foo` [markdown]:http://daringfireball.net/projects/markdown [marked]:https://github.com/chjj/marked [Literate_programming]:http://en.wikipedia.org/wiki/Literate_programming [Literate coffeescript]:https://gist.github.com/3790135 [code block]:http://daringfireball.net/projects/markdown/syntax#precode [shebang]:http://en.wikipedia.org/wiki/Shebang_%28Unix%29