;; convoluted way to check if a ratio is a perfect integer
;; (todo: improve?)
;; essenzialmente creo una stringa (from the ratio) , poi la splitto, poi controllo che la seconda parte sia uguale a 0 trasformandola in numero di nuovo
(define cl:ratio_is_perfect
(lambda (f)
(equal? 0 (string->number (cadr (cl:string-split (number->string (rational->real f)) "." ))))))