* add printf.scm to ice-9?
@ 2002-04-06 22:00 Matthew R Wette
2002-04-07 10:42 ` Marius Vollmer
2002-04-07 14:38 ` Neil Jerram
0 siblings, 2 replies; 10+ messages in thread
From: Matthew R Wette @ 2002-04-06 22:00 UTC (permalink / raw)
I have been heavily using guile for an application at here at work.
Guile seems to have everything I need except one item: printf. Maybe
this is a candidate for a future addition? [I am currently using the
printf.scm from slib, but the sprintf implementation there is a little
tough to work with as far as I can tell.]
Here is a short description of the application. I am working on the
development of space-based interferometers. The long range goal is
the search for earth-like planets orbiting distant stars. These
interferometers use lots of laser metrology and actively controlled
mirrors. [My job is to architect the closed-loop control system.] We
have a program (MACOS) that generates a linear model for a single path
of a single light source. I have written a program in guile (~3000
lines) that generates a linear optical model for multiple beams
traversing multiple paths through the optics. I am able to parse
multiple specification files, run the MACOS program multiple times,
perform matrix-vector manipulations and automatically generate the
model in both MATLAB (for analysis) and C (for simulation). My
prototype program to do all this was completed in less than a month.
People have been pretty impressed.
My thanks to the developers. Guile is really coming along.
[The debugger has been a life saver.]
Matt
_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: add printf.scm to ice-9?
2002-04-06 22:00 add printf.scm to ice-9? Matthew R Wette
@ 2002-04-07 10:42 ` Marius Vollmer
2002-04-07 14:38 ` Neil Jerram
1 sibling, 0 replies; 10+ messages in thread
From: Marius Vollmer @ 2002-04-07 10:42 UTC (permalink / raw)
Cc: guile-user
Matthew R Wette <mwette@grover.jpl.nasa.gov> writes:
> I have been heavily using guile for an application at here at work.
> Guile seems to have everything I need except one item: printf.
Can't you use 'format' (which is the Lisp version of printf)?
_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: add printf.scm to ice-9?
2002-04-06 22:00 add printf.scm to ice-9? Matthew R Wette
2002-04-07 10:42 ` Marius Vollmer
@ 2002-04-07 14:38 ` Neil Jerram
1 sibling, 0 replies; 10+ messages in thread
From: Neil Jerram @ 2002-04-07 14:38 UTC (permalink / raw)
Cc: guile-user
>>>>> "Matthew" == Matthew R Wette <mwette@grover.jpl.nasa.gov> writes:
Matthew> I have been heavily using guile for an application at
Matthew> here at work. Guile seems to have everything I need
Matthew> except one item: printf. Maybe this is a candidate for a
Matthew> future addition? [I am currently using the printf.scm
Matthew> from slib, but the sprintf implementation there is a
Matthew> little tough to work with as far as I can tell.]
Have you looked at `format' in the (ice-9 format) module? It is
documented in the reference manual in node `Formatted Output'.
Matthew> Here is a short description of the application. I am working on the
Matthew> development of space-based interferometers. The long range goal is
Matthew> the search for earth-like planets orbiting distant stars. These
Matthew> interferometers use lots of laser metrology and actively controlled
Matthew> mirrors. [My job is to architect the closed-loop control system.] We
Matthew> have a program (MACOS) that generates a linear model for a single path
Matthew> of a single light source. I have written a program in guile (~3000
Matthew> lines) that generates a linear optical model for multiple beams
Matthew> traversing multiple paths through the optics. I am able to parse
Matthew> multiple specification files, run the MACOS program multiple times,
Matthew> perform matrix-vector manipulations and automatically generate the
Matthew> model in both MATLAB (for analysis) and C (for simulation). My
Matthew> prototype program to do all this was completed in less than a month.
Matthew> People have been pretty impressed.
Fascinating; thanks for this!
Matthew> My thanks to the developers. Guile is really coming along.
Matthew> [The debugger has been a life saver.]
Thanks again; lovely to get such encouraging feedback.
Neil
_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: add printf.scm to ice-9?
@ 2002-04-07 16:09 Matthew R Wette
2002-04-07 20:30 ` Per Bothner
2002-04-07 23:53 ` Marius Vollmer
0 siblings, 2 replies; 10+ messages in thread
From: Matthew R Wette @ 2002-04-07 16:09 UTC (permalink / raw)
Marius Vollmer writes ...
> Matthew R Wette <mwette@grover.jpl.nasa.gov> writes:
>
> > I have been heavily using guile for an application at here at work.
> > Guile seems to have everything I need except one item: printf.
>
> Can't you use 'format' (which is the Lisp version of printf)?
I want formats like %12.5e and %-20s.
My understanding is that this is not in format.
Matt
_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: add printf.scm to ice-9?
2002-04-07 16:09 Matthew R Wette
@ 2002-04-07 20:30 ` Per Bothner
2002-04-09 2:43 ` Steve Tell
2002-04-07 23:53 ` Marius Vollmer
1 sibling, 1 reply; 10+ messages in thread
From: Per Bothner @ 2002-04-07 20:30 UTC (permalink / raw)
Cc: guile-user
Matthew R Wette wrote:
> Marius Vollmer writes ...
>
>>Matthew R Wette <mwette@grover.jpl.nasa.gov> writes:
>>
>>
>>>I have been heavily using guile for an application at here at work.
>>>Guile seems to have everything I need except one item: printf.
>>
>>Can't you use 'format' (which is the Lisp version of printf)?
>
>
> I want formats like %12.5e and %-20s.
> My understanding is that this is not in format.
The Common Lisp specification of format har more parameters
and options and bells and whsitles than printf, by far. Guile's
implementation of format is based on the slib version, and supports
a large subset of the Common Lisp specification. I've also implemented
most of Common Lisp format within Kawa:
#|kawa:1|# (format "[~12,5e]" (sqrt 2))
[ 1.41421E+0]
--
--Per Bothner
per@bothner.com http://www.bothner.com/per/
_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: add printf.scm to ice-9?
2002-04-07 16:09 Matthew R Wette
2002-04-07 20:30 ` Per Bothner
@ 2002-04-07 23:53 ` Marius Vollmer
2002-04-14 19:32 ` Rob Browning
1 sibling, 1 reply; 10+ messages in thread
From: Marius Vollmer @ 2002-04-07 23:53 UTC (permalink / raw)
Cc: guile-user
Matthew R Wette <mwette@grover.jpl.nasa.gov> writes:
> Marius Vollmer writes ...
> > Matthew R Wette <mwette@grover.jpl.nasa.gov> writes:
> >
> > > I have been heavily using guile for an application at here at work.
> > > Guile seems to have everything I need except one item: printf.
> >
> > Can't you use 'format' (which is the Lisp version of printf)?
>
> I want formats like %12.5e and %-20s.
> My understanding is that this is not in format.
It is, see Per's post. However, you need to '(use-modules (ice-9
format))'. There is also a builtin simple-format that doesn't have
these options.
_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: add printf.scm to ice-9?
2002-04-07 20:30 ` Per Bothner
@ 2002-04-09 2:43 ` Steve Tell
2002-04-09 4:05 ` Per Bothner
2002-04-28 15:10 ` Marius Vollmer
0 siblings, 2 replies; 10+ messages in thread
From: Steve Tell @ 2002-04-09 2:43 UTC (permalink / raw)
Cc: Guile Mailing List
On Sun, 7 Apr 2002, Per Bothner wrote:
> most of Common Lisp format within Kawa:
>
> #|kawa:1|# (format "[~12,5e]" (sqrt 2))
> [ 1.41421E+0]
In guile, that's (format #f "[~12,5e]" (sqrt 2))
I've wondered how one would translate somthing like
(let ((w 12)(d 5)) (printf "%*,*e" w d (sqrt 2)))
though.
But how terrible would it really be to provide both format and printf?
Seems to me one of the great things about guile is that it brings together
both the lisp tradition and the unix tradition. If this means a bigger
library of available routines, so be it. A lot of posix and other libc
functions are already provided as guile primitives or library routines.
But in the unix tradition, formatted I/O means printf, as in C, bash, awk,
perl, etc. What's one more library module in the name of providing
familar ground for programmers from both traditions?
Yes, of course the lisp-inherited format has bunch of additional features.
It took a few minutes of study for me to decide that format-strings
probably aren't turing complete, but I'm still not 100% convinced.
(Loops and conditionals in a format string? the mind boggles).
_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: add printf.scm to ice-9?
2002-04-09 2:43 ` Steve Tell
@ 2002-04-09 4:05 ` Per Bothner
2002-04-28 15:10 ` Marius Vollmer
1 sibling, 0 replies; 10+ messages in thread
From: Per Bothner @ 2002-04-09 4:05 UTC (permalink / raw)
Cc: Guile Mailing List
Steve Tell wrote:
>>#|kawa:1|# (format "[~12,5e]" (sqrt 2))
>>[ 1.41421E+0]
>
> In guile, that's (format #f "[~12,5e]" (sqrt 2))
Kawa allows the #f (or more generally the "destination"
specification) to be omitted. I believe this was to
be compatible with some other Scheme implementations.
It certainly is needed for compatibility with SRFI-28,
which implies "many Scheme implementations" have a format
function that does not require the #f.
> I've wondered how one would translate somthing like
> (let ((w 12)(d 5)) (printf "%*,*e" w d (sqrt 2)))
> though.
>
> But how terrible would it really be to provide both format and printf?
Not terrible at all. In fact slib (and Kawa) provide both.
--
--Per Bothner
per@bothner.com http://www.bothner.com/per/
_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: add printf.scm to ice-9?
2002-04-07 23:53 ` Marius Vollmer
@ 2002-04-14 19:32 ` Rob Browning
0 siblings, 0 replies; 10+ messages in thread
From: Rob Browning @ 2002-04-14 19:32 UTC (permalink / raw)
Cc: Matthew R Wette, guile-user
Marius Vollmer <mvo@zagadka.ping.de> writes:
> It is, see Per's post. However, you need to '(use-modules (ice-9
> format))'. There is also a builtin simple-format that doesn't have
> these options.
I wish I could remember right now, but I recall needing some %
formatting functionality that sprintf (or was it sscanf) had that
guile didn't seem to provide. It made me think that it might be nice
to have a more direct interface to the unix function for those that
want it, but I can't recall what the particular missing bit was.
Any reason we wouldn't want to provide a module providing
sprintf/sscanf functionality eventually?
--
Rob Browning
rlb @defaultvalue.org, @linuxdevel.com, and @debian.org
Previously @cs.utexas.edu
GPG=1C58 8B2C FB5E 3F64 EA5C 64AE 78FE E5FE F0CB A0AD
_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: add printf.scm to ice-9?
2002-04-09 2:43 ` Steve Tell
2002-04-09 4:05 ` Per Bothner
@ 2002-04-28 15:10 ` Marius Vollmer
1 sibling, 0 replies; 10+ messages in thread
From: Marius Vollmer @ 2002-04-28 15:10 UTC (permalink / raw)
Cc: Guile Mailing List
Steve Tell <tell@telltronics.org> writes:
> But how terrible would it really be to provide both format and printf?
Not really terrible. Isn't it enough that SLIB provides printf?
_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2002-04-28 15:10 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-06 22:00 add printf.scm to ice-9? Matthew R Wette
2002-04-07 10:42 ` Marius Vollmer
2002-04-07 14:38 ` Neil Jerram
-- strict thread matches above, loose matches on Subject: below --
2002-04-07 16:09 Matthew R Wette
2002-04-07 20:30 ` Per Bothner
2002-04-09 2:43 ` Steve Tell
2002-04-09 4:05 ` Per Bothner
2002-04-28 15:10 ` Marius Vollmer
2002-04-07 23:53 ` Marius Vollmer
2002-04-14 19:32 ` Rob Browning
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).