guile-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile/guile-core/doc ChangeLog gh.texi


From: Neil Jerram
Subject: guile/guile-core/doc ChangeLog gh.texi
Date: Fri, 22 Jun 2001 07:23:46 -0700

CVSROOT:        /cvs
Module name:    guile
Changes by:     Neil Jerram <address@hidden>    01/06/22 07:23:46

Modified files:
        guile-core/doc : ChangeLog gh.texi 

Log message:
        * Start new node documenting transition from GH to scm interface.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/doc/ChangeLog.diff?cvsroot=OldCVS&tr1=1.98&tr2=1.99&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/doc/gh.texi.diff?cvsroot=OldCVS&tr1=1.5&tr2=1.6&r1=text&r2=text

Patches:
Index: guile/guile-core/doc/ChangeLog
diff -u guile/guile-core/doc/ChangeLog:1.98 guile/guile-core/doc/ChangeLog:1.99
--- guile/guile-core/doc/ChangeLog:1.98 Wed Jun 20 15:08:19 2001
+++ guile/guile-core/doc/ChangeLog      Fri Jun 22 07:23:46 2001
@@ -1,3 +1,9 @@
+2001-06-22  Neil Jerram  <address@hidden>
+
+       * gh.texi (scm transition summary): New node for summary of how to
+       transition from GH to scm interface.
+       (GH): Link to new node.
+
 2001-06-20  Neil Jerram  <address@hidden>
 
        * guile.texi (Top): Move GH chapter to end of Part V.
Index: guile/guile-core/doc/gh.texi
diff -u guile/guile-core/doc/gh.texi:1.5 guile/guile-core/doc/gh.texi:1.6
--- guile/guile-core/doc/gh.texi:1.5    Wed Jun 20 15:08:19 2001
+++ guile/guile-core/doc/gh.texi        Fri Jun 22 07:23:46 2001
@@ -28,6 +28,7 @@
 * Memory allocation and garbage collection::  
 * Calling Scheme procedures from C::  
 * Mixing gh and scm APIs::      
+* scm transition summary::
 @end menu
 
 
@@ -831,3 +832,223 @@
 
 @node Mixing gh and scm APIs
 @section Mixing gh and scm APIs
+
+
address@hidden scm transition summary
address@hidden Transitioning to the scm Interface
+
+The following table summarizes the available information on how to
+transition from the GH to the scm interface.  Where transitioning is not
+completely straightforward, the table includes a reference to more
+detailed documentation in the preceding sections.
+
address@hidden @asis
address@hidden Header file
+Use @code{#include <libguile.h>} instead of @code{#include
+<guile/gh.h>}.
+
address@hidden Linking flags
+No change: @code{-lguile} should be added to the link command line,
+along with any additional libraries that your application needs.
+
address@hidden The @code{SCM} type
+No change: the scm interface also uses this type to represent an
+arbitrary Scheme value.
+
address@hidden @code{SCM_BOOL_F} and @code{SCM_BOOL_T}
+No change.
+
address@hidden @code{SCM_UNSPECIFIED}
+No change.
+
address@hidden @code{gh_enter}
+Use @code{scm_boot_guile} instead, but note that @code{scm_boot_guile}
+has a slightly different calling convention from @code{gh_enter}:
address@hidden, and the main program function that you specify
+for @code{scm_boot_guile} to call, both take an additional @var{closure}
+parameter.  @ref{Guile Initialization Functions} for more details.
+
address@hidden @code{gh_repl}
+Use @code{scm_shell} instead.
+
address@hidden @code{gh_init}
+Use @code{scm_init_guile} instead.
+
address@hidden @code{gh_eval_str}
+Use @code{scm_eval_0str} instead.
+
address@hidden @code{gh_eval_file} or @code{gh_load}
+Replace @code{gh_eval_file (@var{fname})} by
address@hidden
+scm_primitive_load (scm_makfrom0str (@var{fname}))
address@hidden example
+
address@hidden @code{gh_new_procedure}
+Use @code{scm_c_define_gsubr} instead, but note that the arguments are
+in a different order: for @code{scm_c_define_gsubr} the C function
+pointer is the last argument.  @ref{A Sample Guile Extension} for an
+example.
+
address@hidden @code{gh_defer_ints} and @code{gh_allow_ints}
+Use @code{SCM_DEFER_INTS} and @code{SCM_ALLOW_INTS} instead.  Note that
+these macros are used without parentheses, as in @code{SCM_DEFER_INTS;}.
+
address@hidden @code{gh_bool2scm}
+Use @code{SCM_BOOL} instead.
+
address@hidden @code{gh_ulong2scm}
+Use @code{scm_ulong2num} instead.
+
address@hidden @code{gh_long2scm}
+Use @code{scm_long2num} instead.
+
address@hidden @code{gh_double2scm}
+Use @code{scm_make_real} instead.
+
address@hidden @code{gh_char2scm}
+Use @code{SCM_MAKE_CHAR} instead.
+
address@hidden @code{gh_str2scm}
+Use @code{scm_makfromstr} instead.  Note that @code{scm_makfromstr}
+currently has an additional, third parameter, but it's unused and will
+hopefully disappear soon.  If it's still there, set it to 0.
+
address@hidden @code{gh_str02scm}
+Use @code{scm_makfrom0str} instead.
+
address@hidden @code{gh_set_substr}
+No direct scm equivalent.  [FIXME]
+
address@hidden @code{gh_symbol2scm}
+Use @code{scm_str2symbol} instead.  [FIXME: inconsistent naming,
+should be @code{scm_str02symbol}.]
+
address@hidden @code{gh_ints2scm} and @code{gh_doubles2scm}
+No direct scm equivalent.  [FIXME]
+
address@hidden @code{gh_chars2byvect} and @code{gh_shorts2svect}
+No direct scm equivalent.  [FIXME]
+
address@hidden @code{gh_longs2ivect} and @code{gh_ulongs2uvect}
+No direct scm equivalent.  [FIXME]
+
address@hidden @code{gh_floats2fvect} and @code{gh_doubles2dvect}
+No direct scm equivalent.  [FIXME]
+
address@hidden @code{gh_scm2bool}
+Use @code{SCM_NFALSEP} instead.
+
address@hidden @code{gh_scm2int}
+Use @code{scm_num2int} instead.
+
address@hidden @code{gh_scm2ulong}
+Use @code{scm_num2ulong} instead.
+
address@hidden @code{gh_scm2long}
+Use @code{scm_num2long} instead.
+
address@hidden @code{gh_scm2double}
+Use @code{scm_num2dbl} instead.
+
address@hidden @code{gh_scm2char}
+Use the @code{SCM_CHAR} macro instead, but note that @code{SCM_CHAR}
+does not check that its argument is actually a character.  To check that
+a @code{SCM} value is a character before using @code{SCM_CHAR} to
+extract the character value, use the @code{SCM_VALIDATE_CHAR} macro.
+
address@hidden @code{gh_scm2newstr}
+No direct scm equivalent.  [FIXME]
+
address@hidden @code{gh_get_substr}
+No direct scm equivalent.  [FIXME]
+
address@hidden @code{gh_symbol2newstr}
+No direct scm equivalent.  [FIXME]
+
address@hidden @code{gh_scm2chars}
+No direct scm equivalent.  [FIXME]
+
address@hidden @code{gh_scm2shorts} and @code{gh_scm2longs}
+No direct scm equivalent.  [FIXME]
+
address@hidden @code{gh_scm2floats} and @code{gh_scm2doubles}
+No direct scm equivalent.  [FIXME]
+
address@hidden @code{gh_boolean_p}
+Use the @code{SCM_BOOLP} macro instead, or replace @code{gh_boolean_p
+(@var{obj})} by
address@hidden
+SCM_NFALSEP (scm_boolean_p (@var{obj}))
address@hidden example
+
address@hidden @code{gh_symbol_p}
+Use the @code{SCM_SYMBOLP} macro instead, or replace @code{gh_symbol_p
+(@var{obj})} by
address@hidden
+SCM_NFALSEP (scm_symbol_p (@var{obj}))
address@hidden example
+
address@hidden @code{gh_char_p}
+Use the @code{SCM_CHARP} macro instead, or replace @code{gh_char_p
+(@var{obj})} by
address@hidden
+SCM_NFALSEP (scm_char_p (@var{obj}))
address@hidden example
+
address@hidden @code{gh_vector_p}
+Use the @code{SCM_VECTORP} macro instead, or replace @code{gh_vector_p
+(@var{obj})} by
address@hidden
+SCM_NFALSEP (scm_vector_p (@var{obj}))
address@hidden example
+
address@hidden @code{gh_pair_p}
+Use the @code{SCM_CONSP} macro instead, or replace @code{gh_pair_p
+(@var{obj})} by
address@hidden
+SCM_NFALSEP (scm_pair_p (@var{obj}))
address@hidden example
+
address@hidden @code{gh_number_p}
+Use the @code{SCM_NUMBERP} macro instead, or replace @code{gh_number_p
+(@var{obj})} by
address@hidden
+SCM_NFALSEP (scm_number_p (@var{obj}))
address@hidden example
+
address@hidden @code{gh_string_p}
+Use the @code{SCM_STRINGP} macro instead, or replace @code{gh_string_p
+(@var{obj})} by
address@hidden
+SCM_NFALSEP (scm_string_p (@var{obj}))
address@hidden example
+
address@hidden @code{gh_procedure_p}
+Replace @code{gh_procedure_p (@var{obj})} by
address@hidden
+SCM_NFALSEP (scm_procedure_p (@var{obj}))
address@hidden example
+
address@hidden @code{gh_list_p}
+Replace @code{gh_list_p (@var{obj})} by
address@hidden
+SCM_NFALSEP (scm_list_p (@var{obj}))
address@hidden example
+
address@hidden @code{gh_inexact_p}
+Use the @code{SCM_INEXACTP} macro instead, or replace @code{gh_inexact_p
+(@var{obj})} by
address@hidden
+SCM_NFALSEP (scm_inexact_p (@var{obj}))
address@hidden example
+
address@hidden @code{gh_exact_p}
+Replace @code{gh_exact_p (@var{obj})} by
address@hidden
+SCM_NFALSEP (scm_exact_p (@var{obj}))
address@hidden example
+
address@hidden @code{gh_list}
+Use @code{scm_listify} instead.
+
address@hidden table



reply via email to

[Prev in Thread] Current Thread [Next in Thread]