Welcome to the CHICKEN Scheme pasting service

dirty hack with ffi added by dsp on Thu May 10 01:29:23 2012

       (let ((painter (lambda (x y s1 s2)
              (xsetforeground display gc (xblackpixel display screen))
              (xsetbackground display gc (xwhitepixel display screen))
              (xsetfunction display gc GXCOPY)
              (xsetfont display gc font)
              (xselectinput display window (bitwise-ior EXPOSUREMASK BUTTONPRESSMASK))
              (xmapwindow display window)
              (xnextevent display event)
              (xdrawstring display window gc 100 30 "Paranoia is being computed..." 28)
              (xdrawrectangle display window gc x y s1 s2)
              (set-xsegment-x1! ts1 10)
              (set-xsegment-x2! ts1 222)
              (set-xsegment-y1! ts1 30)
              (set-xsegment-y2! ts1 10)
              (set-xsegment-x1! ts2 22)
              (set-xsegment-x2! ts2 130)
              (set-xsegment-y1! ts2 333)
              (set-xsegment-y2! ts2 129)
              #>
                 typedef struct {
                                short a1,a2,b1,b2;
                                } XSegment;
                  XSegment *makesegs(int num){
                  XSegment *s=(XSegment *) malloc(sizeof(XSegment *)*num);
                  return s;
                  }
              <#
              (define makesegs (foreign-lambda c-pointer "makesegs" int))
              (xdrawsegments display window gc (makesegs 2) 2)
              (letrec ((leloop (lambda (num)
                              (cond ((< num 10)
                                (xdrawarc display window gc x y (/ s1 num) (/ s2 num) 0 (/ 19000 num))
                                ;(xdrawline display window gc (+ x (/ x num)) (+ y (/ y num)) (/ s1 2) (/ s2 2))
                                (if (> num 2)
                                (xdrawrectangle display window gc (+ x (/ s1 num)) (+ y (/ s2 num)) (/ s1 num ) (/ s2  num )))
                                (leloop (+ num 1)))))))
                (leloop 1))
              (xflush display)
              (xnextevent display event))))
            (painter 90 500 200 200) (system "sleep 10"))))))

Your annotation:

Enter a new annotation:

Your nick:
The title of your paste:
Your paste (mandatory) :
What's the one-argument procedure to check if a list is empty?
Visually impaired? Let me spell it for you (wav file) download WAV