- Overview
- Tutorials
- Getting started
- Get started with Canton and the JSON Ledger API
- Get Started with Canton, the JSON Ledger API, and TypeScript
- Get started with Canton Network App Dev Quickstart
- Get started with smart contract development
- Basic contracts
- Test templates using Daml scripts
- Build the Daml Archive (.dar) file
- Data types
- Transform contracts using choices
- Add constraints to a contract
- Parties and authority
- Compose choices
- Handle exceptions
- Work with dependencies
- Functional programming 101
- The Daml standard library
- Test Daml contracts
- Next steps
- Application development
- Getting started
- Development how-tos
- Component how-tos
- Explanations
- References
- Application development
- Smart contract development
- Daml language cheat sheet
- Daml language reference
- Daml standard library
- DA.Action.State.Class
- DA.Action.State
- DA.Action
- DA.Assert
- DA.Bifunctor
- DA.Crypto.Text
- DA.Date
- DA.Either
- DA.Exception
- DA.Fail
- DA.Foldable
- DA.Functor
- DA.Internal.Interface.AnyView.Types
- DA.Internal.Interface.AnyView
- DA.List.BuiltinOrder
- DA.List.Total
- DA.List
- DA.Logic
- DA.Map
- DA.Math
- DA.Monoid
- DA.NonEmpty.Types
- DA.NonEmpty
- DA.Numeric
- DA.Optional
- DA.Record
- DA.Semigroup
- DA.Set
- DA.Stack
- DA.Text
- DA.TextMap
- DA.Time
- DA.Traversable
- DA.Tuple
- DA.Validation
- GHC.Show.Text
- GHC.Tuple.Check
- Prelude
- Smart contract upgrading reference
- Glossary of concepts
DA.Tuple¶
Tuple - Ubiquitous functions of tuples.
Functions¶
- first
: (a -> a’) -> (a, b) -> (a’, b)
The pair obtained from a pair by application of a programmer supplied function to the argument pair’s first field.
- second
: (b -> b’) -> (a, b) -> (a, b’)
The pair obtained from a pair by application of a programmer supplied function to the argument pair’s second field.
- both
: (a -> b) -> (a, a) -> (b, b)
The pair obtained from a pair by application of a programmer supplied function to both the argument pair’s first and second fields.
- swap
: (a, b) -> (b, a)
The pair obtained from a pair by permuting the order of the argument pair’s first and second fields.
- dupe
: a -> (a, a)
Duplicate a single value into a pair.
> dupe 12 == (12, 12)
- fst3
: (a, b, c) -> a
Extract the ‘fst’ of a triple.
- snd3
: (a, b, c) -> b
Extract the ‘snd’ of a triple.
- thd3
: (a, b, c) -> c
Extract the final element of a triple.
- curry3
: ((a, b, c) -> d) -> a -> b -> c -> d
Converts an uncurried function to a curried function.
- uncurry3
: (a -> b -> c -> d) -> (a, b, c) -> d
Converts a curried function to a function on a triple.