Michael Sperber | 2 Dec 2007 11:35
Picon

Re: more-structures-interface: missing `command-state'


Ivan Shmakov <ivan <at> theory.asu.ru> writes:

> 	... Or is it omitted intentionally?

It was probably omitted mostly because it was never needed outside of
the development environment.  Do you have a use for it?

--

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla

Michael Sperber | 2 Dec 2007 12:05
Picon

Re: a minor bug in Makefile.in


Ivan Shmakov <ivan <at> theory.asu.ru> writes:

> 	BTW, the following breaks when SOURCE-DIRECTORY is not `.':
>
> $ make SOURCE-DIRECTORY/build/initial.image-{32,64}
>
> 	A patch is included below.
>
> 	And a wishlist item: Makefile.in contains some extraneous `&&'s,
> 	which could be removed, since to execute next command only when
> 	the previous succeeds is the default behaviour of Make.

Thanks---I've applied your changes.

--

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla

Michael Sperber | 2 Dec 2007 19:39
Picon

Re: more-structures-interface: missing `command-state'


Ivan Shmakov <ivan <at> theory.asu.ru> writes:

>>>>>> Michael Sperber <sperber <at> deinprogramm.de> writes:
>
>  >> ... Or is it omitted intentionally?
>
>  > It was probably omitted mostly because it was never needed outside of
>  > the development environment.  Do you have a use for it?
>
> 	I'm currently experimenting with multiple command processors.
> 	In particular, I have found that I could start a command
> 	processor like this:
>
>    (let ((no-op values))
>      (restart-command-processor
>       (make-usual-resumer #t (lambda (arg) 'something))
>       (user-context)
>       no-op no-op))
>
> 	And `user-context' is provided by the `command-state' structure.

Good enough for me---I've just pushed the change.  Thanks!

--

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla

Ivan Shmakov | 3 Dec 2007 08:11
Picon

Re: more-structures-interface: missing `command-state'

>>>>> Michael Sperber <sperber <at> deinprogramm.de> writes:

 >> ... Or is it omitted intentionally?

 > It was probably omitted mostly because it was never needed outside of
 > the development environment.  Do you have a use for it?

	I'm currently experimenting with multiple command processors.
	In particular, I have found that I could start a command
	processor like this:

   (let ((no-op values))
     (restart-command-processor
      (make-usual-resumer #t (lambda (arg) 'something))
      (user-context)
      no-op no-op))

	And `user-context' is provided by the `command-state' structure.

Ivan Shmakov | 3 Dec 2007 08:11
Picon

a ,source command, may be?

	It may be useful for Scheme48 to read command processor's
	commands from a file.  E. g., in SLIB the making of its own
	Scheme48 image is currently implemented with the help of a Shell
	redirecting the standard input of the spawned Scheme48 process
	from `scheme48.init'.  Moreover, occasionally it may be useful
	to intersperse commands typed interactively with ones read from
	a file.

	May I suggest a `,source' command to read and execute Scheme48
	commands from a given file as if they were typed in
	interactively?

	I've taken a look at the Scheme48 command processor's
	implementation and it looks like the I/O ports are set at the
	processor's creation time and are never changed afterwards.
	Could this behaviour be altered, so that the `,source' command
	could be implemented by temporarily switching command
	processor's input port?

Michael Sperber | 3 Dec 2007 08:21
Picon

Re: a ,source command, may be?


Ivan Shmakov <ivan <at> theory.asu.ru> writes:

> 	May I suggest a `,source' command to read and execute Scheme48
> 	commands from a given file as if they were typed in
> 	interactively?

I believe the thing to do is to make the exec language available as a
script interpreter.  (The exec language is equivalent to the REPL
language, but without the , syntax.)  New script-language handlers are
not that hard to create---maybe you to try your hand at it?  (I won't get
to this for a while.)  Look in scheme/env/command.scm.  (It's also
possible I misunderstand what you're trying to do.  If so, please let me
know.)

--

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla

Ivan Shmakov | 3 Dec 2007 18:01
Picon

Re: a ,source command, may be?

>>>>> Michael Sperber <sperber <at> deinprogramm.de> writes:

 >> May I suggest a `,source' command to read and execute Scheme48
 >> commands from a given file as if they were typed in interactively?

 > I believe the thing to do is to make the exec language available as a
 > script interpreter.  (The exec language is equivalent to the REPL
 > language, but without the , syntax.)

	The command processor is primarily useful because it gives a way
	to switch between the Scheme and the Scheme48 configuration
	language, like:

,config
(define-structure foo (export bar) (open scheme))
,user

	Sometimes, it may be useful to switch to other environments as
	well:

,in foo
(define (bar) 1)
,user

	The exec language, although makes it possible to do the same,
	seems to make this somewhat more cumbersome:

(config '(run (define-structure foo (export bar) (open scheme))))
(in 'foo '(run (define (bar) 1)))

(Continue reading)

Andreas Rottmann | 3 Dec 2007 19:46
Picon
Picon
Gravatar

Re: a ,source command, may be?

Michael Sperber <sperber <at> deinprogramm.de> writes:

> Ivan Shmakov <ivan <at> theory.asu.ru> writes:
>
>> 	May I suggest a `,source' command to read and execute Scheme48
>> 	commands from a given file as if they were typed in
>> 	interactively?
>
> I believe the thing to do is to make the exec language available as a
> script interpreter.  (The exec language is equivalent to the REPL
> language, but without the , syntax.)  New script-language handlers are
> not that hard to create---maybe you to try your hand at it?  (I won't get
> to this for a while.)  Look in scheme/env/command.scm.  (It's also
> possible I misunderstand what you're trying to do.  If so, please let me
> know.)
>
In s42, I've implemented this (note --exec, --exec-script):

gkar:~% scheme42 --help
Usage: scheme42 [OPTION]... [ARG]...
Options:
  --help, -h                    Display this help message and exit
  --no-init                     Do not process initialization file
  -c, --do-eval FORMS           Evaluate FORMS and exit
  --do-script                   Do SRFI-22 script at this point, using the
                                entry point given or MAIN as default
  --script FILENAME             Run FILENAME as Scheme script
  --exec-script FILENAME        Run FILENAME as exec script
  --set IDENTIFIER              Enable the switch IDENTIFIER
  --unset IDENTIFIER            Disable the switch IDENTIFIER
(Continue reading)

Ivan Shmakov | 10 Dec 2007 19:27
Picon

Re: a ,source command, may be?

>>>>> Andreas Rottmann <a.rottmann <at> gmx.at> writes:

[...]

 > In s42, I've implemented this (note --exec, --exec-script):

	I didn't know about s42.  I'll check it, thanks!

 > gkar:~% scheme42 --help
 > Usage: scheme42 [OPTION]... [ARG]...
 > Options:
 >   --help, -h                    Display this help message and exit
 >   --no-init                     Do not process initialization file
 >   -c, --do-eval FORMS           Evaluate FORMS and exit
 >   --do-script                   Do SRFI-22 script at this point, using the
 >                                 entry point given or MAIN as default
 >   --script FILENAME             Run FILENAME as Scheme script
 >   --exec-script FILENAME        Run FILENAME as exec script
 >   --set IDENTIFIER              Enable the switch IDENTIFIER
 >   --unset IDENTIFIER            Disable the switch IDENTIFIER
 >   --exec FORMS                  Run FORMS in the exec environment
 >   --config-load FILENAME        Load FILENAME into the config package
 >   --exec-load FILENAME          Load FILENAME into the exec package
 >   --load FILENAME               Load FILENAME into the user package
 >   --entry-point, -e IDENTIFIER  Use IDENTIFIER as SRFI-22 entry point
 >   -o, --open IDENTIFIERS        Open the structure named by IDENTIFIERS (a
 >                                 comma-separated list)
 >   --introduce-systems FILENAMES Introduce the systems defined in FILENAMES
 >                                 (a comma-separated list of filenames)
 >   --load-system IDENTIFIERS     Introduce the systems defined in
(Continue reading)

Michael Olson | 23 Dec 2007 15:49
Picon

Kali branch now up-to-date with latest devel changes

Hello,

As part of my undergraduate research experience at Purdue University this
past semester, I have been updating the Kali branch to incorporate the
changes made to the development branch of Scheme 48 since version 1.4.

I am pleased to announce that this effort is now complete.

The new Kali branch may be checked out by using Mercurial as follows:

  hg clone http://www.deinprogramm.de/cgi-bin/hgkali.cgi kali

The documentation for this branch is in the doc/kali.txt file in the
source tree.  This documentation functions as a Getting Started guide.

A few issues remain:

 * Some warning messages appear when loading the scheme48.image file.
 * I have been told that Kali does not work with the bibop GC.


Gmane