Commit Graph

2149 Commits

Author SHA1 Message Date
Ian Denhardt
4d2aad1b0f Call _wrap_value recursively on HyExpressions.
Without this, cases like:

    (defmacro foo [] `(~0))
    (foo)

throw exceptions, because the embedded zero is not a HyObject.
2014-09-21 11:36:40 -04:00
Berker Peksag
28c046c180 Merge pull request #655 from Foxboron/fix-defmulti-docs
Fixed defmulti example to be streamlined
2014-09-08 18:05:01 +03:00
Foxboron
89dec9ef44 Fixed example to be streamlined 2014-09-08 16:57:52 +02:00
Berker Peksag
38b9ae61b5 Merge pull request #654 from Foxboron/mailmap-fox
Swapped mails
2014-09-08 16:09:40 +03:00
Foxboron
2d60aa6781 added new mail 2014-09-08 14:56:04 +02:00
Paul Tagliamonte
e3646bb874 add @microamp 2014-09-06 08:49:05 -04:00
Berker Peksag
41c4f1a781 Merge pull request #651 from theanalyst/fix/authors
fix @kirbyfan64's name in AUTHORS
2014-09-05 16:25:24 +03:00
Abhishek Lekshmanan
4a4bfd8699 fix @kirbyfan64's name in AUTHORS 2014-09-05 18:27:20 +05:30
Berker Peksag
c0ea1308bf Merge pull request #623 from algernon/f/botsbuildbots
Add a `Botsbuildbots` function
2014-09-05 14:01:22 +03:00
Gergely Nagy
3f01ed5014 Add a Botsbuildbots function
A tribute to Portal 2, this function will return an infinite list of the
contents of the AUTHORS file on GitHub master (assuming requests is
installed). Except, the macro does this, the function never gets called,
it is purely there for tribute reasons.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2014-09-05 12:37:51 +02:00
Abhishek L
1c1df745c4 Merge pull request #649 from microamp/issue-644
Merge master onto pr/649
2014-09-04 17:47:32 +05:30
han semaj
99db02668b Fix 'some' (first logical true value or nil) 2014-09-04 21:29:38 +12:00
J Kenneth King
c52cff8245 Merge pull request #648 from Foxboron/rename-slot-attr
Rename slots to attribute/attr
2014-09-03 19:18:51 -04:00
Foxboron
66e3cdcb99 Rename slots to attribute/attr 2014-09-04 00:06:52 +02:00
Morten Linderud
bc0ef3ea14 Merge pull request #641 from microamp/issue-638
Fix #638: Make nth return default value when out of bounds
2014-09-03 14:28:01 +02:00
han semaj
6ca47df34c Include optional arg in docs (nth) 2014-09-03 20:53:28 +12:00
Berker Peksag
adc56d69e7 Merge pull request #645 from Foxboron/read-doc-fix
Fixed (read) docs as mentioned inn #641
2014-09-03 07:26:34 +03:00
Foxboron
325f873f1e Fixed (read) docs as mentioned inn #641 2014-09-02 22:26:47 +02:00
Morten Linderud
fbfb51fb61 Merge pull request #642 from microamp/issue-639
Fix #639: Shadow '+' to handle string/list concatenation
2014-08-31 22:52:46 +02:00
han semaj
c8985a898b Shadow '+' to handle string/list concatenation 2014-08-26 21:38:52 +12:00
han semaj
ecc664337d Make nth return default value when out of bounds 2014-08-23 23:35:31 +12:00
han semaj
23f31d4ac1 Reimplement butlast in terms of drop-last 2014-08-22 21:51:12 +12:00
han semaj
7f5c8e39d8 Implement drop-last 2014-08-22 21:09:59 +12:00
Berker Peksag
7e5befa615 Add @tianon to AUTHORS. 2014-08-19 12:20:29 +03:00
Berker Peksag
6147acfc61 Merge pull request #636 from tianon/read-docs
Fix RST code-block rendering for (read) examples and add more complex example of (read) usage
2014-08-19 12:18:34 +03:00
Tianon Gravi
8d893ead07 Add more complex example of (read) usage 2014-08-19 03:04:08 -06:00
Tianon Gravi
cf7e5ed3c0 Fix RST code-block rendering for (read) examples
Also removed trailing whitespace and added a blank line to separate the discrete examples
2014-08-19 02:55:47 -06:00
Nicolas Dandrimont
aafb16d69f Merge branch 'master' into pr/584 2014-08-18 18:18:25 +02:00
Paul Tagliamonte
37fc9e08d0 Merge branch 'master' into pr/635 2014-08-18 12:10:08 -04:00
Paul Tagliamonte
911424b359 Merge branch 'master' into pr/628 2014-08-18 11:29:19 -04:00
han semaj
3f1a24bfe3 Implement interleave and interpose 2014-08-17 14:53:57 +12:00
Foxboron
c8adf9b726 Renamed stdin -> from-file and removed apply from tests + docs 2014-08-14 18:18:05 +02:00
Berker Peksag
4dbdfde24d Merge pull request #633 from theanalyst/fix/typos
Typo fix s/reprsntation/representation
2014-08-13 07:12:21 +03:00
Abhishek L
d5668403ae Typo fix s/reprsntation/representation 2014-08-12 23:44:35 +05:30
Foxboron
f7675c829e Added read and tests 2014-08-12 18:37:46 +02:00
Abhishek L
45e0ff16ca Add a simple .mailmap file 2014-08-05 00:16:48 +05:30
Paul Tagliamonte
79a1ea6667 *cough* 2014-07-24 20:51:43 -04:00
han semaj
2628653380 Remove 'remove' (duplicate of 'filterfalse') 2014-07-21 23:07:59 +12:00
han semaj
f94381b7e3 Export filterfalse/input/zip_longest 2014-07-21 23:01:18 +12:00
Berker Peksag
1265f546d1 Merge pull request #621 from tianon/docker-from-python
Update Dockerfile to use the "python:3" base image, which simplifies things
2014-07-10 23:42:08 +03:00
Tianon Gravi
c8c154f725 Update Dockerfile to use the "python:3" base image, which simplifies things 2014-07-10 13:06:23 -06:00
Berker Peksag
fa1c5d851e Merge pull request #617 from rwtolbert/bugfix/assign_to_None
Adding code to prevent assignment to some core builtin names
2014-07-05 07:48:15 +03:00
Bob Tolbert
16e908d56e In order to fix #608, we need to know which symbols can't be assigned.
Python has the keyword.iskeyword method we can leverage for Python
keywords, but we also need to address Hy builtins like 'get' or
'slice'.

And to make behavior compatible with Python 2 or 3, we also make
a special case to prevent assignment to False, True or None as
well as the Hy versions: false, true, null, and nil.

For non-Hy modules, we also check to make sure the symbol is not
part of the compiler. This allows shadow.hy to override "+" but
prevents general use from re-defn-ing 'get' or 'do'.
2014-06-30 21:09:59 -06:00
Tuukka Turto
f3ecb96119 Merge branch 'master' into pr/593 2014-06-24 23:23:48 +03:00
Tuukka Turto
87e65b7ffe Merge branch 'master' into pr/616 2014-06-24 23:05:29 +03:00
Bob Tolbert
483c6b2576 Merge pull request #602 from agentultra/shadow-builtins
Add shadow.hy to core
2014-06-24 08:57:50 -06:00
Bob Tolbert
bd661a3ae8 Fix hy2py output on Windows/Python 3
If there are Unicode symbols in the hy2py output (as in
tests/native_test/language.hy) and the user is on Windows, and
the user is using Python3 and the user doesn't have an appropriate
codepage in the terminal for Unicode, then hy2py will fail at
encoding the output.

This fix makes sure that if encoding fails, the bytes output is shown
instead of throwing an exception and failing completely.  This also
allows the hy2py tests to pass on Windows.

If the user does activate an appropriate codepage, for example,

chcp 65001

then the Unicode output will show correctly.

Converted printing code to small function to eliminate some duplicate code
2014-06-23 14:51:02 -06:00
J Kenneth King
7f350cdc62 Merge pull request #601 from theanalyst/fix/ap-first
anaphoric: fix first & last when predicates fail
2014-06-23 15:32:29 -04:00
J Kenneth King
1cfcbff7df Merge pull request #615 from rwtolbert/rwtolbert/bugfix/fix_return_in_try_with_yield
Fix #607, remove return from try when there is a generator inside
2014-06-23 15:32:15 -04:00
Bob Tolbert
ea5eba5916 Second part of the fix for yield inside a try-finally
As noted in #600, Python 3 allows a return inside a generator
method, that raises a StopIteration and passes the return value
inside the 'value' attr of the exception.

To allow this behaviour we simple set 'contains_yield' while compiling
'yield', thus allowing a return statement, but only for Python 3. Then
when compiling the try-except, we check for contains_yield to decide
whether there will be a return.

This allows code like:

(defn gen []
  (yield 3)
  "goodbye")

to compile in both Py2 and Py3. The return value is simply ignored in
Python 2.

hy2py in Python 2 gives:

def g():
    yield 3L
    u'goodbye'

while hy2py in Python 3 gives:

def g():
    yield 3
    return 'goodbye'

Turns out return in yield started in Python 3.3
2014-06-22 14:59:29 -06:00