Hex Artifact Content
Not logged in

Artifact 0ed24dcab852d75870d7ef57017a4141a49c5227:


0000: 0a 28 6c 69 62 72 61 72 79 20 28 73 72 66 69 20  .(library (srfi 
0010: 73 31 39 20 74 69 6d 65 20 63 6f 6d 70 61 74 29  s19 time compat)
0020: 0a 0a 20 20 28 65 78 70 6f 72 74 20 66 6f 72 6d  ..  (export form
0030: 61 74 0a 20 20 20 20 20 20 20 20 20 20 68 6f 73  at.          hos
0040: 74 3a 74 69 6d 65 2d 72 65 73 6f 6c 75 74 69 6f  t:time-resolutio
0050: 6e 0a 20 20 20 20 20 20 20 20 20 20 68 6f 73 74  n.          host
0060: 3a 63 75 72 72 65 6e 74 2d 74 69 6d 65 20 0a 20  :current-time . 
0070: 20 20 20 20 20 20 20 20 20 68 6f 73 74 3a 74 69           host:ti
0080: 6d 65 2d 6e 61 6e 6f 73 65 63 6f 6e 64 20 0a 20  me-nanosecond . 
0090: 20 20 20 20 20 20 20 20 20 68 6f 73 74 3a 74 69           host:ti
00a0: 6d 65 2d 73 65 63 6f 6e 64 20 0a 20 20 20 20 20  me-second .     
00b0: 20 20 20 20 20 68 6f 73 74 3a 74 69 6d 65 2d 67       host:time-g
00c0: 6d 74 2d 6f 66 66 73 65 74 29 0a 0a 20 20 28 69  mt-offset)..  (i
00d0: 6d 70 6f 72 74 20 28 63 68 65 7a 73 63 68 65 6d  mport (chezschem
00e0: 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72  e).          (pr
00f0: 65 66 69 78 20 28 6f 6e 6c 79 20 28 63 68 65 7a  efix (only (chez
0100: 73 63 68 65 6d 65 29 0a 20 20 20 20 20 20 20 20  scheme).        
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0120: 63 75 72 72 65 6e 74 2d 74 69 6d 65 0a 20 20 20  current-time.   
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 74 69 6d 65 2d 6e 61 6e 6f 73 65       time-nanose
0150: 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20  cond.           
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d               tim
0170: 65 2d 73 65 63 6f 6e 64 29 0a 20 20 20 20 20 20  e-second).      
0180: 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74              host
0190: 3a 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 68  :))..  (define h
01a0: 6f 73 74 3a 74 69 6d 65 2d 72 65 73 6f 6c 75 74  ost:time-resolut
01b0: 69 6f 6e 20 31 30 30 30 29 0a 0a 20 20 3b 3b 20  ion 1000)..  ;; 
01c0: 28 64 65 66 69 6e 65 20 28 68 6f 73 74 3a 74 69  (define (host:ti
01d0: 6d 65 2d 67 6d 74 2d 6f 66 66 73 65 74 20 74 29  me-gmt-offset t)
01e0: 0a 20 20 3b 3b 20 20 20 28 64 61 74 65 2d 7a 6f  .  ;;   (date-zo
01f0: 6e 65 2d 6f 66 66 73 65 74 20 74 29 29 0a 0a 20  ne-offset t)).. 
0200: 20 28 64 65 66 69 6e 65 20 28 68 6f 73 74 3a 74   (define (host:t
0210: 69 6d 65 2d 67 6d 74 2d 6f 66 66 73 65 74 20 74  ime-gmt-offset t
0220: 29 0a 20 20 20 20 28 64 61 74 65 2d 7a 6f 6e 65  ).    (date-zone
0230: 2d 6f 66 66 73 65 74 20 28 74 69 6d 65 2d 75 74  -offset (time-ut
0240: 63 2d 3e 64 61 74 65 20 74 29 29 29 0a 20 20 20  c->date t))).   
0250: 20 0a 20 20 29 0a                                 .  ).