From 14e902c4a8f5fb35e8188ef763508da26ab5b83f Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Thu, 10 Oct 2024 21:09:44 +0200 Subject: Sync Trace.hs fully with Nested.hs; gentrace.sh monstrosity --- gentrace.sh | 31 +++++++++++++++++++++++++++++++ src/Data/Array/Nested/Trace.hs | 4 +++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100755 gentrace.sh diff --git a/gentrace.sh b/gentrace.sh new file mode 100755 index 0000000..7be2b9c --- /dev/null +++ b/gentrace.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +cat <<'EOF' +module Data.Array.Nested.Trace ( + -- * Traced variants + module Data.Array.Nested.Trace, + + -- * Re-exports from the plain "Data.Array.Nested" module +EOF + +sed -n '/^module/,/^) where/!d; /^\s*-- /d; s/ \b[a-z][a-zA-Z0-9_'"'"']*,//g; /^ $/d; s/(\.\., Z.., ([^)]*))/(..)/g; /^ /p; /^$/p' src/Data/Array/Nested.hs + +cat <<'EOF' +) where + +import Prelude hiding (mappend, mconcat) + +import Data.Array.Nested +import Data.Array.Nested.Trace.TH + + +EOF + +# shellcheck disable=SC2016 # dollar in single-quoted string +echo '$(concat <$> mapM convertFun' +sed -n '/^module/,/^) where/!d; /^\s*-- /d; /^ /p' src/Data/Array/Nested.hs | + grep -o '\b[a-z][a-zA-Z0-9_'"'"']*\b' | + grep -wv -e 'pattern' -e 'type' | + tr $'\n' ' ' | + sed 's/\([^ ]\+\)/'"'"'\1,/g; s/, $/])/; s/^/ [/' +echo diff --git a/src/Data/Array/Nested/Trace.hs b/src/Data/Array/Nested/Trace.hs index aeb6edd..838e2b0 100644 --- a/src/Data/Array/Nested/Trace.hs +++ b/src/Data/Array/Nested/Trace.hs @@ -38,7 +38,9 @@ module Data.Array.Nested.Trace ( Mixed, IxX(..), IIxX, - KnownShX(..), StaticShX(..), + ShX(..), KnownShX(..), + StaticShX(..), + SMayNat(..), Elt, PrimElt, -- cgit v1.2.3-70-g09d2