diff --git a/sdk/compiler/damlc/daml-preprocessor/src/DA/Daml/Preprocessor.hs b/sdk/compiler/damlc/daml-preprocessor/src/DA/Daml/Preprocessor.hs index 667d178e1567..6f9fd8fdebf9 100644 --- a/sdk/compiler/damlc/daml-preprocessor/src/DA/Daml/Preprocessor.hs +++ b/sdk/compiler/damlc/daml-preprocessor/src/DA/Daml/Preprocessor.hs @@ -89,6 +89,7 @@ preprocessorExceptions = Set.fromList $ map GHC.mkModuleName -- This module needs to use the PatternSynonyms extension. , "DA.Maybe" + , "DA.NonEmpty" ] -- Following daml-script modules import Internal for creating psuedo exceptions diff --git a/sdk/compiler/damlc/daml-stdlib-src/DA/NonEmpty.daml b/sdk/compiler/damlc/daml-stdlib-src/DA/NonEmpty.daml index 0dc264318c9e..2682d485e36c 100644 --- a/sdk/compiler/damlc/daml-stdlib-src/DA/NonEmpty.daml +++ b/sdk/compiler/damlc/daml-stdlib-src/DA/NonEmpty.daml @@ -1,6 +1,7 @@ -- Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved. -- SPDX-License-Identifier: Apache-2.0 +{-# LANGUAGE PatternSynonyms #-} -- | Type and functions for non-empty lists. This module re-exports many functions with -- the same name as prelude list functions, so it is expected to import the module qualified. @@ -13,6 +14,8 @@ -- ``` module DA.NonEmpty ( NonEmpty(..) + , pattern (:|) + , (<|) , cons , append , map @@ -40,10 +43,20 @@ import DA.NonEmpty.Types import DA.Traversable qualified as T import DA.List qualified as L import DA.Action qualified as M +import DA.Internal.Record qualified + +infixr 5 :| +infixr 5 <| + +-- | Pattern synonym for constructing and matching non-empty lists. +pattern (:|) : a -> [a] -> NonEmpty a +pattern (:|) x xs = NonEmpty x xs +{-# COMPLETE (:|) : NonEmpty #-} deriving instance Eq a => Eq (NonEmpty a) -deriving instance Show a => Show (NonEmpty a) deriving instance Ord a => Ord (NonEmpty a) +instance Show a => Show (NonEmpty a) where + show (x :| xs) = show x <> " :| " <> show xs -- NonEmpty is defined in a stable LF package so we need to handwrite the {Get,Set}Field instances here. @@ -76,22 +89,26 @@ instance Action NonEmpty where ys' = xs >>= toList . f instance F.Foldable NonEmpty where - foldr f z ne = f ne.hd (P.foldr f z ne.tl) + foldr f z (h :| t) = f h (P.foldr f z t) instance T.Traversable NonEmpty where - mapA f l = liftA2 NonEmpty (f l.hd) (T.mapA f l.tl) + mapA f (h :| t) = liftA2 (:|) (f h) (T.mapA f t) -- | Prepend an element to a non-empty list. cons : a -> NonEmpty a -> NonEmpty a -cons a ne = NonEmpty a (ne.hd :: ne.tl) +cons a (h :| t) = a :| h :: t + +-- | Alias for `cons`. +(<|) : a -> NonEmpty a -> NonEmpty a +(<|) = cons -- | Append or concatenate two non-empty lists. append : NonEmpty a -> NonEmpty a -> NonEmpty a -append l r = NonEmpty l.hd (l.tl ++ toList r) +append (h :| t) r = h :| t ++ toList r -- | Apply a function over each element in the non-empty list. map : (a -> b) -> NonEmpty a -> NonEmpty b -map f ne = NonEmpty (f ne.hd) (P.map f ne.tl) +map f (h :| t) = f h :| P.map f t -- | Turn a list into a non-empty list, if possible. Returns -- `None` if the input list is empty, and `Some` otherwise. @@ -130,7 +147,7 @@ delete = deleteBy (==) -- | Apply a function repeatedly to pairs of elements from a non-empty list, -- from the left. For example, `foldl1 (+) (NonEmpty 1 [2,3,4]) = ((1 + 2) + 3) + 4`. foldl1 : (a -> a -> a) -> NonEmpty a -> a -foldl1 f l = L.foldl f l.hd l.tl +foldl1 f (h :| t) = L.foldl f h t -- | Apply a function repeatedly to pairs of elements from a non-empty list, -- from the right. For example, `foldr1 (+) (NonEmpty 1 [2,3,4]) = 1 + (2 + (3 + 4))`. @@ -149,7 +166,7 @@ foldrA f x xs = foldr (\ y acc -> do v <- acc; f y v) (pure x) xs -- | The same as `foldr1` but running an action each time. foldr1A : Action m => (a -> a -> m a) -> NonEmpty a -> m a -foldr1A f l = M.foldrA f l.hd l.tl +foldr1A f (h :| t) = M.foldrA f h t -- | Apply a function repeatedly to pairs of elements from a non-empty list, -- from the left, with a given initial value. For example, @@ -163,7 +180,7 @@ foldlA f x xs = foldl (\ acc y -> do v <- acc; f v y) (pure x) xs -- | The same as `foldl1` but running an action each time. foldl1A : Action m => (a -> a -> m a) -> NonEmpty a -> m a -foldl1A f l = M.foldlA f l.hd l.tl +foldl1A f (h :| t) = M.foldlA f h t instance IsParties (NonEmpty Party) where toParties = toList diff --git a/sdk/compiler/damlc/tests/daml-test-files/NonEmpty.daml b/sdk/compiler/damlc/tests/daml-test-files/NonEmpty.daml index 466aeee96bbc..4872d8e971f2 100644 --- a/sdk/compiler/damlc/tests/daml-test-files/NonEmpty.daml +++ b/sdk/compiler/damlc/tests/daml-test-files/NonEmpty.daml @@ -27,6 +27,7 @@ testOrd = script do testCons = script do cons "a" (NonEmpty "b" []) === NonEmpty "a" ["b"] + cons 1 (NonEmpty 2 [3, 4]) === 1 <| 2 :| [3, 4] testFind = script do find (== 1) (NonEmpty 0 []) === None @@ -47,7 +48,6 @@ testDelete = script do delete 1 (NonEmpty 0 [2, 1]) === [0, 2] delete 1 (NonEmpty 0 [1, 2, 1]) === [0, 2, 1] - testDeleteBy = script do deleteBy eq 1 (NonEmpty 0 []) === [0] deleteBy eq 1 (NonEmpty 1 []) === [] @@ -55,3 +55,7 @@ testDeleteBy = script do where -- Get dlint to stop complaining. eq = (==) + +testShow = script do + show (NonEmpty 1 []) === "1 :| []" + show (NonEmpty "a" ["b", "c"]) === "\"a\" :| [\"b\",\"c\"]" diff --git a/sdk/compiler/damlc/tests/platform-independence.dar-hash b/sdk/compiler/damlc/tests/platform-independence.dar-hash index a5d2ef52564e..2afe09a2dee5 100644 --- a/sdk/compiler/damlc/tests/platform-independence.dar-hash +++ b/sdk/compiler/damlc/tests/platform-independence.dar-hash @@ -1,35 +1,35 @@ -9c460394159cd703b011e7c22a81639f41537e17674cf137635ebbe867a8118c META-INF/MANIFEST.MF -390e19b76242f1ff91d7d3614b1b7a492e4b7a558f8586facb6ed9ccb427a1e6 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-prim-590736e6f7bc01492007ecb27f3fe75995c19fbd3d41b384aada69619fd4f76c.dalf -5b367b37fe8430dbc1cffc69c24f48d43e6c11ed16c2a48d0e775be6c3cd3fa2 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-prim-DA-Exception-ArithmeticError-ee33fb70918e7aaa3d3fc44d64a399fb2bf5bcefc54201b1690ecd448551ba88.dalf -98c16c8dfd84c1241922d7fa93d5860b87ee93c7d0346c87bf7c76710cf5fd2d platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-prim-DA-Exception-AssertionFailed-6da1f43a10a179524e840e7288b47bda213339b0552d92e87ae811e52f59fc0e.dalf -aed72dfe7eb325ad9aaafa1a19ba7f34bf93992d62fe78e7c8a27432546ea56e platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-prim-DA-Exception-GeneralError-f181cd661f7af3a60bdaae4b0285a2a67beb55d6910fc8431dbae21a5825ec0f.dalf -cc51cb400519000f2dc3a2bd893dcc269546f42c2ff2e04aa0293f9595ffb099 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-prim-DA-Exception-PreconditionFailed-91e167fa7a256f21f990c526a0a0df840e99aeef0e67dc1f5415b0309486de74.dalf -2f671fa9f93604a9cd7520e6f343a56a8f58b038195fe9dd8fa2bf7fca4a8118 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-prim-DA-Internal-Erased-0e4a572ab1fb94744abb02243a6bbed6c78fc6e3c8d3f60c655f057692a62816.dalf -67930dd5a0bd139c344935939d9903c5d6d93a326f7bec248f3a1180eff682e7 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-prim-DA-Internal-NatSyn-e5411f3d75f072b944bd88e652112a14a3d409c491fd9a51f5f6eede6d3a3348.dalf -a260a743f3732429f294092f0b36703f28739e471d8da367e6178b636e815b53 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-prim-DA-Internal-PromotedText-ab068e2f920d0e06347975c2a342b71f8b8e3b4be0f02ead9442caac51aa8877.dalf -bef5523d20b5bb3e608423caf03bb62b5c40ba759a646e0055d93bdc80a166a3 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-prim-DA-Types-5aee9b21b8e9a4c4975b5f4c4198e6e6e8469df49e2010820e792f393db870f4.dalf -bac571bea0ef93a7c34eb2ff9c2de98aa035d04b65c8d01f7cf5ae911fbe91ca platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-prim-GHC-Prim-fcee8dfc1b81c449b421410edd5041c16ab59c45bbea85bcb094d1b17c3e9df7.dalf -a857d76904ee3a8344ecc739edae5bb5ae93373a1a3bb777454afcd5006b5e7a platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-prim-GHC-Tuple-19f0df5fdaf5a96e137b6ea885fdb378f37bd3166bd9a47ee11518e33fa09a20.dalf -a298eed9572d98da051d99f4b1b522dbbfea5665cee948ff450a0487be2aeddd platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-prim-GHC-Types-e7e0adfa881e7dbbb07da065ae54444da7c4bccebcb8872ab0cb5dcf9f3761ce.dalf -abee029dc05a82f674a08779f79e49d8b9c8c854c8ec11e73ebf349e79af3539 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-0.0.0-16105964f72f37b30ef95a730b3bffde07a8d688484d5ee522bb6ee512b3aa6d.dalf -4619339c51f1069ca6a07474bcb0f8ecb9c4b77bf5ca7d6a246712d636c0c796 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Action-State-Type-a1fa18133ae48cbb616c4c148e78e661666778c3087d099067c7fe1868cbb3a1.dalf -4fc3e91abda9caf95390da16fa7267803e88d52540513078a3e87d1a56639fa6 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Date-Types-fa79192fe1cce03d7d8db36471dde4cf6c96e6d0f07e1c391dd49e355af9b38c.dalf -db6bf950ebba81f55305bb0cc09dfa6d9d226fcb116dfea087a8c8c4afc0841a platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Internal-Any-6f8e6085f5769861ae7a40dccd618d6f747297d59b37cab89b93e2fa80b0c024.dalf -8713e809627225804d9ec8cf5f244f696a682c909760762d5543431002a2db69 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Internal-Down-86d888f34152dae8729900966b44abcb466b9c111699678de58032de601d2b04.dalf -8dba74bf8bbea22254822eb9585a1f9020609699a83fc95c94aff39e97998193 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Internal-Fail-Types-7adc4c2d07fa3a51173c843cba36e610c1168b2dbbf53076e20c0092eae8763d.dalf -eda925616a15f843a6f04bd677377b07efe48e75fcdde7cfb16e611c7a913cd9 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Internal-Interface-AnyView-Types-c280cc3ef501d237efa7b1120ca3ad2d196e089ad596b666bed59a85f3c9a074.dalf -d16cc72b5fa04d1ceade89a65fd5e5e26cabb7b271254548cd1f4d2164812d87 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Internal-Template-9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.dalf -4c6edf633b367a196e0d8f3749626206e65bd3134e5331fae41b726e50b9d5df platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Logic-Types-cae345b5500ef6f84645c816f88b9f7a85a9f3c71697984abdf6849f81e80324.dalf -e969d7b1a5c1271e8113d4cab7794bae3be678f53748fe93ff688df0343c584c platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Monoid-Types-52854220dc199884704958df38befd5492d78384a032fd7558c38f00e3d778a2.dalf -288ad8f4dd0d8971d6c0fd120edcd611a89ecad955c5ac9d7a06e77f80a2b6ea platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-NonEmpty-Types-bde4bd30749e99603e5afa354706608601029e225d4983324d617825b634253a.dalf -91b712f0940ada408419f785ab47901886a431075e2f3a9178dd8058dc17499d platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Random-Types-bfda48f9aa2c89c895cde538ec4b4946c7085959e031ad61bde616b9849155d7.dalf -a593b782fca59f9b86ecd526c1e679ea28866e472081b0c68795dfcfdc9ec5e7 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Semigroup-Types-d095a2ccf6dd36b2415adc4fa676f9191ba63cd39828dc5207b36892ec350cbc.dalf -5fe3810e2722629fb251fa813ed98ee539f90733055ca573a0ecf5f7cc435317 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Set-Types-c3bb0c5d04799b3f11bad7c3c102963e115cf53da3e4afcbcfd9f06ebd82b4ff.dalf -b0c108d8863653cfecfc2442321ac6092a0945654a7d7c8343f7c16fd56a8081 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Stack-Types-60c61c542207080e97e378ab447cc355ecc47534b3a3ebbff307c4fb8339bc4d.dalf -d1951ee045378e8b874a4a3aa5466d810f5ca6a60cb3e8f49d28338f1bea6f2c platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Time-Types-b70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946.dalf -e311651bb4bfd90d1555c47488d4d02ac7f9774062bcf90ef097faff60b11481 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/daml-stdlib-DA-Validation-Types-3cde94fe9be5c700fc1d9a8ad2277e2c1214609f8c52a5b4db77e466875b8cb7.dalf -2c87efc19305d8f0e4e0d653fcbbf53825454dbece2e9a8ee73a189441cf3393 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/data/platform-independence-1.0.0.conf -38ec965958bc9a510527bf48800811de0174603298fc53d48ee2dd1070278340 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac.dalf -18b22dafad1b578fd6a2449875a7e3719ce6c269a64230cb861ec8709d32c3dc platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/PlatformIndependence.daml -0000000000000000000000000000000000000000000000000000000000000000 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/PlatformIndependence.hi -0000000000000000000000000000000000000000000000000000000000000000 platform-independence-1.0.0-882fb454b85ec2d6606d833ffdd05f9d3f3a28f551e414ed1622d69f6cd606ac/PlatformIndependence.hie +953ce98519c428f0f1e4eed4ebb1a646859dbd57edd3fac339ab3b54f56b180a META-INF/MANIFEST.MF +390e19b76242f1ff91d7d3614b1b7a492e4b7a558f8586facb6ed9ccb427a1e6 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-prim-590736e6f7bc01492007ecb27f3fe75995c19fbd3d41b384aada69619fd4f76c.dalf +5b367b37fe8430dbc1cffc69c24f48d43e6c11ed16c2a48d0e775be6c3cd3fa2 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-prim-DA-Exception-ArithmeticError-ee33fb70918e7aaa3d3fc44d64a399fb2bf5bcefc54201b1690ecd448551ba88.dalf +98c16c8dfd84c1241922d7fa93d5860b87ee93c7d0346c87bf7c76710cf5fd2d platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-prim-DA-Exception-AssertionFailed-6da1f43a10a179524e840e7288b47bda213339b0552d92e87ae811e52f59fc0e.dalf +aed72dfe7eb325ad9aaafa1a19ba7f34bf93992d62fe78e7c8a27432546ea56e platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-prim-DA-Exception-GeneralError-f181cd661f7af3a60bdaae4b0285a2a67beb55d6910fc8431dbae21a5825ec0f.dalf +cc51cb400519000f2dc3a2bd893dcc269546f42c2ff2e04aa0293f9595ffb099 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-prim-DA-Exception-PreconditionFailed-91e167fa7a256f21f990c526a0a0df840e99aeef0e67dc1f5415b0309486de74.dalf +2f671fa9f93604a9cd7520e6f343a56a8f58b038195fe9dd8fa2bf7fca4a8118 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-prim-DA-Internal-Erased-0e4a572ab1fb94744abb02243a6bbed6c78fc6e3c8d3f60c655f057692a62816.dalf +67930dd5a0bd139c344935939d9903c5d6d93a326f7bec248f3a1180eff682e7 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-prim-DA-Internal-NatSyn-e5411f3d75f072b944bd88e652112a14a3d409c491fd9a51f5f6eede6d3a3348.dalf +a260a743f3732429f294092f0b36703f28739e471d8da367e6178b636e815b53 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-prim-DA-Internal-PromotedText-ab068e2f920d0e06347975c2a342b71f8b8e3b4be0f02ead9442caac51aa8877.dalf +bef5523d20b5bb3e608423caf03bb62b5c40ba759a646e0055d93bdc80a166a3 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-prim-DA-Types-5aee9b21b8e9a4c4975b5f4c4198e6e6e8469df49e2010820e792f393db870f4.dalf +bac571bea0ef93a7c34eb2ff9c2de98aa035d04b65c8d01f7cf5ae911fbe91ca platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-prim-GHC-Prim-fcee8dfc1b81c449b421410edd5041c16ab59c45bbea85bcb094d1b17c3e9df7.dalf +a857d76904ee3a8344ecc739edae5bb5ae93373a1a3bb777454afcd5006b5e7a platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-prim-GHC-Tuple-19f0df5fdaf5a96e137b6ea885fdb378f37bd3166bd9a47ee11518e33fa09a20.dalf +a298eed9572d98da051d99f4b1b522dbbfea5665cee948ff450a0487be2aeddd platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-prim-GHC-Types-e7e0adfa881e7dbbb07da065ae54444da7c4bccebcb8872ab0cb5dcf9f3761ce.dalf +369c25ea7d17775bd559bc9cb030bdb079f1645a9ef2b796f484c7a2e3774740 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-0.0.0-7288de21329fce3bd88be5165d65f8a2df14b665cda98ecc1960a023dab3db72.dalf +4619339c51f1069ca6a07474bcb0f8ecb9c4b77bf5ca7d6a246712d636c0c796 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Action-State-Type-a1fa18133ae48cbb616c4c148e78e661666778c3087d099067c7fe1868cbb3a1.dalf +4fc3e91abda9caf95390da16fa7267803e88d52540513078a3e87d1a56639fa6 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Date-Types-fa79192fe1cce03d7d8db36471dde4cf6c96e6d0f07e1c391dd49e355af9b38c.dalf +db6bf950ebba81f55305bb0cc09dfa6d9d226fcb116dfea087a8c8c4afc0841a platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Internal-Any-6f8e6085f5769861ae7a40dccd618d6f747297d59b37cab89b93e2fa80b0c024.dalf +8713e809627225804d9ec8cf5f244f696a682c909760762d5543431002a2db69 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Internal-Down-86d888f34152dae8729900966b44abcb466b9c111699678de58032de601d2b04.dalf +8dba74bf8bbea22254822eb9585a1f9020609699a83fc95c94aff39e97998193 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Internal-Fail-Types-7adc4c2d07fa3a51173c843cba36e610c1168b2dbbf53076e20c0092eae8763d.dalf +eda925616a15f843a6f04bd677377b07efe48e75fcdde7cfb16e611c7a913cd9 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Internal-Interface-AnyView-Types-c280cc3ef501d237efa7b1120ca3ad2d196e089ad596b666bed59a85f3c9a074.dalf +d16cc72b5fa04d1ceade89a65fd5e5e26cabb7b271254548cd1f4d2164812d87 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Internal-Template-9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.dalf +4c6edf633b367a196e0d8f3749626206e65bd3134e5331fae41b726e50b9d5df platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Logic-Types-cae345b5500ef6f84645c816f88b9f7a85a9f3c71697984abdf6849f81e80324.dalf +e969d7b1a5c1271e8113d4cab7794bae3be678f53748fe93ff688df0343c584c platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Monoid-Types-52854220dc199884704958df38befd5492d78384a032fd7558c38f00e3d778a2.dalf +288ad8f4dd0d8971d6c0fd120edcd611a89ecad955c5ac9d7a06e77f80a2b6ea platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-NonEmpty-Types-bde4bd30749e99603e5afa354706608601029e225d4983324d617825b634253a.dalf +91b712f0940ada408419f785ab47901886a431075e2f3a9178dd8058dc17499d platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Random-Types-bfda48f9aa2c89c895cde538ec4b4946c7085959e031ad61bde616b9849155d7.dalf +a593b782fca59f9b86ecd526c1e679ea28866e472081b0c68795dfcfdc9ec5e7 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Semigroup-Types-d095a2ccf6dd36b2415adc4fa676f9191ba63cd39828dc5207b36892ec350cbc.dalf +5fe3810e2722629fb251fa813ed98ee539f90733055ca573a0ecf5f7cc435317 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Set-Types-c3bb0c5d04799b3f11bad7c3c102963e115cf53da3e4afcbcfd9f06ebd82b4ff.dalf +b0c108d8863653cfecfc2442321ac6092a0945654a7d7c8343f7c16fd56a8081 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Stack-Types-60c61c542207080e97e378ab447cc355ecc47534b3a3ebbff307c4fb8339bc4d.dalf +d1951ee045378e8b874a4a3aa5466d810f5ca6a60cb3e8f49d28338f1bea6f2c platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Time-Types-b70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946.dalf +e311651bb4bfd90d1555c47488d4d02ac7f9774062bcf90ef097faff60b11481 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/daml-stdlib-DA-Validation-Types-3cde94fe9be5c700fc1d9a8ad2277e2c1214609f8c52a5b4db77e466875b8cb7.dalf +697388269a518413681881455f0213b4dcb36011d59f02abe92726b667b7b7e9 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/data/platform-independence-1.0.0.conf +c58e8cca8aa64dd6e41b3000598228914d1e2cec4bbe331520fbebab9b362a4d platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559.dalf +18b22dafad1b578fd6a2449875a7e3719ce6c269a64230cb861ec8709d32c3dc platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/PlatformIndependence.daml +0000000000000000000000000000000000000000000000000000000000000000 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/PlatformIndependence.hi +0000000000000000000000000000000000000000000000000000000000000000 platform-independence-1.0.0-f4c8085d243a1f566fb3ae4a47de94f082bc7a7a1111a18f18fb969786e73559/PlatformIndependence.hie diff --git a/sdk/docs/sharable/hoogle/daml-base-hoogle.txt b/sdk/docs/sharable/hoogle/daml-base-hoogle.txt index 731eac69723d..7789b962b6d5 100644 --- a/sdk/docs/sharable/hoogle/daml-base-hoogle.txt +++ b/sdk/docs/sharable/hoogle/daml-base-hoogle.txt @@ -3546,6 +3546,10 @@ module DA.NonEmpty @url https://docs.digitalasset.com/build/3.4/reference/daml/stdlib/DA-NonEmpty.html#function-da-nonempty-cons-63704 cons :: a -> NonEmpty a -> NonEmpty a +-- | Alias for `cons`. +@url https://docs.digitalasset.com/build/3.4/reference/daml/stdlib/DA-NonEmpty.html#function-da-nonempty-ltpipe-87825 +(<|) :: a -> NonEmpty a -> NonEmpty a + -- | Append or concatenate two non-empty lists. @url https://docs.digitalasset.com/build/3.4/reference/daml/stdlib/DA-NonEmpty.html#function-da-nonempty-append-34337 append :: NonEmpty a -> NonEmpty a -> NonEmpty a diff --git a/sdk/docs/sharable/sdk/reference/daml/stdlib/DA-NonEmpty.rst b/sdk/docs/sharable/sdk/reference/daml/stdlib/DA-NonEmpty.rst index 4d04fc906efd..9dfe63332b39 100644 --- a/sdk/docs/sharable/sdk/reference/daml/stdlib/DA-NonEmpty.rst +++ b/sdk/docs/sharable/sdk/reference/daml/stdlib/DA-NonEmpty.rst @@ -26,6 +26,13 @@ Functions Prepend an element to a non\-empty list\. +.. _function-da-nonempty-ltpipe-87825: + +`(<|) `_ + \: a \-\> :ref:`NonEmpty ` a \-\> :ref:`NonEmpty ` a + + Alias for ``cons``\. + .. _function-da-nonempty-append-34337: `append `_