:- use_module(library(fld)). :- fld_object(person, [name, age, gender]). people([ person(mary,25,female), person(frank,40,male), person(greg,34,male), person(adriana,23,female) ]). :- begin_tests(fld_list_get). test(fld_using_include, [nondet]) :- people(People), include(fld(gender(female)), People, Girls), Girls = [Girl1,Girl2], fld(name(mary), Girl1), fld(name(adriana), Girl2). test(fld_using_exclude, [nondet]) :- people(People), exclude(fld(gender(female)), People, Men), Men = [Man1,Man2], fld(name(frank), Man1), fld(name(greg), Man2). test(fld_using_partition, [nondet]) :- people(People), partition(fld(gender(male)), People, Men, Girls), Men = [Man1,Man2], fld(name(frank), Man1), fld(name(greg), Man2), Girls = [Girl1,Girl2], fld(name(mary), Girl1), fld(name(adriana), Girl2). :- end_tests(fld_list_get).