more cleanups, lint fix
parent
0f7d1a83f8
commit
3f7943fb08
|
@ -128,7 +128,7 @@ PRIVATE>
|
|||
|
||||
: cleanup ( try cleanup-always cleanup-error -- )
|
||||
over >r compose [ dip rethrow ] curry
|
||||
>r (catch) r> ifcc r> call ; inline
|
||||
recover r> call ; inline
|
||||
|
||||
: attempt-all ( seq quot -- obj )
|
||||
[
|
||||
|
|
|
@ -69,7 +69,7 @@ UNION: explicit-inverse normal-inverse math-inverse pop-inverse ;
|
|||
} cond ;
|
||||
|
||||
: math-exp? ( n n word -- ? )
|
||||
{ + - * / ^ } member? -rot [ number? ] 2apply and and ;
|
||||
{ + - * / ^ } member? -rot [ number? ] both? and ;
|
||||
|
||||
: (fold-constants) ( quot -- )
|
||||
dup length 3 < [ % ] [
|
||||
|
|
|
@ -83,7 +83,8 @@ def-hash get-global [
|
|||
! Remove n m shift defs
|
||||
[
|
||||
drop dup length 3 = [
|
||||
dup first2 [ number? ] 2apply and swap third \ shift = and not
|
||||
dup first2 [ number? ] both?
|
||||
swap third \ shift = and not
|
||||
] [ drop t ] if
|
||||
] assoc-subset
|
||||
|
||||
|
@ -132,22 +133,21 @@ M: word lint ( word -- seq )
|
|||
|
||||
GENERIC: run-lint ( obj -- obj )
|
||||
|
||||
: (trim-self)
|
||||
def-hash get-global at* [
|
||||
dupd remove empty? not
|
||||
] [
|
||||
drop f
|
||||
] if ;
|
||||
|
||||
: trim-self ( seq -- newseq )
|
||||
[
|
||||
first2 [
|
||||
def-hash get-global at* [
|
||||
dupd remove empty? not
|
||||
] [
|
||||
drop f
|
||||
] if
|
||||
] subset 2array
|
||||
] map ;
|
||||
[ [ (trim-self) ] subset ] assoc-map ;
|
||||
|
||||
M: sequence run-lint ( seq -- seq )
|
||||
[
|
||||
global [ dup . flush ] bind
|
||||
dup lint 2array
|
||||
] map
|
||||
dup lint
|
||||
] { } map>assoc
|
||||
trim-self
|
||||
[ second empty? not ] subset ;
|
||||
|
||||
|
@ -155,5 +155,9 @@ M: word run-lint ( word -- seq )
|
|||
1array run-lint ;
|
||||
|
||||
: lint-all ( -- seq )
|
||||
all-words run-lint dup [ lint. ] each ;
|
||||
|
||||
all-words run-lint
|
||||
[
|
||||
nip first dup def-hash get at
|
||||
[ first ] 2apply literalize = not
|
||||
] assoc-subset
|
||||
dup [ lint. ] each ;
|
||||
|
|
|
@ -43,7 +43,7 @@ IN: visitor
|
|||
PREDICATE: standard-generic visitor "visitors" word-prop ;
|
||||
PREDICATE: array triple length 3 = ;
|
||||
PREDICATE: triple visitor-spec
|
||||
first3 visitor? >r [ class? ] 2apply and r> and ;
|
||||
first3 visitor? >r [ class? ] both? r> and ;
|
||||
|
||||
M: visitor-spec definer drop \ V: \ ; ;
|
||||
M: visitor definer drop \ VISITOR: f ;
|
||||
|
|
Loading…
Reference in New Issue