diff --git a/src/compiler/.gitignore b/src/lang/.gitignore similarity index 100% rename from src/compiler/.gitignore rename to src/lang/.gitignore diff --git a/src/compiler/.idea/.idea.Nub.Lang/.idea/.gitignore b/src/lang/.idea/.idea.Nub.Lang/.idea/.gitignore similarity index 100% rename from src/compiler/.idea/.idea.Nub.Lang/.idea/.gitignore rename to src/lang/.idea/.idea.Nub.Lang/.idea/.gitignore diff --git a/src/compiler/.idea/.idea.Nub.Lang/.idea/.name b/src/lang/.idea/.idea.Nub.Lang/.idea/.name similarity index 100% rename from src/compiler/.idea/.idea.Nub.Lang/.idea/.name rename to src/lang/.idea/.idea.Nub.Lang/.idea/.name diff --git a/src/compiler/.idea/.idea.Nub.Lang/.idea/codeStyles/codeStyleConfig.xml b/src/lang/.idea/.idea.Nub.Lang/.idea/codeStyles/codeStyleConfig.xml similarity index 100% rename from src/compiler/.idea/.idea.Nub.Lang/.idea/codeStyles/codeStyleConfig.xml rename to src/lang/.idea/.idea.Nub.Lang/.idea/codeStyles/codeStyleConfig.xml diff --git a/src/compiler/.idea/.idea.Nub.Lang/.idea/encodings.xml b/src/lang/.idea/.idea.Nub.Lang/.idea/encodings.xml similarity index 100% rename from src/compiler/.idea/.idea.Nub.Lang/.idea/encodings.xml rename to src/lang/.idea/.idea.Nub.Lang/.idea/encodings.xml diff --git a/src/compiler/.idea/.idea.Nub.Lang/.idea/indexLayout.xml b/src/lang/.idea/.idea.Nub.Lang/.idea/indexLayout.xml similarity index 100% rename from src/compiler/.idea/.idea.Nub.Lang/.idea/indexLayout.xml rename to src/lang/.idea/.idea.Nub.Lang/.idea/indexLayout.xml diff --git a/src/compiler/.idea/.idea.Nub.Lang/.idea/vcs.xml b/src/lang/.idea/.idea.Nub.Lang/.idea/vcs.xml similarity index 100% rename from src/compiler/.idea/.idea.Nub.Lang/.idea/vcs.xml rename to src/lang/.idea/.idea.Nub.Lang/.idea/vcs.xml diff --git a/src/compiler/Nub.Lang.CLI/Nub.Lang.CLI.csproj b/src/lang/Nub.Lang.CLI/Nub.Lang.CLI.csproj similarity index 100% rename from src/compiler/Nub.Lang.CLI/Nub.Lang.CLI.csproj rename to src/lang/Nub.Lang.CLI/Nub.Lang.CLI.csproj diff --git a/src/compiler/Nub.Lang.CLI/Program.cs b/src/lang/Nub.Lang.CLI/Program.cs similarity index 100% rename from src/compiler/Nub.Lang.CLI/Program.cs rename to src/lang/Nub.Lang.CLI/Program.cs diff --git a/src/compiler/Nub.Lang.sln b/src/lang/Nub.Lang.sln similarity index 100% rename from src/compiler/Nub.Lang.sln rename to src/lang/Nub.Lang.sln diff --git a/src/compiler/Nub.Lang/Backend/Generator.cs b/src/lang/Nub.Lang/Backend/Generator.cs similarity index 100% rename from src/compiler/Nub.Lang/Backend/Generator.cs rename to src/lang/Nub.Lang/Backend/Generator.cs diff --git a/src/compiler/Nub.Lang/Frontend/Diagnostics/ConsoleColors.cs b/src/lang/Nub.Lang/Frontend/Diagnostics/ConsoleColors.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Diagnostics/ConsoleColors.cs rename to src/lang/Nub.Lang/Frontend/Diagnostics/ConsoleColors.cs diff --git a/src/compiler/Nub.Lang/Frontend/Diagnostics/Diagnostic.cs b/src/lang/Nub.Lang/Frontend/Diagnostics/Diagnostic.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Diagnostics/Diagnostic.cs rename to src/lang/Nub.Lang/Frontend/Diagnostics/Diagnostic.cs diff --git a/src/compiler/Nub.Lang/Frontend/Diagnostics/DiagnosticsResult.cs b/src/lang/Nub.Lang/Frontend/Diagnostics/DiagnosticsResult.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Diagnostics/DiagnosticsResult.cs rename to src/lang/Nub.Lang/Frontend/Diagnostics/DiagnosticsResult.cs diff --git a/src/compiler/Nub.Lang/Frontend/Diagnostics/SourceText.cs b/src/lang/Nub.Lang/Frontend/Diagnostics/SourceText.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Diagnostics/SourceText.cs rename to src/lang/Nub.Lang/Frontend/Diagnostics/SourceText.cs diff --git a/src/compiler/Nub.Lang/Frontend/Lexing/DocumentationToken.cs b/src/lang/Nub.Lang/Frontend/Lexing/DocumentationToken.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Lexing/DocumentationToken.cs rename to src/lang/Nub.Lang/Frontend/Lexing/DocumentationToken.cs diff --git a/src/compiler/Nub.Lang/Frontend/Lexing/IdentifierToken.cs b/src/lang/Nub.Lang/Frontend/Lexing/IdentifierToken.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Lexing/IdentifierToken.cs rename to src/lang/Nub.Lang/Frontend/Lexing/IdentifierToken.cs diff --git a/src/compiler/Nub.Lang/Frontend/Lexing/Lexer.cs b/src/lang/Nub.Lang/Frontend/Lexing/Lexer.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Lexing/Lexer.cs rename to src/lang/Nub.Lang/Frontend/Lexing/Lexer.cs diff --git a/src/compiler/Nub.Lang/Frontend/Lexing/LiteralToken.cs b/src/lang/Nub.Lang/Frontend/Lexing/LiteralToken.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Lexing/LiteralToken.cs rename to src/lang/Nub.Lang/Frontend/Lexing/LiteralToken.cs diff --git a/src/compiler/Nub.Lang/Frontend/Lexing/ModifierToken.cs b/src/lang/Nub.Lang/Frontend/Lexing/ModifierToken.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Lexing/ModifierToken.cs rename to src/lang/Nub.Lang/Frontend/Lexing/ModifierToken.cs diff --git a/src/compiler/Nub.Lang/Frontend/Lexing/SymbolToken.cs b/src/lang/Nub.Lang/Frontend/Lexing/SymbolToken.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Lexing/SymbolToken.cs rename to src/lang/Nub.Lang/Frontend/Lexing/SymbolToken.cs diff --git a/src/compiler/Nub.Lang/Frontend/Lexing/Token.cs b/src/lang/Nub.Lang/Frontend/Lexing/Token.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Lexing/Token.cs rename to src/lang/Nub.Lang/Frontend/Lexing/Token.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/AddressOfNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/AddressOfNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/AddressOfNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/AddressOfNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/ArrayIndexNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/ArrayIndexNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/ArrayIndexNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/ArrayIndexNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/BinaryExpressionNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/BinaryExpressionNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/BinaryExpressionNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/BinaryExpressionNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/BlockNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/BlockNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/BlockNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/BlockNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/BreakNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/BreakNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/BreakNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/BreakNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/CastNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/CastNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/CastNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/CastNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/ContinueNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/ContinueNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/ContinueNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/ContinueNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/DefinitionNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/DefinitionNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/DefinitionNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/DefinitionNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/DereferenceNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/DereferenceNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/DereferenceNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/DereferenceNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/ExpressionNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/ExpressionNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/ExpressionNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/ExpressionNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/FuncCall.cs b/src/lang/Nub.Lang/Frontend/Parsing/FuncCall.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/FuncCall.cs rename to src/lang/Nub.Lang/Frontend/Parsing/FuncCall.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/FuncCallExpressionNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/FuncCallExpressionNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/FuncCallExpressionNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/FuncCallExpressionNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/FuncCallStatementNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/FuncCallStatementNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/FuncCallStatementNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/FuncCallStatementNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/FuncDefinitionNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/FuncDefinitionNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/FuncDefinitionNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/FuncDefinitionNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/IdentifierNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/IdentifierNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/IdentifierNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/IdentifierNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/IfNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/IfNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/IfNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/IfNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/LiteralNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/LiteralNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/LiteralNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/LiteralNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/MemberAccessNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/MemberAccessNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/MemberAccessNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/MemberAccessNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/Node.cs b/src/lang/Nub.Lang/Frontend/Parsing/Node.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/Node.cs rename to src/lang/Nub.Lang/Frontend/Parsing/Node.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/Parser.cs b/src/lang/Nub.Lang/Frontend/Parsing/Parser.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/Parser.cs rename to src/lang/Nub.Lang/Frontend/Parsing/Parser.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/ReturnNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/ReturnNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/ReturnNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/ReturnNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/SourceFile.cs b/src/lang/Nub.Lang/Frontend/Parsing/SourceFile.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/SourceFile.cs rename to src/lang/Nub.Lang/Frontend/Parsing/SourceFile.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/StatementNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/StatementNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/StatementNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/StatementNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/StructDefinitionNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/StructDefinitionNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/StructDefinitionNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/StructDefinitionNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/StructInitializerNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/StructInitializerNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/StructInitializerNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/StructInitializerNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/UnaryExpressionNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/UnaryExpressionNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/UnaryExpressionNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/UnaryExpressionNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/VariableAssignmentNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/VariableAssignmentNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/VariableAssignmentNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/VariableAssignmentNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Parsing/WhileNode.cs b/src/lang/Nub.Lang/Frontend/Parsing/WhileNode.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Parsing/WhileNode.cs rename to src/lang/Nub.Lang/Frontend/Parsing/WhileNode.cs diff --git a/src/compiler/Nub.Lang/Frontend/Typing/NubType.cs b/src/lang/Nub.Lang/Frontend/Typing/NubType.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Typing/NubType.cs rename to src/lang/Nub.Lang/Frontend/Typing/NubType.cs diff --git a/src/compiler/Nub.Lang/Frontend/Typing/TypeChecker.cs b/src/lang/Nub.Lang/Frontend/Typing/TypeChecker.cs similarity index 100% rename from src/compiler/Nub.Lang/Frontend/Typing/TypeChecker.cs rename to src/lang/Nub.Lang/Frontend/Typing/TypeChecker.cs diff --git a/src/compiler/Nub.Lang/Nub.Lang.csproj b/src/lang/Nub.Lang/Nub.Lang.csproj similarity index 100% rename from src/compiler/Nub.Lang/Nub.Lang.csproj rename to src/lang/Nub.Lang/Nub.Lang.csproj diff --git a/src/compiler/Nub.Lang/Optional.cs b/src/lang/Nub.Lang/Optional.cs similarity index 100% rename from src/compiler/Nub.Lang/Optional.cs rename to src/lang/Nub.Lang/Optional.cs diff --git a/src/compiler/Nub.Lang/Variant.cs b/src/lang/Nub.Lang/Variant.cs similarity index 100% rename from src/compiler/Nub.Lang/Variant.cs rename to src/lang/Nub.Lang/Variant.cs