New convenience functions, ecl_defvar/defparameter

This commit is contained in:
Juan Jose Garcia Ripoll 2008-12-02 15:44:29 +01:00
parent 60d685e7ad
commit 9efd26fe04
3 changed files with 18 additions and 2 deletions

View file

@ -99,6 +99,8 @@ ECL 8.9.0:
ECL_OPT_SIGALTSTACK_SIZE,
ECL_OPT_LIMIT
- Two new convenience functions, ecl_defparameter() and ecl_defvar.
* Bugs fixed:
- The optimizer for COERCE might enter an infinite loop for certain

View file

@ -460,3 +460,17 @@ cl_object
ECL_SET(sym, val);
@(return sym)
}
cl_object
ecl_defvar(cl_object sym, cl_object val)
{
si_safe_eval(cl_list(3, @'defvar', sym, cl_list(2, @'quote', val)));
return sym;
}
cl_object
ecl_defparameter(cl_object sym, cl_object val)
{
si_safe_eval(cl_list(3, @'defparameter', sym, cl_list(2, @'quote', val)));
return sym;
}

View file

@ -1413,8 +1413,8 @@ extern ECL_API cl_object cl_gensym _ARGS((cl_narg narg, ...));
extern ECL_API cl_object cl_gentemp _ARGS((cl_narg narg, ...));
extern ECL_API cl_object si_put_properties _ARGS((cl_narg narg, cl_object sym, ...));
extern ECL_API void cl_defvar(cl_object s, cl_object v);
extern ECL_API void cl_defparameter(cl_object s, cl_object v);
extern ECL_API void ecl_defvar(cl_object s, cl_object v);
extern ECL_API void ecl_defparameter(cl_object s, cl_object v);
extern ECL_API cl_object ecl_make_keyword(const char *s);
extern ECL_API cl_object ecl_symbol_value(cl_object s);
extern ECL_API cl_object ecl_symbol_name(cl_object s);