[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
guile/guile-core NEWS
From: |
Marius Vollmer |
Subject: |
guile/guile-core NEWS |
Date: |
Mon, 26 Mar 2001 14:30:41 -0800 |
CVSROOT: /cvs
Module name: guile
Changes by: Marius Vollmer <address@hidden> 01/03/26 14:30:41
Modified files:
guile-core : NEWS
Log message:
CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/NEWS.diff?r1=1.262&r2=1.263
Patches:
Index: guile/guile-core/NEWS
diff -u guile/guile-core/NEWS:1.262 guile/guile-core/NEWS:1.263
--- guile/guile-core/NEWS:1.262 Thu Mar 22 04:52:01 2001
+++ guile/guile-core/NEWS Mon Mar 26 14:30:41 2001
@@ -136,6 +136,37 @@
* Changes to Scheme functions and syntax
+** The empty combination is no longer valid syntax.
+
+Previously, the expression "()" evaluated to the empty list. This has
+been changed to signal a "missing expression" error. The correct way
+to write the empty list as a literal constant is to use quote: "'()".
+
+** Auto-loading of compiled-code modules is deprecated.
+
+Guile used to be able to automatically find and link a shared
+libraries to satisfy requests for a module. For example, the module
+`(foo bar)' could be implemented by placing a shared library named
+"foo/libbar.so" (or with a different extension) in a directory on the
+load path of Guile.
+
+This has been found to be too tricky, and is no longer supported.
+What you should do instead now is to write a small Scheme file that
+explicitly calls `dynamic-link' to load the shared library and
+`dynamic-call' to initialize it.
+
+The shared libraries themselves should be installed in the usual
+places for shared libraries, with names like "libguile-foo-bar".
+
+For example, place this into a file "foo/bar.scm"
+
+ (define-module (foo bar))
+
+ (dynamic-call "foobar_init" (dynamic-link "libguile-foo-bar"))
+
+The file name passed to `dynamic-link' should not contain an
+extension. It will be provided automatically.
+
** The module system has been made more disciplined.
The function `eval' will now save and restore the current module