From 9eaa720361d70461f6ed6542d4a6041ae919bd17 Mon Sep 17 00:00:00 2001 From: Drahflow Date: Fri, 19 Jun 2015 12:30:21 +0200 Subject: Improved performance of conds --- compiler/standard.ey | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/compiler/standard.ey b/compiler/standard.ey index 9a33253..a6b66ef 100644 --- a/compiler/standard.ey +++ b/compiler/standard.ey @@ -28,8 +28,8 @@ [ 1 -1202 1 add range { -110 sub a -01 }' each -- ] # TODO: rethink this one, seems overly complicated } /reverse deffd -{ _ len { |or fold } { 0 } ? * } /any deffd -{ _ len { |and fold } { 1 } ? * } /all deffd +{ _ len { |or fold }' { 0 }' ? * }' /any deffd +{ _ len { |and fold }' { 1 }' ? * }' /all deffd { =*p { [ -01 { _ p { } { -- } ? * } each ] @@ -55,17 +55,17 @@ } /assert deffd { ==s - [ s keys { s -01 . } each ] + [ s keys { s -01 . }' each ] } /values deffd { _ =*conds len ==max - 0 ==i { i max lt } { - i conds * { i 1 add conds * max =i } { } ? * + 0 ==i { i max lt }" { + i conds * { i 1 add conds * max =i }" { }" ? * i 2 add =i - } loop + }" loop } /conds deffd -{ -1010 gt -021 ? } /max deffd -{ -1010 lt -021 ? } /min deffd +{ -1010 gt -021 ? }' /max deffd +{ -1010 lt -021 ? }' /min deffd # vim: syn=elymas -- cgit v1.2.3