Re: [Gardeners] Scheme vs CommonLisp
Peter, Wow, what an awesome answer. This is exactly right to the best of my own knowledge. I will add a few more facts. As Peter knows, there are a few people out there who are 100% /au courant/ with both Common Lisp and Scheme, technically, culturally, and historically, and can accurately assess the similarities and differences in great detail and very fairly. Alan Bawden and Guy Steele are the ones who spring to mind, but I'm sure there are some others out there. Although Scheme has specs (for the different revisions) that are written far more carefully than the Common Lisp spec, nevertheless the differences between the implementations are severely worse than among the 11 Common Lisp implementations. (Alexey Radul did a presentation not long ago on this at the Boston Lisp Meeting.) Also, revision 6 (known as R6RS) of Scheme, which came out last year, is somewhat controversial, and some Scheme maintainers have said that they will stick at revision 5; but it remains to be seen. The guys behind PLT Scheme are extremely smart and are doing a wonderful job. They have some great programming tools, aimed at students, but usable by anyone. Someday it would be nice if someone created analogous technology for Common Lisp. -- Dan ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] Scheme vs CommonLisp
nubis wrote: I know, I know, this sounds like ramblings from a person who can't make up his mind (which in part, they are) On the contrary, I think you have a very good grasp of the tradeoffs. Am I to wrong to look at Common lisp for a metaprogramable python replacement? (with less library bindings and googlish hype) No, you're right. Is opening a REPL and running your program the recomended way to run a lisp program? was it ever, or was it just a misconception? Yes, while you're developing, definitely. Once you deploy an application, there are ways to start Lisp running your program, so the end user need not see the REPL. -- Dan -- Daniel Weinreb [EMAIL PROTECTED] http://danweinreb.org/blog/ http://ilc2009.scheming.org/ ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] web framework
Nubis, James, James Fleming wrote: Hi there, can anyone recommend me the 'simplest' (as in, will-later-find-myself-doing-ad-hoc-stuff-but-it-was-easy-to-grasp-at-first) web framework for common lisp? I can recommend Hunchentoot. I used to use Araneida, but it seems to have fallen to the competition. Hunchntoot is the best HTTP server in Common Lisp. By Edi Weitz, probably the best writer of free CL libraries. We use it at work. This decision is a no-brainer. Hunchentoot, then, with CL-WHO to produce the actual HTML. There's also a gotcha with CL-WHO, incidentally, regarding when you should use (format t ...) and when to use (format nil ...), but if the output isn't appearing when you expect, that's the first thing to check. I think the big question is what Nubis means by a web framework and what he expects such a thing to do. You might also want to check out UCW (the UnCommon Web). However, it's based on continuations; while they're a nifty language feature, you might want to limit the number of learning curves that you're climbing at any one time. UCW is by Marco Baringer, also an awesome hacker. UCW is known to work with Allegro CL, CMUCL, CCL (Clozure, formerly known as OpenMCL), GNU clisp, and SBCL. Hunchentoot is similar but is not tested in GNU clisp and is tested on LispWorks. I'm sure there are a couple of others, but these seem to be the main contenders. Once you've gotten yourself up and running, definitely check out all the options and see what you make of them from there. BKNR is at http://bknr.net/html/home.html. It looks like it's being maintained by Hans Hubner, also an awesome hacker. (All three of them are currently working at my employer, ITA Software, as consultants. We all know each other very well.) I think there is at least one other major one, but I can't remember. Drew Crampsie's Lisp on Lines isn't finished yet. So which one is best? Read the web sites and overview documentation and see which ones seems to be a better fit for what you had in mind. -- Dan Cheers, James but I want the less 'protocolar' one, I've worked with 'mvc' style frameworks this far, but any other paradigm will do, as long as its lightweight and has passable documentation. thanks! I still don't trust myself to evaluate this kind of things in lisp, and want to start as fast as possible, sorry for my newbie-ism. -- nubis :) http://woobiz.com.ar ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners -- Daniel Weinreb [EMAIL PROTECTED] http://danweinreb.org/blog/ http://ilc2009.scheming.org/ ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] Scheme vs CommonLisp
Marek Kubica wrote: Scheme does only provides only HOP (runs only on Bigloo) and the stuff that PLT Scheme comes with. HOP is so cool! As long as you want to program in the Bigloo implementation of Scheme. http://hop.inria.fr/ It won the Open Source Software Competition at ACM Multimedia 2007. I saw Manuel Serrano's presentation at the Montreal Scheme and Lisp User Group last fall. Everybody was blown away. The feature and problem with Scheme is that it has been traditionally tiny, so it is hard to write useful code that is implementation independent (And also the implementations just aren't very compatible with each other Common Lisp implementations are actually quite good about this, as far as the language spec goes. Language extensions, however are idiosyncratic.) so you often have a hard time to find libraries that you need (for example datetime - as far as I have seen only SCSH seems to have facilities to calculate with dates). Usually I'd recommend PLT Scheme which comes with batteries included and has a Cheeseshop equivalent called PLaneT where you can find some more libraries that might help you. Indeed. But HOP probably won't work with it. Common Lisp has the great SLIME extension, whereas Scheme has DrScheme which is also a reasonably good Scheme editor with some nifty features. PLT Scheme has DrScheme; I don't know whether it runs in other Schemes. -- Dan Now, the conclusion is... use what fits your mind better. Maybe I am talking too much about it, I should better try to continue building some real programs :) regards, Marek ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners -- Daniel Weinreb [EMAIL PROTECTED] http://danweinreb.org/blog/ http://ilc2009.scheming.org/ ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] Scheme vs CommonLisp
On Thu, 14 Aug 2008 10:08:47 -0400 Daniel Weinreb [EMAIL PROTECTED] wrote: HOP is so cool! As long as you want to program in the Bigloo implementation of Scheme. http://hop.inria.fr/ It won the Open Source Software Competition at ACM Multimedia 2007. I saw Manuel Serrano's presentation at the Montreal Scheme and Lisp User Group last fall. Everybody was blown away. Fluxus http://www.pawfal.org/fluxus/ is also cool, while not being a web framework it is a really impressing thing to show others how great Scheme (and basically also other Lisps) is; unfortunately it runs only on PLT Scheme. Common Lisp has the great SLIME extension, whereas Scheme has DrScheme which is also a reasonably good Scheme editor with some nifty features. PLT Scheme has DrScheme; I don't know whether it runs in other Schemes. No, it does not, but it has support for other custom-languages (called as far as I get it teachpacks) like Typed Scheme etc. Besides DrScheme there is still Quack http://www.neilvandyke.org/quack/ for Emacs, so SLIME users are not forced to change editors. But it is not as fully featured as Emacs. DrScheme has also the Ability to show pictures in the REPL, which is possible with SLIME only using some patches which do not look like they would be integrated into SLIME anytime soon. regards, Marek ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] web framework
On Thu, 2008-08-14 at 10:01 -0400, Daniel Weinreb wrote: Nubis, James, James Fleming wrote: Hi there, can anyone recommend me the 'simplest' (as in, will-later-find-myself-doing-ad-hoc-stuff-but-it-was-easy-to-grasp-at-first) web framework for common lisp? I can recommend Hunchentoot. I used to use Araneida, but it seems to have fallen to the competition. Hunchntoot is the best HTTP server in Common Lisp. By Edi Weitz, probably the best writer of free CL libraries. We use it at work. This decision is a no-brainer. Hunchentoot, then, with CL-WHO to produce the actual HTML. There's also a gotcha with CL-WHO, incidentally, regarding when you should use (format t ...) and when to use (format nil ...), but if the output isn't appearing when you expect, that's the first thing to check. I think the big question is what Nubis means by a web framework and what he expects such a thing to do. First of all, thanks all of you for your replies (to the scheme and CLisp thread also) What I want is something that nicely integrates an ORM, an abstraction to make requests be 'functions' that access a 'request' object and return a response object containing headers + [generated html | JSON], I don't need it to have a built in web server, as I rather deploy with apache+mod_lisp, fastcgi or lighty. having urls be matched to a given function in a separate configuration-like file would be a plus. If someone knows the django web framework, all of this may sound familiar. But most of all, I need nice documentation with working examples on how to use each feature, apart from good documentation, see , in the long run I want lisp to be my company's main language (I own a small web dev company, I have 2 employees), and I don't want to force the guys away from python+django with they feeling at loss. UCW and http://labs.core.gen.tr/ seem like good candidates ( I feel comfortable with most 'advanced' programming topics like continuations). hunchentoot also seems to have some of the features I look for, thanks for helping me reduce the choices to those three. Still, Hunchentoot doesn't seem to come with an ORM, but I guess the community has one or two favorites, can you recommend any? ( you guys may think I'm some kind of newbie flame war starter by now :). I think I can pull this off smoothly if I find the right analogous technologies from what I'm using (python+django(which has templates and an orm). Marek, you look like you've already been through this :) what toolchain do you think would be the most django-esque, technical and documentation-wise? again, thank you all :) -- nubis :) http://woobiz.com.ar ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] Scheme vs CommonLisp
nubis [EMAIL PROTECTED] writes: I can find the differences between them STFW (already found some of them), but I want your informated subjective opinion. What are the biggest differences technical and culturally between Common Lisp and Plt Scheme. Which kind of people uses each one? The other answers have been great, but I wanted to give you my opinion. Especially since colleagues ask me this question all the time. (Well, actually they ask me is they should use Scheme or Common Lisp.) I think that if you are just starting out, you should use PLT Scheme. It has a very friendly and helpful community as well as a very good set of libraries. That isn't to say the other Schemes and CLs aren't good (they are generally wonderfully), but PLT is a particularly good environment to start in. That's my opinion, for whatever it's worth! If you choose PLT Scheme there is a simple guide to writing web apps at http://docs.plt-scheme.org/more/ Cheers, Chris Dean ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] web framework
On Thu, Aug 14, 2008 at 7:13 PM, nubis [EMAIL PROTECTED] wrote: On Thu, 2008-08-14 at 10:01 -0400, Daniel Weinreb wrote: Nubis, James, James Fleming wrote: Hi there, can anyone recommend me the 'simplest' (as in, will-later-find-myself-doing-ad-hoc-stuff-but-it-was-easy-to-grasp-at-first) web framework for common lisp? I can recommend Hunchentoot. I used to use Araneida, but it seems to have fallen to the competition. Hunchntoot is the best HTTP server in Common Lisp. By Edi Weitz, probably the best writer of free CL libraries. We use it at work. This decision is a no-brainer. Hunchentoot, then, with CL-WHO to produce the actual HTML. There's also a gotcha with CL-WHO, incidentally, regarding when you should use (format t ...) and when to use (format nil ...), but if the output isn't appearing when you expect, that's the first thing to check. I think the big question is what Nubis means by a web framework and what he expects such a thing to do. First of all, thanks all of you for your replies (to the scheme and CLisp thread also) What I want is something that nicely integrates an ORM, an abstraction to make requests be 'functions' that access a 'request' object and return a response object containing headers + [generated html | JSON], I don't need it to have a built in web server, as I rather deploy with apache+mod_lisp, fastcgi or lighty. having urls be matched to a given function in a separate configuration-like file would be a plus. If someone knows the django web framework, all of this may sound familiar. hunchentoot also seems to have some of the features I look for, thanks for helping me reduce the choices to those three. Still, Hunchentoot doesn't seem to come with an ORM, but I guess the community has one or two favorites, can you recommend any? ( you guys may think I'm some kind of newbie flame war starter by now :). I think I can pull this off smoothly if I find the right analogous technologies from what I'm using (python+django(which has templates and an orm). I don't know any fullstack (templating+orm+mvc) web framework written in CL. You may pick libraries that suits you, like hunchentoot+postmodern+cl-who. These ones are fairy stable and well documented. Write some lisp/shell glue and it'll give you dream framework. -- Best regards, Rafal Strzalinski http://nablaone.net ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] web framework
On Thu, 14 Aug 2008 14:13:27 -0300 nubis [EMAIL PROTECTED] wrote: Marek, you look like you've already been through this :) what toolchain do you think would be the most django-esque, technical and documentation-wise? No, I haven't yet used either Lisp for the Web, just watched screencasts of UCW (which does not seem too Django-like, I suspect its more comparable with Seaside) and Lisp on Lines. The thing is: while you most probably can get a lot of great code that can compete technically, the Django developers have worked at a newspaper and had since the beginning a big focus on really nice documentation. This is something that you will not encounter that often in the Lisp world, at least I haven't. Of course, there are some exceptions where the authors do provide comprehensive documentation. regards, Marek ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] web framework
On Fri, 2008-08-15 at 00:54 +0200, Marek Kubica wrote: On Thu, 14 Aug 2008 14:13:27 -0300 nubis [EMAIL PROTECTED] wrote: Marek, you look like you've already been through this :) what toolchain do you think would be the most django-esque, technical and documentation-wise? No, I haven't yet used either Lisp for the Web, just watched screencasts of UCW (which does not seem too Django-like, I suspect its more comparable with Seaside) and Lisp on Lines. yup, I agree, UCW is more like seaside, maybe I'm just messed up, but I just find it 'anti natural', too different from what I use and already like, and in part I don't trust they can disguise a stateless protocol as stateful, (I don't even know if that's their main goal, nor tried it to back my sayings, just to busy to try it for real), I know this seaside friend who instead of traditional 'cookie based' sessions or similar approaches, relies on the tcp connection, requiring login if it's interrupted or lost, I think it makes it a little harder to scale among other downsides ... maybe I should stop badmouthing them until I get informed. The thing is: while you most probably can get a lot of great code that can compete technically, the Django developers have worked at a newspaper and had since the beginning a big focus on really nice documentation. This is something that you will not encounter that often in the Lisp world, at least I haven't. Of course, there are some exceptions where the authors do provide comprehensive documentation. regards, Marek rats!, still I expected that answer, I may even be able to tend that part of the garden :), now, back to the two nice tutorials I found here http://www.newartisans.com/blog_files/common.lisp.with.apache.php http://www.newartisans.com/blog_files/hunchentoot.primer.php thangs all nubis :) http://woobiz.com.ar ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners