# New Functions

fn:is-NaN(123): false

fn:is-NaN("abc"): true

fn:is-NaN(math:sqrt(-1): true

fn:characters("Hallo Welt!"): H a l l o W e l t !

fn:some((1, 2, 3), ->{. mod 2 = 0}): true

fn:some(("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"), contains(?, "n")): true

fn:all((1, 2, 3), ->{. mod 2 = 0}): false

fn:all(("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"), contains(?, "n")): false

fn:range(("a", "b", "c", "d", "e"), matches(?, "c")): c d e

fn:highest(1 to 25, (), ->{. idiv 10}): 20 21 22 23 24 25

fn:lowest(1 to 25, (), ->{. idiv 10}): 1 2 3 4 5 6 7 8 9

fn:index-where(("blau", "gelb", "rot", "schwarz"), ->{contains(., "a")}): 1 4

fn:index-where(1 to 10, ->{. mod 2 = 0})): 2 4 6 8 10

fn:items-after($s, function($x){fn:string-length($x) = 1}): ab abc xyz

fn:items-before($s, function($x){fn:string-length($x) = 2}): a

fn:items-from($s, function($x){fn:string-length($x) = 3}): abc xyz

fn:items-until($s, function($x){fn:string-length($x) = 3}): a ab abc

fn:slice(("a", "b", "c", "d", "e"), start:2, end:4): b c d