2006-09-04 23:04:27 -04:00
|
|
|
! Copyright (C) 2006 Chris Double.
|
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
|
|
|
USING: test match namespaces arrays ;
|
|
|
|
|
IN: temporary
|
|
|
|
|
|
2006-09-08 23:40:59 -04:00
|
|
|
MATCH-VARS: ?a ?b ;
|
2006-09-04 23:04:27 -04:00
|
|
|
|
|
|
|
|
[ H{ { ?a 1 } { ?b 2 } } ] [
|
|
|
|
|
{ ?a ?b } { 1 2 } match
|
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
|
|
[ { 1 2 } ] [
|
|
|
|
|
{ 1 2 }
|
|
|
|
|
{
|
2006-09-08 23:40:59 -04:00
|
|
|
{ { ?a ?b } [ ?a ?b 2array ] }
|
2006-09-04 23:04:27 -04:00
|
|
|
} match-cond
|
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
|
|
[ t ] [
|
|
|
|
|
{ 1 2 }
|
|
|
|
|
{
|
|
|
|
|
{ { 1 2 } [ t ] }
|
|
|
|
|
{ f [ f ] }
|
|
|
|
|
} match-cond
|
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
|
|
[ t ] [
|
|
|
|
|
{ 1 3 }
|
|
|
|
|
{
|
|
|
|
|
{ { 1 2 } [ t ] }
|
|
|
|
|
{ { 1 3 } [ t ] }
|
|
|
|
|
} match-cond
|
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
|
|
[ f ] [
|
|
|
|
|
{ 1 5 }
|
|
|
|
|
{
|
|
|
|
|
{ { 1 2 } [ t ] }
|
|
|
|
|
{ { 1 3 } [ t ] }
|
|
|
|
|
{ _ [ f ] }
|
|
|
|
|
} match-cond
|
2006-10-28 07:17:01 -04:00
|
|
|
] unit-test
|
|
|
|
|
|
|
|
|
|
TUPLE: foo a b ;
|
|
|
|
|
|
|
|
|
|
{ 1 2 } [
|
|
|
|
|
1 2 <foo> T{ foo f ?a ?b } match [
|
|
|
|
|
?a ?b
|
|
|
|
|
] bind
|
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
|
|
{ 1 2 } [
|
|
|
|
|
1 2 <foo> \ ?a \ ?b <foo> match [
|
|
|
|
|
?a ?b
|
|
|
|
|
] bind
|
2006-09-04 23:04:27 -04:00
|
|
|
] unit-test
|