-
Notifications
You must be signed in to change notification settings - Fork 10
Completely Refactor #179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Completely Refactor #179
Changes from all commits
Commits
Show all changes
102 commits
Select commit
Hold shift + click to select a range
55dcca5
Rework test cases a bit
willtebbutt 8f9c3ce
Add formatter config
willtebbutt 9f0ad12
Update gitignore to remove redundant items
willtebbutt ffd86e2
Bump minor version because small breaking change
willtebbutt 2d06346
Tell users that various old types have been actually removed
willtebbutt 0c545bb
Formatting of perf
willtebbutt dc5ab50
Remove old code
willtebbutt 5228dc2
Rework includes in package and runtests
willtebbutt fc01732
More formatting
willtebbutt 5ddfb60
Add in copyable_task files
willtebbutt 159fe13
Clean up runtests
willtebbutt 61594e4
Update project deps etc
willtebbutt ae6d000
Drop 1.7 from CI
willtebbutt dc4a0be
Initial transfer of code
willtebbutt 7e9ba1e
Fix bug for function with no produce statements
willtebbutt 8e6f1b6
Test for construction of new mutable struct
willtebbutt 71e6444
Fix more test cases
willtebbutt 4d18d47
Add another test case
willtebbutt f1b247d
More test cases
willtebbutt 85ec6a2
More work
willtebbutt 04544ca
Formatting
willtebbutt ecbf41c
Remove unhelpful docstring
willtebbutt 22f6f67
Relax Test compat a bit
willtebbutt 04e4dcd
Lower minor version to make integration tests run
willtebbutt b25d2f4
Handle code_coverage_effect
willtebbutt 94aed2f
Some tweaks + docs
willtebbutt 1579bff
Fix copying
willtebbutt 5114d64
Formatting
willtebbutt b803f58
Enable more tests
willtebbutt 6aeaac3
Implement dynamic scope
willtebbutt b546f21
Test dynamic scope correctness
willtebbutt 8f4e4b5
README and NEWS overhaul
willtebbutt 4d0b423
Export get_dynamic_scope and set_dynamic_scope
willtebbutt bde142f
Placeholder docstring for produce
willtebbutt 4e58e11
Initial docs
willtebbutt 21816ee
Ignore build folder of docs
willtebbutt 3205273
Update cache action
willtebbutt 06c168f
Formatting
willtebbutt 258a4cd
Ignore all top-level manifest files
willtebbutt a3c2162
Add dependency on ScopedValues
willtebbutt 4bb0dfa
Fix on LTS
willtebbutt a63660e
Do not check for stale deps on 1.11
willtebbutt 4e1e5df
Some docs
willtebbutt 54c745c
Docs action
willtebbutt 0102653
Tidy up docs
willtebbutt e751db3
Tidy up docs slightly
willtebbutt 6a221c2
Refactor + basic nested produce handling
willtebbutt f94ea17
Fomatting
willtebbutt 57b808c
Dynamic nested calls and uses of return values of calls which might p…
willtebbutt bf1893c
Fix docs build
willtebbutt 2c82159
Update CI
willtebbutt b393c54
Handle callable structs
willtebbutt 906cb66
Fix docs and add doctest
willtebbutt 4f80127
Test kwargs
willtebbutt 065fb19
More tests
willtebbutt 1ba2dfe
Fix inference bug
willtebbutt 999f5bc
Improve documentation
willtebbutt ec9edb7
Performance enhancements
willtebbutt 5135c4a
Caching and tweaks
willtebbutt b42227e
Fix docs build
willtebbutt aa86594
Docs and tidy up
willtebbutt 5b07ec1
Include specifics from Mooncake
willtebbutt bc480c2
Tidy up further
willtebbutt 35e9b7a
Tidy up further
willtebbutt 42096b3
Merge branch 'main' into wct/refactor
willtebbutt c54dc5c
Remove undefined export
willtebbutt b2e65b8
Bump patch version
willtebbutt 01a0b34
Test produce global performance
willtebbutt ebe8f91
Remove more references to dynamic scope
willtebbutt 2907f03
Document type assertion
willtebbutt 1198038
Fix benchmarks (#180)
yebai c4237db
Apply suggestions from code review
willtebbutt 08cd796
Fix loopinfo expression
willtebbutt 052ec0a
Remove redundant extended help section
willtebbutt 4f48fcb
Note why __v exists
willtebbutt 2086748
Sort out consume
willtebbutt 89b0e90
Explain produce function
willtebbutt ec1d89d
Document callable_ret_type
willtebbutt 8e7f784
Update benchmark.jl
yebai 0962608
Docstring for build_callable
willtebbutt 1c8f77d
Tweaks to build_callable and docs
willtebbutt 6a37027
Merge branch 'wct/refactor' of https://github.com/TuringLang/Libtask.…
willtebbutt b6418db
Document aliasing
willtebbutt d3b5639
Document bbcode usage
willtebbutt 172e463
More docs
willtebbutt adff799
Formatting and remove unnecessary import
willtebbutt b081a3f
Remove redundant comment
willtebbutt 1ff18bc
Fix test wording
willtebbutt 8226f2f
Remove redundant test cases
willtebbutt da3a333
Fix typo
willtebbutt 805cb52
Formatting
willtebbutt 21051e0
Docstring
willtebbutt 53304ee
Fix docs bulid
willtebbutt c28c46e
Docstring for fresh_copy
willtebbutt 4472ede
More docs
willtebbutt 3180c15
Expand on refs and misty closure usage
willtebbutt d29a722
Explain gotoifnot a bit more carefully
willtebbutt 31e1bd5
Link to GotoIfNot in Julia docs
willtebbutt 0ef069d
Update Documentation.yml (#181)
yebai 001737e
Apply suggestions from code review
willtebbutt 6e5d6b4
Update src/copyable_task.jl
willtebbutt dec3f43
Update src/copyable_task.jl
willtebbutt File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
style = "blue" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
name: Documentation | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
tags: '*' | ||
pull_request: | ||
|
||
permissions: | ||
contents: write | ||
pull-requests: write | ||
|
||
jobs: | ||
docs: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Build and deploy Documenter.jl docs | ||
uses: TuringLang/actions/DocsDocumenter@main |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,60 +1,4 @@ | ||
# Prerequisites | ||
*.d | ||
|
||
# Object files | ||
*.o | ||
*.ko | ||
*.obj | ||
*.elf | ||
|
||
# Linker output | ||
*.ilk | ||
*.map | ||
*.exp | ||
|
||
# Precompiled Headers | ||
*.gch | ||
*.pch | ||
|
||
# Libraries | ||
*.lib | ||
*.a | ||
*.la | ||
*.lo | ||
|
||
# Shared objects (inc. Windows DLLs) | ||
*.dll | ||
*.so | ||
*.so.* | ||
*.dylib | ||
|
||
# Executables | ||
*.exe | ||
*.out | ||
*.app | ||
*.i*86 | ||
*.x86_64 | ||
*.hex | ||
|
||
# Debug files | ||
*.dSYM/ | ||
*.su | ||
*.idb | ||
*.pdb | ||
|
||
# Kernel Module Compile Results | ||
*.mod* | ||
*.cmd | ||
.tmp_versions/ | ||
modules.order | ||
Module.symvers | ||
Mkfile.old | ||
dkms.conf | ||
|
||
# Projects files | ||
Manifest.toml | ||
deps/build.log | ||
deps/deps.jl | ||
deps/usr/ | ||
deps/tmp-build.jl | ||
Manifest* | ||
*.cov | ||
docs/build |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
- From v0.6.0, Libtask is implemented by recording all the computing | ||
to a tape and copying that tape. Before that version, it is based on | ||
a tricky hack on the Julia internals. You can check the commit | ||
history of this repo to see the details. | ||
|
||
- From version 0.9.0, the old `TArray` and `TRef` types are completely removed, where | ||
previously they were only deprecated. Additionally, the internals have been completely | ||
overhauled, and the public interface more precisely defined. See the docs for more info. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[deps] | ||
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" | ||
Libtask = "6f1fad26-d15e-5dc8-ae53-837a1d7b8c9f" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
using Documenter, Libtask | ||
|
||
DocMeta.setdocmeta!(Libtask, :DocTestSetup, :(using Libtask); recursive=true) | ||
|
||
makedocs(; | ||
sitename="Libtask", doctest=true, pages=["index.md", "internals.md"], modules=[Libtask] | ||
) | ||
|
||
deploydocs(; repo="github.com/TuringLang/Libtask.jl.git", push_preview=true) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# Libtask | ||
|
||
Libtask is best explained by the docstring for [`TapedTask`](@ref): | ||
```@docs; canonical=true | ||
Libtask.TapedTask | ||
``` | ||
|
||
The functions discussed in the above docstring (in addition to [`TapedTask`](@ref) itself) form the | ||
public interface of Libtask.jl. | ||
They divide neatly into two kinds of functions: those which are used to manipulate | ||
[`TapedTask`](@ref)s, and those which are intended to be used _inside_ a | ||
[`TapedTask`](@ref). | ||
First, manipulation of [`TapedTask`](@ref)s: | ||
```@docs; canonical=true | ||
Libtask.consume | ||
Base.copy(::Libtask.TapedTask) | ||
Libtask.set_taped_globals! | ||
``` | ||
|
||
Functions for use inside a [`TapedTask`](@ref)s are: | ||
```@docs; canonical=true | ||
Libtask.produce | ||
Libtask.get_taped_globals | ||
``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Internals | ||
|
||
```@docs; canonical=true | ||
Libtask.produce_value | ||
Libtask.is_produce_stmt | ||
Libtask.might_produce | ||
Libtask.stmt_might_produce | ||
Libtask.inc_args | ||
Libtask.get_type | ||
Libtask._typeof | ||
Libtask.replace_captures | ||
Libtask.BasicBlockCode | ||
Libtask.opaque_closure | ||
Libtask.misty_closure | ||
Libtask.optimise_ir! | ||
Libtask.build_callable | ||
Libtask.LazyCallable | ||
Libtask.DynamicCallable | ||
Libtask.callable_ret_type | ||
Libtask.fresh_copy | ||
``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.