Releases: lcompilers/lpython
Releases · lcompilers/lpython
v0.21.2
What's Changed
- CI: Make script executable by @Shaikh-Ubaid in #2648
Full Changelog: v0.21.1...v0.21.2
v0.21.1
What's Changed
- Add tag triggers to CI configuration by @anutosh491 in #2647
Full Changelog: v0.21.0...v0.21.1
v0.21.0
What's Changed
- Added support for functions to accept symbolic variables by @anutosh491 in #2331
- Implemented
visit_SubroutineCall
for the symbolic pass by @anutosh491 in #2335 - Add support for base in
int()
by @AkshayWarrier in #2338 - Adding support for executing attribute/query calls without assigning to a prior variable by @anutosh491 in #2337
- Implemented Str.Count() method by @SudhanshuJoshi09 in #2342
- CI: Upgrade SymEngine to 0.11.1 by @certik in #2346
- Implementing Symbolic Has Query Method by @anutosh491 in #2336
- Sync Libasr for Runtime Stacktrace by @Thirumalai-Shaktivel in #2350
- Fix Unused warning by @sainivedh in #2352
- Add join method in str by @Agent-Hellboy in #2354
- mentioned
generate_default_tag.sh
in the readme by @abhi-glitchhg in #2358 - Added MacOS warning in readme file by @OculusMode in #2361
- Throw Exception for wrong argtype in join method by @Agent-Hellboy in #2364
- Run integration tests with the Latest Python version in the CI by @Thirumalai-Shaktivel in #2281
- Support floor division as intrinsic function by @Shaikh-Ubaid in #2372
- Added support for comparing symbolic expressions by @anutosh491 in #2374
- Add isspace API in str by @Agent-Hellboy in #2373
- Supporting assignment through
basic_assign
by @anutosh491 in #2378 - Add isalpha, istitle, and title APIs in str by @Agent-Hellboy in #2357
- Adding Support for symbolics in the list data structure by @anutosh491 in #2368
- Implement random.seed() by @OmarMesqq in #2318
- Added Support for Symbolic
func
attribute by @anutosh491 in #2367 - Fixed printing elements from a symbolic list by @anutosh491 in #2383
- Implemented query method for log class by @anutosh491 in #2384
- Implemented symbolic constant E by @anutosh491 in #2387
- Implemented ASR checks for function dependencies by @arteevraina in #2167
- Remove spurious reference results by @certik in #2391
- Added query method for sin class by @anutosh491 in #2395
- Remove Python as prerequisite from README.md by @Shaikh-Ubaid in #2402
- Implementing get argument through design 1 by @anutosh491 in #2399
- Fix: Punctuation mistake in error message by @pnc009 in #2407
- Create temporary for IfExp outside LLVM loop by @czgdp1807 in #2408
- Added support for
visit_Assert
throughbasic_eq
by @anutosh491 in #2404 - refactor: check for dependency only in parent scope by @arteevraina in #2394
- Implemented visit_Return for freeing variables by @anutosh491 in #2412
- Sync
libasr
with LFortran by @czgdp1807 in #2410 - Port --dump-all-passes, --dump-all-passes-fortran from LFortran by @Shaikh-Ubaid in #2414
- Remove redundant code by @Shaikh-Ubaid in #2417
- Minor fixes related to Pass options by @Shaikh-Ubaid in #2418
- Removed redundant return node after processing an ASR through subroutine_from_function pass by @anutosh491 in #2421
- Added support for Out[S] by @anutosh491 in #2419
- Added explicit test for Out[S] by @anutosh491 in #2422
- [C] Simd changes from LFortran by @Thirumalai-Shaktivel in #2425
- SIMD: Changes from LFortran by @Shaikh-Ubaid in #2424
- [ASR Pass] Handle ArraySection and SIMDArray BinOp (LFortran Sync) by @Thirumalai-Shaktivel in #2426
- [Tutorials] Add LPython tutorial 1 by @Smit-create in #2415
- [ASR Pass] Symbolic: Simplify the symbolic handling by @Thirumalai-Shaktivel in #2431
- changes documentation to represent correct path for lpython on windows machine by @ujjwaltwitx in #2436
- Enable llvm tests for symbolics by @Thirumalai-Shaktivel in #2430
- [ASR Pass] Symbolic: Simplify the Functions by @Thirumalai-Shaktivel in #2433
- Adding initial test for gruntz by @anutosh491 in #2437
- Fixed ASR for test_gruntz.py by @anutosh491 in #2438
- Implement
str.split()
by @AkshayWarrier in #2445 - Implemented visit_AsyncFunctionDef in the AST->ASR visitor by @ujjwaltwitx in #2442
- Fixes SEGFAULT in integration_tests/elemental_01.py by @Kishan-Ved in #2452
- Don't load CPtr if the variable under consideration is an argument by @anutosh491 in #2453
- Fixed output through c_sym backend for test_gruntz.py by @anutosh491 in #2454
- UserOverride.cmake: fix native optflag for PowerPC by @barracuda156 in #2459
- stacktrace.cpp: include syslimits.h for PATH_MAX by @barracuda156 in #2461
- parser_stype.h: allow building for ppc by @barracuda156 in #2463
- Fix
random.random()
by @Shaikh-Ubaid in #2464 - Using basic_new_heap for assigning elements of symbolic list by @anutosh491 in #2465
- Fixing Symbolic List assignment by @anutosh491 in #2477
- Fixes empty string bug in str isalpha method by @advikkabra in #2484
- Fix const step in loop by @Shaikh-Ubaid in #2501
- fixes semantic error for int (Issue #1926) by @NishantBansal2003 in #2476
- Fixing symbolic compare for test_gruntz.py by @anutosh491 in #2488
- Fixed issue #1993 to improve readability of semantic error thrown by @tanay-man in #2507
- Fixed grammatical errors (Issue #2493) by @NishantBansal2003 in #2510
- CI: Disable C tests on macOS by @certik in #2517
- Fix a bug in Const[int] by @certik in #2514
- CI: Remove more tests on macOS by @certik in #2519
- CI: Enable LLVM and C backends on macOS by @certik in #2521
- Improving prefix-string parsing (fixes #2339) by @mrdaybird in #2511
- Ignored warnings for inbuilt pow test by @advikkabra in #2523
- Fix isspace edge case by @advikkabra in #2489
- Added case to support log instances in mrv function by @anutosh491 in #2525
- Added semantic error for float declaration. by @faze-geek in #2529
- Fixed visit_if for SymbolicCompare cases by @anutosh491 in #2535
- Docs: Added a step-by-step documentation for installing and building LPython by @kmr-srbh in #2537
- Docs: Update installation instructions by @kmr-srbh in #2538
- refine input file missing msg by @syheliel in #2536
- Improved str.count() algorithm using the Knuth-Morris-Pratt algorithm by @advikkabra in #2530
- refine testcase for random by @syheliel in #2543
- Config: Added
zstd-static
package to the conda environment configuration files by @kmr-srbh in #2540 - Refactor string attributes and add constant string implementations by @advikkabra in #2524
- Remove submodule
lpython
by @Thirumalai-Shaktivel in #2548 - Updated cmake version for windows by @Kishan-Ved in https://github.com/lcompilers/lp...
v0.20.0
What's Changed
- ASR: Support chained CompareOp by @Smit-create in #2213
- ASR: Fix expression as statement by @Shaikh-Ubaid in #2216
- Allow Const argument in
@lpython
by @Smit-create in #2218 - C: Fix ListConcat and ListSection by @Shaikh-Ubaid in #2224
- C: Support ListRepeat by @Shaikh-Ubaid in #2225
- Add a test for lpython emulation mode by @certik in #2226
- Revert "ASR: Support chained CompareOp" by @Smit-create in #2229
- CPP: Fix list repeat issue 2221 by @Shaikh-Ubaid in #2228
- ASR: Fix explicit iter variable by @Shaikh-Ubaid in #2237
- Correction in
list.pop
by @kabra1110 in #2235 - Update README by @certik in #2241
- Set separate chaining by @kabra1110 in #2198
- Add
reserve
forlist
by @kabra1110 in #2238 - WASM: Support visit_StringLen() by @Shaikh-Ubaid in #2243
- Accept
dtype
argument innumpy.array
by @czgdp1807 in #2118 - WASM: Support string comparison by @Shaikh-Ubaid in #2245
- Minor improvements by @Shaikh-Ubaid in #2247
- Shorter names for global_initializer() and global_statements() by @Shaikh-Ubaid in #2246
- Fix typo by @stupidcantor in #2249
- Refactor unique symbol pass by @Smit-create in #2251
- ASR: Fix Import as by @Smit-create in #2252
- README: add a star history graph by @certik in #2257
- Fix issues with nested
dict
s by @kabra1110 in #2253 - Extending Functionality of the Symbolic ASR pass by @anutosh491 in #2255
- Removed Redundant symbolic support through the C backend by @anutosh491 in #2260
- Refactoring the symbolic ASR pass by @anutosh491 in #2263
- Corrections to
dict
write and pop by @kabra1110 in #2261 - LLVM: Fix visit_IfExp() by @Shaikh-Ubaid in #2271
- Sync IntrinsicFunction from LFortran by @Thirumalai-Shaktivel in #2269
- CMAKE: Set linker language by @Smit-create in #2266
- Added support for freeing variables in the ASR symbolic pass by @anutosh491 in #2268
- Rename IntrinsicFunction to IntrinsicScalarFunction by @Thirumalai-Shaktivel in #2273
- Numpy: Support more dtypes by @Shaikh-Ubaid in #2278
- Initial support for lambda functions by @Shaikh-Ubaid in #2279
- Support field in dataclass member initialization by @Shaikh-Ubaid in #2280
- Fix integration tests with Python 3.11 by @Shaikh-Ubaid in #2275
- Fix FMA pass to use IntrinsicFunction by @Smit-create in #2282
- Syntactic sugar for Array annotation by @Shaikh-Ubaid in #2284
- Remove dataclass emulation by @Shaikh-Ubaid in #2285
- Instead of replacing the intrinsic function, use the compile-time value by @Thirumalai-Shaktivel in #2287
- C: Fixes from LFortran by @Shaikh-Ubaid in #2289
- CMake: support LLVM as a single shared library by @jschueller in #2291
- Refactor: Move test_modules folder to integration_tests by @Shaikh-Ubaid in #2295
- WASM: Initial support for const type by @Shaikh-Ubaid in #2297
- CI: Test integration_tests with Python 3.9, 3.10 and 3.11 by @Shaikh-Ubaid in #2298
- TEST: Enable integration_tests/expr_16.py for LLVM by @Shaikh-Ubaid in #2300
- ASR: Merge create_CPtrToPointerFromArgs() and create_CPtrToPointer() by @Shaikh-Ubaid in #2299
- PASS: Update FlipSign pass to use Intrinsic Function by @Smit-create in #2301
- Refactor: ASR: Handle c_p_pointer() in visit_Call() by @Shaikh-Ubaid in #2302
- Refactor: Convert long macro to function by @Shaikh-Ubaid in #2304
- Merge call in visit_Expr() with visit_Call() by @Shaikh-Ubaid in #2306
- Support/Enforce dtype for empty() by @Shaikh-Ubaid in #2294
- Add error tests for mismatch in empty dtype by @Shaikh-Ubaid in #2307
- Improve dims error message format by @Shaikh-Ubaid in #2308
- CMake: Fix node version compare by @Shaikh-Ubaid in #2309
- Rename tensor to array by @certik in #2311
- Update FMA/flip_sign pass by @Smit-create in #2313
- Changes from LFortran by @Shaikh-Ubaid in #2315
- fix: 🐛 create default version value for forked repos by @OmarMesqq in #2303
- Further Refactoring for the ASR Symbolic Pass by @anutosh491 in #2320
- Sync
libasr
from LFortran by @czgdp1807 in #2319 - [numpy] add trunc by @khushi-411 in #2316
- Rename
m_global_scope
and fix typo by @Shaikh-Ubaid in #2322 - Handle functions returning arrays/structs in
subroutine_from_function
pass by @czgdp1807 in #2325 - [small] tidy up warnings by @khushi-411 in #2323
- Changes from lfortran by @Shaikh-Ubaid in #2326
- Setup online lpython by @Shaikh-Ubaid in #2328
- C: Fix passing array elements as reference by @Shaikh-Ubaid in #2329
- [numpy] add fix by @khushi-411 in #2330
- Dftatom: Changes from lfortran LibASR by @Shaikh-Ubaid in #2334
New Contributors
- @stupidcantor made their first contribution in #2249
- @jschueller made their first contribution in #2291
- @OmarMesqq made their first contribution in #2303
- @khushi-411 made their first contribution in #2316
Full Changelog: v0.19.0...v0.20.0
v0.19.0
What's Changed
- Unsigned integers no wrap II by @Shaikh-Ubaid in #2189
- Added test based on basic_new_heap function by @anutosh491 in #2190
- Support ccall() for symengine and other libs by @Shaikh-Ubaid in #2196
- CI: make bash fail on errors by @Shaikh-Ubaid in #2194
- Handle reshape intrinsic initialization with FixedSizeArray by @Thirumalai-Shaktivel in #2197
- Added the
llvm_sym
backend for testing symbolic operations through the llvm backend by @anutosh491 in #2192 - Added tests based on basic_new_stack function by @anutosh491 in #2199
- C: Fix complex types by @Smit-create in #2193
- Synchronizing generics by @ansharlubis in #2181
- Use optimisation flags for C compiler in lpython decorator by @czgdp1807 in #2201
- Support different integers in chr() by @Shaikh-Ubaid in #2203
- Support function with no return type as callback by @Shaikh-Ubaid in #2207
- Add Callable type by @Smit-create in #2209
- Add
dict.keys
by @kabra1110 in #2023 - LLVM: Initial CPython Interop example by @Shaikh-Ubaid in #2211
- CI: Provide release flags, exclude -march=native by @Shaikh-Ubaid in #2212
- Add
get_builder0
macro to declare auxiliary variables at entry point of functions by @czgdp1807 in #2205
Full Changelog: v0.18.4...v0.19.0
v0.18.4
v0.18.3
What's Changed
- Fix inner struct passed as an argument to a function by @Shaikh-Ubaid in #2180
- C: Support callbacks by @Smit-create in #2175
- Fix unsigned to signed int cast by @Smit-create in #2178
- C_CPP: Visit the expression in construct_call_args() by @Shaikh-Ubaid in #2185
- Fix a bug in cptr_to_u64 in emulation by @ronnuriel in #2186
Full Changelog: v0.18.2...v0.18.3
v0.18.2
What's Changed
- Sync
libasr
from LFortran by @czgdp1807 in #2148 - CI: Check for warnings by @Shaikh-Ubaid in #2145
- Support unsigned bitshift operators by @Shaikh-Ubaid in #2152
- Avoid verifying
IntrinsicFunction
ifcheck_external
isFalse
by @czgdp1807 in #2155 - Add
cumulative
flag for pass by @Smit-create in #2156 - Support array comparison by @Shaikh-Ubaid in #2157
- Minor improvements by @Shaikh-Ubaid in #2158
- fix: added initial implementation for supporting internal function definitions by @arteevraina in #2119
- Set data structure by @kabra1110 in #2122
- ASR pass for unique symbols by @Smit-create in #2149
- Refactor: Several Improvements by @Shaikh-Ubaid in #2160
- Fix scoping issue by @Shaikh-Ubaid in #2161
- LLVM: Support global unsigned integer variable by @Shaikh-Ubaid in #2164
- LLVM: Support Unsigned Int in visit_Variable by @Smit-create in #2171
Full Changelog: v0.18.1...v0.18.2
v0.18.1
What's Changed
- Add
list
comparison by @kabra1110 in #2025 - Add a test for a struct from a C pointer by @certik in #2126
- Add an error message for non-C-interoperable structs by @certik in #2133
- C: Fix struct deepcopy by @Smit-create in #2137
- Implement lcompilers_unique_ID global variable by @certik in #2138
- Only emit the error for Structs for now by @certik in #2140
- Remove global variables by @certik in #2143
- Give a C interoperability error for module structs also by @certik in #2144
Full Changelog: v0.18.0...v0.18.1
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