Skip to content

Conversation

@hvitved
Copy link
Contributor

@hvitved hvitved commented Oct 16, 2020

@github-actions github-actions bot added the C# label Oct 16, 2020
@RasmusWL
Copy link
Member

Very cool stuff 💪 I think it could be very interesting to adopt this for Python in the future 👍

From the Python side of things, we have the same problems that Max outlined for JS: we don't have a database entity representing the callable for external library functions (currently installation of external dependencies can fail, and moving forwards we're trying to avoid installing dependencies altogether). I'm not entirely sure what we would end up using for the language specific SummarizableCallable, will it be a problem if what we use is not a subclass of DataFlowCallable, but for example string?

@aschackmull also mentioned something about moving the compilation of delegates to the body of the callable instead of the call-site. I didn't fully understand this part, but wanted to hear if this is part of the C# specific implementation? -- I'm slightly worried about not having a real callable, but if it's intended to be kept as something C# specific in the long run, I guess there is no problem.

@hvitved
Copy link
Contributor Author

hvitved commented Oct 27, 2020

From the Python side of things, we have the same problems that Max outlined for JS: we don't have a database entity representing the callable for external library functions (currently installation of external dependencies can fail, and moving forwards we're trying to avoid installing dependencies altogether). I'm not entirely sure what we would end up using for the language specific SummarizableCallable, will it be a problem if what we use is not a subclass of DataFlowCallable, but for example string?

You can choose whatever base class you prefer.

@aschackmull also mentioned something about moving the compilation of delegates to the body of the callable instead of the call-site. I didn't fully understand this part, but wanted to hear if this is part of the C# specific implementation? -- I'm slightly worried about not having a real callable, but if it's intended to be kept as something C# specific in the long run, I guess there is no problem.

For C# the calls have been moved inside the summarized callable. Even if you don't have an entity to represent a summarized callable, you can still synthesize one and add it as a branch of an IPA type that defines DataFlowCallable.

@hvitved hvitved dismissed a stale review via 1bc23a0 October 27, 2020 10:32
@hvitved hvitved force-pushed the csharp/dataflow/summaries branch 4 times, most recently from f86a02f to 3ef5f77 Compare October 28, 2020 08:38
@hvitved hvitved marked this pull request as ready for review October 29, 2020 07:38
@hvitved hvitved requested a review from a team as a code owner October 29, 2020 07:38
@hvitved hvitved marked this pull request as draft November 3, 2020 12:36
@hvitved hvitved force-pushed the csharp/dataflow/summaries branch from 3ef5f77 to f4d1d73 Compare November 3, 2020 13:01
@hvitved hvitved force-pushed the csharp/dataflow/summaries branch from 8589e29 to c5abf29 Compare November 3, 2020 19:28
@hvitved hvitved marked this pull request as ready for review November 4, 2020 07:42
@hvitved
Copy link
Contributor Author

hvitved commented Nov 4, 2020

I adjusted the compilation to include more sharing. Ready for review again.

@hvitved hvitved merged commit b5063bb into github:main Nov 4, 2020
@hvitved hvitved deleted the csharp/dataflow/summaries branch November 4, 2020 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants