coconut-develop 3.0.0a0.dev14__tar.gz → 3.0.0a0.dev16__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/PKG-INFO +8 -8
  2. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/compiler/header.py +10 -0
  3. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/compiler/templates/header.py_template +1 -1
  4. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/icoconut/coconut/kernel.json +3 -3
  5. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/root.py +13 -12
  6. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/agnostic/primary.coco +5 -0
  7. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/extras.coco +2 -1
  8. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/CONTRIBUTING.md +0 -0
  9. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/DOCS.md +0 -0
  10. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/FAQ.md +0 -0
  11. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/HELP.md +0 -0
  12. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/LICENSE.txt +0 -0
  13. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/MANIFEST.in +0 -0
  14. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/README.rst +0 -0
  15. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/__coconut__/__init__.py +0 -0
  16. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/__coconut__/__init__.pyi +0 -0
  17. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/__coconut__/py.typed +0 -0
  18. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/_coconut/__init__.py +0 -0
  19. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/_coconut/__init__.pyi +0 -0
  20. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/_coconut/py.typed +0 -0
  21. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/__coconut__.py +0 -0
  22. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/__coconut__.pyi +0 -0
  23. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/__init__.py +0 -0
  24. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/__init__.pyi +0 -0
  25. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/__main__.py +0 -0
  26. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/_pyparsing.py +0 -0
  27. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/command/__init__.py +0 -0
  28. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/command/__init__.pyi +0 -0
  29. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/command/cli.py +0 -0
  30. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/command/command.py +0 -0
  31. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/command/command.pyi +0 -0
  32. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/command/mypy.py +0 -0
  33. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/command/resources/zcoconut.pth +0 -0
  34. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/command/util.py +0 -0
  35. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/command/watch.py +0 -0
  36. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/compiler/__init__.py +0 -0
  37. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/compiler/compiler.py +0 -0
  38. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/compiler/grammar.py +0 -0
  39. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/compiler/matching.py +0 -0
  40. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/compiler/util.py +0 -0
  41. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/constants.py +0 -0
  42. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/convenience.py +0 -0
  43. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/convenience.pyi +0 -0
  44. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/exceptions.py +0 -0
  45. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/highlighter.py +0 -0
  46. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/icoconut/__init__.py +0 -0
  47. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/icoconut/__main__.py +0 -0
  48. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/icoconut/coconut_py/kernel.json +0 -0
  49. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/icoconut/coconut_py2/kernel.json +0 -0
  50. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/icoconut/coconut_py3/kernel.json +0 -0
  51. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/icoconut/embed.py +0 -0
  52. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/icoconut/root.py +0 -0
  53. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/integrations.py +0 -0
  54. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/main.py +0 -0
  55. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/py.typed +0 -0
  56. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/requirements.py +0 -0
  57. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/terminal.py +0 -0
  58. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/__init__.py +0 -0
  59. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/__main__.py +0 -0
  60. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/constants_test.py +0 -0
  61. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/main_test.py +0 -0
  62. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/agnostic/__init__.coco +0 -0
  63. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/agnostic/main.coco +0 -0
  64. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/agnostic/specific.coco +0 -0
  65. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/agnostic/suite.coco +0 -0
  66. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/agnostic/tutorial.coco +0 -0
  67. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/agnostic/util.coco +0 -0
  68. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/non_strict/non_strict_test.coco +0 -0
  69. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/target_2/py2_test.coco +0 -0
  70. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/target_3/py3_test.coco +0 -0
  71. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/target_35/py35_test.coco +0 -0
  72. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/target_36/py36_test.coco +0 -0
  73. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/target_38/py38_test.coco +0 -0
  74. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/cocotest/target_sys/target_sys_test.coco +0 -0
  75. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/runnable.coco +0 -0
  76. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/tests/src/runner.coco +0 -0
  77. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut/util.py +0 -0
  78. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/coconut_develop.egg-info/SOURCES.txt +0 -0
  79. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/conf.py +0 -0
  80. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/pyproject.toml +0 -0
  81. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/setup.cfg +0 -0
  82. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/setup.py +0 -0
  83. {coconut-develop-3.0.0a0.dev14 → coconut-develop-3.0.0a0.dev16}/xontrib/coconut.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: coconut-develop
3
- Version: 3.0.0a0.dev14
3
+ Version: 3.0.0a0.dev16
4
4
  Summary: Simple, elegant, Pythonic functional programming.
5
5
  Home-page: http://coconut-lang.org
6
6
  Author: Evan Hubinger
@@ -125,14 +125,14 @@ Classifier: Framework :: IPython
125
125
  Classifier: Framework :: Jupyter
126
126
  Classifier: Typing :: Typed
127
127
  Provides-Extra: kernel
128
- Provides-Extra: all
129
- Provides-Extra: mypy
128
+ Provides-Extra: watch
130
129
  Provides-Extra: jobs
131
- Provides-Extra: docs
130
+ Provides-Extra: mypy
131
+ Provides-Extra: backports
132
132
  Provides-Extra: xonsh
133
- Provides-Extra: watch
133
+ Provides-Extra: jupyter
134
+ Provides-Extra: all
135
+ Provides-Extra: ipython
136
+ Provides-Extra: docs
134
137
  Provides-Extra: tests
135
- Provides-Extra: backports
136
138
  Provides-Extra: dev
137
- Provides-Extra: ipython
138
- Provides-Extra: jupyter
@@ -485,6 +485,16 @@ def __lt__(self, other):
485
485
  indent=1,
486
486
  newline=True,
487
487
  ),
488
+ assign_multiset_views=pycondition(
489
+ (3,),
490
+ if_lt='''
491
+ keys = _coconut.collections.Counter.viewkeys
492
+ values = _coconut.collections.Counter.viewvalues
493
+ items = _coconut.collections.Counter.viewitems
494
+ ''',
495
+ indent=1,
496
+ newline=True,
497
+ ),
488
498
 
489
499
  # used in the second round
490
500
  tco_comma="_coconut_tail_call, _coconut_tco, " if not no_tco else "",
@@ -1438,7 +1438,7 @@ class multiset(_coconut.collections.Counter{comma_object}):
1438
1438
  if result < 0:
1439
1439
  raise _coconut.ValueError("multiset has negative count for " + _coconut.repr(item))
1440
1440
  return result
1441
- {def_total_and_comparisons}_coconut.abc.MutableSet.register(multiset)
1441
+ {def_total_and_comparisons}{assign_multiset_views}_coconut.abc.MutableSet.register(multiset)
1442
1442
  def _coconut_base_makedata(data_type, args):
1443
1443
  if _coconut.hasattr(data_type, "_make") and _coconut.issubclass(data_type, _coconut.tuple):
1444
1444
  return data_type._make(args)
@@ -1,11 +1,11 @@
1
1
  {
2
- "display_name": "Coconut",
3
- "language": "coconut",
4
2
  "argv": [
5
3
  "python",
6
4
  "-m",
7
5
  "coconut.icoconut",
8
6
  "-f",
9
7
  "{connection_file}"
10
- ]
8
+ ],
9
+ "display_name": "Coconut",
10
+ "language": "coconut"
11
11
  }
@@ -26,7 +26,7 @@ import sys as _coconut_sys
26
26
  VERSION = "3.0.0"
27
27
  VERSION_NAME = None
28
28
  # False for release, int >= 1 for develop
29
- DEVELOP = 14
29
+ DEVELOP = 16
30
30
  ALPHA = True # for pre releases rather than post releases
31
31
 
32
32
  # -----------------------------------------------------------------------------------------------------------------------
@@ -58,17 +58,6 @@ PY26 = _coconut_sys.version_info < (2, 7)
58
58
  PY37 = _coconut_sys.version_info >= (3, 7)
59
59
 
60
60
  _non_py37_extras = r'''from collections import OrderedDict as _coconut_OrderedDict
61
- class dict(_coconut_OrderedDict):
62
- __slots__ = ()
63
- __doc__ = getattr(_coconut_OrderedDict, "__doc__", "<see help(py_dict)>")
64
- class __metaclass__(type):
65
- def __instancecheck__(cls, inst):
66
- return _coconut.isinstance(inst, _coconut_py_dict)
67
- def __subclasscheck__(cls, subcls):
68
- return _coconut.issubclass(subcls, _coconut_py_dict)
69
- __eq__ = _coconut_py_dict.__eq__
70
- def __repr__(self):
71
- return "{" + ", ".join("{k!r}: {v!r}".format(k=k, v=v) for k, v in self.items()) + "}"
72
61
  def _coconut_default_breakpointhook(*args, **kwargs):
73
62
  hookname = _coconut.os.getenv("PYTHONBREAKPOINT")
74
63
  if hookname != "0":
@@ -89,6 +78,18 @@ if not hasattr(_coconut_sys, "__breakpointhook__"):
89
78
  _coconut_sys.__breakpointhook__ = _coconut_default_breakpointhook
90
79
  def breakpoint(*args, **kwargs):
91
80
  return _coconut.getattr(_coconut_sys, "breakpointhook", _coconut_default_breakpointhook)(*args, **kwargs)
81
+ class _coconut_dict_meta(type):
82
+ def __instancecheck__(cls, inst):
83
+ return _coconut.isinstance(inst, _coconut_py_dict)
84
+ def __subclasscheck__(cls, subcls):
85
+ return _coconut.issubclass(subcls, _coconut_py_dict)
86
+ class _coconut_dict_base(_coconut_OrderedDict):
87
+ __slots__ = ()
88
+ __doc__ = getattr(_coconut_OrderedDict, "__doc__", "<see help(py_dict)>")
89
+ __eq__ = _coconut_py_dict.__eq__
90
+ def __repr__(self):
91
+ return "{" + ", ".join("{k!r}: {v!r}".format(k=k, v=v) for k, v in self.items()) + "}"
92
+ dict = _coconut_dict_meta(py_str("dict"), _coconut_dict_base.__bases__, _coconut_dict_base.__dict__.copy())
92
93
  '''
93
94
 
94
95
  # if a new assignment is added below, a new builtins import should be added alongside it
@@ -1575,4 +1575,9 @@ def primary_test() -> bool:
1575
1575
  assert py_dict `issubclass` dict
1576
1576
  assert py_dict() `isinstance` dict
1577
1577
  assert {5:0, 3:0, **{2:0, 6:0}, 8:0}.keys() |> tuple == (5, 3, 2, 6, 8)
1578
+ a_multiset = m{1,1,2}
1579
+ assert not a_multiset.keys() `isinstance` list
1580
+ assert not a_multiset.values() `isinstance` list
1581
+ assert not a_multiset.items() `isinstance` list
1582
+ assert len(a_multiset.keys()) == len(a_multiset.values()) == len(a_multiset.items()) == 2
1578
1583
  return True
@@ -223,7 +223,8 @@ def gam_eps_rate(bitarr) = (
223
223
  except CoconutParseError as err:
224
224
  err_str = str(err)
225
225
  assert "misplaced '?'" in err_str
226
- assert """
226
+ if not PYPY:
227
+ assert """
227
228
  |> map$(int(?, 2))
228
229
  ~~~~~^""" in err_str or """
229
230
  |> map$(int(?, 2))