Recent submissions

Comment · 4 years ago
What are the goals and positioning of pyston given these other efforts?
Comment · 4 years ago
If packages use generic indexing functions like eachindex, there would be no correctness issue with that specific example
Comment · 4 years ago
That's exactly where Dex might improve over Julia, with language level control over mutability and effect handlers and array access safety ... time will tell.

So packages just use those features

Maybe it will hit the right trade off, or maybe Julia will adopt similar language level tools, but adjusted for dynamic semantics. Is that even possible?

Comment · 4 years ago
Please see my comment here: https://news.ycombinator.com/item?id=31269739

Based on the above, I expect more than marginal improvements in these areas. Would you agree?

Comment · 4 years ago
There are several repeating (valid) critiques. There is also a sense that things won't get better. I don't think that's necessarily the case.

I can't give timelines, but I'll list the themes and point to the very active work going on in those areas:

1. Static analysis/ it's hard to write large codebases of correct Julia code.

That's being addressed on several fronts:

a. Work on both traits/interfaces and sound static typing is progressing in Jan Vitek's group at Northwestern

b. User extensible type lattice for correctness proof of programs. See here: https://news.ycombinator.com/item?id=26136212

c. Jet.jl already catches method errors at JIT time. It's under-used IMO.

2. Compilation time and package dev latency.

a. We're getting close to native code caching, and more: https://discourse.julialang.org/t/precompile-why/78770/8

As you'll also read, the difficulty is due to important tradeoffs Julia made with composability and aggressive specialization...but it's not fundamental and can be surmounted. Yes there's been some pain, but in the end hopefully we'll have something approximating the best of both worlds.

b. Runtime free static compilation: https://www.youtube.com/watch?v=YsNC4oO0rLA

c. Semantics for separate compilation: https://gist.github.com/JeffBezanson/dd86043ef867954bd7e2163...

Some combination of the above should also address deployment scenarios, whether that be CLI, mobile, browser or even embedded (Yes, with an (expanding) subset of code, StaticCompiler can produce binaries down to the 10s of Kbs with real working Julia programs that use non trivial abstractions like subtyping and higher order functions)

3. Zygote is rough

a. Enzyme will do (almost) whole language AD, including mutation.

b. Diffractor.jl

Comment · 4 years ago
Cool! Is this built on genie and stipple? Will they remind free and mit licensed?

How will integration with python work ?

Comment · 4 years ago
Can you please open up an issue on Jet.jl? Even if you can't provide a MWE, it would be helpful to share these experiences
Comment · 4 years ago
Cool! Looking forward to seeing some of the trait work
Comment · 4 years ago
Hi, cool paper! semi related questions:

What do you think of JET.jl?

Tension between Method ambiguities and desire for traits or multiple inheritance is something discussed in the community. Has your group given any thought to this?

Thanks !

Comment · 4 years ago
Yes, but that's only required for one of those packages.

One of Julia's benefits is that the compiler is hackable so high level abstractions can be experimented with in user space.

Comment · 4 years ago
There's work being done to solve this in Julia. See escapeanalysis.jl and the immutable array pr in base
Comment · 5 years ago
In Julia it's easy to run the entire thing on CUDA: https://github.com/fabricerosay/AlphaGPU

No C or any other language required because Julia has GPU codegen.

You can also keep MCTS on the CPU and be competitive with cpp despite the code being higher level, easier to read and more generic and composable. See: https://github.com/jonathan-laurent/AlphaZero.jl

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton