Morten Linderud
42468051f5
Builtins fix for 2 and 3, tests aswell
2013-06-25 17:02:02 +02:00
Paul Tagliamonte
289586b340
Adding back in keywords.
...
Yes, I'm your hero, @algernon
2013-06-18 22:57:51 -04:00
Paul Tagliamonte
f9b13a625f
Style fix
2013-06-18 21:48:42 -04:00
Paul Tagliamonte
b00f181e1e
Merge branch 'master' into pr/187
2013-06-18 21:17:13 -04:00
Paul Tagliamonte
0f9324e794
Merge branch 'master' into pr/192
2013-06-08 20:13:53 -04:00
Paul Tagliamonte
d15aa31a32
style fixes
2013-06-08 20:10:27 -04:00
Thomas Ballinger
00da0468e6
larger kludge for escaped characters
2013-06-07 17:07:22 -04:00
Konrad Hinsen
6eacf63b53
Provide both eval-and-compile and eval-when-compile
2013-06-07 16:36:04 +02:00
Konrad Hinsen
80105d9731
eval-when-compile permits compile-time definitions that can be used from macros
2013-06-07 16:36:04 +02:00
Konrad Hinsen
12abef5ed5
Forgot boolean constants..
2013-06-07 16:35:28 +02:00
Konrad Hinsen
e47bac1f96
Permit macros to return constants
2013-06-05 12:19:06 +02:00
Paul Tagliamonte
9c28e0292d
Merge branch 'master' into pr/185
...
Conflicts:
hy/macros.py
tests/compilers/test_compiler.py
Hoodoggy!
2013-05-17 11:17:51 -04:00
Paul Tagliamonte
c0fd41620f
Merge branch 'master' into pr/182
2013-05-17 11:09:37 -04:00
Paul Tagliamonte
5a1b004bfb
Merge branch 'master' into pr/179
2013-05-17 11:08:30 -04:00
Paul Tagliamonte
81096596c7
style fix - long line
2013-05-17 11:07:36 -04:00
Konrad Hinsen
269da19d76
Make macros module-specific.
...
A macro is available in the module where it was defined and
in any module that does a require of the defining module.
Only macros defined in hy.core are globally available.
Fixes #181
2013-05-16 15:34:14 +02:00
Nicolas Dandrimont
9e03e0e6ec
Modify HyDict semantics to allow nesting expressions
...
HyDicts are now HyLists, that get compiled down to dicts
only by the compiler.
2013-05-14 11:43:17 +02:00
Julien Danjou
66e5af4a82
Write a test for builds() check
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-05-14 11:03:13 +02:00
Julien Danjou
4e202aa1a5
Check that compiler error are user always user friendly
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-05-13 18:14:39 +02:00
Paul Tagliamonte
de85940114
Meh, 0.9.8 time.
2013-05-12 13:40:53 -04:00
Paul Tagliamonte
8717d40e19
Rushed fix for the contrib.meth macros
2013-05-12 13:40:30 -04:00
Nicolas Dandrimont
5a74fff7e6
Fix up the native-macros to use compiler imports
2013-05-11 21:25:21 +02:00
Paul Tagliamonte
636eec8f51
style fixes
2013-05-11 13:59:19 -04:00
Nicolas Dandrimont
b380b330cd
Add a defmacro builtin
2013-05-11 09:13:15 +02:00
Nicolas Dandrimont
0986f9001e
Change macros to be called with separate arguments
...
This provides free argument-length checking for macros.
2013-05-11 09:09:34 +02:00
Nicolas Dandrimont
74d4937078
Don't return a useless pass
in require
2013-05-11 08:04:59 +02:00
Paul Tagliamonte
2426237916
Add the (require) form.
2013-05-10 23:43:34 -04:00
Nicolas Dandrimont
2860ef6ff7
Don't macro-expand inside quotes
2013-05-11 00:29:42 +02:00
Nicolas Dandrimont
68399b9fc3
Make sure splicing works at all times
2013-05-11 00:26:37 +02:00
Nicolas Dandrimont
58bb3239ee
Distinguish between quote and quasiquote
2013-05-10 23:42:38 +02:00
Nicolas Dandrimont
322a9992e5
Implement unquote and unquote-splicing
2013-05-10 23:42:38 +02:00
Paul Tagliamonte
9811b7514e
Merge branch 'master' into pr/171
2013-05-09 20:39:49 -04:00
Paul Tagliamonte
1fa53f9255
Try/Except: Ensure that we return properly
...
From both inside a try and in an exception handler.
2013-05-08 20:41:16 -04:00
Nicolas Dandrimont
0055f00a76
Allow kwapply for any expression.
...
This fixes #103 .
2013-05-09 02:28:42 +02:00
Paul Tagliamonte
98134e7396
Merge branch 'master' into bugfix/paultag/fix-try-except
2013-05-08 20:22:51 -04:00
Paul Tagliamonte
066c9781c7
Merge branch 'master' into pr/170
2013-05-08 20:11:57 -04:00
Paul Tagliamonte
058197a24f
Allow returning inside a try / except. Closes #163
2013-05-08 20:00:09 -04:00
Nicolas Dandrimont
4e3f842972
Add &optional arguments.
...
Python doesn't really have that concept, so make them clash with &key arguments.
2013-05-08 21:11:33 +02:00
Nicolas Dandrimont
772927c53d
Drop the bare names that were sprinkled everywhere in the generated AST.
...
This closes #162
We make sure not to drop *explicitly written* bare names.
2013-05-08 18:49:07 +02:00
Nicolas Dandrimont
c7176c05c0
Merge branch 'jd/defclass' of https://github.com/jd/hy into jd-jd/defclass
2013-05-08 15:30:20 +02:00
Julien Danjou
a823aca0c8
Run unit tests against hy2py
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-05-08 14:39:38 +02:00
Julien Danjou
ad7e110af4
Implements defclass
...
This fixes issue #156
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-05-08 12:38:57 +02:00
Nicolas Dandrimont
1e24dde153
Merge fn and lambda
...
We actually only generate an ast.Lambda if (lambda) was called, as a lot of code
expect ast.FunctionDefs (most notably with_decorator).
This allows empty lambdas too.
This fixes #165 .
2013-05-07 20:07:15 +02:00
Julien Danjou
5a6e3ca31b
Small code simplification
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-05-06 15:46:06 +02:00
Paul Tagliamonte
57430a7a86
awesome. 0.9.7
2013-05-05 23:04:51 -04:00
Julien Danjou
a0285903e6
Cleanup
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-05-05 20:42:48 +02:00
Julien Danjou
9d8accb93a
compiler: do not optimize Name
...
The optimization is wrong; they can't have side effects, but they can
raise errors.
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-05-05 20:42:48 +02:00
Nicolas Dandrimont
126e7ac531
Remove some unused code
2013-05-05 20:42:48 +02:00
Nicolas Dandrimont
387bc0d9f2
Split eval in two steps to allow eval'ing statements
...
We compile the evaluated operand, separating the body (statements)
from the expression. We then eval() those separately, and return
the evaluated expression.
2013-05-05 20:42:48 +02:00
Nicolas Dandrimont
510ad53c71
mangles kthxbye
2013-05-05 20:42:48 +02:00