Re: Do you recognize these modules?

2012-07-11 Thread Thien-Thi Nguyen
() Noah Lavine noah.b.lav...@gmail.com
() Tue, 10 Jul 2012 23:02:29 -0400

   What do you think?

WRT style, the texi imported from 1.4 is littered w/
‘@twerpdoc’, ‘@twerpmacdoc’ and ‘@twerpcommentary’
comments.  IWBN to filter them before committing.

WRT content, IIRC 1.4.x (ice-9 calling) was re{designed,written}
so its documentation should not be imported w/o thorough review.
E.g., 1.4 has and 1.8 lacks ‘save-bindings-excursion’.  There are
probably various other skewings (mostly additions, one hopes) in
other modules, which need to be reconciled at some point, as well.
(Maybe you know all this and are planning to make these changes in
another patch set -- in that case, no worries, sorry for the noise!)



Re: Guile build failure

2012-07-11 Thread Ludovic Courtès
Hi,

David Pirotte da...@altosw.be skribis:

 This was using stable. No I didn't try the tarball, but since you asked i 
 just did
 and did in 2 different locations: /opt [no nfs] and /usr/local/src [uses nfs] 
 and
 make check passes on /opt but fails on  /usr/local/src 

So the problem seems to be NFS-related.  Could you check rmdir
/mnt/galia/linux/64/local/src/guile/guile-2.0.6/load-test.dir fails?

Thanks,
Ludo’.



Re: Do you recognize these modules?

2012-07-11 Thread Andy Wingo
On Wed 11 Jul 2012 05:02, Noah Lavine noah.b.lav...@gmail.com writes:

 I'm sorry to miss 2.0.6 by only a few days, but I have turned this
 documentation into some patches. Here they are; I think they are ready
 to apply to stable-2.0.

Cool.  I applied the first one.  When applying the rest, I got:

/home/wingo/src/guile/doc/ref//lineio.texi:12: Prev reference to 
nonexistent node `Double-Key Hash Tables' (perhaps incorrect sectioning?).
/home/wingo/src/guile/doc/ref//hcons.texi:12: `Eq? Hash Consing' has no Up 
field (perhaps incorrect sectioning?).
/home/wingo/src/guile/doc/ref//gap-buffer.texi:12: Next reference to 
nonexistent node `Double-Key Hash Tables' (perhaps incorrect sectioning?).
/home/wingo/src/guile/doc/ref//guile.texi:375: Menu reference to 
nonexistent node `Double-Key Hash Tables' (perhaps incorrect sectioning?).
/home/wingo/src/guile/doc/ref//hcons.texi:12: warning: unreferenced node 
`Eq? Hash Consing'.
makeinfo: Removing output file `guile.info' due to errors; use --force to 
preserve.
make[4]: *** [guile.info] Error 1

As Thien-Thi suggests, it's probably good to filter out the
@twerpcommentary etcetera in your next patches.

Cheers,

Andy
-- 
http://wingolog.org/



Re: Do you recognize these modules?

2012-07-11 Thread Noah Lavine
Ooops, I think those errors are because I forgot to commit my changes
to guile.texi for patches 3 and 4. Here are updated versions. (I
believe the second patch from earlier should work.)

I will make another patch to clean out the @twerpcommentary lines.

Noah

On Wed, Jul 11, 2012 at 6:44 AM, Andy Wingo wi...@pobox.com wrote:
 On Wed 11 Jul 2012 05:02, Noah Lavine noah.b.lav...@gmail.com writes:

 I'm sorry to miss 2.0.6 by only a few days, but I have turned this
 documentation into some patches. Here they are; I think they are ready
 to apply to stable-2.0.

 Cool.  I applied the first one.  When applying the rest, I got:

 /home/wingo/src/guile/doc/ref//lineio.texi:12: Prev reference to 
 nonexistent node `Double-Key Hash Tables' (perhaps incorrect sectioning?).
 /home/wingo/src/guile/doc/ref//hcons.texi:12: `Eq? Hash Consing' has no 
 Up field (perhaps incorrect sectioning?).
 /home/wingo/src/guile/doc/ref//gap-buffer.texi:12: Next reference to 
 nonexistent node `Double-Key Hash Tables' (perhaps incorrect sectioning?).
 /home/wingo/src/guile/doc/ref//guile.texi:375: Menu reference to 
 nonexistent node `Double-Key Hash Tables' (perhaps incorrect sectioning?).
 /home/wingo/src/guile/doc/ref//hcons.texi:12: warning: unreferenced node 
 `Eq? Hash Consing'.
 makeinfo: Removing output file `guile.info' due to errors; use --force to 
 preserve.
 make[4]: *** [guile.info] Error 1

 As Thien-Thi suggests, it's probably good to filter out the
 @twerpcommentary etcetera in your next patches.

 Cheers,

 Andy
 --
 http://wingolog.org/


0001-Documentation-style-change.patch
Description: Binary data


0002-Document-ice-9-string-fun.patch
Description: Binary data


Running non-scheme scripts: some thoughts

2012-07-11 Thread Ian Price

Hi,

Though guile is really a multi-language vm, it does not provide a simple
way to run scripts for languages other scheme from the command line. I
think we should add a --language switch that takes a mandatory argument,
and use that to determine the language.

Other solutions for dealing with multiple languages have been proposed
before, including guessing the language from the file extension[0], or from
the file itself (via a something like racket's #lang).

While guile could move towards those at a later date, I think the
--language switch is a good one for now. Firstly, it could be
implemented simply with, I think, only modifications to (ice-9
command-line). Secondly, it is compatible with these other designs; a
future language guessing guile could honour --language, and where that
switch is not provided would be free to guess; a similar situation
would occurs if we went with a #lang type solution.

Anyway, some thought needs to be taken as to how this will integrate
with the other switches. In particular: -s, -c, -l, -e, and maybe
--listen, -q, and --use-srfi.

I think that if --language=LANG is specified, then the files given by
-s, and -l should be treated as though they contained LANG source
code. Similarly, the string argument to -c, as a string of LANG. -e
would ideally be a function in LANG, but I don't know the details of how
this works in the other languages, and so could be left off for now.

If guile was used interactively with the --language switch, it would
give you a guile repl already in that language, similar to if we did ,L.
I think this is how it should interact with --listen too, though I'm not
positive.

-q, or rather, when -q is not supplied, is tricky. I think we should
just assume that it is always going to be in Scheme. I'm open to
suggestions.

I don't know how module interaction works in other languages, so I also
can't comment on the suitability of --use-srfi.

So, thoughts? Counter-proposals? Flames? Have I missed out anything
particularly obvious?


tl;dr +1 to add a --language switch to guile :P


[0]. I don't personally like this solution, since it seems fragile, and
it's not clear how it would interact with the -x switch.
-- 
Ian Price

Programming is like pinball. The reward for doing it well is
the opportunity to do it again - from The Wizardy Compiled




Re: Running non-scheme scripts: some thoughts

2012-07-11 Thread Andrew Gwozdziewycz
On Wed, Jul 11, 2012 at 11:31 AM, Ian Price ianpric...@googlemail.com wrote:

 Hi,

 Though guile is really a multi-language vm, it does not provide a simple
 way to run scripts for languages other scheme from the command line. I
 think we should add a --language switch that takes a mandatory argument,
 and use that to determine the language.

Seems smarter to just have different executables:

guile (and guile-scheme for completeness via hard/soft link)
guile-elisp
...
guile-LANG

That seems like it'd lead to far less confusion overall.

Andrew

-- 
http://www.apgwoz.com



Re: Running non-scheme scripts: some thoughts

2012-07-11 Thread Krister Svanlund
Personally I would think that having Guile guess by extension would be the,
in most cases, most reliable. Otherwise there could be problems loading
several files in different languages etc.

I would think that one of the best solution would be to have a switch to
execute arbitrary commands such as ,L so you would call guile with `guile
--switch ,L elisp`. The separate executables could then be done as
aliases if one wanted.

On Wed, Jul 11, 2012 at 5:37 PM, Andrew Gwozdziewycz apg...@gmail.comwrote:

 On Wed, Jul 11, 2012 at 11:31 AM, Ian Price ianpric...@googlemail.com
 wrote:
 
  Hi,
 
  Though guile is really a multi-language vm, it does not provide a simple
  way to run scripts for languages other scheme from the command line. I
  think we should add a --language switch that takes a mandatory argument,
  and use that to determine the language.

 Seems smarter to just have different executables:

 guile (and guile-scheme for completeness via hard/soft link)
 guile-elisp
 ...
 guile-LANG

 That seems like it'd lead to far less confusion overall.

 Andrew

 --
 http://www.apgwoz.com




Re: Running non-scheme scripts: some thoughts

2012-07-11 Thread nalaginrut
 Personally I would think that having Guile guess by extension would be
 the, in most cases, most reliable. Otherwise there could be problems
 loading several files in different languages etc.
 
Yes, my vote is gussing by extension. But also provide an option --lang
to specify in case the extension name conflicts or other problems.


 I would think that one of the best solution would be to have a switch
 to execute arbitrary commands such as ,L so you would call guile with
 `guile --switch ,L elisp`. The separate executables could then be
 done as aliases if one wanted.
 
Personally, I think this syntax is a little too long. I prefer --lang.


Anyway, I'm happy that someone raised such a topic since I'm interested
in multi-language feature in Guile. ;-)



 






Re: Running non-scheme scripts: some thoughts

2012-07-11 Thread William ML Leslie
On 12 July 2012 13:12, nalaginrut nalagin...@gmail.com wrote:
 Personally I would think that having Guile guess by extension would be
 the, in most cases, most reliable. Otherwise there could be problems
 loading several files in different languages etc.

 Yes, my vote is gussing by extension. But also provide an option --lang
 to specify in case the extension name conflicts or other problems.

For most entry-points, there is no extension. When you install your
program, you normally install it as /usr/bin/foo, rather than
/usr/bin/foo.[ss|scm|py|js|whatever].  This is the motivation for
guile-foo symlinks or --lang options.  I favour the symlinks slightly,
because not all languages are going to work with guile's extended
mesh-wow system, and indirection via env already costs you one
argument.

For modules, specifically in languages where the module system has
some abstraction above the filesystem, the mechanism that locates the
module should be responsible for setting the module language.  In
other words, allow guile to defer to the language implementation to
figure out the language of the loaded module in most situations.

I think that otherwise, it should be up to the code using the module
to supply the language with which it should be run.  Extensions are
one thing, but there is quite a bit that they can't handle, like
rakefiles.  And extensions don't allow you to specify a language
level, either.

-- 
William Leslie