Merge pull request #193 from paultag/paultag/feature/keyword-calls

Adding back in keywords.
This commit is contained in:
Julien Danjou 2013-06-19 01:51:58 -07:00
commit 50e1fc4766
2 changed files with 14 additions and 0 deletions

View File

@ -1399,10 +1399,19 @@ class HyASTCompiler(object):
return ret
@checkargs(1)
def _compile_keyword_call(self, expression):
expression.append(expression.pop(0))
expression.insert(0, HySymbol("get"))
return self.compile(expression)
@builds(HyExpression)
def compile_expression(self, expression):
fn = expression[0]
func = None
if isinstance(fn, HyKeyword):
return self._compile_keyword_call(expression)
if isinstance(fn, HyString):
ret = self.compile_atom(fn, expression)
if ret:

View File

@ -732,3 +732,8 @@
(defn test-encoding-nightmares []
"NATIVE: test unicode encoding escaping crazybits"
(assert (= (len "ℵℵℵ♥♥♥\t♥♥\r\n") 11)))
(defn test-keyword-dict-access []
"NATIVE: test keyword dict access"
(assert (= "test" (:foo {:foo "test"}))))