25 lines
523 B
C
25 lines
523 B
C
|
|
#include <debug.h>
|
|
|
|
#include <value/lambda/new.h>
|
|
|
|
#include "struct.h"
|
|
#include "evaluate.h"
|
|
|
|
struct value* lambda_expression_evaluate(
|
|
struct expression* super,
|
|
struct environment* environment,
|
|
struct booleans* booleans)
|
|
{
|
|
ENTER;
|
|
|
|
struct lambda_expression* this = (void*) super;
|
|
|
|
struct value* result = new_lambda_value(
|
|
/* captured environment: */ environment,
|
|
/* variable name: */ this->variable_name,
|
|
/* body: */ this->body);
|
|
|
|
EXIT;
|
|
return result;
|
|
}
|