Kodi Arfer
d252bb0e94
Mangle names that coincide with Python keywords
2018-03-13 14:55:55 -04:00
Kodi Arfer
52edad28e2
Overhaul mangling rules
2018-03-13 14:55:53 -04:00
Kodi Arfer
d501d4d806
Mangle symbols at compile-time instead of parse-time
...
This means that a HySymbol remembers its original name. That is, `a-b` and `a_b` are different symbols although `(setv a-b 1)` and `(setv a_b 1)` set the same variable (namely, `a_b`).
Most of the edits in this commit are to switch underscores to hyphens in places where mangling hasn't happened yet.
I removed some lexer tests since the lexer no longer does any mangling.
2018-03-13 14:55:15 -04:00
Kodi Arfer
7fcc7ac4b6
Make unary comparison ops evaluate their argument
2018-03-13 14:38:36 -04:00
Kodi Arfer
9f0911161d
Fix tests with =
-and-parentheses errors
2018-03-13 14:38:36 -04:00
Kodi Arfer
0574e275b5
Make hy-repr support some collections
classes
2018-03-10 18:11:07 -08:00
Kodi Arfer
38f461890d
Make hy-repr support DateTime objects
2018-03-10 18:11:07 -08:00
Kodi Arfer
3dbe05302e
Make hy-repr support regex match objects
2018-03-10 18:11:07 -08:00
Kodi Arfer
f7ab9a6e7c
Make hy-repr support dictionary views
2018-03-10 18:11:07 -08:00
Kodi Arfer
90a09b5b44
Make hy-repr use double spaces for dictionaries
2018-03-10 18:11:07 -08:00
Kodi Arfer
199bb70150
Add a hy-repr test for keyword-like bytes objects
2018-03-10 18:11:07 -08:00
Kodi Arfer
4f2706e18e
Test a case where hy-repr shouldn't round-trip
2018-03-10 18:11:07 -08:00
Kodi Arfer
83c4f63bc2
Reimplement hy-repr with registered functions
...
This removes a lot of hy-reprs that were hard-coded into the hy-repr function itself. It also allows you to add a hy-repr for an existing class without monkey-patching the class.
2018-03-10 18:11:07 -08:00
Simon Gomizelj
db58dacce6
Fix invalid escape sequence \s in test_escapes
2018-02-14 16:05:31 -05:00
Simon Gomizelj
316220b742
Fix AST generation of a naked return
2018-02-14 16:05:31 -05:00
Simon Gomizelj
7b87d42221
Properly teardown subprocesses when testing
2018-02-14 15:38:47 -05:00
Simon Gomizelj
5c40f793a1
Support PEP 328
...
Add support for proper relative imports
2018-02-06 23:41:12 -05:00
Tuukka Turto
5c720c0110
Merge pull request #1473 from Kodiologist/new-year-2018
...
Update copyright years
2018-02-05 15:11:59 +02:00
Tuukka Turto
cf87de5cc2
Merge pull request #1483 from vodik/remove-def
...
Just remove `def`
2018-01-31 08:54:59 +02:00
Simon Gomizelj
0cd4df3898
Remove def and standardize on setv
2018-01-21 00:25:33 -05:00
Tuukka Turto
a9621817f9
Merge pull request #1433 from Kodiologist/while-multistatement
...
Handle statements in the condition of `while`
2018-01-11 07:45:27 +02:00
Kodi Arfer
64cf7c7437
Merge pull request #1456 from Kodiologist/big-floats
...
Don't parse large floats as symbols
2018-01-11 00:44:50 -05:00
Kodi Arfer
6de7ddfee5
Update copyright years
2018-01-01 10:38:33 -05:00
Simon Gomizelj
f69ccd2421
Allow coroutines to be decorated
2017-12-31 09:03:39 -05:00
Simon Gomizelj
1e4ad3167b
Introduce for/a* and for/a expressions
2017-12-30 19:02:15 -05:00
Simon Gomizelj
783d53ecb7
Introduce with/a* and with/a expressions
2017-12-30 19:02:15 -05:00
Simon Gomizelj
2ffaa8e5be
Fix yield-from to prevent it from accepting no arguments
...
Closes #1472
2017-12-30 19:02:15 -05:00
Simon Gomizelj
e3e01d4405
Introduce fn/a and defn/a
...
Closes #1054
2017-12-30 19:02:15 -05:00
Rob Day
eda78eb81c
Allow multiple expressions in a try
2017-12-03 09:47:41 +00:00
Kodi Arfer
a26480a81b
Don't parse large floats as symbols
2017-11-11 15:14:28 -08:00
Kodi Arfer
fd64575799
Handle statements in the condition of while
2017-11-02 07:31:58 -07:00
Ryan Gonzalez
e0e664c030
Merge branch 'master' into letmacro
2017-11-01 09:39:18 -05:00
gilch
8f2e80d12e
add newlines in disassemble tests for astor 0.6
2017-10-31 21:46:44 -06:00
gilch
6bb997dbea
update astor to 0.6
2017-10-31 14:13:41 -06:00
gilch
e90f082baf
back let
with dict for better defclass behavior
2017-10-30 20:23:57 -06:00
Tuukka Turto
fac87c99d0
Merge pull request #1444 from gilch/xi-tag
...
change xi macro to #% tag macro
2017-10-29 21:34:56 +02:00
Tuukka Turto
268463c68d
Merge pull request #1432 from Kodiologist/else-detection
...
Don't treat [else…] or ("else"…) as else clauses
2017-10-29 21:21:32 +02:00
gilch
497e929913
generalize #% to arbitrary expressions
2017-10-26 14:23:25 -06:00
gilch
b5f1136ba5
%* %** parameters for #% tag macro
2017-10-26 13:03:01 -06:00
gilch
f81fb771eb
change xi macro to #% tag macro
2017-10-26 12:55:48 -06:00
gilch
2319adcc7f
fix whitespace in anaphoric
2017-10-26 12:53:08 -06:00
gilch
c4b3d7bcda
fix gensym format to start with _ for import *
2017-09-23 23:41:37 -06:00
gilch
a54f6aa38b
add hidden &name parameter to macros
...
The module name allows macros to preexpand their body in the proper
context.
2017-09-23 14:59:43 -06:00
gilch
5bbf4d9894
fix premature binding in let
2017-09-22 20:07:48 -06:00
Kodi Arfer
1e456c6ced
Don't treat [else…] or ("else"…) as else clauses
2017-09-20 16:34:56 -07:00
Kodi Arfer
f8fbcf3f06
Spacing fix in test
2017-09-20 16:31:55 -07:00
Kodi Arfer
39785b4657
Fix a crash in HyTypeError.__str__
2017-09-20 10:40:52 -07:00
gilch
20b4342d40
support (global) in let
2017-09-18 14:54:08 -06:00
gilch
ba898aa8d8
support (nonlocal) in let
2017-09-18 13:51:32 -06:00
gilch
34038ff433
implement let
2017-09-18 12:21:42 -06:00