Thanks for the interesting thread. I was considering using clim for an experimental openGL application I'm writing, but I didn't get too far with it (on Darwin platform). So, I'm using OpenGL and GLU only for now. See link below for more details. Since I'm at a point where I need some high-level UI gadgets like pop-menus and things, it would be nice to fit what I have into a lisp framework, since the toplevel of what I have is written in lisp (image proceessing stuff is in C++).
http://kevinmichaelsmith.posterous.com/
I'm interesting in learning more about the benefits of clim and if that could work with an openGL canvas using mac backend for UI look and feel.
On Nov 19, 2010 8:21pm, Craig Lanning <CraigL@sc.rr.com> wrote:
> On Sat, 2010-11-20 at 01:10 +0000, James Ashley wrote:
>
> > Hi, all.
>
> >
>
> > I've been programming for close to 30 years now, and I've been trying
>
> > to find a good excuse to really learn common lisp (as opposed to just
>
> > dabbling) for the past 3 or so.
>
>
>
> I've been programming in Lisp (first Zetalisp on a lisp machine, then
>
> Common Lisp on Unix, Windows, and Linux) professionally for 25 years and
>
> I find it to be the best language for just about anything.
>
>
>
> > I think I've finally come across a project that feels like the right
>
> > "fit." The basic idea is a collaborative 3-d client-side application
>
> > server with a built-in IDE that persists the state off all its
>
> > applications between all its program runs.
>
>
>
> You need to be aware that CLIM doesn't have any 3D concepts in it so you
>
> will need to add those abstractions. The good thing is that CLIM is
>
> layered so if there are no high level facilities that do what you need,
>
> you can build them up from the lower level facilities.
>
>
>
> > This is total vaporware at the moment...I'm just trying to do some
>
> > basic research and pick the right tools. I've been involved in way too
>
> > many where we started out in one environment, got a proof of concept,
>
> > then realized there were some fundamental limitations that kept us
>
> > from moving forward, so we essentially had to start over from scratch
>
> > (or wound up layering ever-more-unmaintainable pieces on top of an
>
> > unsustainable architecture).
>
> >
>
> > Right now, I'm thinking off "applications" being developed on at least
>
> > 4 different levels. One would be raw common lisp, that interacts
>
> > directly with the "interpreter." Another would really be creating
>
> > custom frame managers (I think...I'm just scratching CLIM's surface)
>
> > to provide eye candy effects (since I'm planning on targeting the
>
> > masses, I've learned that it's pretty much all about the eye candy).
>
> > Yet another would be something like the HTML/CSS/Javascript paradigm
>
> > to create 2-d "applications." And the last would be the actual 3-d
>
> > world where the users interact.
>
> >
>
> > A combination of Open Cobalt and World Forge seemed like the "proper"
>
> > mix at first. But, the more I dug into smalltalk, the less impressed I
>
> > was. I kept thinking "If only I could write a macro to do all this..."
>
> >
>
> > The more I dug into it, the more I realized just how big and ambitious
>
> > this project is.
>
>
>
> One thing I've found is that I can build applications much faster in
>
> Common Lisp and they are much more robust. You may find that as you
>
> become more proficient in CL that your project doesn't take as long as
>
> you thought.
>
>
>
> > If I'm going to be dedicating 10 years (or more) to
>
> > something, and forcing my users to download some obscure runtime
>
> > anyway...why not go with a language that left my jaw on the floor and
>
> > my head spinning? I realize common lisp isn't perfect, but what is?
>
> > (Clojure's tempting. I downloaded it, spent about 20 minutes to get a
>
> > REPL, and finally gave up. It may be mature and "ready for the big
>
> > leagues" before this project is, but...common lisp's there now.
>
> > Racket's similarly tempting, but I just don't seem to fit with the
>
> > Scheme community).
>
>
>
> I currently use SBCL as my free CL of choice and LispWorks as my
>
> commercial CL of choice.
>
>
>
> > The ideas behind McClim seem to feel like it's the right "fit" for the
>
> > GUI part of the project. Not all the eye-candy pieces, of course.
>
> > Just...conceptually. I've been digging my way through the old mailing
>
> > list archives (the check-in comments are a lot more educational than I
>
> > realized at first. I'm glad they got archived that way), and I see
>
> > that there's been speculation about an OpenGL backend for ages now
>
> > (and at least an experimental stab at writing one).
>
> >
>
> > Conventional wisdom seems to dictate using something like one of the
>
> > GTK bindings for the UI. But it seems to me that, if I started there,
>
> > I'd just wind up re-implementing tons of CLIM to get to an abstraction
>
> > level where I could forget about that and get down to real work. It
>
> > seems to me that my time would be better spent helping get the GTKairo
>
> > working solidly.
>
>
>
> It's interesting that you should mention "re-implementing tons of CLIM".
>
> I have watched (mostly) and participated (a little) in the development
>
> of XEmacs for many years. As they discussed the various target user
>
> intefaces (Win32, GTK, etc.), I noticed that they were implementing
>
> parts of CLIM in C.
>
>
>
> Actually, one of the nice things about using CL and CLIM is that you get
>
> to define your UI separately from the implementation, thus, allowing you
>
> to more easily port your application to more systems. CLIM can have
>
> multiple backends: GTK, OpenGL, Win32, XLib, etc.
>
>
>
> > Either way, I'll wind up duplicating the work to switch to some crazy
>
> > gadget set built entirely on some 3-d engine or other.
>
>
>
> > I see one of the fundamental programs being a traditional "form
>
> > builder" kind of drag-and-drop thing along the lines of VB. Probably
>
> > with some kind of tree view (or maybe boxes) to hide the fact that the
>
> > code's actually being written in lisp.
>
> >
>
> > Am I barking up the wrong tree? Like I said...I've been going through
>
> > the old mailing list archives. I've normally have wrapped that up and
>
> > at least gotten more than a passing acquaintance with actually writing
>
> > McCLIM code (at this point, I'm just digesting that ancient CLIM
>
> > "walk-through" referenced first on the home page) before de-lurking.
>
> > But I ran across someone else today who seems to be thinking on at
>
> > least vaguely parallel lines to mine, and I figured this was the best
>
> > place to check before I wasted his time with my ideas.
>
>
>
> I say go for it. I haven't found a project yet that I wouldn't rather
>
> do in Lisp.
>
>
>
> Craig
>
>
>
>
>
>
>
>
>
> _______________________________________________
>
> mcclim-devel mailing list
>
> mcclim-devel@common-lisp.net
>
> http://common-lisp.net/cgi-bin/mailman/listinfo/mcclim-devel
>