• Joined on 2021-03-29
ychenfo commented on pull request M-Labs/nac3#140 2022-01-04 14:32:53 +08:00
List Slice Support (#72)

They probably all produce the same bitcode in the part that we care about, so this is getting too complicated. IMO the wasm32 output should be generic enough for our purposes. Can inkwell load it…

ychenfo pushed to list_slice at M-Labs/nac3 2022-01-04 03:50:38 +08:00
5e545c229b nac3core: optimized slice assignment support with fast paths
ychenfo commented on pull request M-Labs/nac3#140 2022-01-04 03:48:15 +08:00
List Slice Support (#72)

I will look into how to delete all these function attributes in inkwell.

That doesn't sound very nice... Are you sure there isn't a way to make Clang output generic LLVM bitcode?

ychenfo pushed to list_slice at M-Labs/nac3 2022-01-04 03:45:38 +08:00
a323a8475b nac3core: optimized slice assignment support with fast paths
ychenfo pushed to list_slice at M-Labs/nac3 2022-01-04 01:57:51 +08:00
d494b6a3cc nac3core: optimized slice assignment support with fast paths
ychenfo commented on pull request M-Labs/nac3#140 2022-01-03 12:06:37 +08:00
List Slice Support (#72)

and what package management mess will there be if using parse from path?

If nac3artiq.so depends on some external files:

  1. they need to be copied along with it in an appropriate…
ychenfo commented on pull request M-Labs/nac3#140 2022-01-03 11:57:47 +08:00
List Slice Support (#72)

This will break with packaging and create a mess that nobody wants to solve. I had told you several times to use include_bytes! and Module.parse_bitcode_from_buffer.

Oh ok I will use…

ychenfo commented on pull request M-Labs/nac3#140 2022-01-03 07:57:11 +08:00
List Slice Support (#72)

I end up still using c to implement the slice assignment function. Because if I did not miss something, we need VLA or explicit stack alloca for list assignment, and in rust, these two features are…

ychenfo pushed to list_slice at M-Labs/nac3 2022-01-03 07:37:27 +08:00
e00ddfbc68 nac3core: optimize for slice assignment fast path
f888289118 nac3core: implement optimized slice assignment in c
1d98117b31 nac3standalone: add tests for slice/range/len
df5eee9ae3 nac3core: make list slice index inclusive internally to handle cases when end index is None
1454acd8a7 nac3core: list slice use new list representation
Compare 8 commits »
ychenfo pushed to list_slice at M-Labs/nac3 2021-12-30 05:19:03 +08:00
ec43d7df7e nac3standalone: add tests for slice/range/len
61d89cd16c nac3core: make list slice index inclusive internally to handle cases when end index is None
33a09d1e45 nac3core: list slice use new list representation
925015ba51 nac3core: getting/writing list slice using internal function
00771ccaaf nac3core: get list slice
Compare 6 commits »
ychenfo created pull request M-Labs/nac3#158 2021-12-30 05:18:42 +08:00
nac3core: codegen fix empty list llvm type
ychenfo pushed to empty_list_llvm_type at M-Labs/nac3 2021-12-30 05:10:06 +08:00
7193e3f328 nac3core: codegen fix empty list llvm type
ychenfo created branch empty_list_llvm_type in M-Labs/nac3 2021-12-30 05:10:06 +08:00
ychenfo pushed to list_slice at M-Labs/nac3 2021-12-29 19:07:55 +08:00
e10ed55914 nac3core: make list slice index inclusive internally to handle cases when end index is None
ychenfo commented on pull request M-Labs/nac3#140 2021-12-29 05:59:58 +08:00
List Slice Support (#72)

We may need to document that we do not support a[:None:-1] (maybe we can after implementing the Option type?), which is equivalent to a[::-1], which is NOT equivalent to a[:0:-1] since the…

ychenfo pushed to list_slice at M-Labs/nac3 2021-12-29 05:56:26 +08:00
1f71eacbd4 nac3core: list slice use new list representation
1a6a442a13 nac3core: getting/writing list slice using internal function
d228a8b33f nac3core: get list slice
a0bf6da6c2 update dependencies
9cc9a0284a nac3standalone: style
Compare 26 commits »
ychenfo pushed to ast_filename_location at M-Labs/nac3 2021-12-28 01:40:52 +08:00
9b3b47ce50 fix broken tests
88f0da7bdd add file name to AST node location
521f136f2e redo "nac3artiq: fixed compilation error"
fa04768a77 redo "nac3core: fix #84"
Compare 5 commits »
ychenfo created pull request M-Labs/nac3#156 2021-12-27 23:24:54 +08:00
improve some type annotation error messages (#87)
ychenfo created branch fix_87 in M-Labs/nac3 2021-12-27 23:23:40 +08:00
ychenfo pushed to fix_87 at M-Labs/nac3 2021-12-27 23:23:40 +08:00
cf490dd1c6 nac3core: improve some type annotation error messages (#87)