Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Jazz repl
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  5 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
mgidde  
View profile  
 More options Sep 20, 6:28 am
From: mgidde <marco.gi...@freenet.de>
Date: Sun, 20 Sep 2009 03:28:34 -0700 (PDT)
Local: Sun, Sep 20 2009 6:28 am
Subject: Jazz repl
Hello Guillaume e.a.,

is it possible to get a Jazz repl without Jedi? bin/kernel is more or
less a gambit repl and jazz.debuggee seems to contain the code that is
used within Jedi, but i have no idea how to use it outside Jedi.

The reason for this wish is probably obvious: I am addicted to
Emacs :-)

Regards, Marco


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Guillaume Cartier  
View profile  
 More options Sep 20, 3:08 pm
From: Guillaume Cartier <gcart...@jazzscheme.org>
Date: Sun, 20 Sep 2009 15:08:38 -0400
Local: Sun, Sep 20 2009 3:08 pm
Subject: Re: Jazz repl

Jazz was designed so it can be used independently of Jedi. As for a jazz.exe
that implement's a Jazz REPL, I started work on that but it is really low
priority as it would be a pale substitute for Jedi (one big thing for
instance that a console-based REPL will never be able to handle well is
debugging multiple threads / processes).
I'd say the best thing for you is to edit in Emacs and debug using Jedi.
Note that Jedi when activated checks the modification time of all its edited
files and proposes reload if some have changed.

Also, note that if you decide to give Jedi a spin, it implements a large
subset of Emacs functionality like :

- navigation using c-a, c-b, ...
- incremental search
- syntax coloring
- tab completion
- code indentation
- clipboard stack
- textual macro recording
- c-x c-f to find files- ...

and when you launch Jedi and create a new profile, if you choose Bindings:
Emacs, then pretty much all basic Emacs bindings should work.

Guillaume


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marco Gidde  
View profile  
 More options Sep 23, 2:51 pm
From: Marco Gidde <marco.gi...@freenet.de>
Date: Wed, 23 Sep 2009 20:51:01 +0200
Local: Wed, Sep 23 2009 2:51 pm
Subject: Re: Jazz repl
(sorry for the late reply)

> Jazz was designed so it can be used independently of Jedi. As for a jazz.exe that implement's a
> Jazz REPL, I started work on that but it is really low priority as it would be a pale substitute
> for Jedi (one big thing for instance that a console-based REPL will never be able to handle well
> is debugging multiple threads / processes).

Nice to hear that you work on a jazz.exe, sad that it is low
priority. Threads are currently not an issue here, but I think there are
ways to handle it in a somewhat blown up REPL, e.g. Common Lisp + SLIME.

> I'd say the best thing for you is to edit in Emacs and debug using Jedi. Note that Jedi when
> activated checks the modification time of all its edited files and proposes reload if some have
> changed.

That's mainly the way I use Jazz right now, but it is not that
satisfactory: what I enjoy most when programming in any kind of Lisp is
the possibility to try things out fast, i.e. use a REPL.

> Also, note that if you decide to give Jedi a spin, it implements a large subset of Emacs
> functionality like :

> - navigation using c-a, c-b, ...
> - incremental search
> - syntax coloring
> - tab completion
> - code indentation
> - clipboard stack
> - textual macro recording
> - c-x c-f to find files
> - ...

> and when you launch Jedi and create a new profile, if you choose Bindings: Emacs, then pretty much
> all basic Emacs bindings should work.

Yep, I know and use all (almost) of it in Jedi, but:

1. there is no Paredit mode:

   I was very surprised to see how much one can get used to such a tool,
   in fact I did not close a parenthesis in Lisp for about two years now
   - that is before using Jedi :-)

2. Linux

   But more important is Jedi's performance on Linux: in the mail
   archive someone described that the redraw is more or less pixel-wise,
   and this is also the case here. Being not an expert in programming
   Cairo, I only can give you two vague hints:

   a) AFAIK Cairo does *not* support any kind of double buffering out of
      the box

   b) you are using only one X11 Window, which is *very* uncommon for a
      gui toolkit

Btw, I managed to compile Jazz/Jedi with gambit --enable-cplusplus and
could provide a patch which is not directly applicable (hard coded 'g++'
and the like), but could give you an idea where some (minor) changes
could be made to support c++. Most are explicit casts from int to some
enum type in the ffi, which are necessary in c++ and do not hurt in c.

Regards, Marco


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Guillaume Cartier  
View profile  
 More options Sep 24, 7:18 am
From: Guillaume Cartier <gcart...@jazzscheme.org>
Date: Thu, 24 Sep 2009 07:18:51 -0400
Local: Thurs, Sep 24 2009 7:18 am
Subject: Re: Jazz repl

I'm open to any suggestions. But seeing that the Gambit REPL's support for
threads is minimal and that various discussions with Marc Feeley ended in
him reiterating that it is not possible to fully support threads in a pure
console based REPL, I'm doubtful.

> > I'd say the best thing for you is to edit in Emacs and debug using Jedi.
> Note that Jedi when
> > activated checks the modification time of all its edited files and
> proposes reload if some have
> > changed.

> That's mainly the way I use Jazz right now, but it is not that
> satisfactory: what I enjoy most when programming in any kind of Lisp is
> the possibility to try things out fast, i.e. use a REPL.

What do you mean? Jedi's console is a full-fledged REPL! What are you
missing from it?

Various people mentioned Paredit. I had a quick look at the documentation
and Jazz already supports most of it but bound to other keys. I'd guess
creating a full Paredit module for Jazz would be a couple hours work. Any
takers?

> 2. Linux

>   But more important is Jedi's performance on Linux: in the mail
>   archive someone described that the redraw is more or less pixel-wise,
>   and this is also the case here. Being not an expert in programming
>   Cairo, I only can give you two vague hints:

>   a) AFAIK Cairo does *not* support any kind of double buffering out of
>      the box

I totally agree!  Linux / X11 performance is the big killer and main reason
I never announced Jazz publicly. Unfortunately my macbook pro died on me
twice and Linux / X11 is low priority for us at the moment. This is
unfortunate as I'm pretty sure somewhat with expert knowledge of X11 would
probably be able to fix the performance problem in no time.

>   b) you are using only one X11 Window, which is *very* uncommon for a
>      gui toolkit

This is exactly what I happen to be working on at the moment. :) I'll post a
message when it's ready. Probably beginning of next week.

> Btw, I managed to compile Jazz/Jedi with gambit --enable-cplusplus and
> could provide a patch which is not directly applicable (hard coded 'g++'
> and the like), but could give you an idea where some (minor) changes
> could be made to support c++. Most are explicit casts from int to some
> enum type in the ffi, which are necessary in c++ and do not hurt in c.

Sure! I'll have a look at it. Thanks.

> Regards, Marco

Guillaume

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marco Gidde  
View profile  
 More options Sep 24, 3:20 pm
From: Marco Gidde <marco.gi...@freenet.de>
Date: Thu, 24 Sep 2009 21:20:03 +0200
Local: Thurs, Sep 24 2009 3:20 pm
Subject: Re: Jazz repl

Guillaume Cartier <gcart...@jazzscheme.org> writes:
> On Wed, Sep 23, 2009 at 2:51 PM, Marco Gidde <marco.gi...@freenet.de> wrote:
>     Nice to hear that you work on a jazz.exe, sad that it is low
>     priority. Threads are currently not an issue here, but I think there are
>     ways to handle it in a somewhat blown up REPL, e.g. Common Lisp + SLIME.

> I'm open to any suggestions. But seeing that the Gambit REPL's support for threads is
> minimal and that various discussions with Marc Feeley ended in him reiterating that it is
> not possible to fully support threads in a pure console based REPL, I'm doubtful.

Ok, SLIME is not pure console and probably it will pop up some Emacs
windows to do its job. If I come up with a great idea or find something
useful in another Lisp I will discuss it with you and Marc, but don't
hold your breath - I guess you both know what you're doing :-)

>     That's mainly the way I use Jazz right now, but it is not that
>     satisfactory: what I enjoy most when programming in any kind of Lisp is
>     the possibility to try things out fast, i.e. use a REPL.

> What do you mean? Jedi's console is a full-fledged REPL! What are you missing from it?

I miss nothing within Jedi's console, it's just too much of Jedi ;-)

>     Yep, I know and use all (almost) of it in Jedi, but:

>     1. there is no Paredit mode:

>       I was very surprised to see how much one can get used to such a tool,
>       in fact I did not close a parenthesis in Lisp for about two years now
>       - that is before using Jedi :-)

> Various people mentioned Paredit. I had a quick look at the documentation and Jazz
> already supports most of it but bound to other keys. I'd guess creating a full Paredit
> module for Jazz would be a couple hours work. Any takers?

If Jedi is more usable here (performance not feature wise) I will have
to take a closer look ...

>     2. Linux

>       But more important is Jedi's performance on Linux: in the mail
>       archive someone described that the redraw is more or less pixel-wise,
>       and this is also the case here. Being not an expert in programming
>       Cairo, I only can give you two vague hints:

>       a) AFAIK Cairo does *not* support any kind of double buffering out of
>          the box

> I totally agree!  Linux / X11 performance is the big killer and main reason I never
> announced Jazz publicly. Unfortunately my macbook pro died on me twice and Linux / X11 is
> low priority for us at the moment. This is unfortunate as I'm pretty sure somewhat with
> expert knowledge of X11 would probably be able to fix the performance problem in no time.

Export knowledge of X11 in combination with some knowledge of Scheme is
probably hard to find, see below ...

>       b) you are using only one X11 Window, which is *very* uncommon for a
>          gui toolkit

> This is exactly what I happen to be working on at the moment. :) I'll post a message when
> it's ready. Probably beginning of next week.

Do you intend to introduce a full blown widget set like GTK? It might be
easier to find people with enough knowledge to provide patches since
almost nobody programs X11 directly these days. I had to maintain an
in-house widget set for several years and was more than happy when I
convinced my colleges to remove the X11 core as far as possible and
replace it with something higher level, Qt in our case. Since then it
was quite easy to fulfill those nasty customer wishes, e.g. tooltips or
a html browser :-)

>     Btw, I managed to compile Jazz/Jedi with gambit --enable-cplusplus and
>     could provide a patch which is not directly applicable (hard coded 'g++'
>     and the like), but could give you an idea where some (minor) changes
>     could be made to support c++. Most are explicit casts from int to some
>     enum type in the ffi, which are necessary in c++ and do not hurt in c.

> Sure! I'll have a look at it. Thanks.

Great, see the attachment. Some of the code should be conditionalized
with the result of 'gambc-cc.bat C_COMPILER' - sorry that I was too lazy
and too short of time to do it myself.

Regards, Marco

  0004-Several-changes-to-compile-jazz-with-c-gambit.patch
9K Download

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google