Language-MzScheme
view release on metacpan or search on metacpan
mzscheme_wrap.c view on Meta::CPAN
#ifndef pTHX_
#define pTHX_
#endif
#include <string.h>
#ifdef __cplusplus
}
#endif
/* Macro to call an XS function */
#ifdef PERL_OBJECT
# define SWIG_CALLXS(_name) _name(cv,pPerl)
#else
# ifndef MULTIPLICITY
# define SWIG_CALLXS(_name) _name(cv)
# else
# define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv)
# endif
#endif
mzscheme_wrap.c view on Meta::CPAN
}
static void
SWIG_Perl_SetErrorf(const char *fmt, ...) {
va_list args;
va_start(args, fmt);
sv_vsetpvfn(perl_get_sv("@", TRUE), fmt, strlen(fmt), &args, Null(SV**), 0, Null(bool*));
va_end(args);
}
/* Macros for low-level exception handling */
#define SWIG_fail goto fail
#define SWIG_croak(x) { SWIG_SetError(x); goto fail; }
#define SWIG_croakSV(x) { SWIG_SetErrorSV(x); goto fail; }
/* most preprocessors do not support vararg macros :-( */
/* #define SWIG_croakf(x...) { SWIG_SetErrorf(x); goto fail; } */
typedef XS(SwigPerlWrapper);
typedef SwigPerlWrapper *SwigPerlWrapperPtr;
mzscheme_wrap.h view on Meta::CPAN
#ifdef LINK_EXTENSIONS_BY_TABLE
/* Constants and function prototypes as function pointers in a struct: */
# ifdef INCLUDE_WITHOUT_PATHS
# include "schemex.h"
# else
# include "../src/schemex.h"
# endif
extern Scheme_Extension_Table *scheme_extension_table;
/* Macro mapping names to record access */
# ifdef INCLUDE_WITHOUT_PATHS
# include "schemexm.h"
# else
# include "../src/schemexm.h"
# endif
#else
/* Not LINK_EXTENSIONS_BY_TABLE */
# ifdef INCLUDE_WITHOUT_PATHS
mzscheme_wrap.h view on Meta::CPAN
Please see the full copyright in the documentation.
Originally based on:
libscheme
Copyright (c) 1994 Brent Benson
All rights reserved.
*/
/* MzScheme function prototypes */
/* Macros generally shouldn't go in this file; it is used both to
prototype functions, and as a parsing source for
declaring scheme_extension_table */
/* The scheme_extension_table "parser" is picky; don't leave a space
between a function name and it's opening parameter parenthesis. */
/* After this START tag, all comments should start & end on same line */
/*========================================================================*/
/* setjmpup (continuations) */
mzscheme_wrap.h view on Meta::CPAN
/* Internal */
Scheme_Object *scheme_do_eval(Scheme_Object *obj, int _num_rands, Scheme_Object **rands, int val);
Scheme_Object *scheme_eval_compiled_stx_string(Scheme_Object *expr, Scheme_Env *env,
long shift, Scheme_Object *modidx);
Scheme_Object *scheme_load_compiled_stx_string(const char *str, long len);
Scheme_Object *scheme_compiled_stx_symbol(Scheme_Object *stx);
Scheme_Object *scheme_eval_compiled_sized_string(const char *str, int len, Scheme_Env *env);
/*========================================================================*/
/* memory management */
/*========================================================================*/
/* The core allocator functions depend on the GC. Macros in scheme.h */
/* map to the apporpriate core allocation function. */
#ifndef SCHEME_NO_GC
# ifndef SCHEME_NO_GC_PROTO
void *GC_malloc(size_t size_in_bytes);
void *GC_malloc_atomic(size_t size_in_bytes);
# ifdef MZ_PRECISE_GC
void *GC_malloc_one_tagged(size_t size_in_bytes);
void *GC_malloc_atomic_uncollectable(size_t size_in_bytes);
void *GC_malloc_array_tagged(size_t size_in_bytes);
# else
( run in 1.257 second using v1.01-cache-2.11-cpan-26ccb49234f )