Commit Graph

2810 Commits

Author SHA1 Message Date
2alex2
81b2aebf9f Update setup.py
Fix Python 3.5 compatibility for Windows.
2015-12-31 16:41:34 +02:00
Morten Linderud
01218ed03d Merge pull request #1008 from paultag/paultag/pass-compiler-to-macros
Overhaul macros to allow macros to ref the Compiler
2015-12-23 22:07:25 +01:00
Paul Tagliamonte
8d2143177e Overhaul macros to allow macros to ref the Compiler
This allows macros to take a keyword dict containing useful things by
defining a keyword argument. This allows us to pass in new objects
which might be handy to have in macros.

This changeset refactors module_name to become `compiler`, so that we
can pass the compiler itself into the macros as `opts['compiler']`.

This allows the macro to both get the macro name
(`compiler.module_name`), as well as use the compiler to build AST.

In the future, this will enable us to create "super-macros" which return
AST, not HyAST, in order to manually create insane things from userland.

For userland macros (not `defmacro`) the core.language `macroexpand`
will go ahead and make a new compiler for you.
2015-12-23 15:52:47 -05:00
Ewald Grusk
b2a72e2f10 Fix anaphoric macro ap-if. 2015-12-17 15:39:33 +01:00
Gergely Nagy
f24daa7ef9 defreader: Allow strings as macro names
This makes it possible to use strings as the macro name argument to
defreader, which in turn makes it possible to define reader macros with
names that would otherwise result in parse errors.

Such as `#.`.

This fixes #918.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2015-12-17 13:24:20 +01:00
Berker Peksag
ba03d2351c Merge pull request #999 from Scorpil/fix_repl_bug_issue_982
Fix cmdline error to string conversion.
2015-12-14 23:57:43 +02:00
Andrew Scorpil
7dcc583d63 Fix issue #982: UTF-8 encode error message before passing it to clint. 2015-12-14 21:55:53 +01:00
Paul‮etnomailgaT‭
3eb6001852 Merge pull request #872 from tuturto/xor
Add exclusive or logical operator
2015-12-12 12:38:14 -05:00
Zack M. Davis
a1cb5e33e7 merge branch 'f/hashbang-doc' 2015-12-09 21:48:38 -08:00
Gergely Nagy
6d00df3932 docs: Add some documentation about #!
Add the #! syntax to the quickstart guide, and to the tutorial as well.
Fixes #992.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2015-12-09 11:48:44 +01:00
Zack M. Davis
a945f17f08 merge branch 'python-3.5.1' 2015-12-08 20:53:51 -08:00
Tianon Gravi
9d8e4ddb80 Fix Python 3.5.1 support by converting kwargs and stararg to str as late as possible (thus preserving positional information) 2015-12-08 16:54:01 -08:00
Paul‮etnomailgaT‭
e89e374a43 Merge pull request #996 from Eleonore9/master
Typos in the tutorial
2015-12-08 19:44:38 -05:00
Eleonore9
6ee3b03aa4 Fixed typos 2015-12-09 00:17:16 +00:00
Paul‮etnomailgaT‭
eff3b22acb Merge pull request #994 from jwilk/spelling
Fix typos
2015-12-08 08:57:19 -05:00
Jakub Wilk
1d16addd2e Fix typos 2015-12-08 14:43:47 +01:00
Morten Linderud
f92248f94e Merge pull request #983 from felixonmars/master
Enable automated testing with Python 3.5
2015-11-25 20:16:45 +01:00
Paul‮etnomailgaT‭
82fd074f5e Merge pull request #990 from digitalvectorz/master
non-critical macro patch: fixed what seemed to be a typo...'emtpy' -?…
2015-11-20 14:23:52 -05:00
Johnathon Mlady
c5600d7b38 non-critical macro patch: fixed what seemed to be a typo...'emtpy' -?> 'empty' (unless emtpy has an undocumented meaning) 2015-11-20 13:29:34 -05:00
Zack M. Davis
1faa5c6054 merge branch 'pretty_error' 2015-11-18 21:56:13 -08:00
Ryan Gonzalez
7ee7428870 Merge branch 'master' of https://github.com/hylang/hy into kwonly_err
Conflicts:
	docs/tutorial.rst
2015-11-14 20:40:20 -06:00
Morten Linderud
a3bd90390c Merge pull request #987 from digitalvectorz/master
api documentation correction (yield)
2015-11-14 23:46:55 +01:00
Johnathon Sage
33e1cb17e1 Update AUTHORS
Added @johnathonmlady to the AUTHORS file
2015-11-14 17:02:00 -05:00
Johnathon Sage
38aa61cfa8 Merge pull request #2 from digitalvectorz/digitalvectorz-patch-yield
Update api.rst
2015-11-14 16:58:11 -05:00
Johnathon Sage
ec0eea1277 Update api.rst
(for [[( ... ) ( ... )]] )  --> HyMacroExpansionError: 'for' requires an even number of args.
2015-11-14 16:56:27 -05:00
Johnathon Sage
01fb8935fb Merge pull request #1 from digitalvectorz/digitalvectorz-patch-yield
Update api.rst
2015-11-14 16:22:15 -05:00
Johnathon Sage
7dbd3bcf7c Update api.rst
Extra closing '])' in yield "yields 'LexException'
2015-11-14 16:18:53 -05:00
Morten Linderud
e29afac794 Merge pull request #986 from digitalvectorz/patch-1
Update tutorial.rst
2015-11-14 21:51:35 +01:00
Johnathon Sage
e2614cc24a Update tutorial.rst
Changed case of function call in Macro
2015-11-14 15:48:39 -05:00
Zack M. Davis
4d5eafb442 merge branch 'assign_err' (from pull request #964) 2015-11-13 22:31:57 -08:00
Ryan Gonzalez
283111b495 Improve error messages related to _storeize 2015-11-13 22:30:48 -08:00
Felix Yan
347e5612b1 Make Travis look nicer by specifying python version only for py35 TOXENV 2015-11-07 22:17:30 +08:00
Felix Yan
864fa66f22 Enable automated testing with Python 3.5
and switch travis to use tox
2015-11-03 23:32:31 +08:00
Zack M. Davis
5af86d691d merge remote-tracking branch 'endrebak/anaphoric-import-info-missing' 2015-10-18 16:39:58 -07:00
Endre Bakken Stovner
66b16d15f5 Add import anamorphic macros info
Small change thanks to kirbyfan64
2015-10-18 21:15:47 +02:00
gilch
f4afb0ca7e variadic if
The `if` form now supports elif clauses.
It works like `cond` but without the implicit `do`.
The old `if` is now `if*`

variadic lif now supports "ellif" clauses.

Update if-no-waste compiler to use `if*` properly.

(Sometimes one character is all it takes.)

document if

reword truthiness
2015-10-17 19:51:03 -06:00
Tuukka Turto
9a334c83bb Merge branch 'pr/975' 2015-10-17 17:17:27 +03:00
Tuukka Turto
118343973b Merge branch 'master' into pr/976 2015-10-17 17:11:48 +03:00
Tuukka Turto
6ea6777663 Merge branch 'master' into pr/975 2015-10-17 17:11:31 +03:00
Tuukka Turto
b9eb7721da Merge branch 'master' into pr/974 2015-10-17 17:06:43 +03:00
Csilla Nagyne Martinak
58579320cd hy.core.macros: Add docstrings for -> and ->>
Borrowed from the API docs and Clojure, mostly.

Signed-off-by: Csilla Nagyne Martinak <csilla@csillger.hu>
2015-10-17 14:31:42 +02:00
Csilla Nagyne Martinak
acd98bb79e docs/tutorial: Simplify two examples
As part of the Grand Language Cleanup, a few examples in the tutorial
could be simplified:

* The --init-- function of the defclass example does not need an
  explicit None anymore.
* The apply example in the Hy<->Python interop section can use a
  keyword instead of a string in the last part.

This perhaps closes #971.

Signed-off-by: Csilla Nagyne Martinak <csilla@csillger.hu>
2015-10-17 14:07:32 +02:00
Csilla Nagyne Martinak
d79e56f2ef docs/tutorial: Add a short (require) example
Adds a short (require) example, along with a few words on why macros can't be imported.

Closes #966.

Signed-off-by: Csilla Nagyne Martinak <csilla@csillger.hu>
2015-10-17 13:58:47 +02:00
Csilla Nagyne Martinak
f73c862ffa docs: Document the (keyword) and (name) functions
Closes #733

Signed-off-by: Csilla Nagyne Martinak <csilla@csillger.hu>
2015-10-17 13:56:35 +02:00
Ryan Gonzalez
9e5f881958 Give an error when &kwonly or &kwargs is used in a macro definition (closes #959) 2015-10-16 15:50:55 -05:00
Tuukka Turto
7c36fe9a14 Add section about macros in tutorial
relates #926
2015-10-16 15:50:55 -05:00
Ryan Gonzalez
d4764dcc2a Nice-ify errors with hy2py and hyc 2015-10-16 15:00:30 -05:00
Zack M. Davis
b875feccff merge branch 'f/one-arg-comparators' 2015-10-13 22:31:46 -07:00
Zack M. Davis
05857544f1 merge branch 'if-no-waste' 2015-10-13 21:59:18 -07:00
Berker Peksag
dab75f685d Merge pull request #951 from tuturto/macro-doc
Add section about macros in tutorial

Closes #926
2015-10-03 21:56:52 +03:00