432 |
|
|
433 |
Note that @code{scm_init_guile} does not inform Guile about the command |
Note that @code{scm_init_guile} does not inform Guile about the command |
434 |
line arguments that should be returned by the Scheme function |
line arguments that should be returned by the Scheme function |
435 |
@code{comamnd-line}. You can use @code{scm_set_program_arguments} to do |
@code{command-line}. You can use @code{scm_set_program_arguments} to do |
436 |
this. |
this. |
437 |
@end deftypefun |
@end deftypefun |
438 |
|
|
592 |
inconvenient in this case and it would in fact make the life of the |
inconvenient in this case and it would in fact make the life of the |
593 |
users of your new features needlessly hard. |
users of your new features needlessly hard. |
594 |
|
|
595 |
@c [[ the following is probably a bit longwinded ]] |
@c [[ the following is probably a bit long-winded ]] |
596 |
|
|
597 |
For example, suppose that there is a program @code{guile-db} that is a |
For example, suppose that there is a program @code{guile-db} that is a |
598 |
version of Guile with additional features for accessing a database. |
version of Guile with additional features for accessing a database. |
602 |
Guile with access to the popular Gtk+ toolkit for graphical user |
Guile with access to the popular Gtk+ toolkit for graphical user |
603 |
interfaces. People who want to write GUIs in Scheme would have to use |
interfaces. People who want to write GUIs in Scheme would have to use |
604 |
@code{guile-gtk}. Now, what happens when you want to write a Scheme |
@code{guile-gtk}. Now, what happens when you want to write a Scheme |
605 |
application that uses a GUI to let the user accessa a database? You |
application that uses a GUI to let the user access a database? You |
606 |
would have to write a @emph{third} program that incorporates both the |
would have to write a @emph{third} program that incorporates both the |
607 |
database stuff and the GUI stuff. This might not be easy (because |
database stuff and the GUI stuff. This might not be easy (because |
608 |
@code{guile-gtk} might be a quite obscure program, say) and taking this |
@code{guile-gtk} might be a quite obscure program, say) and taking this |
617 |
|
|
618 |
You write the new primitive procedures and data types in the normal |
You write the new primitive procedures and data types in the normal |
619 |
fashion, and link them into a shared library instead of into a |
fashion, and link them into a shared library instead of into a |
620 |
standalone program. The shared library can then be loaded dynamically |
stand-alone program. The shared library can then be loaded dynamically |
621 |
by Guile. |
by Guile. |
622 |
|
|
623 |
@menu |
@menu |
696 |
composition of complete programs from largely independent parts. |
composition of complete programs from largely independent parts. |
697 |
|
|
698 |
(Although the module system implementation is in flux, feel free to use it |
(Although the module system implementation is in flux, feel free to use it |
699 |
anyway. Guile will provide reasonable backwards compatability.) |
anyway. Guile will provide reasonable backwards compatibility.) |
700 |
|
|
701 |
Details on the module system beyond this introductory material can be found in |
Details on the module system beyond this introductory material can be found in |
702 |
@xref{Modules}. |
@xref{Modules}. |
760 |
and variables which are exported from a module adds documentation to the |
and variables which are exported from a module adds documentation to the |
761 |
source and specifies the interface a module provides. |
source and specifies the interface a module provides. |
762 |
|
|
763 |
In Guile, you can create new modules and switch to exisiting modules in |
In Guile, you can create new modules and switch to existing modules in |
764 |
order to add bindings to them using the syntactic form |
order to add bindings to them using the syntactic form |
765 |
@code{define-module}. |
@code{define-module}. |
766 |
|
|
857 |
|
|
858 |
Whenever you have found a bug in Guile you are encouraged to report it |
Whenever you have found a bug in Guile you are encouraged to report it |
859 |
to the Guile developers, so they can fix it. They may also be able to |
to the Guile developers, so they can fix it. They may also be able to |
860 |
suggest workarounds when it is not possible for you to apply the bugfix |
suggest workarounds when it is not possible for you to apply the bug-fix |
861 |
or install a new version of Guile yourself. |
or install a new version of Guile yourself. |
862 |
|
|
863 |
Before sending in bug reports, please check with the following list that |
Before sending in bug reports, please check with the following list that |
865 |
|
|
866 |
@itemize @bullet |
@itemize @bullet |
867 |
@item |
@item |
868 |
Whenever documentation and actual behaviour differ, you have certainly |
Whenever documentation and actual behavior differ, you have certainly |
869 |
found a bug, either in the documentation or in the program. |
found a bug, either in the documentation or in the program. |
870 |
|
|
871 |
@item |
@item |
905 |
$ guile --version |
$ guile --version |
906 |
Guile 1.4.1 |
Guile 1.4.1 |
907 |
Copyright (c) 1995, 1996, 1997, 2000 Free Software Foundation |
Copyright (c) 1995, 1996, 1997, 2000 Free Software Foundation |
908 |
Guile may be distributed under the terms of the GNU General Public Licence; |
Guile may be distributed under the terms of the GNU General Public License; |
909 |
certain other uses are permitted as well. For details, see the file |
certain other uses are permitted as well. For details, see the file |
910 |
`COPYING', which is included in the Guile distribution. |
`COPYING', which is included in the Guile distribution. |
911 |
There is no warranty, to the extent permitted by law. |
There is no warranty, to the extent permitted by law. |