John Jacobsen
499ec7697c
Add context manger / 'with' statement to tutorial
2013-04-21 09:03:19 -05: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
17c8ecd332
Run setup.py install before running tests
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-20 22:39:58 +02:00
Julien Danjou
3226ecc33f
Fix bin/hy and add a unit test
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-20 22:28:45 +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
James King
20b776aeb2
Removed redundant expression from _parse_lambda_list
2013-04-18 22:32:08 -04:00
James King
1080a457b1
Implemented &key and added tests
2013-04-18 22:27:38 -04:00
Julien Danjou
049c019791
Remove useless check
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-18 19:08:19 -07:00
Paul R. Tagliamonte
f268403d49
Add another small test on this
2013-04-18 21:46:30 -04:00
James King
263d7af0fc
Added line and column offsets
2013-04-18 18:39:49 -04:00
James King
70e0d88149
WIP - Added &key support
2013-04-18 17:47:08 -04:00
James King
18ed72136f
Merge branch 'master' into feature/lambda-list-keyword
...
Conflicts:
hy/compiler.py
hy/lex/states.py
hy/util.py
tests/compilers/test_ast.py
tests/lex/test_lex.py
2013-04-18 15:17:30 -04:00
Paul R. Tagliamonte
d3a019b3dd
Don't quote things in (quote) - Closes #129
2013-04-17 23:20:56 -04:00
Paul R. Tagliamonte
3f362bc318
Merge branch 'unary_minus' of github.com:khinsen/hy
2013-04-16 23:07:32 -04:00
Konrad Hinsen
270a619cf7
Simplify the decorator hy.compiler.builds
...
Not so much for the efficiency gain, but to save keystrokes in the
debugger when looking at methods with lots of builds decorators.
2013-04-16 17:53:02 +02:00
Konrad Hinsen
41a9ce28f0
Implement unary minus
2013-04-16 17:43:40 +02:00
Paul R. Tagliamonte
1bcce13e1d
Merge branch 'master' of github.com:paultag/hy
2013-04-15 23:00:18 -04:00
Paul R. Tagliamonte
4888589f59
Callin' this 0.9.6
2013-04-15 22:36:50 -04:00
Julien Danjou
475c2b6b63
Use HyTypeError to raise else' errors in
foreach'
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-15 11:47:11 -07:00
Paul Tagliamonte
1295369ed8
Adding in the mant thinger.
2013-04-15 08:37:25 -04:00
Paul R. Tagliamonte
d50551ca71
fixing the bits
2013-04-14 22:19:33 -04:00
Paul R. Tagliamonte
09d20cf904
Adding in some new items
2013-04-14 22:17:15 -04:00
Paul R. Tagliamonte
9d913e92af
removing the pass
2013-04-14 21:58:44 -04:00
Paul R. Tagliamonte
7b4d4fb371
Merge branch 'jd/finally' of git://github.com/jd/hy into pr-94
2013-04-14 21:57:11 -04:00
Paul R. Tagliamonte
da33f41753
some style fixes for @algernon
2013-04-14 21:54:15 -04:00
Paul R. Tagliamonte
a5a54fc7eb
Merge branch 'f/smart-import' of git://github.com/algernon/hy into pr-113
2013-04-14 21:32:22 -04:00
Paul R. Tagliamonte
3b3768853a
Merge branch 'jd/remove-pass' of git://github.com/jd/hy into pr-122
2013-04-14 21:09:47 -04:00
Paul R. Tagliamonte
5d0b1a5e1e
Merge branch 'jd/for-else' of git://github.com/jd/hy into pr-121
2013-04-14 21:05:55 -04:00
Julien Danjou
bbaab58a4c
Implements else' for
foreach' statements
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-15 02:50:26 +02:00
Julien Danjou
c05ae5fcbc
Add AugAssign handling
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-15 02:49:34 +02:00
Julien Danjou
60a9003b0c
Add missing bits operator and power
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-15 02:49:34 +02:00
Julien Danjou
6a09179809
Enhance error handling
...
We now have a full backtrace if the compiler bugs, and if it's a user
problem we indicate him where he failed.
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-15 02:48:58 +02:00
Julien Danjou
fdb6bf944c
try: add support for `finally'
...
This fixes #75
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-15 02:48:58 +02:00
Paul R. Tagliamonte
403be35aa3
use hy
2013-04-14 18:24:37 -04:00
Julien Danjou
cb20910d93
Remove `pass' from the language.
...
This also fixes a bug in the pass optimize missing branch where the code is
something like: [stmt, [], stmt]; in such case we want to filter out [], so
if we end up with [] we can optimize it. This fix is needed otherwise (do)
inside (do) are not properly optimized.
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-14 13:56:44 +02:00
Nicolas Dandrimont
1756e534ad
The b prefix works since python2.6
2013-04-13 21:46:17 +02:00
Vladimir Gorbunov
0b03733c65
Add tests for pyc compilation
2013-04-13 20:57:54 +04:00
Paul R. Tagliamonte
3e0ff4a9b2
Adding @vladimir-g to AUTHORS
2013-04-13 10:50:55 -04:00
Gergely Nagy
5d895c2005
Making (import) a lot smarter
...
With these changes, the import function will become a lot smarter, and
will combine all of import, import-from and import-as in a hyly lispy
syntax:
(import sys os whatever_else)
(import [sys [exit argv]] [os :as real_os]
[whatever_else [some_function :as sf]])
That is, each argument of import can be:
- A plain symbol, which will be imported
- A list, which will be handled specially
If the argument is a list, the first element will always be the module
name to import, the second member can be either of these:
- A list of symbols to import
- The ':as' keyword
- Nothing
If it is the ':as' keyword, the third argument must be an alias. If it
is a list of symbols to import, we'll iterate through that list too. If
any symbol is followed by an ':as' keyword, we'll pick all three, and
treat the third member as an alias. If there is nothing else in the
list, we'll import the module as-is.
All this combined fixes #113 .
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2013-04-13 15:06:31 +02:00
Vladimir Gorbunov
f30e7cd99b
Fix hyc
2013-04-13 16:28:37 +04:00
Paul R. Tagliamonte
1e98889604
removing site reqs file
2013-04-12 23:49:08 -04:00