In any case, we wholeheartedly advice using the Emacs environment,because there are many things which are made simpler by it, such as compiling, loading files into the toplevel, locating errors, debugging, generating documentation, a special buffer to interact with the interpreter, etc. It is, of course, not compulsory. Also, I suppose that there should be graphical tools (other than emacs, that is) which can spawn a subprocess and connect with its standard I/O while keeping track of the lines the user types in and, at the same time, accepting some edition commands to feed the subprocess with previous strings, giving the user the possibility to edit them, etc., without the internal subprocess being aware of this. You get, then, a potentially much more poweful combination with less interaction among the pieces. This is, in many aspects, what the Emacs environment for Ciao Prolog (and for other interpreters) does.
If, for any reason, you prefer not to use the Emacs environment anintermediate solution is just start up an Emacs, type "M-x shell", and then you'll have a shell where the history is saved and can be seen as text. You can access the previously typed strings as David said --- and it does not matter whether these are shell commands, Haskell expressions or Prolog goals. Specialized environments for different languages try to make the range of edition commands available as useful as possible for these languages.
I can understand that you guys have developed quite a tightly integrated tool, and from I've seen so far playing with it, it does seem to work really well. There are two separate paradigms though, one of a large intergrated tool in which everything is polished to work together, and the other of a minimalist approach made of lots of small tools. It's an old argument and the reason is that both approaches work, which works best is quite an individual thing. I want to use the Ciao toolset, but not within an integrated editor as I already have a tool that edits well that I'm proficent at.
Using the "M-x ciao" approach seems to work really well and does exactly what I want from the system. It means that I get a raw top-level shell but with editing and history. I'll probably start using the integrated debugger as well as it looks pretty and seems to be the easiest way to use it. Using the combination of emacs+ciao as just a ciao shell rather than an editor seems to work well but I still have a few basic questions:
Using the shell outside of emacs I hit ^c and then type 'a' to abort a call that doesn't terminate. How do I do this inside emacs as it absorbs the ^c and waits for something else? I tried the signal menu but couldn't abort the call.
When typing in emacs it matches the brackets that you type by moving the cursor. Is there a way to switch this off?
At the moment I start a shell by typing emacs, then hitting M-x ciao. Is there a way to tell emacs to do this on the command line so that I can create an alias that starts up emacs with a ciao shell running?
Thanks, Amoss ============================================================================== Message: Address: Action: help majordomo(a)clip.dia.fi.upm.es Info. on useful commands subscribe ciao-users-request(a)clip.dia.fi.upm.es Subscribe to this list unsubscribe ciao-users-request(a)clip.dia.fi.upm.es Unsubscribe from this list <whatever> ciao-users(a)clip.dia.fi.upm.es Send message to list ----------------------------------------------------------------------------- Archived messages: http://www.clip.dia.fi.upm.es/Mail/ciao-users/ -----------------------------------------------------------------------------