stateless icon indicating copy to clipboard operation
stateless copied to clipboard

Statically typed, purely functional effects for Python.

Results 6 stateless issues
Sort by recently updated
recently updated
newest added

Currently abilities must be subtypes of `typing.Hashable`. This is solely due to the fact that looking up abilities is cached using `functools.cache`. This requirement can be relaxed to allow unhashable...

enhancement

Consider this: ```python from stateless import Runtime r: Runtime[str | bytes] = Runtime().use('hello!') ``` According to mypy this is OK, since the right hand side value is inferred to be...

static types

Reproduce by: ```python from typing import NoReturn as Never from stateless import Effect, Runtime, parallel, success from stateless.parallel import Parallel, thread def f() -> Effect[Never, ValueError, str]: return success("done") task...

static types

This allows stateless to be imported in the browser: https://jupyterlite.readthedocs.io/en/stable/_static/lab/index.html ``` # within pyodide (browser WASM python) import micropip await micropip.install('stateless') import stateless print(dir(stateless)) ```

Hi there, Thank you so much for this gem. I have been using Effect.ts in Typescript, and I think what you did here is very close to Effect.ts. There is...