From b7b066bc09d881fd69f0651d0567af419023269c Mon Sep 17 00:00:00 2001 From: Brooklyn Zelenka Date: Mon, 21 Oct 2024 11:29:27 -0500 Subject: [PATCH] Clarify jq differences section --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9983a96..99d839d 100644 --- a/README.md +++ b/README.md @@ -621,11 +621,11 @@ Bytes MAY be selected into. When doing so, they MUST be treated as a byte array ### Differences from jq [Differences from jq]: #differences-from-jq -[jq] is a much larger language than UCAN's selectors. jq includes features like pipes, arithmatic, regexes, assignment, recursive descent, and so on which MUST NOT be supported in the UCAN Policy language. +[jq] is a much larger language than UCAN's selectors. jq includes features like pipes, arithmatic, regexes, assignment, recursive descent, and so on which are not supported in the UCAN Policy language, and thus MUST NOT be implemented in UCAN. -jq produces streams of values, in contrast to UCAN argument selectors which return an IPLD value. This introduces the primary difference between jq and UCAN argument selectors is how to treat output of the optional (`?`) operator: UCAN's optional selector operator MUST return `null` for the failure case. +jq produces streams of values (a distrinct concept from arrays), in contrast to UCAN argument selectors which always return an IPLD value. This introduces the primary difference between jq and UCAN argument selectors is how to treat output of the optional (`?`) operator: UCAN's optional selector operator MUST return `null` for the failure case. -There are +There are FIXME ## Validation [Validation]: #validation