core.async

Update tools.analyzer.jvm dep

Details

  • Type: Enhancement Enhancement
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None
  • Patch:
    Code
  • Approval:
    Vetted

Activity

Hide
Nicola Mometto added a comment - - edited

This patch also adds a bunch of :op nodes that -item-to-ssa might hit but were not implemented, such as :set! and :host-interop
It also improves/simplifies the passes done by core.async by using info already collected by t.a.jvm passes

Show
Nicola Mometto added a comment - - edited This patch also adds a bunch of :op nodes that -item-to-ssa might hit but were not implemented, such as :set! and :host-interop It also improves/simplifies the passes done by core.async by using info already collected by t.a.jvm passes
Hide
Darrick Wiebe added a comment -

The old version of tools.analyzer.jvm seems to be causing a problem with the lein-figwheel plugin if I update it to the current version of core.async.

I've reported that at https://github.com/bhauman/lein-figwheel/issues/32 and am unsure if an update to this dependency would fix the issue, but thought I should point it out here.

Show
Darrick Wiebe added a comment - The old version of tools.analyzer.jvm seems to be causing a problem with the lein-figwheel plugin if I update it to the current version of core.async. I've reported that at https://github.com/bhauman/lein-figwheel/issues/32 and am unsure if an update to this dependency would fix the issue, but thought I should point it out here.
Hide
Nicola Mometto added a comment - - edited

No, this is not related to core.async.
tools.analyzer.jvm depends on core.cache and if a leiningen plugin pulls an older version of core.cache, than plugins that depend tools.analyzer.jvm will not work, assuming they are :eval-in-leiningen true

Show
Nicola Mometto added a comment - - edited No, this is not related to core.async. tools.analyzer.jvm depends on core.cache and if a leiningen plugin pulls an older version of core.cache, than plugins that depend tools.analyzer.jvm will not work, assuming they are :eval-in-leiningen true
Hide
Ambrose Bonnaire-Sergeant added a comment -

This issue is stopping core.typed from upgrading past tools.analyzer.jvm 0.3.0.

Show
Ambrose Bonnaire-Sergeant added a comment - This issue is stopping core.typed from upgrading past tools.analyzer.jvm 0.3.0.
Hide
Andy Fingerhut added a comment -

Ambrose, this comment is directed to you, with no intended bearing on this ticket ASYNC-86.

Just an FYI regarding core.typed that I have found it not exactly fun, but it has eliminated some problems by having Eastwood copy the source code of tools.analyzer(.jvm) and its dependencies, with renamed namespaces, into its own source tree. This enables Eastwood to analyze+eval source code of any version of those libraries without causing conflicts. I have a pre-alpha version of a tool to assist in automating parts of this copy&rename called Dolly [1]. If Dolly was polished some more, it might become useful to you for this purpose in core.typed.

Benedek Fazekas has created a tools called MrAnderson [2] for the same purpose (independently developed from Dolly). I haven't looked into the details of how it works yet, but it may do a better job than Dolly 0.1.0.

[1] https://github.com/jafingerhut/dolly for the library, https://github.com/jonase/eastwood/blob/master/copy-deps-scripts/README.md#using-dolly-to-copy-dependencies-into-eastwood-source-code for copy-and-paste-into-a-REPL forms that I use to copy in updated versions of Eastwood dependencies into its source tree. The polishing I mention above would cut that down significantly.

[2] https://github.com/benedekfazekas/mranderson I learned about this lib from a Github issue on Eastwood, where there is a little bit of discussion: https://github.com/jonase/eastwood/issues/87

Show
Andy Fingerhut added a comment - Ambrose, this comment is directed to you, with no intended bearing on this ticket ASYNC-86. Just an FYI regarding core.typed that I have found it not exactly fun, but it has eliminated some problems by having Eastwood copy the source code of tools.analyzer(.jvm) and its dependencies, with renamed namespaces, into its own source tree. This enables Eastwood to analyze+eval source code of any version of those libraries without causing conflicts. I have a pre-alpha version of a tool to assist in automating parts of this copy&rename called Dolly [1]. If Dolly was polished some more, it might become useful to you for this purpose in core.typed. Benedek Fazekas has created a tools called MrAnderson [2] for the same purpose (independently developed from Dolly). I haven't looked into the details of how it works yet, but it may do a better job than Dolly 0.1.0. [1] https://github.com/jafingerhut/dolly for the library, https://github.com/jonase/eastwood/blob/master/copy-deps-scripts/README.md#using-dolly-to-copy-dependencies-into-eastwood-source-code for copy-and-paste-into-a-REPL forms that I use to copy in updated versions of Eastwood dependencies into its source tree. The polishing I mention above would cut that down significantly. [2] https://github.com/benedekfazekas/mranderson I learned about this lib from a Github issue on Eastwood, where there is a little bit of discussion: https://github.com/jonase/eastwood/issues/87
Hide
Nicola Mometto added a comment -

Added patch to update to tools.analyzer.jvm 0.6.1.
This makes the core.async passes use the new tools.analyzer pass scheduler and the :passes-opts mechanism to configure the passes.

Show
Nicola Mometto added a comment - Added patch to update to tools.analyzer.jvm 0.6.1. This makes the core.async passes use the new tools.analyzer pass scheduler and the :passes-opts mechanism to configure the passes.
Hide
Timothy Baldridge added a comment -

Took a look at the latest patch, it applies cleanly and the tests all pass. Marking it as screened.

Show
Timothy Baldridge added a comment - Took a look at the latest patch, it applies cleanly and the tests all pass. Marking it as screened.
Hide
Nicola Mometto added a comment - - edited

Updated patch to use version 0.6.3 of t.a.jvm which has a faster scheduler and significant performance enhancements

Show
Nicola Mometto added a comment - - edited Updated patch to use version 0.6.3 of t.a.jvm which has a faster scheduler and significant performance enhancements
Hide
Alex Miller added a comment -

Tim, can you re-screen latest?

Show
Alex Miller added a comment - Tim, can you re-screen latest?

People

Vote (1)
Watch (3)

Dates

  • Created:
    Updated: