aboutsummaryrefslogtreecommitdiff
path: root/neb
diff options
context:
space:
mode:
Diffstat (limited to 'neb')
-rw-r--r--neb/__init__.py2
-rw-r--r--neb/parser.py5
2 files changed, 6 insertions, 1 deletions
diff --git a/neb/__init__.py b/neb/__init__.py
index e93f0dd..a50652d 100644
--- a/neb/__init__.py
+++ b/neb/__init__.py
@@ -15,6 +15,8 @@ def evaluate(expr, env, ns=None):
if isinstance(expr, Literal) or isinstance(expr, Callable) or isinstance(expr, TypeWrap) or isinstance(expr, List) or isinstance(expr, Handle):
return expr
elif isinstance(expr, Symbol) or isinstance(expr, Type):
+ if isinstance(expr, Symbol) and expr.quoted:
+ return Symbol(expr.name, expr.line)
if env.contains(expr.name):
if isinstance(expr, Type) and expr.inner is not None:
typecopy = deepcopy(env.get(expr.name))
diff --git a/neb/parser.py b/neb/parser.py
index d5712d2..22c51e4 100644
--- a/neb/parser.py
+++ b/neb/parser.py
@@ -29,7 +29,10 @@ def parseExpression(token, prev, tokens):
return Expr(args), idx + 2 # parens
def parseSymbol(token, prev, tokens):
- return Symbol(token.text, token.line), 1
+ if token.text.startswith("'"):
+ return Symbol(token.text[1:], token.line, True), 1
+ else:
+ return Symbol(token.text, token.line), 1
def parseLiteral(token, prev, tokens):
if token.type_ == TokenType.STRING: