PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • TailRec.jl

    A tail recursion optimization macro for julia.

    Here is one:

    https://github.com/TakekazuKATO/TailRec.jl

    It works by inspecting the code and rewriting a function to turn tail calls into loops.

    The interesting bit is that it was very easy to write because of the strong macros in Julia.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • julia

    The Julia Programming Language

    It's acknowledged. The full redefinition of any function in any context was solved by RuntimeGeneratedFunctions and we use it extensively throughout SciML, ModelingToolkit, Pumas, etc. so it's fair to say struct redefinitions are the only thing left. That said, "struct redefinitions" are done all of the time in many contexts: if you know you may need to do this, you can just use a named tuple which acts just like an anonymous type and obeys dispatch on a named form that you can then hijack at runtime. With smart engineering then you can be redefining everything on the fly, and we do this through MTK quite regularly. That said, it would be nice to do the last feat of full redefinition of non-anonymous structs, and the latest proposal for how to do struct redefinition is https://github.com/JuliaLang/julia/issues/40399. So we both built and provided solutions for how to do it, showed how to do it in libraries, tutorials, videos, etc. How is that not acknowledging the point of view and doing something about it?

    You might want to try and acknowledge the other point of view where I note that, hey, we did make this work but it was a smaller deal then we thought because we legally cannot employ it in many production contexts. We're still going to work out a few details for fun and ease of debugging, but given that we have extensively looked into and thought deeply about the whole issue, we have noticed that the last little bits are less useful than we had thought (at least in the contexts and applications I have been discussing, like clinical trial analysis). That doesn't mean we won't finish the last pieces, but given how much of it you can already do and how many teaching materials show how to do work around the issues in any real-world context, and how little of a real-world application the last few bits have, it shouldn't be surprising that the last pieces haven't been a huge priority. So instead of looking narrowly at one factor, I encourage you to take a more global view.

  • Coconut

    Simple, elegant, Pythonic functional programming.

  • jax

    Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more

  • functorch

    functorch is JAX-like composable function transforms for PyTorch.

  • geni-performance-benchmark

    Clojure has a high performance data frame library that leverages new JVM vector API and high quality apache arrow protocol.

    Talk related - https://youtu.be/5mUGu4RlwKE

    https://github.com/zero-one-group/geni-performance-benchmark

  • StarWarsArrays.jl

    Arrays indexed as the order of Star Wars movies

    This is a total non issue as indexing is an operation that is subject to multiple dispatch. For a humorous example see https://github.com/giordano/StarWarsArrays.jl

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • OffsetArrays.jl

    Fortran-like arrays with arbitrary, zero or negative starting indices.

  • py2many

    Transpiler of Python to many other languages

  • BinaryBuilder.jl

    Binary Dependency Builder for Julia

    > The main pain point is probably the lack of standard, multi-environment packaging solutions for natively compiled code.

    Are you talking about something like BinaryBuilder.jl[1], which provides native binaries as julia-callable wrappers?

    --

    [1] https://binarybuilder.org

  • HTTP.jl

    HTTP for Julia

  • Cython

    The most widely used Python to C compiler

  • wenyan

    文言文編程語言 A programming language for the ancient Chinese.

    well, you can always program in wenyan: https://github.com/wenyan-lang/wenyan

    But seriously, it's 2021. We are no longer slave to ASCII, or even English.

    Most of the newer math oriented langs have heavy use of unicode (julia, agda, lean, etc).

  • hebigo

    蛇語(HEH-bee-go): An indentation-based skin for Hissp.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Potential of the Julia programming language for high energy physics computing

    10 projects | news.ycombinator.com | 4 Dec 2023
  • Julia 1.9 Highlights

    9 projects | news.ycombinator.com | 10 May 2023
  • Making Python 100x faster with less than 100 lines of Rust

    21 projects | news.ycombinator.com | 29 Mar 2023
  • Which other programming language best complements Python - Rust, Go, or something else?

    3 projects | /r/Python | 4 Aug 2022
  • The temptation of writing shell scripts, illustrated

    8 projects | news.ycombinator.com | 24 Apr 2022