/* Builtin Functions
*************************************************/
-static void Error(Value val) {
- fprintf(stderr, "fatal error: %s\n", ValueAsString(val)->bytes);
- exit(1);
-}
-static void Assert(char* file, int lineno, Value val) {
- if (IsFalse(val) || IsNil(val)) {
- fprintf(stderr, "%s:%d:error: Assertion failed\n", file, lineno);
- exit(1);
- }
-}
+void Error(Value val);
+void Assert(char* file, int lineno, Value val);
+
/* Binary Operators
*************************************************/
+
Value OpAdd(Value left, Value right);
Value OpSub(Value left, Value right);
Value OpMul(Value left, Value right);
/* Arrays And Hashes
*************************************************/
+
void Array_Set(Value array, int index, Value value);
Value Array_Get(Value array, int index);
--- /dev/null
+#include "runtime.h"
+
+void Assert(char* file, int lineno, Value val) {
+ if (IsFalse(val) || IsNil(val)) {
+ fprintf(stderr, "%s:%d:error: Assertion failed\n", file, lineno);
+ exit(1);
+ }
+}