Changes between Version 5 and Version 6 of PIL


Ignore:
Timestamp:
10/04/24 09:47:23 (20 months ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PIL

    v5 v6  
    132132- `($set<T>)$empty`   // empty set of type T
    133133- `$logic _Bool $set_in(T x, $set<T> s);`  // is x an element of s?
    134 - `$pure $set<T> $set_with($set<T> s, T x);` // s U {x}
    135 - `$pure $set<T> $set_without($set<T> s, T x);` // s - {x}
    136 - `$pure $set<T> $set_union($set<T> s1, $set<T> s2);` // s1 U s2
    137 - `$pure $set<T> $set_difference($set<T> s1, $set<T> s2);` // s1-s2
    138 - `$pure $set_intersection($set<T> s1, $set<T> s2);` // s1 \cap s2
    139 - `$pure T[] $set_elements($set<T> s);`
    140 - `$pure _Bool $set_isSubsetOf($set<T> s1, $set<T> s2);`
    141 - `$pure $set<U> $set_map($set<T> s, $fun<T,U> f);`
     134- `$logic $set<T> $set_with($set<T> s, T x);` // s U {x}
     135- `$logic $set<T> $set_without($set<T> s, T x);` // s - {x}
     136- `$logic $set<T> $set_union($set<T> s1, $set<T> s2);` // s1 U s2
     137- `$logic $set<T> $set_difference($set<T> s1, $set<T> s2);` // s1-s2
     138- `$logic $set_intersection($set<T> s1, $set<T> s2);` // s1 \cap s2
     139- `$logic T[] $set_elements($set<T> s);`
     140- `$logic _Bool $set_isSubsetOf($set<T> s1, $set<T> s2);`
     141- `$logic $set<U> $set_map($set<T> s, $fun<T,U> f);`
    142142
    143143Mutating procedures:
     
    156156
    157157Logic functions:
    158 - `$pure T[] $seq_fun($int len, $fun<$int,T> f);`
    159 - `$pure T[] $seq_uniform($int n, T val);`
    160 - `$pure $int $length(T[] a);` // length of a
    161 - `$pure T[] $seq_write(T[] a, int i, T x);`  // a[i:=x]
    162 - `$pure T[] $seq_subseq(T[] a, int i, int n);`  // a[i..i+n-1]
    163 - `$pure T[] $seq_without(T[] a, int i);` // a with position i removed
    164 - `$pure T[] $seq_with(T[] a, int i, T x);`
    165 - `$pure T[] $seq_concat(T[] a1, T[] a2);`
    166 - `$pure U[] $seq_map(T[] a, $fun<T,U> f);`
    167 - `$pure T[] $seq_filter(T[] a, $fun<T,_Bool> f);`
    168 - `$pure U $seq_foldl(T[] a, $fun<$tuple<T,U>,U> f, U init);`
    169 - `$pure U $seq_foldr(T[] a, $fun<$tuple<T,U>,U> f, U init); `
     158- `$logic T[] $seq_fun($int len, $fun<$int,T> f);`
     159- `$logic T[] $seq_uniform($int n, T val);`
     160- `$logic $int $length(T[] a);` // length of a
     161- `$logic T[] $seq_write(T[] a, int i, T x);`  // a[i:=x]
     162- `$logic T[] $seq_subseq(T[] a, int i, int n);`  // a[i..i+n-1]
     163- `$logic T[] $seq_without(T[] a, int i);` // a with position i removed
     164- `$logic T[] $seq_with(T[] a, int i, T x);`
     165- `$logic T[] $seq_concat(T[] a1, T[] a2);`
     166- `$logic U[] $seq_map(T[] a, $fun<T,U> f);`
     167- `$logic T[] $seq_filter(T[] a, $fun<T,_Bool> f);`
     168- `$logic U $seq_foldl(T[] a, $fun<$tuple<T,U>,U> f, U init);`
     169- `$logic U $seq_foldr(T[] a, $fun<$tuple<T,U>,U> f, U init); `
    170170
    171171Mutating expressions:
     
    182182- `m1 == m2`
    183183- `($map<K,V>)$empty`
    184 - `$pure V $map_get($map<K,V> K key);`
    185 - `$pure _Bool $map_containsKey($map<K,V> map, K key);`
    186 - `$pure _Bool $map_containsValue($map<K,V> map, V val);`
    187 - `$pure $map<K,V> $map_with($map<K,V> map, K key, V val);`
    188 - `$pure $map<K,V> $map_without($map<K,V> map, K key);`
    189 - `$pure $set<K> $map_keys($map<K,V> map);`
    190 - `$pure $set<$tuple<K,V>> $map_entries($map<K,V> map);`
     184- `$logic V $map_get($map<K,V> K key);`
     185- `$logic _Bool $map_containsKey($map<K,V> map, K key);`
     186- `$logic _Bool $map_containsValue($map<K,V> map, V val);`
     187- `$logic $map<K,V> $map_with($map<K,V> map, K key, V val);`
     188- `$logic $map<K,V> $map_without($map<K,V> map, K key);`
     189- `$logic $set<K> $map_keys($map<K,V> map);`
     190- `$logic $set<$tuple<K,V>> $map_entries($map<K,V> map);`
    191191
    192192Mutating procedures: