Commit Graph

1333 Commits

Author SHA1 Message Date
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
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
Ryan Gonzalez
4f8ab5af8c Changed conf.py to use RTD theme if available 2014-04-24 00:17:58 +03:00
Berker Peksag
e57047289a Cleanup requirements, .travis.yml and tox.ini. 2014-04-20 00:46:26 +03: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
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
Berker Peksag
504ba927de Add universal Wheel support. 2014-03-18 10:33:10 +02:00
Berker Peksag
f53644568a Add Python 3.4 to classifiers. 2014-03-18 10:27:35 +02:00
Berker Peksag
612d3ae457 Fix output of hy2py on Python 3.
Closes #535.
2014-03-18 10:08:20 +02:00
Christopher Allan Webber
fa69d80b8d Merge pull request #528 from bcj/patch-2
and/or now short-circuit
2014-03-16 15:27:05 -05:00
Berker Peksag
f63f7a96a4 Merge pull request #530 from rwtolbert/rwtolbert/bugfix/hy2py_test_windows
Enabling hy2py test on Windows
2014-03-15 03:54:10 +02:00
Brendan Curran-Johnson
a210a673a2 and/or now short-circuit
Updated to reflect that and/or actually short-circuit now.
2014-03-14 16:53:10 -05:00
Bob Tolbert
bb567aab3e Enabling hy2py test on Windows 2014-03-14 10:21:07 -04:00
Berker Peksag
b598684dd9 Merge pull request #529 from rwtolbert/rwtolbert/features/hy_code_in_docs
All our code(-blocks) is belong to us.
2014-03-14 15:28:22 +02:00
Bob Tolbert
4798863e0f This change updates the required Pygments version to 1.6, which
supports Hy code.

All code-blocks in the documentation have been changed from
clojure to hy.

Also added docs/make.bat for Windows, so the top-level docs
target now works on Windows as well.
2014-03-14 09:01:47 -04:00
Berker Peksag
66dadf2d1a Add @bcj to AUTHORS. 2014-03-13 04:52:34 +02:00
Brendan Curran-Johnson
ec4607d644 Quoting works
Hy seems to support quoting. I'm not familiar enough with lisp/hy to say much more
2014-03-13 04:51:43 +02:00
Berker Peksag
a11f92da37 Merge pull request #492 from theanalyst/fix/coll
Replace forgotten instances of coll? function
2014-03-08 18:42:38 +02:00
Berker Peksag
8fe3b0edb1 Merge pull request #521 from theanalyst/docs/typos
Typo fixes in internals doc
2014-02-24 19:51:53 +02:00
Abhishek L
eae5cf08f4 Typo fixes in internals doc 2014-02-24 21:42:36 +05:30
Christopher Allan Webber
6bc1bee24a Answer the question: is Hy a lisp flavored python or vice versa? The latter! 2014-02-24 09:55:11 -06:00
Christopher Allan Webber
d93f304220 Fix errors on Python 3.
Some unicode issues were fixed for Python 2 in 75748eb05d
but broke pretty much all Python 3 exceptions in Hy.
2014-02-23 17:16:56 -06:00
Christopher Allan Webber
ecfd737fb9 Document how to supply docstrings to classes and class methods / lambdas
We want to encourage good practice, documentation-wise, amongst Hy
users!
2014-02-23 15:20:43 -06:00
Berker Peksag
6829d6fb3a Tweak the zipwith doc a bit and add @kirbyfan64 to AUTHORS. 2014-02-22 02:21:34 +02:00
kirbyfan64
d282d65cde Add zipwith 2014-02-22 02:14:27 +02:00
Berker Peksag
243a93499f Merge pull request #504 from algernon/h/import-error-reporting
hy/compiler.py: import only handles HySymbol and HyList, bail on others
2014-02-21 16:47:13 +02:00
James King
b97e0258e1 Fix for #497
One would expect the form:

    > (defmacro a (&rest b) b)
    > (a 1 2)

To return a tuple object but we have no Hy model so it returns a HyList.
Not sure if this is the right thing to do.
2014-02-19 00:09:37 -05:00
Morten Linderud
c1147c93a8 Merge pull request #510 from paultag/paultag/bugfix/fix-quoting-keywords
Fix up quoting keywords.
2014-02-18 00:14:53 +01:00
Paul Tagliamonte
e219973853 Fix up quoting keywords.
Fixes this:

=> :foo
'\ufdd0:foo'
=> `:foo
'\ufdd0\ufdd0:foo'
2014-02-17 18:00:31 -05:00