mirror of
https://github.com/samsonjs/lake.git
synced 2026-04-18 12:55:49 +00:00
28 lines
No EOL
534 B
C
28 lines
No EOL
534 B
C
/**
|
|
* primitive.c
|
|
* Lake Scheme
|
|
*
|
|
* Copyright 2011 Sami Samhuri
|
|
* MIT License
|
|
*
|
|
*/
|
|
|
|
#include "lake.h"
|
|
#include "primitive.h"
|
|
|
|
static LakePrimitive *prim_alloc(void)
|
|
{
|
|
LakePrimitive *prim = malloc(sizeof(LakePrimitive));
|
|
VAL(prim)->type = TYPE_PRIM;
|
|
VAL(prim)->size = sizeof(LakePrimitive);
|
|
return prim;
|
|
}
|
|
|
|
LakePrimitive *prim_make(char *name, int arity, lake_fn fn)
|
|
{
|
|
LakePrimitive *prim = prim_alloc();
|
|
prim->name = g_strdup(name);
|
|
prim->arity = arity;
|
|
prim->fn = fn;
|
|
return prim;
|
|
} |