Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Improved .__repr__() on all primitives #381

@goodboy

Description

@goodboy

I've been toying with this idea of a,

sclang: structurred-concurency (ascii-character) language

with the purpose of visually describing, via a succinct operator-symbol-set,
various SC-supervision adhering operations that might exist in a SC system.

The high level concept is the following "axioms":

  • a concurrent computing can be represented as 3 orthogonal "domains"

    • the execution domain with primitives like tasks, threads,
      processes, underpinned by CPU/GPUs..

    • the storage domain, with primitives like memory, disk-stores,
      dbs, program allocated data-structures, IPC channels/mediums,

    • a scope or context domain which combines the prior 2 in some
      way to enable a program to exist and operate with primitives
      like, cancel-scopes, nurseries, functions, namespaces..

The current and very naive WIP idea* is loosely marked up in a new
.devx.pformat.nest_from_op() helper-fn which I'd like to start using
throughout the core for various Actor.pformat()/.__repr__()
formatting which is often emitted to console via internal logging.


Detail the current ops-set with explanations?

Not sure if this something to get opinions on yet but it might be
worth scratching out in public to at least see if any lurkers think
the entire concept is a bit.. redic?

XD


TODO: some pretty-formatting to try throughout?

I figure (and since i've already started, lel) might as well try this
idea in various primitives and see how it goes, who does[n't] like
it.

Bp

  • make all the .__repr__()s for various runtime primitives look real nice (and correct)
    even when we use our little "sclang" (see the strange long
    comment i put in ._child.nest_from_op() XD) ascii-syntax for
    conveying various states!
    • Actor
      • the |_state: runtime-state field section needs work..
    • Channel
    • MsgTransport
    • IPCServer
      • needs a nest_from_op() to mk it pretty inside Actor.pformat()
    • IPCEndpoint
      • fix the indentation and field deats on
        IPCServer.pformat() (namely adopting the
        .devx.pformat.nest_from_op() and similar other primitives
        fmt/styling).

Metadata

Metadata

Assignees

No one assigned

    Labels

    devx-tooling"developer experience" improvements as provided `tractor.devx` for runtime dependents.discussionhelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions