comparison modules/option.tp @ 338:1458c069c715

Added "value" method to option value and option none. It behaves similarly to value:none, except the none case just propagates the none value and the value case wraps the result in an option value
author Michael Pavone <pavone@retrodev.com>
date Sat, 04 Apr 2015 11:54:46 -0700
parents 38ca63e0a62e
children fd4e0bf5bd9f
comparison
equal deleted inserted replaced
337:b8f721bde066 338:1458c069c715
1 { 1 {
2 _none <- #{ 2 _none <- #{
3 value:none <- :ifval :ifnone { 3 value:none <- :ifval :ifnone {
4 ifnone: 4 ifnone:
5 } 5 }
6 value <- :ifval { self }
6 value? <- { false } 7 value? <- { false }
7 none? <- { true } 8 none? <- { true }
8 } 9 }
9 #{ 10 #{
10 value <- :v { 11 value <- :v {
11 #{ 12 #{
12 value:none <- :ifval :ifnone { 13 value:none <- :ifval :ifnone {
13 ifval: v 14 ifval: v
14 } 15 }
16 value <- :ifval {
17 option value: (ifval: )
18 }
15 value? <- { true } 19 value? <- { true }
16 none? <- { false } 20 none? <- { false }
17 } 21 }
18 } 22 }
19 none <- { _none } 23 none <- { _none }