Commit Graph

301 Commits

Author SHA1 Message Date
Konrad Hinsen
0c56885d42 Use __future__.division for all Hy code
Fixes #106
Note: This is implemented by replacing all calls to Python's
builtin "compile" function by calls to hy.importer.compile_,
which adds the "future division" flag. Anyone using "compile"
in future work will have to remember this.
2013-04-12 05:23:25 +02:00
Paul R. Tagliamonte
db3e2bd346 updating the nested mangles 2013-04-11 22:25:23 -04:00
Konrad Hinsen
e3a9909a7e Implement integer division operator
Fixes #107
2013-04-11 10:09:15 +02:00
Paul R. Tagliamonte
eee65f3051 Update to the style. 2013-04-10 23:11:54 -04:00
Paul R. Tagliamonte
b65f78a0c7 Adding in this barf of a hack beacuse it pleases me. 2013-04-10 23:06:55 -04:00
Paul R. Tagliamonte
f6b94b1b40 Avoiding breaking PyPy. Wat. 2013-04-10 23:00:42 -04:00
Paul R. Tagliamonte
d25d354281 Adding in on-the-fly-importing. 2013-04-10 22:51:58 -04:00
Paul R. Tagliamonte
644f2756f3 Fixing the raised Exception. 2013-04-10 21:49:27 -04:00
Paul R. Tagliamonte
1adf64839a Updating travis; exceptions. 2013-04-10 21:44:23 -04:00
Paul R. Tagliamonte
65db83d1ff moving atoms around to make it easier for internals. 2013-04-10 20:04:58 -04:00
Paul R. Tagliamonte
8cc26ba1bf moving to locals; fixing _ast vs ast, adding tests 2013-04-09 21:40:54 -04:00
Paul R. Tagliamonte
73be6afd3a Initial cut of `eval' 2013-04-09 21:33:09 -04:00
Paul R. Tagliamonte
3f5ce64407 I'm an idiot 2013-04-09 20:44:52 -04:00
Paul R. Tagliamonte
c0b34181bc futzing with alignment 2013-04-09 20:44:05 -04:00
Paul R. Tagliamonte
b71d5c597e Fixing a bug @jd noticed. 2013-04-09 20:34:46 -04:00
Paul R. Tagliamonte
a948cf2870 Merge branch 'master' into feature/quoting 2013-04-09 19:50:25 -04:00
Julien Danjou
92eaed21e4 Merge pull request #87 from jd/jd/try
compiler: add `else' support in `try'
2013-04-09 08:23:41 -07:00
Julien Danjou
181a22be93 Merge pull request #91 from jd/jd/better-error-reporting
Enhance error reporting
2013-04-09 08:23:27 -07:00
Julien Danjou
4ba6ada77b Merge pull request #92 from jd/jd/raise-0-arg
Implements (raise)
2013-04-09 08:23:09 -07:00
Julien Danjou
b13cc60075 Implements (raise)
As in Python, this allows to re-raise the last raised exception.

This fixes #86

Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-09 17:00:45 +02:00
Julien Danjou
f8131d3c36 compiler: add else' support in try'
This is a bit tricky, since we'll also have to support `finally' in the end,
I've introduced an Else statement on my own to be able to recognize it.

This fixes #74

Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-09 17:00:30 +02:00
Julien Danjou
48d5a0abc0 catch: use the right symbol name in errors
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-09 16:58:32 +02:00
Julien Danjou
dd90272129 except/catch: check exceptions list type
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-09 16:56:45 +02:00
Julien Danjou
ed5a0455b6 Enhance error reporting
We're now able to make the difference between a compiler bug and a user
trying to compile wrong thing, and report this correctly on the console.

Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-09 16:09:06 +02:00
Paul R. Tagliamonte
997b32e18c Testing the behavior of (quote "foo") 2013-04-08 22:31:26 -04:00
Paul R. Tagliamonte
f27378e57a Adding in some prototype bits for quoted forms. 2013-04-08 20:18:15 -04:00
Julien Danjou
d7e8dd2a91 compiler: optimize empty tree mangling to ast.Pass
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-08 13:27:50 -04:00
Julien Danjou
cd36a1d7eb Allow empty `do'
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-08 15:17:11 +02:00
Paul R. Tagliamonte
57fa5c8127 Time for 0.9.5 2013-04-07 19:45:50 -04:00
Paul R. Tagliamonte
5336b2f71a Fix early returns. Close #83 2013-04-07 19:29:45 -04:00
Paul R. Tagliamonte
6912f4c4d9 Merge branch 'master' into pr-82 2013-04-07 18:51:18 -04:00
Paul R. Tagliamonte
2216a23438 Merge branch 'jd/try' of git://github.com/jd/hy into pr-82 2013-04-07 18:51:08 -04:00
Julien Danjou
2ff3da032c Merge pull request #81 from paultag/paultag/bugfix/with-syntax-fix
Fixing (with)'s syntax to be more hyish.
2013-04-07 15:41:53 -07:00
Paul R. Tagliamonte
e22a0ff73c Mangle a macro until it stops moving
this helps if we use a macro in something that got tree-mangled
  back out.
2013-04-07 18:41:41 -04:00
Julien Danjou
0d3500f6e5 try: accept a simpler form
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-08 00:36:08 +02:00
Paul R. Tagliamonte
4db9446197 Fixing (with)'s syntax to be more hyish. 2013-04-07 18:35:36 -04:00
Julien Danjou
48ae1b1e26 Merge pull request #80 from olasd/bugfix/unbalanced-expressions
Correctly handle unbalanced expressions
2013-04-07 15:27:45 -07:00
Nicolas Dandrimont
806f0d900c Throw an error on unbalanced expressions 2013-04-08 00:25:47 +02:00
Paul R. Tagliamonte
47ec1d264c style fixes 2013-04-07 18:16:45 -04:00
Paul R. Tagliamonte
3f84da8771 Merge branch 'f/and-and-or' of git://github.com/algernon/hy into pr-79 2013-04-07 18:15:54 -04:00
Julien Danjou
a73d460beb try: allow empty body
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-08 00:14:42 +02:00
Gergely Nagy
1b7d145c65 Implement the (or) function too
The (or) function is to be constructed similarly to (and), so refactor
the compile_and_operator function to handle or aswell.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2013-04-08 00:02:08 +02:00
Gergely Nagy
f03b538787 Implement the (and) function
The function takes at least two arguments, and turns it into a pythonic
and statement, which returns the last True-ish value, or False.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2013-04-07 23:54:56 +02:00
Julien Danjou
f5dc569de4 compiler: remove old TODO entry
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-07 23:14:42 +02:00
Paul R. Tagliamonte
bfc71e4a60 Add tail threading (->>) 2013-04-07 15:05:30 -04:00
Julien Danjou
bdd07e1251 Alias except' to catch' and raise' to throw'
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-07 18:24:01 +02:00
Julien Danjou
6dec894a0c Better catch syntax
The syntax is now changed to:

  (catch [] BODY)
  (catch [Exception] BODY)
  (catch [e Exception] BODY)
  (catch [e [Exception1 Exception2]] BODY)

Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-07 18:03:43 +02:00
Paul R. Tagliamonte
3c735d18bd Revert "Revert "Remove useless code""
This reverts commit 262da59c77.

Conflicts:
	hy/models/string.py
2013-04-07 10:06:44 -04:00
Paul R. Tagliamonte
c657def253 namespaceing to __hy in case anyone tries this 4real 2013-04-06 23:31:26 -04:00
Paul R. Tagliamonte
03dfbde1b8 style voodoo 2013-04-06 23:11:43 -04:00