summaryrefslogtreecommitdiff
path: root/mnv/runtime/syntax/testdir/input/mnv9_tuples.mnv
blob: 946a6be1b77b410a2355728f7c1d27e881377b3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
mnv9script
# MNV9 tuples


# https://github.com/Project-Tick/Project-Tick/pull/16935#issuecomment-2738310273

function LegacyMakeEntry(key, value) abort
    return (a:key, a:value)
endfunction

def MakeEntry(key: string, value: any): tuple<string, any>
    return (key, value)
enddef

function LegacyMakeLazyList(e1, e2) abort
    return ({e1_, e2_ -> {-> [e1_, e2_]}}(a:e1, a:e2))
endfunction

def MakeLazyList(e1: any, e2: any): func(): list<any>
    return (((e1_: any, e2_: any) => () => [e1_, e2_])(e1, e2))
enddef

echo MakeEntry('key', 'value') == list2tuple(MakeLazyList('key', 'value')())
echo LegacyMakeEntry('key', 'value') == list2tuple(LegacyMakeLazyList('key', 'value')())