|
- namespace Slime {
- proc create_source_code_location(String file, int line, int col) -> Source_Code_Location* {
- if (!file.data)
- return nullptr;
-
- Source_Code_Location* ret = (Source_Code_Location*)malloc(sizeof(Source_Code_Location));
- ret->file = file;
- ret->line = line;
- ret->column = col;
- return ret;
- }
-
- proc lisp_object_type_to_string(Lisp_Object_Type type) -> const char* {
- switch (type) {
- case(Lisp_Object_Type::Nil): return "nil";
- case(Lisp_Object_Type::T): return "t";
- case(Lisp_Object_Type::Number): return "number";
- case(Lisp_Object_Type::String): return "string";
- case(Lisp_Object_Type::Symbol): return "symbol";
- case(Lisp_Object_Type::Keyword): return "keyword";
- case(Lisp_Object_Type::Function): return "function";
- case(Lisp_Object_Type::Continuation): return "continuation";
- case(Lisp_Object_Type::Pair): return "pair";
- case(Lisp_Object_Type::Vector): return "vector";
- case(Lisp_Object_Type::Pointer): return "pointer";
- case(Lisp_Object_Type::HashMap): return "hashmap";
- case(Lisp_Object_Type::Invalid_Garbage_Collected): return "Invalid: Garbage Collected";
- case(Lisp_Object_Type::Invalid_Under_Construction): return "Invalid: Under Construction";
- }
- return "unknown";
- }
-
- }
|