aboutsummaryrefslogtreecommitdiff
path: root/ps/interop.ps
blob: 8020ab0b0ef510bcf0f5521065dfefe3d7241637 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
% [ ps_val1...] -> ps2mal -> [ mal_val1...]
/ps2mal {
    % convert returned values to Mal types
    [ exch
        { %forall returned values
            dup ==
            dup type /arraytype eq {
                (here1\n) print 
                _list_from_array
            }{ dup type /dicttype eq {
                (here2\n) print
                _hash_map_from_dict
            }{
                (here3\n) print
                % no-op
            } ifelse } ifelse
        } forall 
    ]
    (here4\n) print 
} def