The NetBSD Project

CVS log for pkgsrc/lang/py-hy/Makefile

[BACK] Up to [] / pkgsrc / lang / py-hy

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.13 / (download) - annotate - [select for diffs], Tue Nov 29 22:09:15 2022 UTC (3 months, 2 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q4-base, pkgsrc-2022Q4, HEAD
Changes since 1.12: +2 -1 lines
Diff to previous 1.12 (colored)

py-hy: add missing tool dependency on py-wheel

Revision 1.12 / (download) - annotate - [select for diffs], Sat Nov 26 19:53:38 2022 UTC (3 months, 3 weeks ago) by adam
Branch: MAIN
Changes since 1.11: +8 -6 lines
Diff to previous 1.11 (colored)

py-hy: updated to 0.25.0

0.25.0 (released 2022-11-08)

Breaking Changes
* `dfor` no longer requires brackets around its final arguments, so
  `(dfor x (range 5) [x (* 2 x)])` is now `(dfor x (range 5) x (* 2
* `except*` (PEP 654) is now recognized in `try`, and a placeholder
  macro for `except*` has been added.

Bug Fixes
* `__file__` should now be set the same way as in Python.
* `\N{` escape sequences are now recognized in f-strings.
* Fixed a bug with `python -O` where assertions were still partly
* Fixed `hy.repr` of `slice` objects with non-integer arguments.

New Features
* Python 3.11 is now supported.

Misc. Improvements
* `hyc` now requires a command-line argument.
* `hyc` prints each path it writes bytecode to, and its messages now
  go to standard error instead of standard output.

Revision 1.11 / (download) - annotate - [select for diffs], Tue Jan 4 20:54:08 2022 UTC (14 months, 2 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base, pkgsrc-2022Q3, pkgsrc-2022Q2-base, pkgsrc-2022Q2, pkgsrc-2022Q1-base, pkgsrc-2022Q1
Changes since 1.10: +2 -1 lines
Diff to previous 1.10 (colored)

*: bump PKGREVISION for users

They now have a tool dependency on py-setuptools instead of a DEPENDS

Revision 1.10 / (download) - annotate - [select for diffs], Sat Mar 20 19:14:57 2021 UTC (2 years ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2021Q4-base, pkgsrc-2021Q4, pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2, pkgsrc-2021Q1-base, pkgsrc-2021Q1
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)

py-hy: updated to 0.20.0

0.20.0 (released 2021-01-25)

* Python 3.5 is no longer supported.

New Features
* `let` macro now supports extended iterable unpacking syntax.
* New contrib module `pprint`, a Hy equivalent of `python.pprint`.

Bug Fixes
* Fixed a bug that made `hy.eval` from Python fail on `require`.
* Fixed a bug that prevented pickling of keyword objects.
* Fixed a compiler crash from `setv` with an odd number of arguments in

0.19.0 (released 2020-07-16)

Breaking Changes
* `parse-args` is no longer implemented with `eval`; so e.g. you should
  now say `:type int` instead of `:type 'int`.

New Features
* Python 3.9 is now supported.

Bug Fixes
* Improved support for nesting anaphoric macros by only applying
  symbol replacement where absolutely necessary.
* Quoted f-strings are no longer evaluated prematurely.
* Fixed a regression in the production of error messages for empty
* Fixed a scoping bug for code executed with `hy -c`.
* Fixed a bug in the compilation of multiple `require`\s.
* Fixed various bugs in command-line option parsing.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Mar 27 15:27:41 2020 UTC (2 years, 11 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2, pkgsrc-2020Q1-base, pkgsrc-2020Q1
Changes since 1.8: +11 -8 lines
Diff to previous 1.8 (colored)

py-hy: updated to 0.18.0


* Python 2 is no longer supported.
* Support for attribute lists in `defclass` has been removed. Use `setv`
  and `defn` instead.
* Literal keywords are no longer parsed differently in calls to functions
  with certain names.
* `hy.contrib.multi` has been removed. Use `cond` or the PyPI package
  `multipledispatch` instead.

Other Breaking Changes
* `HySequence` is now a subclass of `tuple` instead of `list`.
  Thus, a `HyList` will never be equal to a `list`, and you can't
  use `.append`, `.pop`, etc. on a `HyExpression` or `HyList`.

New Features
* Added special forms `py` to `pys` that allow Hy programs to include
  inline Python code.
* Added a special form `cmp` for chained comparisons.
* All augmented assignment operators (except `%=` and `^=`) now allow
  more than two arguments.
* Added support for function annotations (PEP 3107) and variable
  annotations (PEP 526).
* Added a function `parse-args` as a wrapper for Python's `argparse`.

Bug Fixes
* Statements in the second argument of `assert` are now executed.
* Fixed a bug that caused the condition of a `while` to be compiled
* `in` and `not-in` now allow more than two arguments, as in Python.
* `hy2py` can now handle format strings.
* Fixed crashes from inaccessible history files.
* Removed an accidental import from the internal Python module `test`.
* Fixed a swarm of bugs in `hy.extra.anaphoric`.

Misc. Improvements
* Replaced the dependency `clint` with `colorama`.


**Warning**: Hy 0.17.x will be the last Hy versions to support Python 2,
and we expect 0.17.0 to be the only release in this line. By the time
0.18.0 is released (in 2020, after CPython 2 has ceased being developed),
Hy will only support Python 3.

* Python 3.4 is no longer supported.

New Features
* Python 3.8 is now supported.
* Format strings with embedded Hy code (e.g., `f"The sum is {(+ x y)}"`)
  are now supported, even on Pythons earlier than 3.6.
* Added a special form `setx` to create Python 3.8 assignment expressions.
* Added new core functions `list?` and `tuple`.
* Gensyms now have a simpler format that's more concise when
  mangled (e.g., `_hyx_XsemicolonXfooXvertical_lineX1235` is now

Bug Fixes
* Fixed a crash caused by errors creating temporary files during
  bytecode compilation.


* Empty expressions (`()`) are no longer legal at the top level.

New Features
* `eval` / `hy_eval` and `hy_compile` now accept an optional `compiler`
  argument that enables the use of an existing `HyASTCompiler` instance.
* Keyword objects (not just literal keywords) can be called, as
  shorthand for `(get obj :key)`, and they accept a default value
  as a second argument.
* Minimal macro expansion namespacing has been implemented. As a result,
  external macros no longer have to `require` their own macro
* Macros and tags now reside in module-level `__macros__` and `__tags__`

Bug Fixes
* Cleaned up syntax and compiler errors.
* You can now call `defmain` with an empty lambda list.
* `require` now compiles to Python AST.
* Fixed circular `require`\s.
* Fixed module reloading.
* Fixed circular imports.
* Fixed errors from `from __future__ import ...` statements and missing
  Hy module docstrings caused by automatic importing of Hy builtins.
* Fixed `__main__` file execution.
* Fixed bugs in the handling of unpacking forms in method calls and
  attribute access.
* Fixed crashes on Windows when calling `hy-repr` on date and time
* Fixed a crash in `mangle` for some pathological inputs.
* Fixed incorrect mangling of some characters at low code points.
* Fixed a crash on certain versions of Python 2 due to changes in the
  standard module `tokenize`.


* Dotted lists, `HyCons`, `cons`, `cons?`, and `list*` have been
  removed. These were redundant with Python's built-in data structures
  and Hy's most common model types (`HyExpression`, `HyList`, etc.).
* `&key` is no longer special in lambda lists. Use `&optional` instead.
* Lambda lists can no longer unpack tuples.
* `ap-pipe` and `ap-compose` have been removed. Use threading macros and
  `comp` instead.
* `for/a` has been removed. Use `(for [:async ...] ...)` instead.
* `(except)` is no longer allowed. Use `(except [])` instead.
* `(import [foo])` is no longer allowed. Use `(import foo)` instead.

Other Breaking Changes
* `HyExpression`, `HyDict`, and `HySet` no longer inherit from `HyList`.
  This means you can no longer use alternative punctuation in place of
  square brackets in special forms (e.g. `(fn (x) ...)` instead of
  the standard `(fn [x] ...)`).
* Mangling rules have been overhauled; now, mangled names are
  always legal Python identifiers.
* `_` and `-` are now equivalent, even as single-character names.

  * The REPL history variable `_` is now `*1`.

* Non-shadow unary `=`, `is`, `<`, etc. now evaluate their argument
  instead of ignoring it.
* `list-comp`, `set-comp`, `dict-comp`, and `genexpr` have been replaced
  by `lfor`, `sfor`, `dfor`, and `gfor`, respectively, which use a new
  syntax and have additional features. All Python comprehensions can now
  be written in Hy.
* `&`-parameters in lambda lists must now appear in the same order that
  Python expects.
* Literal keywords now evaluate to themselves, and `HyKeyword` no longer
  inherits from a Python string type
* `HySymbol` no longer inherits from `HyString`.

New Features
* Python 3.7 is now supported.
* `while` and `for` are allowed to have empty bodies.
* `for` supports the various new clause types offered by `lfor`.
* `defclass` in Python 3 supports specifying metaclasses and other
  keyword arguments.
* Added `mangle` and `unmangle` as core functions.
* Added more REPL history variables: `*2` and `*3`.
* Added a REPL variable holding the last exception: `*e`.
* Added a command-line option `-E` per CPython.
* Added a new module `hy.model_patterns`.

Bug Fixes
* `hy2py` should now output legal Python code equivalent to the input Hy
  code in all cases.
* Fixed `(return)` so it can exit a Python 2 generator.
* Fixed a case where `->` and `->>` duplicated an argument.
* Fixed bugs that caused `defclass` to drop statements or crash.
* Fixed a REPL crash caused by illegal backslash escapes.
* `NaN` can no longer create an infinite loop during macro-expansion.
* Fixed a bug that caused `try` to drop expressions.
* The compiler now properly recognizes `unquote-splice`.
* Trying to import a dotted name is now a syntax error, as in Python.
* `defmacro!` now allows optional arguments.
* Fixed handling of variables that are bound multiple times in a single

Misc. Improvements

Revision 1.8 / (download) - annotate - [select for diffs], Fri Feb 23 07:03:09 2018 UTC (5 years ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1
Changes since 1.7: +4 -4 lines
Diff to previous 1.7 (colored)

py-hy: updated to 0.14.0


* Python 3.3 is no longer supported
* def is gone; use setv instead
* apply is gone; use the new #* and #** syntax instead
* yield-from is no longer supported under Python 2
* Periods are no longer allowed in keywords
* Numeric literals can no longer begin with a comma or underscore
* Literal Inf\s and NaN\s must now be capitalized like that

Other Breaking Changes
* Single-character "sharp macros" are now "tag macros", which can have
  longer names
* xi from hy.extra.anaphoric is now a tag macro #%
* eval is now a function instead of a special form

New Features
* The compiler now automatically promotes values to Hy model objects
  as necessary, so you can write (eval (+ 1 ~n)) instead of
  (eval (+ 1 ~(HyInteger n)))
* return has been implemented as a special form
* Added a form of string literal called "bracket strings" delimited by
  #[FOO[ and ]FOO], where FOO is customizable
* Added support for PEP 492 (async and await) with fn/a, defn/a,
  with/a, and for/a
* Added Python-style unpacking operators #* and  #** (e.g.,
  (f #* args #** kwargs))
* Added a macro comment
* Added EDN #_ syntax to discard the next term
* while loops may now contain an else clause, like for loops
* #% works on any expression and has a new &kwargs parameter %**
* Added a macro doc and a tag macro #doc
* get is available as a function
* ~@ (unquote-splice) form now accepts any false value as empty

Bug Fixes
* Relative imports (PEP 328) are now allowed
* Numeric literals are no longer parsed as symbols when followed by a dot
  and a symbol
* Hy now respects the environment variable PYTHONDONTWRITEBYTECODE
* String literals should no longer be interpreted as special forms or macros
* Tag macros (née sharp macros) whose names begin with ! are no longer
  mistaken for shebang lines
* Fixed a bug where REPL history wasn't saved if you quit the REPL with
  (quit) or (exit)
* exec now works under Python 2
* No TypeError from multi-arity defn returning values evaluating to None
* try forms are now possible in defmacro and deftag
* Multiple expressions are now allowed in try
* Fixed a crash when macroexpand\ing a macro with a named import
* Fixed a crash when with suppresses an exception. with now returns
  None in this case.
* Fixed a crash when --repl-output-fn raises an exception
* Fixed a crash when HyTypeError was raised with objects that had no
  source position
* assoc now evaluates its arguments only once each
* Multiple expressions are now allowed in the else clause of
  a for loop
* else clauses in for and while are recognized more reliably
* Statements in the condition of a while loop are repeated properly
* Argument destructuring no longer interferes with function docstrings
* Nullary yield-from is now a syntax error
* break and continue now raise an error when given arguments
  instead of silently ignoring them

Misc. Improvements
* read, read_str, and eval are exposed and documented as top-level
  functions in the hy module
* An experimental let macro has been added to hy.contrib.walk

Revision 1.7 / (download) - annotate - [select for diffs], Mon Dec 18 12:48:46 2017 UTC (5 years, 3 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2017Q4-base, pkgsrc-2017Q4
Changes since 1.6: +9 -11 lines
Diff to previous 1.6 (colored)

py-hy: updated to 0.13.0

Changes 0.13.1:

[ Language Changes ]
* Pythons 2.6, 3.0, 3.1, and 3.2 are no longer supported
* let has been removed. Python's scoping rules do not make a proper
  implementation of it possible. Use setv instead.
* lambda has been removed, but fn now does exactly what lambda did
* defreader has been renamed to defsharp; what were previously called
  "reader macros", which were never true reader macros, are now called
  "sharp macros"
* try now enforces the usual Python order for its elements (else must
  follow all excepts, and finally must come last). This is only a
  syntactic change; the elements were already run in Python order even when
  defined out of order.
* try now requires an except or finally clause, as in Python
* Importing or executing a Hy file automatically byte-compiles it, or loads
  a byte-compiled version if it exists and is up to date. This brings big
  speed boosts, even for one-liners, because Hy no longer needs to recompile
  its standard library for every startup.
* Added bytestring literals, which create bytes objects under Python 3
  and str objects under Python 2
* Commas and underscores are allowed in numeric literals
* Many more operators (e.g., **, //, not, in) can be used
  as first-class functions
* The semantics of binary operators when applied to fewer or more
  than two arguments have been made more logical
* (** a b c d) is now equivalent to (** a (** b (** c d))),
  not (** (** (** a b) c) d)
* setv always returns None
* When a try form executes an else clause, the return value for the
  try form is taken from else instead of the try body. For example,
  (try 1 (except [ValueError] 2) (else 3)) returns 3.
* xor: If exactly one argument is true, return it
* hy.core.reserved is now hy.extra.reserved
* cond now supports single argument branches

[ Bug Fixes ]
* All shadowed operators have the same arities as real operators
* Shadowed comparison operators now use and instead of &
  for chained comparisons
* partition no longer prematurely exhausts input iterators
* read and read-str no longer raise an error when the input
  parses to a false value (e.g., the empty string)
* A yield inside of a with statement will properly suppress implicit
* setv no longer unnecessarily tries to get attributes
* loop no longer replaces string literals equal to "recur"
* The REPL now prints the correct value of do and try forms
* Fixed a crash when tokenizing a single quote followed by whitespace

[ Misc. Improvements ]
* New contrib module hy-repr
* Added a command-line option --repl-output-fn

Revision 1.6 / (download) - annotate - [select for diffs], Sat Sep 16 19:26:58 2017 UTC (5 years, 6 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2017Q3-base, pkgsrc-2017Q3
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

Reset maintainer

Revision 1.5 / (download) - annotate - [select for diffs], Tue Jan 3 13:23:03 2017 UTC (6 years, 2 months ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1
Changes since 1.4: +4 -4 lines
Diff to previous 1.4 (colored)

Use "${MV} || ${TRUE}" and "${RM} -f" consistently in post-install targets.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Aug 28 15:48:32 2016 UTC (6 years, 6 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3
Changes since 1.3: +1 -2 lines
Diff to previous 1.3 (colored)

Remove unnecessary PLIST_SUBST and FILES_SUBST that are now provided
by the infrastructure.

Mark a couple more packages as not ready for python-3.x.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Jun 8 17:43:34 2016 UTC (6 years, 9 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2016Q2-base, pkgsrc-2016Q2
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)


Revision 1.2 / (download) - annotate - [select for diffs], Sun Nov 9 19:31:56 2014 UTC (8 years, 4 months ago) by rodent
Branch: MAIN
CVS Tags: pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4, pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4
Changes since 1.1: +4 -2 lines
Diff to previous 1.1 (colored)

Update to 0.10.1. No ChangeLog found. Move hy2py to hy2py${PYVERSSUFFIX} in
post-install and add to ALTERNATIVES.

Revision 1.1 / (download) - annotate - [select for diffs], Sun May 18 03:32:16 2014 UTC (8 years, 10 months ago) by rodent
Branch: MAIN
CVS Tags: pkgsrc-2014Q3-base, pkgsrc-2014Q3, pkgsrc-2014Q2-base, pkgsrc-2014Q2

Import py27-hy-0.10.0 as lang/py-hy.

Hy is a Python <--> Lisp layer. It helps make things work nicer, and lets Python
and the Hy lisp variant play nice together.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>