! Copyright (C) 2007, 2010 Slava Pestov, Daniel Ehrenberg.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs definitions effects kernel
-kernel.private math sequences sequences.private words ;
+USING: accessors arrays assocs definitions effects hashtables
+kernel kernel.private math sequences sequences.private words ;
IN: memoize
<PRIVATE
PREDICATE: memoized < word "memoize" word-prop >boolean ;
-M: memoized definer drop \ MEMO: \ ; ;
+M: memoized definer
+ def>> ?first hashtable? \ MEMO: \ IDENTITY-MEMO: ? \ ; ;
M: memoized definition "memo-quot" word-prop ;