haskell - Conversion between Int and fractional values -


i programming in haskell , having trouble following code:

exactrootlist :: int -> int -> [int] exactrootlist ini end =        [x | x<-[ini .. end],  (floor (sqrt x)) == (ceiling (sqrt x))] 

then, when execute:

> hugs myprogram.hs 

i get

error instances of (floating int, realfrac int) required definition of exactrootlist 

i not understand error.

my program should show list of numbers have exact root 4 or 9, on interval [a, b] , b 2 params of function. example:

exactrootlist 1 10 

it must return

1 4 9 

because between 1 , 10 1, 4 , 9 have exact root.

greetings!

if @ type of sqrt see works on types instance of floating:

> :t sqrt sqrt :: floating => -> 

as know, int not floating point value. need convert ints (the variable x) using fromintegral:

[x | x<-[ini .. end],  let = fromintegral x                        in (floor (sqrt a)) == (ceiling (sqrt a))] 

Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -