106 |
"environment.") |
"environment.") |
107 |
#define FUNC_NAME s_scm_makacro |
#define FUNC_NAME s_scm_makacro |
108 |
{ |
{ |
109 |
SCM_VALIDATE_PROC (1,code); |
SCM_VALIDATE_PROC (1, code); |
110 |
SCM_RETURN_NEWSMOB (scm_tc16_macro, SCM_UNPACK (code)); |
SCM_RETURN_NEWSMOB (scm_tc16_macro, SCM_UNPACK (code)); |
111 |
} |
} |
112 |
#undef FUNC_NAME |
#undef FUNC_NAME |
134 |
" non-memoizing macros in general. Use memoizing macros" |
" non-memoizing macros in general. Use memoizing macros" |
135 |
" or r5rs macros instead."); |
" or r5rs macros instead."); |
136 |
|
|
137 |
SCM_VALIDATE_PROC (1,code); |
SCM_VALIDATE_PROC (1, code); |
138 |
SCM_RETURN_NEWSMOB (scm_tc16_macro | (1L << 16), SCM_UNPACK (code)); |
SCM_RETURN_NEWSMOB (scm_tc16_macro | (1L << 16), SCM_UNPACK (code)); |
139 |
} |
} |
140 |
#undef FUNC_NAME |
#undef FUNC_NAME |
154 |
"form of the containing code.") |
"form of the containing code.") |
155 |
#define FUNC_NAME s_scm_makmmacro |
#define FUNC_NAME s_scm_makmmacro |
156 |
{ |
{ |
157 |
SCM_VALIDATE_PROC (1,code); |
SCM_VALIDATE_PROC (1, code); |
158 |
SCM_RETURN_NEWSMOB (scm_tc16_macro | (2L << 16), SCM_UNPACK (code)); |
SCM_RETURN_NEWSMOB (scm_tc16_macro | (2L << 16), SCM_UNPACK (code)); |
159 |
} |
} |
160 |
#undef FUNC_NAME |
#undef FUNC_NAME |
206 |
"Return the name of the macro @var{m}.") |
"Return the name of the macro @var{m}.") |
207 |
#define FUNC_NAME s_scm_macro_name |
#define FUNC_NAME s_scm_macro_name |
208 |
{ |
{ |
209 |
SCM_VALIDATE_SMOB (1,m,macro); |
SCM_VALIDATE_SMOB (1, m, macro); |
210 |
return scm_procedure_name (SCM_PACK (SCM_SMOB_DATA (m))); |
return scm_procedure_name (SCM_PACK (SCM_SMOB_DATA (m))); |
211 |
} |
} |
212 |
#undef FUNC_NAME |
#undef FUNC_NAME |
217 |
"Return the transformer of the macro @var{m}.") |
"Return the transformer of the macro @var{m}.") |
218 |
#define FUNC_NAME s_scm_macro_transformer |
#define FUNC_NAME s_scm_macro_transformer |
219 |
{ |
{ |
220 |
SCM_VALIDATE_SMOB (1,m,macro); |
SCM_VALIDATE_SMOB (1, m, macro); |
221 |
return ((SCM_CLOSUREP (SCM_PACK (SCM_SMOB_DATA (m)))) ? |
return ((SCM_CLOSUREP (SCM_PACK (SCM_SMOB_DATA (m)))) ? |
222 |
SCM_PACK(SCM_SMOB_DATA (m)) : SCM_BOOL_F); |
SCM_PACK(SCM_SMOB_DATA (m)) : SCM_BOOL_F); |
223 |
} |
} |