Skip to content

Commit 699640f

Browse files
authored
Merge pull request #2196 from Kodiologist/release
Release Hy 1.0a4
2 parents 9163ceb + 668cb2f commit 699640f

File tree

3 files changed

+26
-27
lines changed

3 files changed

+26
-27
lines changed

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright 2021 the authors.
1+
Copyright 2022 the authors.
22
Portions of setup.py, copyright 2016 Jason R Coombs <[email protected]>.
33

44
Permission is hereby granted, free of charge, to any person obtaining a

NEWS.rst

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.. default-role:: code
22

3-
Unreleased
3+
1.0a4 (released 2022-01-09)
44
==============================
55

66
Removals
@@ -13,9 +13,6 @@ Other Breaking Changes
1313
`(import [foo [bar]])` is now `(import foo [bar])`
1414
and `(import [foo :as baz])` is now `(import foo :as baz)`.
1515
To import all names from a module, use `(import foo *)`.
16-
* Functions that provide first-class Python operators, such as ``+``
17-
in constructs like ``(reduce + xs)``, are no longer brought
18-
into scope automatically. Say ``(import hy.pyops *)`` to get them.
1916
* Lots of objects (listed below) have been spun off to a new package
2017
called `Hyrule`_, from which you can `import` or `require` them.
2118
Thus Hy now brings only the `hy` module and a limited set of core
@@ -25,37 +22,42 @@ Other Breaking Changes
2522
* Classes: `PrettyPrinter`, `Sequence`
2623
* Macros: `#%`, `#:`, `->`, `->>`, `ap-dotimes`, `ap-each`, `ap-each-while`, `ap-filter`, `ap-first`, `ap-if`, `ap-last`, `ap-map`, `ap-map-when`, `ap-reduce`, `ap-reject`, `as->`, `assoc`, `cfor`, `comment`, `defmacro!`, `defmacro/g!`, `defmain`, `defn+`, `defn/a+`, `defseq`, `dict=:`, `do-n`, `doto`, `fn+`, `fn/a+`, `ifp`, `let+`, `lif`, `list-n`, `loop`, `ncut`, `of`, `profile/calls`, `profile/cpu`, `seq`, `setv+`, `smacrolet`, `unless`, `with-gensyms`
2724

25+
* Functions that provide first-class Python operators, such as `+`
26+
in constructs like `(reduce + xs)`, are no longer brought
27+
into scope automatically. Say `(import hy.pyops *)` to get them.
28+
* Hy scoping rules more closely follow Python scoping in certain edge
29+
cases.
30+
* `let` is now a core macro with somewhat different semantics. In
31+
particular, definition-like core macros (`defn`, `defclass`,
32+
`import`) now introduce new names that shadow corresponding
33+
`let`-bound names and persist outside the body of the `let`.
2834
* The constructors of `String` and `FString` now check that the input
29-
would be syntactically legal.
35+
would be syntactically legal as a literal.
3036
* `hy.extra.reserved` has been renamed to `hy.reserved`.
31-
* Hy scoping rules more closely follow Python scoping in certain edge cases.
32-
* `let` is now a core macro. Semantics of `let` have changed in certain
33-
edge cases: Any assignment or assignment-like operations (`with`, `match`,
34-
etc.) will *assign* to the let-bound name, while any definintions or
35-
definition-like operations (`defn`, `defclass`, `import`) will *shadow* the
36-
let-bound name (and will also continue to be defined after the `let`-scope ends).
3737

3838
Bug Fixes
3939
------------------------------
40-
* `let` should no longer re-evaluate default arguments.
41-
* Improved error messages for illegal uses of `finally` and `else`.
42-
* `match` should no longer re-evaluate subect.
43-
* `hy-repr` now properly formats bracketed strings.
40+
* In comprehension forms other than `for`, assignments (other than
41+
`:setv` and loop clauses) are now always visible in the surrounding
42+
scope.
43+
* `match` now only evaluates the subject once.
44+
* `let` will no longer re-evaluate the default arguments of a
45+
function it's used in.
46+
* `hy.repr` now properly formats bracket strings.
47+
* The `repr` and `str` of string models now include `brackets` if
48+
necessary.
4449
* When standard output can't accommodate Unicode, `hy2py` now crashes
4550
instead of emitting incorrect Python code.
4651
* Fixed a bug with self-requiring files on Windows.
47-
* The `repr` and `str` of string models now include `brackets` if
48-
necessary.
49-
* Complex comprehensions are now always treated as inline expressions for
50-
variable scoping, rather than creating a new block scope. Specifically,
51-
assignments within comprehensions are now always visible to the surrounding code.
52+
* Improved error messages for illegal uses of `finally` and `else`.
5253

5354
New Features
5455
------------------------------
5556
* `hy.repr` now supports several more standard types.
56-
* the attribute access macro `.` now accepts method calls.
57-
* `as_model` checks for self-references in its argument.
58-
* New function `hy.model_patterns.keepsym`
57+
* The attribute access macro `.` now allows method calls. For example,
58+
`(. x (f a))` is equivalent to `(x.f a)`.
59+
* `hy.as-model` checks for self-references in its argument.
60+
* New function `hy.model_patterns.keepsym`.
5961

6062
.. _Hyrule: https://github.com/hylang/hyrule
6163

setup.cfg

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
[wheel]
2-
universal = 1
3-
41
[tool:pytest]
52
# Be sure to include Hy test functions with mangled names.
63
python_functions=test_* is_test_* hyx_test_* hyx_is_test_*

0 commit comments

Comments
 (0)