Nicolas Dandrimont
d3fa1fd1a8
Add disassemble function to hy.core.language
...
This function dumps the AST or the python code generated by evaluating a quoted expression to stdout.
Fixes #58
2014-01-04 03:47:04 +01:00
Nicolas Dandrimont
2f7d40b409
Factor the calling-module-name function
2014-01-03 21:41:14 +01:00
Nicolas Dandrimont
74739bc43e
Whitespace fix
2014-01-02 00:52:29 +01:00
Nicolas Dandrimont
88451bbeaa
Merge branch 'better-macroexpand' of https://github.com/sbp/hy into sbp-better-macroexpand
...
Conflicts:
hy/core/language.hy
tests/native_tests/language.hy
2014-01-02 00:49:40 +01:00
Paul Tagliamonte
eeef65b505
Change the signature of (for) and (with).
...
(for) is restored to clojure-like flatness.
(with) can be used without the nested list if you don't care about the
name.
Tests and examples updated.
2013-12-31 13:35:31 -05:00
Paul Tagliamonte
e754a58237
Merge branch 'master' into pr/363
2013-12-31 11:41:30 -05:00
Abhishek L
0a80b87b7f
Merge branch 'master' onto pr/395
2013-12-31 03:37:26 +05:30
Gergely Nagy
62522a5f86
Allow get with multiple arguments
...
When calling get with more than two arguments, treat the rest as indexes
into the expression from the former. That is, (get foo "bar" "baz")
would translate to foo["bar"]["baz"], and so on.
This fixes #362 .
Requested-by: Sean B. Palmer <sean@miscoranda.com>
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2013-12-30 12:04:40 +01:00
Foxboron
d82636958b
added for and with macros
...
Fixed up anaphoric.hy and added the tests too native_tests/__init__.py
added __init__.hy
2013-12-29 16:50:21 +01:00
Bob Tolbert
55a7ab1667
add nil as synonym for None
2013-12-27 13:50:19 -07:00
Nicolas Dandrimont
cfbc792957
Fix apply with method calls
...
Apply didn't work on method calls (i.e. `(apply .foo [bar]) broke).
This slipped through because there were no tests of this behavior. I noticed
it while trying to merge the `meth` fixes.
2013-12-23 21:02:45 +01:00
Nicolas Dandrimont
1a701d4dc4
Whitespace fix
2013-12-22 20:04:12 +01:00
Nicolas Dandrimont
ec2b5fb7ad
Merge branch 'kwapply-macro' of https://github.com/Willyfrog/hy into Willyfrog-kwapply-macro
...
Conflicts:
hy/core/language.hy
hy/core/macros.hy
tests/native_tests/language.hy
2013-12-22 20:03:00 +01:00
Nicolas Dandrimont
799c39ffad
Implement del
...
Closes #385 .
2013-12-22 20:26:57 +02:00
Nicolas Dandrimont
cc147512fc
Merge branch 'paultag/feature/support-question-marks' of https://github.com/paultag/hy into paultag-paultag/feature/support-question-marks
...
Conflicts:
hy/core/language.hy
2013-12-05 19:28:59 +01:00
Nicolas Dandrimont
f0a9149383
Merge branch 'string-cast' of https://github.com/Willyfrog/hy into Willyfrog-string-cast
2013-12-05 19:04:22 +01:00
Paul Tagliamonte
fd60a864eb
Translate all foo? -> is_foo. Close #334
...
The fancypants Hy award goes to Nick for coming up with the quoted
symbol hack for exports. This broke with foo?, since the export string
needs to be is_foo, but using a quoted string will pick up the change
due to it being a Symbol.
Mad clown love for that, @olasd.
2013-12-01 15:03:31 -05:00
Nicolas Dandrimont
26b052c76e
language.hy whitespace fix
2013-11-02 20:50:21 +01:00
Nicolas Dandrimont
59e51166fb
Allow calling kwapply with mixed names and dicts
2013-11-02 20:50:21 +01:00
Nicolas Dandrimont
83bb1513db
Make apply api-compatible with python (args is not mandatory)
2013-11-02 20:50:20 +01:00
Guillermo Vaya
f5754b404e
Define kwapply as a macro
...
Define apply if python3
Added apply tests
2013-11-02 18:18:16 +01:00
Sean B. Palmer
defccc6853
Added macroexpand-1
2013-10-11 13:50:10 +01:00
Sean B. Palmer
2e60d6b47b
Added a simple test for macroexpand
2013-10-11 12:03:52 +01:00
Guillermo Vaya
25bf3dec42
Add a method for casting into byte string or unicode depending on python version
2013-10-03 23:39:17 +02:00
Nicolas Dandrimont
875d5f2ff5
Rewrite the bootstrap macros in hy
...
This gets rid of the dichotomy between bootstrap.py and macros.hy,
by making both files hy modules.
I added some error checking to make the macros more resilient. The
biggest (user-visible) change is the change in cond, which now only
accepts lists as arguments. Tests updated accordingly.
Closes : #176 (whoops, no more bootstrap)
2013-09-29 18:13:28 +02:00
Nicolas Dandrimont
a17dcdbffb
Make with
return the last expression from its branch
...
Thanks @rwtolbert for the bug report
2013-07-19 00:43:12 +02:00
Guillermo Vaya
6778e9b2e1
added @tuturto sugesstions and flake8 errors
2013-07-16 20:41:56 +02:00
Guillermo Vaya
dda291cfb5
make assoc accept multiple values, also added a even/odd check for checkargs
2013-07-16 14:35:57 +02:00
Joe H. Rahme
236ebccc74
Removes setf
in favor of setv
2013-07-10 02:16:49 +02:00
Paul Tagliamonte
86af7eacf1
Add in a new core language file.
...
This will let us implement common functions seen in other lisps,
and allow them to be importable, without explicit imports. The goal
is to keep this as small as we can; we don't want too much magic.
I've added `take' and `drop' as examples of what we can do.
2013-06-29 18:51:11 -04:00
Nicolas Dandrimont
b65c2a4596
whitespace fix
2013-06-26 08:50:37 +02:00
Guillermo Vaya
7b7b953410
set the value of empty hy expression to []
2013-06-26 08:50:37 +02:00
Morten Linderud
73c1f218e2
fixed a bug and added tests
2013-06-24 03:26:40 +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
4aca7842cd
Add regression test for UTF and escapes.
2013-06-08 20:17:50 -04: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
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
3252af3129
Add tests for expr-in-dict
2013-05-14 12:01:23 +02:00
Nicolas Dandrimont
1e7c90c44e
Test requires from native code
2013-05-11 21:25:21 +02:00
Paul Tagliamonte
2426237916
Add the (require) form.
2013-05-10 23:43:34 -04:00
Nicolas Dandrimont
e039c73abd
Add tests for quasiquoting
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
488fa89e09
Add some tests for kwapplying expressions
2013-05-09 02:33:14 +02:00
Paul Tagliamonte
98134e7396
Merge branch 'master' into bugfix/paultag/fix-try-except
2013-05-08 20:22:51 -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
5dbf6c6ca9
Add tests for &key arguments in functions
2013-05-08 21:11:33 +02:00
Nicolas Dandrimont
6935b7b8c1
Add a test for lambda w/ lambda-list
2013-05-07 20:07:15 +02:00
Julien Danjou
8e9a16cc61
Add test case for issue #137
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-05-06 15:48:00 +02:00