---
name: "Tangence::Meta::Type"
section: "3pm"
platform: "linux"
package: "libtangence-perl"
version: "0.33-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Tangence::Meta::Type"
---

# Tangence::Meta::Type(3pm)

structure representing one "Tangence" value type

## NAME

"Tangence::Meta::Type" - structure representing one "Tangence" value type

## DESCRIPTION

This data structure object represents information about a type, such as a method or event argument, a method return value, or a property element type.

Due to their simple contents and immutable nature, these objects may be implemented as singletons. Repeated calls to the constructor method for the same type name will yield the same instance.

## CONSTRUCTOR

### make

```
   $type = Tangence::Meta::Type->make( $primitive )
```

Returns an instance to represent the given primitive type signature.

```
   $type = Tangence::Meta::Type->make( $aggregate => $member_type )
```

Returns an instance to represent the given aggregation of the given type instance.

### make \_from\_sig

```
   $type = Tangence::Meta::Type->make_from_sig( $sig )
```

Parses the given full Tangence type signature and returns an instance to represent it.

## ACCESSORS

### aggregate

```
   $agg = $type->aggregate
```

Returns `"prim"` for primitive types, or the aggregation name for list and dict aggregate types.

### member\_type

```
   $member_type = $type->member_type
```

Returns the member type for aggregation types. Throws an exception for primitive types.

### sig

```
   $sig = $type->sig
```

Returns the Tangence type signature for the type.

## AUTHOR

Paul Evans \<leonerd@leonerd.org.uk\>
