mirror of
https://github.com/samsonjs/lake.git
synced 2026-03-25 08:55:49 +00:00
37 lines
583 B
C
37 lines
583 B
C
/**
|
|
* bool.c
|
|
* Lake Scheme
|
|
*
|
|
* Copyright 2011 Sami Samhuri
|
|
* MIT License
|
|
*
|
|
*/
|
|
|
|
#include "bool.h"
|
|
#include "lake.h"
|
|
#include "sym.h"
|
|
|
|
LakeSym *bool_from_int(int n)
|
|
{
|
|
return n ? sym_intern("#t") : sym_intern("#f");
|
|
}
|
|
|
|
int is_true(LakeVal *val)
|
|
{
|
|
return (val->type == TYPE_SYM && sym_eq(sym_intern("#t"), SYM(val)));
|
|
}
|
|
|
|
int is_false(LakeVal *val)
|
|
{
|
|
return (val->type == TYPE_SYM && sym_eq(sym_intern("#f"), SYM(val)));
|
|
}
|
|
|
|
int is_truthy(LakeVal *val)
|
|
{
|
|
return is_true(val); /* TODO */
|
|
}
|
|
|
|
int is_falsy(LakeVal *val)
|
|
{
|
|
return is_false(val); /* TODO */
|
|
}
|