This idea's been on my mind lately: could Clojure be used as a unifying force for all those disparate file formats and frameworks like: - XML / XLink / XPointer / XQuery, - JSON, - HTML / XHTML, - CSS, - JavaScript / jQuery, - Flash (SVG/ActionScript), - SQL, - and (of course) Java?
As a disclaimer, I'm no expert on all of these things I'm listing. But my thoughts go like this. - XML and JSON are roughly equivalent. - HTML, XHTML, and SVG are subsets of XML. - *These "data storage" filetypes are equivalent to Clojure data structures like vectors, symbols, keywords, lists, maps, etc. and could theoretically be reduced to Clojure S-expressions.* - Java, JavaScript, and ActionScript all play roughly the same role. - Some aspects of their libraries overlap with XML navigation and manipulation functions (XLink / XPointer / XQuery). - *Clojure covers what these languages aim for. It has direct access to Java libraries and the Clojure to JavaScript compiler has already been written, so further interop with ActionScript/Flash shouldn't be too terribly difficult (there's already a port on GitHub here<https://github.com/aemoncannon/las3r/wiki> ).* - *SQL is a subset of Clojure. It just uses operations on the equivalent of Clojure data structures.* *- *Probably other languages can be included in this set of which Clojure is a superset. As it gains more popularity and notoriety, Clojure could be used side-by-side with and eventually in place of all of the above filetypes and frameworks I mentioned (and more). Say goodbye to 15 different Web technologies and hello to one, much better, more powerful one that envelops all of them. Of course, I think my parade is going to get rained on. Clojure runs on the JVM and we've already said goodbye to Java applets long ago. So maybe a workaround would be to compile Clojure to a hundred little XML/HTML/CSS/SQL/JavaScript files, but to really only code in Clojure. But not having to compile it would be nice. Think about it: with Clojure macros, you can have self-optimizing code, which would make for a self-optimizing web. Clojure running on the JVM would mean fairly easy concurrency, which would speed up video streaming/processing and (Clojure ported) Flash media significantly, especially as Moore's Law kicks in with multicore processors. Thoughts? -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.