\n\nMaybe it's possible to make `ReactiveSequence` generic for both way like this.",[3236],{"name":3218,"color":3219},454,"[hmr] Advanced generic typing","2025-09-25T10:43:48Z","https://github.com/promplate/pyth-on-line/issues/454",0.8209809,{"description":3243,"labels":3244,"number":3246,"owner":3172,"repository":3173,"state":3174,"title":3247,"updated_at":3248,"url":3249,"score":3250},"For a standard reaction model:\n\n```\n########## ----> ########### ----> ##########\n# Signal # # Derived # # Effect #\n########## \u003C - - ########### \u003C - - ##########\n```\n\n\nA `Derived` referenced only by `Signal`s is unreachable and should be GC’d, yet we can’t make every `Signal → Derived` reference weak or the `Derived` may vanish too soon.\n\nSolution: give `Derived` an `unsubscribe` method that disposes it once no `BaseComputation` holds it.\n\n> Edit: or in a `BaseComputation.__del__`\n\nWe may also need to remind users not to treat `Derived` as a lazy `Effect`. But wait, then what can they use if they just need a lazy `Effect`? So we may implement a `weak=False` attribute in `Derived` and `AsyncDerived` to allow user control the lifespan of a `Derived` (just like we provide `force_flush=True` for `Batch`s).",[3245],{"name":3215,"color":3216},453,"[hmr] `WeakDerived` or something similar","2025-09-25T06:49:07Z","https://github.com/promplate/pyth-on-line/issues/453",0.82285315,{"description":3252,"labels":3253,"number":3255,"owner":3172,"repository":3173,"state":3174,"title":3256,"updated_at":3257,"url":3258,"score":3259},"This is a followup of #255.\n\nhttps://github.com/promplate/pyth-on-line/blob/c254aaabf4a0c96911a0a95394ffd1d387ba9359/tests/py/test_hmr.py#L177-L196\n\nPersonally I prefer the first solution. And we _may_ provide an option for user to opt-in the second solution.",[3254],{"name":3215,"color":3216},269,"[hmr] Cyclic Dependency Handling","2025-05-22T09:13:50Z","https://github.com/promplate/pyth-on-line/issues/269",0.8293199,["Reactive",3261],{},["Set"],["ShallowReactive",3264],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fMjNLlk8hSN2OMcAWre1eQ_bfWotPmnflA55_c16NesI":-1},"/promplate/pyth-on-line/412"]