PistonDevelopers / dyon

A rusty dynamically typed scripting language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Option value design

bvssvni opened this issue · comments

Dyon has no null value, but uses some(val) and none(). It has a lot of common with result value, but there are a few differences.

  • some(x)
  • none()
  • unwrap(some(x)) returns x
  • none()? propagates an error, returning from the function

The type of option is opt (any type) and opt[T].

This is designed for:

  • Explicitly declare when a value is optional
  • Check when mutating a variable that it also is optional
  • Convenient for debugging
  • Common way of handling errors