### Rules to create a 365-day calendar. ### This version puts 31 days in every month. sp {initialize*calendar (state ^superstate nil) --> ( ^year ^value 2003)} sp {initialize*month*lengths (state ^year ) --> ( ^month ^name january ^days 31) ( ^month ^name february ^days 28) ( ^month ^name march ^days 31) ( ^month ^name april ^days 30) ( ^month ^name may ^days 31) ( ^month ^name june ^days 30) ( ^month ^name july ^days 31) ( ^month ^name august ^days 31) ( ^month ^name september ^days 30) ( ^month ^name october ^days 31) ( ^month ^name november ^days 30) ( ^month ^name december ^days 31)} sp {initialize*first*days (state ^year ) ( ^month ) --> ( ^date 1)} sp {initialize*remaining*days (state ^year ) ( ^month ^days ) ( ^date { < } ) --> ( ^date ( + 1 ))}