IncPy

IncPy: An auto-memoizing Python interpreter that enables incremental recomputation (by pajju)

IncPy Alternatives

Similar projects and alternatives to IncPy

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better IncPy alternative or higher similarity.

IncPy reviews and mentions

Posts with mentions or reviews of IncPy. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-15.
  • Why do people still use VBA?
    7 projects | news.ycombinator.com | 15 Nov 2023
    In the notebook context the main gripe is that notebooks have the "invisible" memory state that means that one can't deduce from the notebook code what it actually does. Or more concretely the order of execution of the cells affects what the notebook does. This leads to sort of higher level side-effects. With usual side effects you get spaghetti, with notebooks you get moving spaghetti in five dimensional space.

    Immutability and idempotencency are good, and related, ideals too, although I think these can get too "unergonomic" if taken too dogmatically (like in Haskell or Redux), they should be used with almost goto-level discretion.

    Of course there's the clear (short term) usability benefit of maintaining the memory state in that stuff doesn't have to be recomputed. But we can have that benefit and be stateless with pure functions and memoization. I quite often whip up a buggy and brittle ad-hoc solution to do so. There was also the IncPy project [1] that did this more rigorously, but it hasn't been updated in 13 years.

    In general I'm a bit baffled why pure function memoization is so rarely used or proposed. Despite the old adage, cache invalidation is not actually half of the three hard problems in CS. With pure functions it's trivial.

    [1] https://github.com/pajju/IncPy

Stats

Basic IncPy repo stats
1
12
10.0
over 13 years ago

pajju/IncPy is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

The primary programming language of IncPy is Python.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com