Commit Graph

1664 Commits

Author SHA1 Message Date
Allison Kaptur
caa53fb095 Tests for explicit exception chaining
This also breaks out the PY3 only tests into their own file.  We need to do this because raise from is a syntax error in PY2, so we can't rely on the previous hack of catching a HyCompileError - it would compile fine through Hy and then be a syntax error in Python.
2014-05-01 16:33:10 -04:00
Allison Kaptur
1499d49878 Add support for explicit exception chaining
A la PEP 3134
2014-05-01 16:30:40 -04:00
Matthew Wampler-Doty
5b4c431b81 Enforcing dynamic scope behavior in let 2014-04-30 10:38:49 -05:00
Matthew Wampler-Doty
914a18f5b0 Moving math.hy so it doesn't clash with library math module; band aid around issue #583 (PEP 328 non-compliance) 2014-04-30 10:38:07 -05:00
Tuukka Turto
ddcf192da4 Merge branch 'master' into pr/524 2014-04-30 10:16:30 +03:00
Berker Peksag
229d782ce9 Enable Python 3.4 on Travis CI. 2014-04-30 09:24:19 +03:00
Berker Peksag
cdea12b276 Make hy2py public. 2014-04-30 01:51:21 +03:00
Matthew Wampler-Doty
7b5cb390ab setv no longer creates variables with '.' in their names
FIXES #577
2014-04-29 09:22:55 -05:00
pyos
f02e044719 Move the documentation for zipwith to the correct place. 2014-04-29 18:04:21 +04:00
pyos
8e4b21103c Reimplement some built-ins in terms of the standard library.
As a result:

  * functions such as `nth` should work correctly on iterators;
  * `nth` will raise `IndexError` (in a fashion consistent with `get`)
    when the index is out of bounds;
  * `take`, etc. will raise `ValueError` instead of returning
    an ambiguous value if the index is negative;
  * `map`, `zip`, `range`, `input`, `filter` work the same way (Py3k one)
    on both Python 2 and 3 (see #523 and #331).
2014-04-29 18:03:43 +04:00
Tuukka Turto
bdd8e3c82e merge #547 - keyword? 2014-04-28 21:59:33 +03:00
Tuukka Turto
01fa9d6a3c document set-comp 2014-04-28 21:35:28 +03:00
Tuukka Turto
3a66a2d1be document dict-comp and genexpr 2014-04-28 21:09:06 +03:00
Allison Kaptur
3f9ae9122e Raise exceptions when no handlers are provided.
Also small DRYing in try handling.

Previously, writing a bare (try (foo)) would invoke Pokemon
exception catching (gotta catch 'em all) instead of the correct
behavior, which is to raise the exception if no handler is provided.

Note that this is a cute feature of Hy, as a `try` with no `except`
is a syntax error.  We avoid the syntax error here because we don't
use Python's compiler, which is the only thing that can throw
Syntax Errors.  :D

Fixes #555.
2014-04-28 03:08:30 +03:00
Matthew Wampler-Doty
fa5f51e0f1 Adding Version Added 0.10.1 2014-04-25 08:19:22 -05:00
Ryan Gonzalez
4f8ab5af8c Changed conf.py to use RTD theme if available 2014-04-24 00:17:58 +03:00
Matthew Wampler-Doty
f2f38a1cf8 Refactor for loop to use cond 2014-04-22 16:47:42 -07:00
Matthew Wampler-Doty
92a1f17b36 Adding myself as an author 2014-04-22 09:18:01 -07:00
Matthew Wampler-Doty
41a8b6e09b Adding myself as an author 2014-04-22 09:17:16 -07:00
Matthew Wampler-Doty
5c9a8f8975 Closes #573, restores 0.9.12 for loop behavior (and everyone wins!) 2014-04-22 08:57:18 -07:00
Matthew Wampler-Doty
43f63e9ae7 Shortening docstring 2014-04-21 13:17:40 -07:00
Matthew Wampler-Doty
834b0019a7 Fixing doto to be API compatible with Clojure's doto 2014-04-21 12:35:56 -07:00
Tuukka Turto
f4b67e8bd8 documentation for doto
relates #567
2014-04-21 13:28:08 +03:00
Tuukka Turto
8a5a1eea27 test for doto macro
relates #567
2014-04-21 13:21:11 +03:00
Tuukka Turto
21cff9d14f initial implementation for doto macro
relates #567
2014-04-21 08:04:03 +03:00
Berker Peksag
e57047289a Cleanup requirements, .travis.yml and tox.ini. 2014-04-20 00:46:26 +03:00
maresp
0195de6545 fixed ap-map potential naming conflict 2014-04-18 02:45:05 +02:00
Allison Kaptur
a76c3d1f51 add make flow to the hacking docs 2014-04-16 13:40:21 -04:00
Morten Linderud
e5e1489f0f Merge pull request #553 from berkerpeksag/missing-versionadded
Add a missing versionadded directive to the lisp-if/lif documentation.
2014-04-13 17:33:20 +02:00
Morten Linderud
316ec18fe8 Merge pull request #554 from berkerpeksag/fix-codeblock
Fix a code-block in the lambda documentation.
2014-04-13 17:33:00 +02:00
Berker Peksag
c5dfba3c4f Fix a code-block in the lambda documentation. 2014-04-13 18:04:42 +03:00
Berker Peksag
07b9371cb8 Add a missing versionadded directive to the lisp-if/lif documentation. 2014-04-13 17:42:48 +03:00
Paul Tagliamonte
6072557b6c 0.10: The "Oh fuck it's PyCon" release 2014-04-10 23:01:11 -04:00
Paul Tagliamonte
10149f66ec NEWS! 2014-04-10 23:00:53 -04:00
Paul Tagliamonte
217f3ad65f Merge branch 'master' into pr/515 2014-04-10 22:52:41 -04:00
Christopher Allan Webber
d5194f23fa Properly add yield-from, using python's real "yield from".
The yield-from that existed previously wasn't actually implementing the
full complexity of "yield from":

  http://legacy.python.org/dev/peps/pep-0380/#formal-semantics

... this includes passing along errors, and many other things.

Also removes the yield-from backport macro, since it does not seem
possible at present to conditionally build macros.

Thus, there is no longer yield-from on pre-python-3.3 systems.

Includes updated docs and tests to reflect all this.
2014-04-10 14:07:49 -05:00
Christopher Allan Webber
774aad2ca8 defmain macro; handles the whole if __name__ == __main__ / main function dance
Example:

  (defmain [&rest args]
    (print "now we're having a fun time!")
    (print args))

Which outputs:

  $ hy test.hy
  now we're having a fun time!
  (['test.hy'],)

Includes documentation and tests.
2014-04-10 13:58:38 -05:00
Christopher Allan Webber
f3d978c5a3 Added lisp-if (or lif), with tests and documentation.
Now everyone can get along and everyone can have a pony, and that pony is
actually a unicorn that shoots rainbows from its horn.
2014-04-10 13:51:28 -05:00
Paul Tagliamonte
5de39a4e1d Merge pull request #550 from theanalyst/doc-version-fix
Fix versionadded in docs to 0.10.0 release
2014-04-10 14:26:22 -04:00
Abhishek L
378ffae6f7 Fix versionadded in docs to 0.10.0 release 2014-04-10 23:51:32 +05:30
Berker Peksag
3528cc8278 Kill kwapply.
Closes #433.
2014-04-09 20:10:31 +03:00
Paul Tagliamonte
3a9cf486db Add a keyword? function to detect keywords.
Thanks to algernon for the function body; huge improvement.
2014-04-02 22:22:23 -04:00
Berker Peksag
aefea557cb Merge pull request #479 from paultag/paultag/feature/curry
add curry contrib module
2014-04-01 00:48:04 +03:00
Morten Linderud
2fda9b0c79 Merge pull request #537 from berkerpeksag/issue-535
Fix output of hy2py on Python 3.
2014-03-29 20:36:40 +01:00
Paul Tagliamonte
a5ad0203d1 Flake8 cleanup 2014-03-29 14:48:30 -04:00
Paul Tagliamonte
b9aaeb9cec Merge branch 'master' into pr/539 2014-03-29 14:41:56 -04:00
Paul Tagliamonte
54da3f08dd Add Curry module. 2014-03-29 14:40:13 -04:00
Abhishek L
b58befa2dd Merge master onto pr/538 2014-03-18 20:07:26 +05:30
Berker Peksag
e0584a605f Add @ivan to AUTHORS. 2014-03-18 16:06:11 +02:00
Ivan Kozik
f2839b727f Fix imports for Python 3 2014-03-18 11:15:26 +00:00