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