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
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
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
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
Paul Tagliamonte
adecd32897
Merge branch 'master' into pr/144
2013-04-21 11:12:04 -04:00
Paul Tagliamonte
47b2709c47
Merge branch 'master' into pr/145
2013-04-21 11:04:36 -04:00
Paul Tagliamonte
36a7f91014
Merge branch 'master' into pr/146
2013-04-21 11:03:32 -04:00
Paul Tagliamonte
feabe3ff4a
Merge branch 'master' into pr/125
2013-04-21 10:58:08 -04:00
Julien Danjou
c0baea80dc
Mangler cosmetic cleanup
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-21 15:58:36 +02:00
Julien Danjou
7f230fdd10
importer: remove useless import
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-20 22:14:08 +02:00
Julien Danjou
07e99dbd33
importer: doc update, MetaImport refactor
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-20 22:11:53 +02:00
Gergely Nagy
494bf0e8ad
Remove the import-as and import-from builtins
...
The new and improved (import) can handle all cases import-as and
import-from did, so drop the latter two from the language. To do this,
the import builtin had to be changed a little: if there's a single
import statement to return, return it as-is, otherwise return a list of
imports.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2013-04-20 16:06:32 +02:00
Julien Danjou
74ea8fe5e5
Allow fn to have no body
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-20 05:19:58 -07:00
Julien Danjou
07860b5ce6
Allow variable without value in `let' declaration
...
Fixes issue #138
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-20 05:18:45 -07:00
James King
0efe3d7c49
Removed .format from lex/states.py
2013-04-19 10:49:57 -04:00
James King
047956c59b
Clean up based on review
2013-04-19 10:36:51 -04:00
E. Anders Lannerback
18cb7203d3
Added global. Not sure if this is a good idea ...
...
(global foo) => global foo
2013-04-19 08:40:03 +02:00
Paul R. Tagliamonte
aadf47ed99
documenting hy.core.mangles
2013-04-18 22:50:46 -04:00
Paul R. Tagliamonte
23773a5117
docstrings on the mangle
2013-04-18 22:44:03 -04:00