Mocl: Common Lisp for iPhone/iOS, Android, and other mobile platforms
wukix.com
wukix.com
The community surrounding that isn't exactly vibrant.
An example from an attempt to find a viable/nice Common Lisp templating library for making web apps (a problem for me before, I hate CL-WHO. Vile.)
http://www.cl-user.net/asp/U5Hd/sdataQGW2OvQLz758DQdX8yMX8yB...
Hrm. Yes. Hrm. Seems promising, exceeeept...
https://groups.google.com/group/cl-terrace/web/djula
The Google Group for it has...disappeared?
http://common-lisp.net/project/bpm/darcs/djula/
Yay, code!
That hasn't been touched since 2008!
CL-WHO, which I think is the most popular way to solve this problem hasn't been touched in 2 to 7 months, depending on how you measure it.
See here:
https://github.com/edicl/cl-who
The Ningle web framework for Clack, found here: https://github.com/fukamachi/ningle
Not been touched in 4-8 months.
Caveman (clack framework): https://github.com/fukamachi/caveman/ 4-8 months.
HTML-TEMPLATE hasn't been touched since Tue, 02 Dec 2008.
The most popular web server for CL, Hunchentoot hasn't been touched (based on the darcs repo anyway) since Tue, 24 Aug 2010.
Take a look for yourself: http://common-lisp.net/~loliveira/ediware/
The Common Lisp community is moribund at best.
I would PREFER to use Common Lisp over, say, Clojure or Python however the fact is that there just aren't enough people using it or maintaining web development software for it to overcome the time expenditure trade-offs.
So, can we drop the triumphant tone as it concerns CL? Even Paul Graham tells most people to just use Clojure.
I pick Clojure more often for my uses (not that I'm as liberated as I'd like in choosing tools), but I can imagine situations where I'd instead use Common Lisp.
Hunchentoot has been updated, it is just maintained by somebody else now AFAIK ( https://github.com/edicl/hunchentoot/downloads ). I do remember that there was a version (1.2?) that had some backward compatibility problems and that was last year.
Try quicklisp ( http://www.quicklisp.org/ ) for all your lib needs, it is a nice lib repository and it is very up to date (though still beta).
I don't like any templating system that mixes frontend with backend.
That statement is just untrue, take a look yourself. https://github.com/edicl/hunchentoot/commits/master
Also there is an active community in Japan from what I can gather from github.com
They done cl-annot[1], which is a way to annotate functions with the @ syntax from python. Clack[2], the WSGI-equivalent for cl. And the Caveman[3] and Ningle[4] webframeworks.
[1]: https://github.com/arielnetworks/cl-annot [2]: https://github.com/fukamachi/clack [3]: https://github.com/fukamachi/caveman [4]: https://github.com/fukamachi/ningle
They're relatively unmaintained and I still can't find a templating library for CL that isn't awful.
I haven't got round to testing it, but it sounds good so I might try writing my next project with it. Having said that, CL-WHO has had some updates recently to add basic support for HTML5. Hunchentoot is also getting fairly consistent updates, I think there is even a websocket extension for it now.
I think Quicklisp has been responsible for a resurgence recently in Common Lisp. It used to be quite a pain for new people to get libraries up and running, which of course affected how much they get used/tested; so a common refrain was "Not happy? Just write your own". Now it's much easier to share and use libraries, and I'm seeing a fair bit of interesting development.
My favourite example at the moment is cl-parallel: http://lparallel.org/ Clean documentation, nice looking abstractions for seamlessly parallelizing code, I'm looking forward to trying it out next.
I don't want my HTML templates in my Common Lisp code!
Most of my projects have a separate frontend guy who needs to be able to write the templates himself without touching or knowing the backend code. Django, Rails, Flask, Sinatra et al understand and respect this.
For some reason, most Clojure and Common Lisp libraries fail to grok this. I don't know why.
I want plain HTML files with some simple (mustache or Django/Jinja-style) tokens for injecting data provided by a hash-map/dictionary/assoc-list.
That's. It.
The way I separate it out (and keep it sane!) is by trying to stick to a fairly strict MVC style and keep the backend code in separate functions away from the frontend cl-who templates. But this does still require some initial work in translating the initial html templates to my lisp templates, so I'll agree with you there.
And yes, it certainly does make it more difficult when dealing with 3rd party designers. I have to translate all their basic html templates into lisp/cl-who syntax. But I don't find that too much of a hardship tbh and the tradeoffs are worth it.
That would not work for more complicated projects at all.
Of course, good luck on getting anything with a functioning REPL on iOS anyway (even the original package under discussion).
Ruby Motion comes pretty close.
So it seems like there are two choices:
1. There's a wrapper library on top of UIKit instead of straight bindings. Not good, more levels of junk, and can't really provide access to the entirety of the API since it doesn't 100% match with Android.
2. It's platform portable... as long as you don't actually use any system frameworks. In that case, it could be nice for games, I guess, but would it be fast enough?