# std.parse

Parsing helpers for turning text into typed Tea values.

```tea
use parse from "std.parse"
```

Examples may be fragments requiring the module import or additional setup.

## std.parse.try_int

```tea
pub def try_int(text: String) -> Int ! ParseError
```

Parse an integer from text.

```tea
use parse from "std.parse"

def demonstrate() -> Void
  var value = try parse.try_int("many") catch err
    case is parse.ParseError.InvalidInt => 0
    case _ => 0
  end
  @println(value) # 0
end

demonstrate()
```

## std.parse.int

```tea
pub def int(text: String) -> Int
```

Parse an integer from text and panic on invalid input.

```tea
use parse from "std.parse"

@println(parse.int(" 42 ")) # 42
```

## std.parse.try_float

```tea
pub def try_float(text: String) -> Float ! ParseError
```

Parse a floating-point number from text.

```tea
use parse from "std.parse"

def demonstrate() -> Void
  var value = try parse.try_float("unknown") catch err
    case is parse.ParseError.InvalidFloat => 0.0
    case _ => 0.0
  end
  @println(value) # 0
end

demonstrate()
```

## std.parse.float

```tea
pub def float(text: String) -> Float
```

Parse a floating-point number from text and panic on invalid input.

```tea
use parse from "std.parse"

@println(parse.float("-3.5")) # -3.5
```

## std.parse.try_bool

```tea
pub def try_bool(text: String) -> Bool ! ParseError
```

Parse a boolean from text.

```tea
use parse from "std.parse"

def demonstrate() -> Void
  var value = try parse.try_bool("maybe") catch err
    case is parse.ParseError.InvalidBool => false
    case _ => false
  end
  @println(value) # false
end

demonstrate()
```

## std.parse.bool

```tea
pub def bool(text: String) -> Bool
```

Parse a boolean from text and panic on invalid input.

```tea
use parse from "std.parse"

@println(parse.bool("YES")) # true
@println(parse.bool("off")) # false
```

## std.parse.words

```tea
pub def words(text: String) -> List[String]
```

Split text into non-empty whitespace-delimited tokens.

```tea
use parse from "std.parse"

@println(parse.words("tea  coffee\twater")) # [tea, coffee, water]
```
