HNHacker News
TopNewBestAskShowJobs

byt143

220 karma · joined December 6, 2017

submissionscomments
byt143··on IBM Stops Server Side Swift Framework Development
Specifically what?
byt143··on Microsoft is creating a new Rust-based programming language for secure coding
This sounds amazing and exactly what people have been clamoring for. Extremely excited.

I think it will also rocket up Julia's popularity and usage not just for ML but as a general purpose language

byt143··on Differentiable Programming Manifesto
Julia,'s source to source autodiff is implemented as a custom compiler pass in a third party package. Similar approached are bring taken by prob programming packages.
byt143··on Differentiable Programming Mega-Proposal
Yes it does. See genie.jl for a full mvc framework. Also there's mux.jl and http.jl.
byt143··on Differentiable Programming Mega-Proposal
It's already bring done in Julia. See zygote.jl.

Works with typed IR equivalent to a core compiler pass but from a third party package with regular Julia staged programming.

byt143··on Julia v1.2
It's on Jeff's radar: https://www.youtube.com/watch?v=TPuJsgyu87U
byt143··on Composable multi-threaded parallelism in Julia
http://genieframework.com/
byt143··on Gen: General-purpose probabilistic programming model with programmable inference
This really showcases Julia's power. This is a DSL built on top of Julia, written in pure Julia. So, a Julia package ;) https://github.com/probcomp/Gen
byt143··on Matlab vs. Julia vs. Python
What do you see as Julia's most egregious problems, internal or otherwise? and internal in particular?
byt143··on A general-purpose probabilistic programming system with programmable inference
This goes way way beyond graphical models.
byt143··on A general-purpose probabilistic programming system with programmable inference
>The syntax doesn't seem to be changed compared to Julia (so is it actually a new language or just a library?

And the semantics are the same with some additions. This is a good thing as it allow interop with Julia code, low mental overhead and shows the power of Julia :)

byt143··on A Summer of Julia 2019
I had the same thoughts upon seeing the list.

Luckily package compilation seems is on the compiler dev roadmap.

Traits are more of a 2.0 thing I think.

byt143··on Swift for Tensorflow 0.3.1
So many patently false claims here.

First, julia has it's own IR (comparable to swift IR as mentioned by Chris), which is used to great effect in the autodiff packages to allow for compile time zero overhead gradients. The flexibility is actually the other way around, Julia's compiler allows these sort of compile time initiatives to be built in Julia rather than hacked into C++ like swift.

Regarding the duck typing vs type checking bit, that's a matter of tooling. It's much harder to replicate Julia's combination of speed and dynamism (for example to do flexible multistage programming) than to capitalize on Julia's the compile time information to build type checking (which are planned)

The compiler lag is going to be gone soon from two ends: more dynamic (interpreting code that doesn't need to be compiled, this is pretty much there already) and more static: Compiling and caching entire Julia programs. There are already fantastic improvements to this situation in 1.2

That leaves the error messages and stack traces, which ...well what's the last version you have tried? I find them to be ok, but they can and will be improved.

Regarding general purpose packages in Julia: check out http://genieframework.com/ as an example.

Julia's multimethods are awesome and a clear advantage over swift's methods. A protocol abstraction is similiar to julia's facility for traits, will at some point will be likely baked into the language (but even now allows for compile time resolution of methods just through multi dispatch abstraction , which again, is only one step away from building type check abstractions!).

If you want to know more about Julia's plans and philosophy in the regards, see: https://github.com/FluxML/Flux.jl/issues/614

byt143··on Haskell, Ada, C++: An Experiment in Prototyping Productivity (1994) [pdf]
Worse than python?
byt143··on Haskell, Ada, C++: An Experiment in Prototyping Productivity (1994) [pdf]
Yes.

see this as an example: http://genieframework.com/

byt143··on Julia on Google TPU: Shakespeare RNN
"these third party libraries are using, like reliance on iterator protocol, descriptor protocol, metaclasses, context managers, Python data model special methods, dynamic attribute lookups, etc.,"

Julia can Jit code that relies on vastly improved versions of all those features (minus some setatr etc).

Can you use them on a custom array type in any case let alone scipy? No. and that's the point. In julia, the optim package for example takes in abstract arrays with all those features. Mathematical assumptions are categorically different than unavailable or slow PL semantics.

Julia preserves full general programming language semantics including zero cost abstractions, higher order functions, closures, zero cost differentiation and extending custom types, while still being fast enough for numerical computing (minus exceptions).

It seems to be that Python is sticking with 1d figures and that's assuming your monkey patch idea works, also ignoring the ecosystem cost and the fact that monkeypatching in Julia is part of normal code design (through multimethods) whereas in python it's a code smell.

I think you are really grasping at straws here.

byt143··on Julia on Google TPU: Shakespeare RNN
"Here is an easy way to prove me wrong: Find the minimum of a pure python function quickly, with whatever python tool you want, without having to deal with the enormous python function call overhead, without rewriting the function. Imagine this function is deep down in another library and it uses a bunch of 3rd party libraries."

Have you tried that yet?

byt143··on Why Julia
Both cassette based performance linting and static type checking will solve this problem. There are already the beginnings of the tooling being formed.
byt143··on Deep learning may need a new programming language
It's possible to have both the dynamism and static type checking in Julia. Check out this issue: https://github.com/FluxML/Flux.jl/issues/614
byt143··on Deep learning may need a new programming language
Why is it a silly insistence? What about it is not fit for general programming? Please be specific.
byt143··on Why Swift for TensorFlow?
Re: Debugger, fair enough but it's in the works

Re: Scoping rules, these are being evaled.

Re; startup time, already better in 1.1, and will soon be marginalized from two ends: Better static compilation and better tiered compilation.

byt143··on Why Swift for TensorFlow?
Regarding 3, can you make an issue or discourse post for discussion?
byt143··on Why Swift for TensorFlow?
Julia compilation time is much improved in 1.1 and they are working on tiered compilation to make it better.
byt143··on Why Swift for TensorFlow?
Julia would have been a much better and more cost effective choice in my opinion.

It's a superior platform to on which develop this sort of thing, and further along at that. Also easier to use.

byt143··on Outperforming everything with anything: Python? Sure, why not?
https://docs.python.org/3/reference/datamodel.html

Then we have metaclasses, abstract base classes and protocols.

Also Super and self everywhere.

Even more complexity with typing, which is necessary if you want to approach similar type safety to julia ie to make the comparison more fair.

byt143··on Outperforming everything with anything: Python? Sure, why not?
I find the opposite to be true. End users don't need to worry about types, interfaces are generic and multiple dispatch and abstract typing obviates the need all kind of weird special methods and type system stuff
byt143··on Outperforming everything with anything: Python? Sure, why not?
Bigger?
byt143··on Outperforming everything with anything: Python? Sure, why not?
How are they at odds with each other? Julia is more expressive and faster than python. It supports all the same high level programming constructs, and better versions of the same (like it's lambdas, macros, multi dispatch).

The one issue is compilation time, which is much and improved and will be further obviated through more caching and planned multi level compilation.

byt143··on Practical Deep Learning for Coders 2019
Can we have one in Julia please?

https://julialang.org/blog/2019/01/fluxdiffeq

byt143··on GNU Octave: A high-level interactive language for numerical computations [pdf]
Have you tried under julia 1.1? Latency issues much better, and will only improve.
← PreviousPage 2 of 4Next →