Skip to content

Should we even have profiles #2

Open

Description

@fgmccabe

Allowing different flavors of what engines can support risks long term fracturing of the wasm ecosystem.

In addition, from the pov of an engine provider, they will be under long term pressure to keep up to date with the whole of the specification. That is in their interest because it enhances the probability that their engine will be useful.

From the pov of a wasm module developer, they will be motivated to go for the greatest common denominator: i.e., they will generate code that runs on as many engines as possible.

However, there is a similar but different issue that we should address - the consequences of having Wasm be a 'living document'. That implies that any given engine will likely be behind the current standard to varying extents.

Activity

  1. rossberg commented on Oct 27, 2021

    @rossberg
    Member

    I believe this very question is already addressed in the overview. That different ecosystems will have different constraints and some simply won't be able to support everything is a fact of life. For example, it is a safe bet that block chains will never allow non-determinism, or that certain embedded systems will never support GC.

    In reaction to this, the purpose of this proposal is not to increase fragmentation, but the opposite: to reduce it! Namely, by at least specifying a few well-defined subsets that different such ecosystems can agree upon to the largest degree possible – as opposed to everybody inventing their own, slightly different custom subsemantics.

    I agree that language evolution is a different problem, and it's explicitly called out as a non-goal for this proposal.

  2. titzer commented on Nov 1, 2021

    @titzer
    Contributor
  3. rossberg commented on Nov 17, 2022

    @rossberg
    Member

    #3 has more discussion of this question.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions