From 7b7df45c507b60bc2f5b8aa105af29c28d713cc8 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Tue, 31 Jul 2012 22:03:06 -0700 Subject: [PATCH] alien.libraries: allow "foo f address-of" to be folded. --- basis/alien/libraries/libraries.factor | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/basis/alien/libraries/libraries.factor b/basis/alien/libraries/libraries.factor index a046e3b9f5..931e407cae 100755 --- a/basis/alien/libraries/libraries.factor +++ b/basis/alien/libraries/libraries.factor @@ -56,8 +56,12 @@ M: library dispose dll>> [ dispose ] when* ; ERROR: no-such-symbol name library ; -: address-of ( name library -- value ) - 2dup load-library dlsym-raw [ 2nip ] [ no-such-symbol ] if* ; +: (address-of) ( name -- value ) + dup f dlsym-raw [ nip ] [ f no-such-symbol ] if* ; foldable + +: address-of ( name library/f -- value ) + [ 2dup load-library dlsym-raw [ 2nip ] [ no-such-symbol ] if* ] + [ (address-of) ] if* ; inline SYMBOL: deploy-libraries