Commit Graph

935 Commits

Author SHA1 Message Date
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
Nicolas Dandrimont
87abda5202 Fix travis url in README.md 2013-05-07 20:04:04 +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
Julien Danjou
5a6e3ca31b Small code simplification
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-05-06 15:46:06 +02:00
Nicolas Dandrimont
5bed886362 Fix j-related NEWS entry
I claim this silly bug as mine!
2013-05-06 14:58:14 +03:00
Paul Tagliamonte
57430a7a86 awesome. 0.9.7 2013-05-05 23:04:51 -04:00
Paul Tagliamonte
ba114f220b add NEWS 2013-05-05 23:03:55 -04:00
Nicolas Dandrimont
45db4a8d0f Use unittest2 in travis for py2.6 2013-05-05 20:42:48 +02:00
Julien Danjou
6948fff112 Add a first test for the compiler
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-05-05 20:42:48 +02: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
6b2c635cfa Add some more eval tests 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
4387b947b3 Add a test for subscript assignment 2013-05-05 20:42:48 +02:00
Nicolas Dandrimont
510ad53c71 mangles kthxbye 2013-05-05 20:42:48 +02:00
Nicolas Dandrimont
e9f7c47663 Do the macro processing in the compiler 2013-05-05 20:42:48 +02:00
Nicolas Dandrimont
3d8a3d589c Refactor compiler using a result carrying object
This object allows to coerce statements to an expression, if we need to use
them that way, which, with a lisp, is often.

This was collaborative work that has been rebased to make it bisectable.

Helped-by: Paul Tagliamonte <paultag@debian.org>
Helped-by: Julien Danjou <julien@danjou.info>
2013-05-05 20:42:48 +02:00
Nicolas Dandrimont
b7f92bd915 Don't lex "j" as a complex number.
This fixes #143
2013-05-04 10:27:30 +02:00
Julien Danjou
2ef9a0fdaf Rename decorate-with' to with-decorator'
Fixes #158

Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-28 17:14:22 +02:00
Julien Danjou
08fbd754b6 Update indentation for `if'
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-28 17:08:00 +02:00
Julien Danjou
f25177e9a6 Add a `unless' macro
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-28 17:04:35 +02:00
Julien Danjou
f68e3b972b Add a `when' macro
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-28 17:04:35 +02:00
Julien Danjou
9b261a5004 Make HyList add returns HyList
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-28 17:04:33 +02:00
Julien Danjou
27e74d43b1 Re-indent Hy code using hy-mode
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-28 16:31:31 +02:00
Paul Tagliamonte
9776b7133e update readme 2013-04-27 20:52:37 -04:00
Will Kahn-Greene
d4ff08ba3f Merge pull request #155 from willkg/better-c
Fix hy -c CMD to better handle lex errors
2013-04-25 13:10:17 -07:00
Will Kahn-Greene
07dec18dc3 Fix "hy -c CMD" to show lex errors; add tests
* tells you there's a lex error, but doesn't tell you much else
* adds tests for all new bin/hy functionality
2013-04-24 22:23:12 -04:00
John Jacobsen
760774afde Implement import_buffer_to_module 2013-04-24 21:58:42 -04:00
Julien Danjou
50daf1b4c8 Make temp attribute more solid and add unit test on regression
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-24 22:36:49 +02:00
Julien Danjou
4447ac5f1a Revert wrong changes on temporary_attribute_value
We don't want to ignore any error.

Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-24 22:18:45 +02:00
Will Kahn-Greene
08b30e8195 Back-figuring the license/copyright info
I did a git log thing to figure out who touched bin/hy and copied
those people over here since the bulk of the code came from bin/hy.
2013-04-24 09:03:56 -04:00
Will Kahn-Greene
3f7f241097 Fix license header 2013-04-24 08:57:51 -04:00
Will Kahn-Greene
fb8140b6bc Add license to new file 2013-04-24 08:32:03 -04:00
Will Kahn-Greene
4e59af0033 Redid command line code
This supports:

* -h, --help
* --version
* -c cmd
* -i cmd
* file
* -

Plus it's easy to add new options.

Also, now we can do ridiculous things like have projects where
the installation is:

$ curl -s http://example.com/install-hypster-program | hy
2013-04-23 22:02:41 -04:00
Paul Tagliamonte
ada946fca8 style cleanup 2013-04-23 19:25:02 -04:00
Paul Tagliamonte
a1cf9e50eb Merge branch 'master' into pr/141 2013-04-23 19:23:37 -04:00
Paul Tagliamonte
52ebcfae8c removing the dunder. that was a bad move. 2013-04-22 21:49:19 -04:00
Paul Tagliamonte
109e8cb147 sorting imports by length 2013-04-22 21:47:43 -04:00
Julien Danjou
a9a67e9418 Simplify compile
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-22 22:46:43 +02:00
Julien Danjou
c241236bf5 Remove useless class attribute
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-22 14:58:05 +02:00
Paul Tagliamonte
6cb17a2f14 Merge branch 'master' into pr/149 2013-04-21 20:59:50 -04:00
John Jacobsen
8d8dd62168 Move take and drop from AST impl. in compiler.py to macros in core/bootstrap.py 2013-04-21 19:08:30 -05:00
Julien Danjou
afd0ba1870 Remove useless variable assignment
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-22 00:30:22 +02:00
John Jacobsen
c65df143b9 Simplify 'take' 2013-04-21 15:47:45 -05:00
John Jacobsen
f69c6243e8 Fix 'direction' of 'drop' function 2013-04-21 15:46:31 -05:00
John Jacobsen
fef571855b Added 'take' and 'drop' functions (as AST elements) 2013-04-21 15:41:20 -05:00
Paul Tagliamonte
6f7f402c19 Merge branch 'master' into pr/140
Conflicts:
	hy/compiler.py
	tests/native_tests/language.hy
2013-04-21 12:29:09 -04:00
Paul Tagliamonte
55ed7cee62 misc. style fixes 2013-04-21 11:43:33 -04:00
Julien Danjou
7066d53b02 Introduce a context manager for compiler.returnable
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-21 17:14:26 +02:00