Releases: lcompilers/lpython
Releases · lcompilers/lpython
v0.18.0
What's Changed
- Fix unsigned integer bitnot by @Shaikh-Ubaid in #2061
- Support expression as message in assert by @Shaikh-Ubaid in #2065
- Verify: Add a check for order of Allocatable and Array by @Shaikh-Ubaid in #2069
- LLVM: Fix visit_IfExp() by @Shaikh-Ubaid in #2070
- Added support for symbolic Expand & Differentiation by @anutosh491 in #2077
- fix: internal function def errors by @arteevraina in #2035
- Throw error for unsupported unary operand by @Shaikh-Ubaid in #2078
- Support unsigned int unary operators by @Shaikh-Ubaid in #2081
- Support cast UnsignedIntegerToUnsignedInteger by @Shaikh-Ubaid in #2090
- Fix 1-dim array length in message by @Smit-create in #2093
- Added support for symbolic elementary functions by @anutosh491 in #2094
- Implement physical types for arrays by @czgdp1807 in #2079
- Fix unsigned integer cast for CPython by @Shaikh-Ubaid in #2098
- Skip AugAssign in Symbol Table visitor by @Smit-create in #2101
- Unsigned integers improvement and fixes by @Shaikh-Ubaid in #2108
- Initial pass infrastructure by @certik in #2112
- Clean up the pass names by @certik in #2116
- Refactor: Remove unused var from pass_loop_unroll() by @Shaikh-Ubaid in #2117
Full Changelog: v0.17.0...v0.18.0
v0.17.0
What's Changed
- ASR: Allow importing union by @Smit-create in #1916
- TEST: Turn off colors in ASR Json Output by @Shaikh-Ubaid in #1912
- lpython.py: Add missing slots by @Shaikh-Ubaid in #1913
- CPython: Fix Union bugs by @Smit-create in #1917
- PASS: Fix class name by @Shaikh-Ubaid in #1918
- Add list repeat and remove warnings by @kabra1110 in #1888
- Pythoncall: Support arrays of int, real as args by @Shaikh-Ubaid in #1931
- PythonCall: Add separate CI and rename flag to --link-numpy by @Shaikh-Ubaid in #1933
- Handle doc string inside Class by @Shaikh-Ubaid in #1934
- Improve error message for function parameter assign by @Smit-create in #1935
- Return err, if an error has occurred in creating the C file by @Thirumalai-Shaktivel in #1947
- Allow partial initialization of structs by @Smit-create in #1936
- Intial Implementation for SymbolicExpression ttype by @anutosh491 in #1846
- CI: Consolidate cpython_py and cpython by @certik in #1960
- TEST: Optionally provide Python Libraries by @Shaikh-Ubaid in #1961
- C: Use
const
in place of#define
for declaring constants by @Shaikh-Ubaid in #1962 - ASR: Remove unnecessary compare checks by @Smit-create in #1951
- Handle unused dimension_description struct by @Thirumalai-Shaktivel in #1965
- CI: Improvements by @Shaikh-Ubaid in #1963
- Support nested tuples by @kabra1110 in #1932
- Catch errors for tuple indexing in strings and call to undefined struct members by @Shaikh-Ubaid in #1967
- Fix error messages by @Smit-create in #1966
- Improve error message for type mismatch in index by @Shaikh-Ubaid in #1976
- Error for incorrect type annotation by @Shaikh-Ubaid in #1975
- Introducing Symbolic Binary operators and
i32
toS
Casting function by @anutosh491 in #1964 - Support pass in dataclass by @Shaikh-Ubaid in #1997
- fix: added null check & type checking by @arteevraina in #1985
- PythonCall: Support array of simple types as return type by @Shaikh-Ubaid in #2012
- Initial PythonCallable implementation by @Thirumalai-Shaktivel in #1984
- Fix
LLVMDictSeparateChaining::dict_deepcopy
by @czgdp1807 in #2014 - Fix struct assignment with list struct item by @Smit-create in #1998
- PythonCall: Code Refactor by @Shaikh-Ubaid in #2015
- PythonCall: Support arrays of other simple types by @Shaikh-Ubaid in #2017
- Add list index overloads by @kabra1110 in #1940
- Support character iteration over strings by @faze-geek in #2019
- Remove
new
anddelete
fromTupleConcat
by @kabra1110 in #2018 - Add visit for Ellipsis . by @faze-geek in #2021
- Handle the case where start is greater than end in
list.index()
by @faze-geek in #2022 - Fix ellipsis in class by @Shaikh-Ubaid in #2034
- Test --fast as similar to LFortran by @Shaikh-Ubaid in #2048
- Added support for handling chaining of Symbolic operators and printing without assignment . by @anutosh491 in #2051
- LLVM: Support global tuple initialization by @Smit-create in #2046
- Throw error instead of exception by @Smit-create in #2053
- Fix imports when same symbol is imported in different files by @Shaikh-Ubaid in #2049
New Contributors
- @arteevraina made their first contribution in #1985
Full Changelog: v0.16.0...v.0.17.0
v0.16.0
What's Changed
- Support struct initialization with named arguments by @Shaikh-Ubaid in #1813
- Support syntax for passing struct in CPython by @Shaikh-Ubaid in #1814
- Minor: Remove unneeded variable by @Shaikh-Ubaid in #1816
- Support nullptr testing by @Smit-create in #1805
- ASR: Support param access in, out, inout by @Shaikh-Ubaid in #1820
- Add
lower_bounds
inCPtrToPointer
by @czgdp1807 in #1822 - Support structs with enum fields in
c_p_pointer
by @czgdp1807 in #1823 - Support allocatable in lpython by @Smit-create in #1815
- Error on assignment to function parameter by @Shaikh-Ubaid in #1803
- Make integration_tests working with any lpython by @certik in #1824
- C: Implement allocatable by @Smit-create in #1829
- RTL: fix an issue with abs() by @certik in #1835
- C: Codegen dictionary for types with no hash by @Smit-create in #1757
- Fix returning empty list by @Shaikh-Ubaid in #1842
- Sync
libasr
with LFortran by @czgdp1807 in #1847 - PKG: Add convexhull computation package by @Shaikh-Ubaid in #1840
- Remove goto by @Shaikh-Ubaid in #1838
- Support CPtr <-> u64 casting by @Smit-create in #1848
- Print error on assign to input parameter by @Shaikh-Ubaid in #1837
- Error on simple type with output intent by @Shaikh-Ubaid in #1852
- TEST: Update test to test input param modification by @Shaikh-Ubaid in #1853
- ASR: Fix a bug in dict len by @Smit-create in #1855
- Give an error message if function parameter is declared twice by @Shaikh-Ubaid in #1854
- Fix Pointer[f64[length]] by @certik in #1858
- Use 32bit length by @certik in #1860
- @ccallable: Emit a header file with given name by @Smit-create in #1861
- Add tuple concat by @kabra1110 in #1865
list.reverse
for nested lists by @kabra1110 in #1866- Initial support for @PythonCall decorator by @Shaikh-Ubaid in #1863
- Overload missing functions with unsigned int by @Smit-create in #1871
- Fast in integration tests by @Shaikh-Ubaid in #1872
- ASR Pass: Fix print list tuple by @Smit-create in #1868
- Replace helper
floor()
function with//
operator by @faze-geek in #1806 - TEST: Support disabling --fast tests by @Shaikh-Ubaid in #1874
- Use add_or_overwrite_symbol by @certik in #1877
- CI: Test LPython in Debug mode by @certik in #1878
- Add dict increment by @kabra1110 in #1843
- Add
Allocatable
andArray
types by @czgdp1807 in #1880 - Fix zero slice step by @kabra1110 in #1879
- Add
list.pop
by @kabra1110 in #1845 - Support real <-> unsigned integer cast by @Smit-create in #1889
- Specify the Python version to link the python library by @Thirumalai-Shaktivel in #1892
- ASR: Support Constant List iteration by @Smit-create in #1883
- Accept shape in
c_p_pointer
if target is an array by @czgdp1807 in #1884 - Fix unsigned integers in pointers by @certik in #1894
- Pickle: Hide "numpy" module unless
--with-intrinsic-mods
is used by @Shaikh-Ubaid in #1895 - Print unsigned ints correctly by @certik in #1897
- Handle array as return variable using the lpython decorator by @Thirumalai-Shaktivel in #1891
- Escape unescape improvements by @Shaikh-Ubaid in #1902
- ASRVerify: Require signed integer array dimensions by @Shaikh-Ubaid in #1903
- Allow duplicate imports by @certik in #1904
- Fix GH Action warnings by @Smit-create in #1905
- Fix ExternalSymbol location by @certik in #1906
Full Changelog: v0.15.0...v0.16.0
v0.15.0
What's Changed
- Support numpy size() and array.size by @Shaikh-Ubaid in #1777
- Support --no-indent and --visualize flags by @Shaikh-Ubaid in #1779
- Fix numpy size() and add test by @Shaikh-Ubaid in #1780
- Rename the @jit decorator to @lpython by @certik in #1791
- ASR: Skip if in SymbolTableVisitor by @Shaikh-Ubaid in #1792
- Allow importing enums by @Smit-create in #1794
- Update array indexing to use strides and offsets by @czgdp1807 in #1765
- ASR: Fix module imports for subroutines by @Smit-create in #1795
- Fixes for lpython decorator by @Thirumalai-Shaktivel in #1796
- Dict bool keys by @kabra1110 in #1771
- Require structs to be initialized before using by @Shaikh-Ubaid in #1808
- Add
list.reverse
intrinsic function by @virendrakabra14 in #1758 - Support array constant initialization for array of structs by @Shaikh-Ubaid in #1811
- lpython.py: handle unsigned integers everywhere by @certik in #1812
New Contributors
- @kabra1110 made their first contribution in #1771
Full Changelog: v0.14.0...v0.15.0
v0.14.0
What's Changed
- C/LLVM: Fixes with dict get by @Smit-create in #1700
- LLVM: Refactor to use cleaner create_if_else by @Smit-create in #1742
- Fix user import when it overlaps with runtime library modules by @Shaikh-Ubaid in #1743
- Assign the
_lpython_argv()
value to a globallist[str]
variable by @Thirumalai-Shaktivel in #1679 - Initial support for callbacks by @Smit-create in #1726
- Modify the return_var in the existing Function_t instead of creating a new one by @Thirumalai-Shaktivel in #1745
- Initial implementation of
String
Validation Methods by @harshsingh-24 in #1747 - C: Support header files in
ccall
by @Smit-create in #1731 - PIP: Support using packages installed via pip by @Shaikh-Ubaid in #1739
- Register more Intrinsic Trig Functions by @faze-geek in #1754
- Fix empty list assignment by @Smit-create in #1755
- Register
Partition
in IntrinsicFunction by @Thirumalai-Shaktivel in #1673 - Improve performance of exp() and exp2() by @gptsarthak in #1712
- ASR: Support modules in json format by @Shaikh-Ubaid in #1752
- PKG: Add linear regression package by @Shaikh-Ubaid in #1751
- Make i32/i64 convert float to int in CPython by @Shaikh-Ubaid in #1761
- ASR: Keep strings unescaped in AST, ASR by @Shaikh-Ubaid in #1762
- CI: Install and use lpython as a package by @Shaikh-Ubaid in #1763
- ASR: Support UnaryOp in attr bit_length() by @Shaikh-Ubaid in #1768
- Add unsigned int types by @Smit-create in #1764
- Add unsigned integer support to C backend by @certik in #1769
@jit
interface for LPython by @harshsingh-24 in #1708- Add a test for all unsigned types by @certik in #1770
- Implement --get-rtl-dir by @certik in #1772
- Implement unsigned arrays support by @certik in #1775
Full Changelog: v0.13.0...v0.14.0