Mark Tarver | 8 Jun 13:06 2008
Picon
Picon

Re: Continuations?


Use closures.

eg. a function with two continuations

(f <arg> (/. X (do-this)) (/. Y (do-that)))

(define f
  X Closure1 Closure2 -> (if (my-test X)
                             (call-continuation Closure1)
                             (call-continuation Closure2)))

(define call-continuation
  \ Pass dummy argument to closure to activate it\
    Closure -> (Closure _))

Mark

On 28 May, 21:10, puchacz <piotr.wa...@...> wrote:
> Hi,
>
> Does Qi support continuations in the Scheme style?
>
> Cheers,
> Puchacz
Picon

Qi on abcl on ja va


http://armedbear.org/abcl.html
http://en.wikipedia.org/wiki/CLforJava
more and more librairies are in java,not in common-lisp
coud you imagine Qi II on abcl on java?and how?
good day
bruno
Mark Tarver | 10 Jun 18:40 2008
Picon
Picon

Re: Qi on abcl on ja va


If one were to do that then probably it would make sense to implement
Qi in Clojure.

Mark

On 10 Jun, 17:01, "bruno.frandemi...@..."
<bruno.frandemi...@...> wrote:
> http://armedbear.org/abcl.htmlhttp://en.wikipedia.org/wiki/CLforJava
> more and more librairies are in java,not in common-lisp
> coud you imagine Qi II on abcl on java?and how?
> good day
> bruno
Mark Tarver | 11 Jun 21:00 2008
Picon
Picon

Re: Qi on abcl on ja va


http://groups.google.com/group/clojure/browse_thread/thread/70242cb2c0ca49e6/ea9ad8ac33db6995?lnk=gst&q=bruno#ea9ad8ac33db6995

Right.

Rich seems to think it would be non-trivial.  He may be right, since
Clojure is not CL.  Armed Bear would look easier.    I can find no
documentation for ABCL or any examples of novel applications (which is
not to say there are none; just I cannot
see any citations or code).

Mark

On 10 Jun, 17:40, Mark Tarver <dr.mtar...@...> wrote:
> If one were to do that then probably it would make sense to implement
> Qi in Clojure.
>
> Mark
>
> On 10 Jun, 17:01, "bruno.frandemi...@..."
>
>
>
> <bruno.frandemi...@...> wrote:
> >http://armedbear.org/abcl.htmlhttp://en.wikipedia.org/wiki/CLforJava
> > more and more librairies are in java,not in common-lisp
> > coud you imagine Qi II on abcl on java?and how?
> > good day
> > bruno- Hide quoted text -
>
(Continue reading)

Patrick Hayes | 16 Jun 22:17 2008
Picon

wxWidgets


I would recommend wxWidgets over Tk based stuff for a 21st century
lisp. From what I read, users like it better because it does a pretty
good job of giving a native look and feel for each platform. (Geeky
programmers might not care as much, since if they code something they
certainly know how to use it. But it can be nice if regular people
like your program's UI also, even when you wrote it on Mac OS X and
they are using it on Windows or Linux or vice versa.) wxPython for
example is fairly easy to use, and is gaining increasing mindshare
over Tk in many language communities like Python and Ruby (and
others.) It looks clear that it will continue to be actively developed
with its current active developer base.

There is a wxCL project at http://www.wxcl-project.org which may have
stalled at alpha 1.3, but could be used for ideas, or continued.

Otherwise, wxPython might be looked at for an example of a fairly easy
to use wrapper of wxWidgets, for ideas, as it has been in stable usage
for a while.
Patrick Hayes | 16 Jun 22:51 2008
Picon

Re: wxWidgets


I guess an easy way to experiment with it would be to just embed
Python into an experimental PyQi. Ha ha.

Hmm... I guess you'd get some extra batteries with that. A moment ago
I was just kidding, but it sure would be nice to have access to all
those Python libraries. Maybe Cython, which is a typed and compiled to
C version of Python I think, would be a lot faster. I wonder if you
can use wxPython from Cython. Well now I'm just rambling.

Anyways one way or another my vote would be for a wxQi.
Patrick Hayes | 16 Jun 23:12 2008
Picon

Re: wxWidgets


I forgot:

Here are some screenshots of apps using wxWidgets:
http://www.wxwidgets.org/about/screensh.htm
Patrick Hayes | 17 Jun 08:35 2008
Picon

an "industrial strength" garbage collector for free


I heard SBCL for example has trouble with threads and garbage
collecting.

Here is a link to the Memory Pool System, which was developed for
Dylan and can handle  multi-threaded code and has a lot of other
features. Its free for the taking now; I wonder if it could help SBCL
for example. It says it represents 30 person years of development. I
think those are smart-person years too.

http://wiki.opendylan.org/wiki/view.dsp?title=Memory%20Pool%20System&v=3

Mark Tarver | 17 Jun 09:14 2008
Picon
Picon

Re: wxWidgets


And why not use wx?

The situation now with GUILs is a boiling pot and has been for a long
time.  In the Lisp world CLIM is supposed to be the official GUIL but
the uptake suggests otherwise.  There are various version of Cells and
Cello.  There is LTk.   There is Java and the various Lisps whch
connect to it (ABCL).   There is no clear leader that I can see.

My choice of TCL/tk was influenced by the fact I had a book on it and
its reasonably clear and easy to learn.  But I've no strong axe to
grind on this matter.

I'd encourage people to go out and integrate Qi with various GUILs and
build libraries.  Thats what open source is about.

Implementing Qi in Python has the obvious benefit of securing all the
Python libraries.  The down side is that (as I understand) Python is
much slower than Lisp and so you would see a performance drop.  But
again its worth experimenting.

Mark .

On 16 Jun, 21:51, Patrick  Hayes <patrickha...@...> wrote:
> I guess an easy way to experiment with it would be to just embed
> Python into an experimental PyQi. Ha ha.
>
> Hmm... I guess you'd get some extra batteries with that. A moment ago
> I was just kidding, but it sure would be nice to have access to all
> those Python libraries. Maybe Cython, which is a typed and compiled to
(Continue reading)

Patrick Hayes | 18 Jun 23:21 2008
Picon

Re: wxWidgets


Ok, I'll give wxWidgets some more thought and investigation.

About Python, I wasn't thinking to implement Qi in Python, but rather
to initially embed standard Python in an experimental Qi system, just
as it is embedded in say Blender as a scripting language. Of course Qi
doesn't need a scripting language, but it would allow using any Python
library from Qi. Pure python would be slow, but with a bit more work C
module extensions of python could be called more directly, bypassing
the Python interpreter, so they would be faster. And of course Qi
would still be as fast as it already is.

If that succeeded and was useful, Python could be implemented in Qi,
not embedded, and with no interpreter, but rather through a translator
written in Qi which would make use of the underlying CL compiler as
the last step. Then all Python could run pretty fast, as long as the
translator was written to be fast for when Python does an eval, but
from what I've read, Qi can easily handle it. I bet a lot of Python
users would love it just to run Python fast. It could get a lot of
publicity for Qi.

The question though is: would that necessarily ruin the Qi manifesto
just to get libraries?


Gmane