- Overview
- Tutorials
- Getting started
- Get started with Canton and the JSON Ledger API
- Get Started with Canton, the JSON Ledger API, TypeScript and WebSockets
- Get Started with Canton, the JSON Ledger API, and TypeScript
- Multi-Synchronizer Operations with the JSON Ledger API and TypeScript
- Get started with Canton Network App Dev Quickstart
- Using the JSON Ledger API
- Deploy Quickstart to DevNet
- Appendix
- 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 (Deprecated)
- Work with dependencies
- Functional programming 101
- The Daml standard library
- Test Daml contracts
- Next steps
- Interfaces
- Application development
- Getting started
- Development how-tos
- Best practices for Canton Network application development
- System design
- Application development
- How to use the Canton Network App Dev Quickstart
- Develop
- How to upload and query Daml packages
- How to allocate and query Daml parties
- Multi-Synchronizer Application Best Practices
- How to Onboard and Use External Parties in Quickstart
- How to work with contracts and transactions in Java
- How to disclose contracts to non-stakeholders
- How to query contracts and transactions using SQL
- Debug
- Observe
- Secure
- Harden
- Optimize
- Upgrade
- Smart contract development
- Migration guides
- Component how-tos
- Explanations
- References
- Application development
- Smart contract development
- Daml language cheat sheet
- Daml language reference
- Overview: Template Structure
- Reference: Templates
- Reference: Choices
- Reference: Updates
- Reference: Data Types
- Reference: Built-in Functions
- Reference: Expressions
- Reference: Functions
- Reference: Daml File Structure
- Reference: Daml Packages
- Reference: Contract Keys
- Reference: Interfaces
- Reference: Exceptions (Deprecated)
- Reference: Serializable
- Fixity, Associativity and Precedence
- 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
- DA.ContractKeys
- GHC.Show.Text
- GHC.Tuple.Check
- Prelude
- Daml Script
- Smart contract upgrading reference
- Glossary of concepts
DA.Traversable¶
Class of data structures that can be traversed from left to right, performing an action on each element.
You typically would want to import this module qualified to avoid clashes with
functions defined in Prelude. Ie.:
import DA.Traversable qualified as F
Typeclasses¶
class (Functor t, Foldable t) => Traversable t where
Functors representing data structures that can be traversed from left to right.
- mapA
: Applicative f => (a -> f b) -> t a -> f (t b)
Map each element of a structure to an action, evaluate these actions from left to right, and collect the results.
- sequence
: Applicative f => t (f a) -> f (t a)
Evaluate each action in the structure from left to right, and collect the results.
instance Ord k => Traversable (Map k)
instance Traversable TextMap
instance Traversable Optional
instance Traversable NonEmpty
instance Traversable (Validation err)
instance Traversable (Either a)
instance Traversable ([])
instance Traversable a
Functions¶
- forA
: (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b)
forAismapAwith its arguments flipped.