diff options
| author | Drahflow <drahflow@gmx.de> | 2015-06-16 16:45:09 +0200 |
|---|---|---|
| committer | Drahflow <drahflow@gmx.de> | 2015-06-16 16:45:09 +0200 |
| commit | 87b60ff694de44bbf7a91cd408d675cad681be76 (patch) | |
| tree | 8a5ab041baba6fe02ef26721664605c6daaf5503 /elymas/lib/map.ey | |
| parent | 7f5b57f1f6e6ba311c24f6b38c27cf2bff31d190 (diff) | |
Some performance improvements
Diffstat (limited to 'elymas/lib/map.ey')
| -rw-r--r-- | elymas/lib/map.ey | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/elymas/lib/map.ey b/elymas/lib/map.ey index d58a9a3..536ad8a 100644 --- a/elymas/lib/map.ey +++ b/elymas/lib/map.ey @@ -1,15 +1,16 @@ < - { { .v -01 . }_ [ 0 ] [ 0 ] '' * } "#*" defmd - { [ 0 ] } "#in" deffd - { [ 0 ] } "#out" deffd - { .v keys } "#dom" defmd - { .v ==v =*f v keys { v -01 . f } each } "#each" defmd + 0 ==m # placeholder, zero value is never read + { { =m m .v -01 . }_ [ 0 ] [ 0 ] '' * }' "#*" defmd + { [ 0 ] }" "#in" deffd + { [ 0 ] }" "#out" deffd + { =m m .v keys }' "#dom" defmd + { =m m .v ==v =*f v keys { v -01 . f }' each }' "#each" defmd { 0 } "#istart" deffd - { .v keys len eq } "#iend" defmd - { 1 add } "#istep" deffd - { .v keys * } "#itrans" defmd - { .v -01 .?' } /has defmd - { .v ==v "#iclone" | * ==n v keys { _ v -01 . -01 n =[] } each n } /clone defmd + { =m m .v keys len eq }' "#iend" defmd + { 1 add }" "#istep" deffd + { =m m .v keys * }' "#itrans" defmd + { =m m .v -01 .?' }' /has defmd + { =m m .v ==v "#iclone" | * ==n v keys { _ v -01 . -01 n =[] } each n }' /clone defmd { < < { defv }' > ==v "#=[]" =* > } _ "#iclone" deffd > -- /map deffd |
