This might interest you, it's not Clojure, but Lisp. Do you know the online game Vendetta? They have used Lisp extensively for non-player character behavior, and have a REPL integrated into the game. http://www.vendetta-online.com "Vendetta Online has a Lisp environment (using SBCL) which controls much of its NPC behavior and will soon be in charge of generating player and NPC missions. Partly in order to get around some thread-safety issues, and partly for convenience we built an REPL into a secret chat channel. (it only responds to developer accounts)" http://www.a1k0n.net/2005/11/04/lisp-repl-vendetta-online.html
Later they started using Erlang in combination with Lisp since they had some problems with concurrency and garbage collection in SBCL. http://www.vendetta-online.com/x/msgboard/1/15560#196333 > We chose common lisp primarily for its rapid-prototyping capabilities. In CL, > it is very easy to > define 'mini-languages', which is what I've done for missions, objectives, > senses, reflexes, > state-machines, business-models and more. All the code written in these > special languages > will remain untouched, and be auto-translated (by CL code) into erlang. As I > develop new > missions, reflexes, etc, I will continue to use the mini-languages; the > processes they describe > will simply be running on a distributed, fault-tolerant, erlang-based > platform instead of the > simplistic single-threaded one they have been running on. We had hoped for > the simplistic > system to continue to serve for a while yet, so that we could focus on > player-visible > features, but we always knew it would need to be made more scalable at some > point. > If you know of a 'more mainstream (/debugged/tested/reliable)' > language/runtime than erlang that provides: > 1) *very* light-weight processes > 2) distributed, message-passing concurrency; > 3) unification/pattern-matching > 4) a soft-real-time, distributed, disk and/or ram-based relational/object > database usable > with or without transactions (just a few of mnesia's features), > 5) facilities for zero-downtime code-upgrades, and other high-availability > features > 6) a powerful enough set of semantics (eg. closures) to make auto-translation > from lisp less painful than a complete rewrite - Raju -- 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