Ibrahim Numanagić
b853397b34
Fix out-of-module shadowing
2024-02-15 19:37:17 -08:00
Ibrahim Numanagić
a61ed7d164
Fix sub-imports
2024-02-05 18:07:16 -08:00
Ibrahim Numanagić
9993ddc3e4
Fix sub-imports
2024-02-05 17:12:25 -08:00
dependabot[bot]
927e430dd0
Bump actions/cache from 3 to 4 ( #536 )
...
Bumps [actions/cache](https://github.com/actions/cache ) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-02 10:56:13 -05:00
A. R. Shajii
e40527f845
Add from-str constructors for several types ( #533 )
...
* Add from-str constructors for several types
* Fix tests
* Disable test
2024-01-25 13:41:36 -05:00
A. R. Shajii
725003c64f
Upgrade to LLVM 17 ( #531 )
...
* Support LLVM 16
* Update for LLVM 17
* Add climits include
* Use LLVM 17 branch
* Disable tests in clang build
* Fix regex GC issue
* Use new "codon" branch of exaloop/llvm
2024-01-23 17:12:58 -05:00
A. R. Shajii
c8bc944a50
Updates - January 2024 ( #530 )
...
* Add bz2
* Support 'b' prefix on str
* List.index() throws an exception if item not found
This is consistent with Python. Added find() method that returns -1 similar to str (although this does not exist in Python's list).
* Update complex64 str and repr
* Fix tests
* Add 'default' arg to min() and max()
2024-01-19 11:22:20 -05:00
A. R. Shajii
d23c8c7a75
Support "key" argument on min() and max() builtins ( #505 )
...
* Support "key" argument on min() and max() builtins
* Delay overload selection when arguments are not known (delayed dispatch)
* Delay 'is None' for 'Optional[T]' until type is known
* Fix union overload selection
* Add static string slicing
* Fix itertools.accumulate
* Fix list comprehension optimization ( minitech:imports-in-list-comprehensions )
* Fix match or patterns
* Fix tests and faulty static tuple issue
* Fix OpenMP reductions with new min/max functions
* Fix domination of dominated bindings; Fix hasattr overloads; Fix arg=None handling
* Fix empty return handling; Mark generators with an attribute
* Fix #487
* Fix test
* Fix IR pass
---------
Co-authored-by: Ibrahim Numanagić <ibrahimpasa@gmail.com>
2024-01-12 19:27:29 -05:00
dependabot[bot]
8a0064a611
Bump actions/upload-artifact from 3 to 4 ( #523 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 13:36:11 -05:00
A. R. Shajii
d609629489
Format 1-element tuples as "(x,)" ( #521 )
...
* Format 1-element tuples as "(x,)"
Currently, single-element tuple "repr" / "str" gives "(x)", but it should really give "(x,)" according to Python.
* Fix tests
2024-01-02 13:35:55 -05:00
dependabot[bot]
f476ff2f92
Bump actions/download-artifact from 3 to 4 ( #524 )
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 13:35:34 -05:00
dependabot[bot]
f819bfd943
Bump actions/setup-python from 4 to 5 ( #525 )
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 13:35:17 -05:00
Ibrahim Numanagić
416cc5fa59
Bugfixes (Dec 2023) ( #515 )
...
* Delay overload selection when arguments are not known (delayed dispatch)
* Delay 'is None' for 'Optional[T]' until type is known
* Fix union overload selection
* Add static string slicing
* Fix itertools.accumulate
* Fix list comprehension optimization ( minitech:imports-in-list-comprehensions )
* Fix match or patterns
* Fix tests and faulty static tuple issue
2023-12-26 09:35:03 -05:00
Kurt McKee
32a624b041
Add a pre-commit config to lint and correct style issues ( #470 )
2023-12-05 16:08:20 -05:00
A. R. Shajii
d1cd21b3e3
Add complex str constructor ( #502 )
2023-12-05 15:48:34 -05:00
A. R. Shajii
b4a3f890ff
Property setters ( #501 )
...
* Fix __from_gpu_new__
* Fix GPU tests
* Update GPU debug codegen
* Add will-return attribute for GPU compilation
* Fix isinstance on unresolved types
* Fix union type instantiation and pendingRealizations placement
* Add float16, bfloat16 and float128 IR types
* Add float16, bfloat16 and float128 types
* Mark complex64 as no-python
* Fix float methods
* Add float tests
* Disable some float tests
* Fix bitset in reaching definitions analysis
* Fix static bool unification
* Add property setters
* Remove log
* Add Union hasattr support
* Fix union bugs; Move union logic to internal.codon; Add fn_can_call for any expression
* Fix isinstance(x, Union)
---------
Co-authored-by: Ibrahim Numanagić <ibrahimpasa@gmail.com>
2023-12-04 11:14:08 -05:00
A. R. Shajii
78a3d7d982
Union hasattr ( #500 )
...
* Fix __from_gpu_new__
* Fix GPU tests
* Update GPU debug codegen
* Add will-return attribute for GPU compilation
* Fix isinstance on unresolved types
* Fix union type instantiation and pendingRealizations placement
* Add float16, bfloat16 and float128 IR types
* Add float16, bfloat16 and float128 types
* Mark complex64 as no-python
* Fix float methods
* Add float tests
* Disable some float tests
* Fix bitset in reaching definitions analysis
* Fix static bool unification
* Add property setters
* Remove log
* Add Union hasattr support
---------
Co-authored-by: Ibrahim Numanagić <ibrahimpasa@gmail.com>
2023-11-27 12:24:21 -05:00
A. R. Shajii
7fdbc7f21e
Property setters ( #499 )
...
* Fix __from_gpu_new__
* Fix GPU tests
* Update GPU debug codegen
* Add will-return attribute for GPU compilation
* Fix isinstance on unresolved types
* Fix union type instantiation and pendingRealizations placement
* Add float16, bfloat16 and float128 IR types
* Add float16, bfloat16 and float128 types
* Mark complex64 as no-python
* Fix float methods
* Add float tests
* Disable some float tests
* Fix bitset in reaching definitions analysis
* Fix static bool unification
* Add property setters
* Remove log
---------
Co-authored-by: Ibrahim Numanagić <ibrahimpasa@gmail.com>
2023-11-22 10:43:25 -05:00
zstadler
a257678c4f
Update the applicable bash profile file ( #498 )
2023-11-21 10:46:36 -05:00
A. R. Shajii
2c7440768d
GPU compilation fixes ( #496 )
...
* Fix __from_gpu_new__
* Fix GPU tests
* Update GPU debug codegen
* Add will-return attribute for GPU compilation
* Fix isinstance on unresolved types
* Fix union type instantiation and pendingRealizations placement
* Add float16, bfloat16 and float128 IR types
* Add float16, bfloat16 and float128 types
* Mark complex64 as no-python
* Fix float methods
* Add float tests
* Disable some float tests
* Fix bitset in reaching definitions analysis
* Fix static bool unification
---------
Co-authored-by: Ibrahim Numanagić <ibrahimpasa@gmail.com>
2023-11-18 15:14:05 -05:00
A. R. Shajii
4eb641e3cb
Add PyCapsule to Python bridge
2023-11-07 11:41:57 -05:00
A. R. Shajii
ad504b78b0
Return int from floor(), ceil() and trunc()
2023-10-31 10:18:54 -04:00
Kurt McKee
584ea3b493
Use kebab case, not snake case, for PyPI input keys ( #489 )
2023-10-26 10:28:13 -04:00
A. R. Shajii
1e6382c564
Fix domination within deeply nested blocks ( #485 )
...
Co-authored-by: Ibrahim Numanagić <ibrahimpasa@gmail.com>
2023-10-03 17:04:15 -04:00
dependabot[bot]
bee2c2f402
Bump actions/checkout from 2 to 4 ( #484 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2 to 4.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2...v4 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 10:16:45 -04:00
Ibrahim Numanagić
ce459c5667
New Tuple machinery ( #462 )
...
* Refactor Tuple class
* Add Tuple[N,...] support; Fix inline operators with list brackets
* Fix Tuple[N,...] support
* Merge Sequre SIMD changes
* Fix repeat-tuple unification
* Fix staticlen in OpenMP
* Fix isinstance unification
* Fix delayed unification with static realization
* Fix CI
* Cleanup
* Use "fcmp une" in float.__ne__()
---------
Co-authored-by: A. R. Shajii <ars@ars.me>
2023-09-26 10:49:14 -04:00
dependabot[bot]
9933954e30
Bump actions/upload-artifact from 1 to 3 ( #473 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 1 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v1...v3 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-09 10:27:51 -04:00
dependabot[bot]
7cddafb7cf
Bump actions/download-artifact from 1 to 3 ( #474 )
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 1 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v1...v3 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-09 10:27:38 -04:00
dependabot[bot]
61ddf8ad8a
Bump actions/setup-python from 2 to 4 ( #475 )
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 2 to 4.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v2...v4 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-09 10:27:24 -04:00
dependabot[bot]
7b688caf64
Bump actions/cache from 2 to 3 ( #476 )
...
Bumps [actions/cache](https://github.com/actions/cache ) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-09 10:27:08 -04:00
dependabot[bot]
2d2e2370e9
Bump actions/upload-release-asset from 1.0.1 to 1.0.2 ( #477 )
...
Bumps [actions/upload-release-asset](https://github.com/actions/upload-release-asset ) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/actions/upload-release-asset/releases )
- [Commits](https://github.com/actions/upload-release-asset/compare/v1.0.1...v1.0.2 )
---
updated-dependencies:
- dependency-name: actions/upload-release-asset
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-09 10:26:47 -04:00
Kurt McKee
54547632e5
Add a Dependabot config to keep GitHub action versions updated ( #469 )
2023-09-08 13:17:12 -04:00
A. R. Shajii
4700251416
Bump version
2023-08-12 10:40:52 -04:00
Ibrahim Numanagić
750bb28c9c
Bugfixes 2023-08 ( #440 )
...
* Fix type argument overload issue; Fix Cython version for CI
* Add __contains__ for kwargs
* Add get() for kwargs
* Add static <<, >> and unary ~
* Fix CI
* Fix OpenMP "ordered" clause
* Fix static ~
* Fix Cython 3 issues
* Fix Python MANIFEST.in
---------
Co-authored-by: A. R. Shajii <ars@ars.me>
2023-08-12 10:39:45 -04:00
A. R. Shajii
7198a0971a
Fix complex __bool__()
2023-07-31 13:02:29 -04:00
A. R. Shajii
89298918cb
Add float32 constructor to complex64
2023-07-24 11:30:46 -04:00
A. R. Shajii
d12800c855
Fix zero-capacity lists ( #420 )
2023-07-12 10:19:24 -04:00
A. R. Shajii
0226a73370
Fix str.zfill() for empty string
2023-07-05 07:47:16 -04:00
A. R. Shajii
c96b292a82
Fix str.zfill() on empty string
2023-07-04 23:52:10 -04:00
A. R. Shajii
6bb26e0187
Misc fixes ( #410 )
...
* Fix corner case when typechecking scoped names with static compilation
* Undo log
* Fix nested loop domination; Minor aestethic fixes
* clang-format
* Add slice indices() method
* Fix overloads with static arguments
* Update itertools combinatorics functions
* Fix import domination issue (missing stack insert)
* Fix itertools
* Remove log
* Bump version
---------
Co-authored-by: Ibrahim Numanagić <ibrahimpasa@gmail.com>
2023-07-02 18:50:43 -04:00
Ibrahim Numanagić
e95f778df1
@codon.jit fixes ( #401 )
...
* Fix #223
* Fix #188
* Fix #188
* Fix stray import
* Save pyvars
---------
Co-authored-by: A. R. Shajii <ars@ars.me>
2023-06-09 15:38:49 -04:00
A. R. Shajii
d1a8d1a79b
Fix GCD; add LCM ( #396 )
2023-06-02 22:55:47 -04:00
A. R. Shajii
1fcd2f296b
Add nextafter to C stubs
2023-06-01 11:08:46 -04:00
A. R. Shajii
a59d3139d4
Add cbrt to C stubs
2023-05-31 11:23:40 -04:00
A. R. Shajii
2b2f6498b2
Fix corner case when typechecking scoped names with static compilation ( #392 )
...
* Fix corner case when typechecking scoped names with static compilation
* Undo log
---------
Co-authored-by: Ibrahim Numanagić <ibrahimpasa@gmail.com>
2023-05-26 17:00:37 -04:00
A. R. Shajii
38e08b409a
Doc updates ( #385 )
...
* Documentation updates
* Documentation updates
* Update README.md
* Fix tuple indexing error messages
* Update roadmap, differences
* Update README, FAQ
* Trim newline
* Update README.md
* Update README.md
* Update README.md
* Update roadmap.md
* Update cpp.md
* Update README.md
* Update roadmap.md
* Update README.md
* Fix test
* clang-format
* Fix exporting function named "main"
* Update export test
* Fix paths
* Rename extra/python -> jit
* Update license change date
* Minor docs updates
* Re-add __init__.py
* Update header
* Update gitignore
* Update README.md
---------
Co-authored-by: Ibrahim Numanagić <ibrahimpasa@gmail.com>
Co-authored-by: Ibrahim Numanagić <inumanag@users.noreply.github.com>
2023-05-23 17:59:26 -04:00
A. R. Shajii
5085dae04d
Add math.prod()
2023-05-14 12:36:42 -04:00
A. R. Shajii
136a719558
Bump version
2023-05-10 09:30:09 -04:00
Ibrahim Numanagić
47a2745f06
Better Jupyter support & Polymorphism improvements ( #363 )
...
* Remove vtables from objects (use __id__ only); Add static itemgetter
* Migrate to XEUS 3
* Fix XEUS patches
* Fix docs [skip ci]
* Use tuples for RTTI classes
* clang-format
* Add polymorphic to IR RefType
* Pass isPolymorphic to IR
* Update codegen for new poly ref types
* New RTTI memory layout; Fix #346
* Ellipsis class; handle ellipses
* Move all generated magics to Codon (__magic__)
* Fix vars_types
* Update polymorphic setter
* Fix compiler warnings
* Fix pyext assert
* Update ellipsis
* Update pure/derives tags
* Update dataclass order magics
* Add pure/derives tags
* Fix partial printing
* Add extra tuple test
---------
Co-authored-by: A. R. Shajii <ars@ars.me>
2023-05-10 09:28:25 -04:00
Sean Farley
fb46137161
Fix GCMapAllocator not being used ( #369 )
...
* git: ignore clangd cache
* git: also ignore {build,install} dirs with dashes
* re2: fix GCMapAllocator definition
Previously, the GCMapAllocator specified the wrong template arguments
and, thus, would not actually be used. This can be verified by the fact
that `GCMapAllocator::deallocate` used an undefined symbol:
`seq_gc_free`.
C++20 makes this an error like so:
```
error: static assertion failed due to requirement 'is_same<GCMapAllocator<std::pair<seq_str_t, long long>, re2::RE2>, GCMapAllocator<std::pair<const std::pair<seq_str_t, long long>, re2::RE2>, re2::RE2>>::value': [allocator.requirements] states that rebinding an allocator to the same type should result in the original allocator
static_assert(is_same<allocator_type, __rebind_alloc<__alloc_traits, value_type> >::value,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 errors generated.
```
This patch fixes the undefined symbol of `seq_gc_free` with `seq_free`
along with fixing `<Key, Value>` -> `<std::pair<Key, Value>>`.
2023-05-05 08:36:43 -04:00