Releases: digikar99/py4cl2
Releases · digikar99/py4cl2
v2.3.0
Why the minor version change?
- Speed up loading a bit: Separate system to integrate with numcl:
"py4cl2+numcl"
. If this system is not loaded,"py4cl2"
should never load or use numcl.
Other Improvements
- Exported
pythonize
to allow users to define their own python translations. - Now signals a continuable
python-process-startup-error
if the python process does not start
v2.2.2
Major bugfix:
- multiple large-array-transfer is fixed: previously the test was incorrect
Features:
- compatibility with
numcl:numcl-array
: added(config-var use-numcl-arrays)
and(with-numcl-arrays ...)
. See documentation
Possibly user irrelevant changes:
- use static-file component of asdf instead of py4cl2/config etc -
py4cl2/config
has been removed
v2.2.1
Bugfixes:
- Importing submodules:
(defpymodule "numpy.random")
should now work - Was previously importing only packages - and not modules: now importing both
Features:
defpymodule
now prints "import status" by default; use*defpymodule-silent-p*
or:silent
to turn off
v2.2.0
Possibly breaking changes:
- sort of fix:
(pyeval 'np.float32)
(after(defpymodule "numpy" t :lisp-package "NP")
) should work; previously required the full name(pyeval 'numpy.float32)
- removed the
is-submodule
option ofdefpymodule
; was intended for internal usage; using dynamic binding instead
v2.1.0
Major changes:
- translation semantics change - previously, all of lisp
nil
stood for python's three valuesNone, False, ()
- the translation was also erroneous in the most recent versions- nil = "False" previously "None"
- t = "True"
- "None" = "None" previously ""None""
- "()" = "()" previously ""()""
Minor changes:
- pyexec returns nothing, aka (values); otherwise would return "None" due to above semantics
- python-functions with arg names translating to nil and t will have .nil and .t as arg names in lisp
v2.0.7
v2.0.6
Bugfixes:
- async printing was skipping over whitespace in peek-char
- a long outstanding fix with regards to redefining function warnings:
- "Foo", "foo", "foo_" and "FOO" all mapped to the same name earlier
- Now, we assume "Foo" would name a class and then, might map to
foo/class, "foo_" and "foo" map to different names, "FOO" maps to foo/1
- fix for asdf version numbering: 2.0.6
- README (demo) script works;
defpyfun
handles [], (), False, None differently
v2.0-beta-5
Features:
with-python-output
: use to capture python output; equivalent of(with-output-to-string (*standard-output*) ...)
v2.0-beta-4: Merge pull request #2 from digikar99/python-code
Bugfix:
- LispCallbackObjects might not have worked correctly before: the bug should have been created in the initial days of
py4cl2
and should not be present inpy4cl
. config-var
now createsvar
if it did not exist in*config*
before
Features:
- Ported unicode string handling from
py4cl
(relevant for python2 users) - Ported support for ration / fraction from
py4cl
defpymodule
with import-submodulest
provides acontinue-ignoring-errors
option if the particular submodule is not present - this happens with modules like "torch"- It should be possible to use
py4cl2
in an lisp image, for deployment onto servers: thepy4cl.py
code is copied into*python-code*
v2.0-beta-3
Fixes:
- [Relevant to
defpyfun
anddefpymodule
] get-arg-list: Now, if a function has both *arg and **kwarg, its argument list in lisp is(&rest args)
. - [Relevant to
pychain
andpychain*
]%chain*
now compares the symbol name with "@"; this allows the use of the symbol@
from other packages