Topic: why does one function need an Implicit type and another not?

Trying to draw numbers on a graphic window.
First function (Eight) works fine. But when I added the second function, I get a failed compile because:
"Two Main programs at 1 and 2."  What's up?

program main
use appgraphics
implicit none
    integer::window
    integer seven, eight, res
    window = initwindow(800, 600)
    res = eight(50,300,10)
    res = seven(65,300,10)
    call loop()   
    call closewindow(window)
end program main

integer function eight(x,y,r)
    use appgraphics
    !Draws a figure eight of size r at start point (x,y).
    integer x,y,r  !r is the radius.
    call circle(x+r,y+r,r)
    call circle(x+r,y+3*r,r)
end function eight

integer function seven(x,y,s)
    use appgraphics
    integer x, y, s
    call bar(x,y,x+s,y+s)
end function seven

Re: why does one function need an Implicit type and another not?

Do you currently have a project with multiple Fortran source files?  There aren't multiple program declarations in this single file, but, if you have a project with multiple Fortran files, it is almost certainly compiling everything and encountering two programs.

Jeff Armstrong
Approximatrix, LLC