So I have decided to write a GUI library using FFI binding (currently working only Windows or Cygwin). There is a huge problem that is I have never written it before so I have no idea what is the best way to do it. After couple of days, I decided to use CLOS based method (named by me :-P).
It's not done yet but the code looks like this;
(import (clos user) (turquoise)) (let ((w (make <frame> :name "Sample" :width 200 :height 200)) (b (make <button> :name "ok" :x-point 37 :y-point 50))) (add! w b) (add! b (lambda (action) (print action))) (show w))The library
(turquoise)is the GUI library. This piece of code just shows a window contains a button which prints action argument to standard output when it's pressed. The basic idea is using class as a component representation the same as other modern libraries and show thoese classes to users so that they can extend it easily.
I'm not sure if I should make
add-action-listner!instead of using generic method
add!. If you have opinions about it, please let me know.