From 9d9381745b8fe6b797b241d6298e73165cd88e1b Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Thu, 28 May 2015 11:06:57 -0700 Subject: Give a brief explanation of why nasal demons are undesirable. --- IncompletelySpecifiedBehavior.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IncompletelySpecifiedBehavior.md b/IncompletelySpecifiedBehavior.md index f577772..00ad302 100644 --- a/IncompletelySpecifiedBehavior.md +++ b/IncompletelySpecifiedBehavior.md @@ -4,7 +4,7 @@ WebAssembly is a sandboxed platform. Programs can't access data outside the sand Beyond that, it is desirable to minimize observable differences between implementations when practical, so that programs don't inadvertently become dependent on any particular implementation's behavior. However, in some areas, performance concerns make this prohibitively expensive, so some compromises are made. -Also, there is a general preference against [nasal demons](https://en.wikipedia.org/w/index.php?title=Nasal_demons). WebAssembly generally prefers to [trap](AstSemantics.md) in many situations. Otherwise, it is generally preferred to have a specific set of possible behaviors rather than unconstrained behavior. And presently, WebAssembly has no nasal demons. +Also, there is a general preference against [nasal demons](https://en.wikipedia.org/w/index.php?title=Nasal_demons), since they are an extreme on the spectrum of observable differences, and since they make it difficult to reason about what state an application might be in. WebAssembly usually prefers to [trap](AstSemantics.md). Otherwise, it is generally preferred to have a specific set of possible behaviors rather than nasal demons. And presently, WebAssembly has no nasal demons. The following is a list of the places where the WebAssembly specification currently admits or is expected to admit multiple possible behaviors. -- cgit v1.2.3 From cd8aae95e274a823602c10e3bcba18ef7b58db0a Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Mon, 1 Jun 2015 20:13:03 -0800 Subject: Say "applications" instead of "programs". --- IncompletelySpecifiedBehavior.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/IncompletelySpecifiedBehavior.md b/IncompletelySpecifiedBehavior.md index 00ad302..8f825a7 100644 --- a/IncompletelySpecifiedBehavior.md +++ b/IncompletelySpecifiedBehavior.md @@ -1,8 +1,8 @@ # Incompletely Specified Behavior -WebAssembly is a sandboxed platform. Programs can't access data outside the sandbox without going through appropriate APIs, or otherwise escape the sandbox, even if the behavior inside the sandbox should ever be unspecified in any way. +WebAssembly is a sandboxed platform. Applications can't access data outside the sandbox without going through appropriate APIs, or otherwise escape the sandbox, even if the behavior inside the sandbox should ever be unspecified in any way. -Beyond that, it is desirable to minimize observable differences between implementations when practical, so that programs don't inadvertently become dependent on any particular implementation's behavior. However, in some areas, performance concerns make this prohibitively expensive, so some compromises are made. +Beyond that, it is desirable to minimize observable differences between implementations when practical, so that applications don't inadvertently become dependent on any particular implementation's behavior. However, in some areas, performance concerns make this prohibitively expensive, so some compromises are made. Also, there is a general preference against [nasal demons](https://en.wikipedia.org/w/index.php?title=Nasal_demons), since they are an extreme on the spectrum of observable differences, and since they make it difficult to reason about what state an application might be in. WebAssembly usually prefers to [trap](AstSemantics.md). Otherwise, it is generally preferred to have a specific set of possible behaviors rather than nasal demons. And presently, WebAssembly has no nasal demons. -- cgit v1.2.3