clash-shockwaves 1.0.0 → 1.0.1
raw patch · 6 files changed
+17/−15 lines, 6 filesdep ~clash-preludePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: clash-prelude
API changes (from Hackage documentation)
- Clash.Shockwaves.Internal.Waveform: instance (Clash.Shockwaves.Internal.Waveform.Waveform a1, Clash.Shockwaves.Internal.Waveform.Waveform a2, Clash.Shockwaves.Internal.Waveform.Waveform a3, Clash.Shockwaves.Internal.Waveform.Waveform a4) => Clash.Shockwaves.Internal.Waveform.Waveform (a1, a2, a3, a4)
- Clash.Shockwaves.Internal.Waveform: instance (Clash.Shockwaves.Internal.Waveform.Waveform a1, Clash.Shockwaves.Internal.Waveform.Waveform a2, Clash.Shockwaves.Internal.Waveform.Waveform a3, Clash.Shockwaves.Internal.Waveform.Waveform a4, Clash.Shockwaves.Internal.Waveform.Waveform a5) => Clash.Shockwaves.Internal.Waveform.Waveform (a1, a2, a3, a4, a5)
- Clash.Shockwaves.Internal.Waveform: instance (Clash.Shockwaves.Internal.Waveform.Waveform a1, Clash.Shockwaves.Internal.Waveform.Waveform a2, Clash.Shockwaves.Internal.Waveform.Waveform a3, Clash.Shockwaves.Internal.Waveform.Waveform a4, Clash.Shockwaves.Internal.Waveform.Waveform a5, Clash.Shockwaves.Internal.Waveform.Waveform a6) => Clash.Shockwaves.Internal.Waveform.Waveform (a1, a2, a3, a4, a5, a6)
- Clash.Shockwaves.Internal.Waveform: instance (Clash.Shockwaves.Internal.Waveform.Waveform a1, Clash.Shockwaves.Internal.Waveform.Waveform a2, Clash.Shockwaves.Internal.Waveform.Waveform a3, Clash.Shockwaves.Internal.Waveform.Waveform a4, Clash.Shockwaves.Internal.Waveform.Waveform a5, Clash.Shockwaves.Internal.Waveform.Waveform a6, Clash.Shockwaves.Internal.Waveform.Waveform a7) => Clash.Shockwaves.Internal.Waveform.Waveform (a1, a2, a3, a4, a5, a6, a7)
- Clash.Shockwaves.Internal.Waveform: instance (Clash.Shockwaves.Internal.Waveform.Waveform a1, Clash.Shockwaves.Internal.Waveform.Waveform a2, Clash.Shockwaves.Internal.Waveform.Waveform a3, Clash.Shockwaves.Internal.Waveform.Waveform a4, Clash.Shockwaves.Internal.Waveform.Waveform a5, Clash.Shockwaves.Internal.Waveform.Waveform a6, Clash.Shockwaves.Internal.Waveform.Waveform a7, Clash.Shockwaves.Internal.Waveform.Waveform a8) => Clash.Shockwaves.Internal.Waveform.Waveform (a1, a2, a3, a4, a5, a6, a7, a8)
- Clash.Shockwaves.Internal.Waveform: instance (Clash.Shockwaves.Internal.Waveform.Waveform a1, Clash.Shockwaves.Internal.Waveform.Waveform a2, Clash.Shockwaves.Internal.Waveform.Waveform a3, Clash.Shockwaves.Internal.Waveform.Waveform a4, Clash.Shockwaves.Internal.Waveform.Waveform a5, Clash.Shockwaves.Internal.Waveform.Waveform a6, Clash.Shockwaves.Internal.Waveform.Waveform a7, Clash.Shockwaves.Internal.Waveform.Waveform a8, Clash.Shockwaves.Internal.Waveform.Waveform a9) => Clash.Shockwaves.Internal.Waveform.Waveform (a1, a2, a3, a4, a5, a6, a7, a8, a9)
- Clash.Shockwaves.Internal.Waveform: instance (Clash.Shockwaves.Internal.Waveform.Waveform a1, Clash.Shockwaves.Internal.Waveform.Waveform a2, Clash.Shockwaves.Internal.Waveform.Waveform a3, Clash.Shockwaves.Internal.Waveform.Waveform a4, Clash.Shockwaves.Internal.Waveform.Waveform a5, Clash.Shockwaves.Internal.Waveform.Waveform a6, Clash.Shockwaves.Internal.Waveform.Waveform a7, Clash.Shockwaves.Internal.Waveform.Waveform a8, Clash.Shockwaves.Internal.Waveform.Waveform a9, Clash.Shockwaves.Internal.Waveform.Waveform a10) => Clash.Shockwaves.Internal.Waveform.Waveform (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
- Clash.Shockwaves.Internal.Waveform: instance (Clash.Shockwaves.Internal.Waveform.Waveform a1, Clash.Shockwaves.Internal.Waveform.Waveform a2, Clash.Shockwaves.Internal.Waveform.Waveform a3, Clash.Shockwaves.Internal.Waveform.Waveform a4, Clash.Shockwaves.Internal.Waveform.Waveform a5, Clash.Shockwaves.Internal.Waveform.Waveform a6, Clash.Shockwaves.Internal.Waveform.Waveform a7, Clash.Shockwaves.Internal.Waveform.Waveform a8, Clash.Shockwaves.Internal.Waveform.Waveform a9, Clash.Shockwaves.Internal.Waveform.Waveform a10, Clash.Shockwaves.Internal.Waveform.Waveform a11) => Clash.Shockwaves.Internal.Waveform.Waveform (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)
- Clash.Shockwaves.Internal.Waveform: instance (Clash.Shockwaves.Internal.Waveform.Waveform a1, Clash.Shockwaves.Internal.Waveform.Waveform a2, Clash.Shockwaves.Internal.Waveform.Waveform a3, Clash.Shockwaves.Internal.Waveform.Waveform a4, Clash.Shockwaves.Internal.Waveform.Waveform a5, Clash.Shockwaves.Internal.Waveform.Waveform a6, Clash.Shockwaves.Internal.Waveform.Waveform a7, Clash.Shockwaves.Internal.Waveform.Waveform a8, Clash.Shockwaves.Internal.Waveform.Waveform a9, Clash.Shockwaves.Internal.Waveform.Waveform a10, Clash.Shockwaves.Internal.Waveform.Waveform a11, Clash.Shockwaves.Internal.Waveform.Waveform a12) => Clash.Shockwaves.Internal.Waveform.Waveform (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)
+ Clash.Shockwaves.Trace: type AddValue = LUTMap -> LUTMap
+ Clash.Shockwaves.Trace: type JSON = Value
Files
- clash-shockwaves.cabal +2/−2
- src/Clash/Shockwaves/Internal/Trace/CRE.hs +1/−1
- src/Clash/Shockwaves/Internal/Translator.hs +5/−5
- src/Clash/Shockwaves/Internal/Types.hs +2/−2
- src/Clash/Shockwaves/Internal/Waveform.hs +5/−5
- src/Clash/Shockwaves/Trace.hs +2/−0
clash-shockwaves.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: clash-shockwaves-version: 1.0.0+version: 1.0.1 license: BSD-2-Clause license-file: LICENSE copyright: Copyright © 2026 QBayLogic B.V.@@ -106,7 +106,7 @@ time >=1.8 && <1.15, -- clash-prelude will set suitable version bounds for the plugins- clash-prelude >=1.8.2 && <1.10,+ clash-prelude >=1.8.2 && <1.12, ghc-typelits-extra, ghc-typelits-knownnat, ghc-typelits-natnormalise,
src/Clash/Shockwaves/Internal/Trace/CRE.hs view
@@ -44,7 +44,7 @@ deriving (Generic, Typeable, BitPack, NFDataX) {- | A type for displaying clock, reset and enable signals.-See 't:ClockWave', 't:ResetWave' and 't:EnableWave'.+See t'ClockWave', t'ResetWave' and t'EnableWave'. It contains these signals as subsignals. The toplevel signal displays the clock during normal operation, reset when it is active, and enable when it is low. The combined style of both being active can be configured through the style
src/Clash/Shockwaves/Internal/Translator.hs view
@@ -24,7 +24,7 @@ import Math.NumberTheory.Logarithms (intLog2) import Numeric (showHex) --- | Apply a 'WaveStyle' to a 't:Translation' value. Only replaces 'WSDefault'.+-- | Apply a 'WaveStyle' to a t'Translation' value. Only replaces 'WSDefault'. applyStyle :: WaveStyle -> Translation -> Translation applyStyle s (Translation r sb) = Translation (applyStyleR s r) sb @@ -33,7 +33,7 @@ applyStyleR s (Just (l, WSDefault, p)) = Just (l, s, p) applyStyleR _ r = r -{- | Apply a precedence value to a 't:Translation'.+{- | Apply a precedence value to a t'Translation'. If the precedence is higher or equal to that of the current value, it is wrapped in parentheses. -}@@ -58,7 +58,7 @@ applyPrecs :: Prec -> [(a, Translation)] -> [(a, Translation)] applyPrecs p = L.map (second (applyPrec p)) -{- | Get the value of a 't:Translation'. If the value is not defined,+{- | Get the value of a t'Translation'. If the value is not defined, return @{value missing}@. -} getVal :: Translation -> Value@@ -267,7 +267,7 @@ -- structure -{- | Return the 't:Structure' implied by a 't:Translator'. Useful for determining+{- | Return the t'Structure' implied by a t'Translator'. Useful for determining the structure of a constant translation. -} structureT :: Translator -> Structure@@ -316,7 +316,7 @@ (Nothing, (name, Structure $ mergeDuplicateSubsignals (s' <> s))) mergeOrPass newsig oldsig = (newsig, oldsig) --- | Construct a 't:Structure' from a 't:Translation'.+-- | Construct a t'Structure' from a t'Translation'. fromTranslation :: Translation -> Structure fromTranslation (Translation _ subs) = Structure $ L.map (second fromTranslation) subs
src/Clash/Shockwaves/Internal/Types.hs view
@@ -60,7 +60,7 @@ -- | Table of LUTs. Usually, the index is a type name, but this is not necessarily the case. type LUTMap = Map LUTName LUT --- | A lookup table of 't:Translation's.+-- | A lookup table of t'Translation's. type LUT = Map BitList Translation -- | The color type used in 'WaveStyle'.@@ -156,7 +156,7 @@ -} data TranslatorVariant = {- | Use the translator of a different type. Note that the width value of the- 't:Translator's should match that of the target. The 't:TypeRef' parameter does not+ t'Translator's should match that of the target. The t'TypeRef' parameter does not end up in the actual output, but is used to access functionality for the referenced type. Use @tRef@ to create this translator. -}
src/Clash/Shockwaves/Internal/Waveform.hs view
@@ -73,7 +73,7 @@ rFromVal :: Value -> Render rFromVal v = Just (v, WSDefault, 11) --- | Get a 't:Translation' from a 'Value' using 'WSDefault' and precedence 11.+-- | Get a t'Translation' from a 'Value' using 'WSDefault' and precedence 11. tFromVal :: Value -> Translation tFromVal v = Translation (rFromVal v) [] @@ -88,20 +88,20 @@ -- making translators -{- | Wrap a 't:Translator' in a 'TStyled' translator using some style, unless the+{- | Wrap a t'Translator' in a 'TStyled' translator using some style, unless the provided style is 'WSDefault'. -} wrapStyle :: WaveStyle -> Translator -> Translator wrapStyle WSDefault t = t wrapStyle s t = tStyled s t -{- | Wrap a 't:Translator' in a 'TStyled' variant translator with the+{- | Wrap a t'Translator' in a 'TStyled' variant translator with the provided style. -} tStyled :: WaveStyle -> Translator -> Translator tStyled s (Translator w v) = Translator w $ TStyled s (Translator w v) -{- | Wrap a 't:Translator' in a 'TDuplicate' variant translator with the+{- | Wrap a t'Translator' in a 'TDuplicate' variant translator with the provided subsignal name. -} tDup :: SubSignal -> Translator -> Translator@@ -484,7 +484,7 @@ (Generic a, Show a, WaveformG (Rep a ()), PrecG (Rep a ())) => a -> Translation translateL = translateWith renderShow splitL --- | Make sure a 't:Translation' is fully defined. If not, return a 't:Translation' with @"undefined"@.+-- | Make sure a t'Translation' is fully defined. If not, return a t'Translation' with @"undefined"@. safeTranslation :: Translation -> Translation safeTranslation = safeValOr (errorT "undefined")
src/Clash/Shockwaves/Trace.hs view
@@ -90,6 +90,8 @@ , Maps , TraceMap , TypeRepBS+ , JSON+ , AddValue -- ** Functions , traceSignal# , traceVecSignal#