]> gitweb.factorcode.org Git - factor.git/commitdiff
calendar.holidays: simplify M\ all holidays.
authorJohn Benediktsson <mrjbq7@gmail.com>
Wed, 7 Feb 2018 04:53:49 +0000 (20:53 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Wed, 7 Feb 2018 04:54:09 +0000 (20:54 -0800)
extra/calendar/holidays/holidays.factor

index 273e2609a2a04f46c08d918fff956aaddf9a3c2a..aa022ace653636c0c35b72ae34800474540786fc 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2009 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors assocs calendar fry kernel locals parser
-sequences vocabs words memoize ;
+sequences vocabs words ;
 IN: calendar.holidays
 
 SINGLETONS: all world commonwealth-of-nations ;
@@ -15,7 +15,10 @@ SYNTAX: HOLIDAY:
     parse-definition ( timestamp/n -- timestamp ) define-declared ;
 
 SYNTAX: HOLIDAY-NAME:
-    [let scan-word "holiday" word-prop :> holidays scan-word :> name scan-object :> value
+    [let
+        scan-word "holiday" word-prop :> holidays
+        scan-word :> name
+        scan-object :> value
     value name holidays set-at ] ;
 >>
 
@@ -24,16 +27,14 @@ GENERIC: holidays ( n singleton -- seq )
 <PRIVATE
 
 : (holidays) ( singleton -- seq )
-    all-words swap '[ "holiday" word-prop _ swap key? ] filter ;
+    all-words [ "holiday" word-prop key? ] with filter ;
 
 M: object holidays
     (holidays) [ execute( timestamp -- timestamp' ) ] with map ;
 
 PRIVATE>
 
-M: all holidays
-    drop
-    all-words [ "holiday" word-prop key? ] with filter ;
+M: all holidays drop (holidays) ;
 
 : holiday? ( timestamp/n singleton -- ? )
     [ holidays ] [ drop ] 2bi '[ _ same-day? ] any? ;