nes
Posts: 137
Nickname: nn
Registered: Jul, 2004
|
|
Re: Namespacey Programming
|
Posted: Oct 12, 2007 12:50 PM
|
|
I never found the dichotomy between OO and functional programming to be very solid. If you have modules, namespaces and multimethods what is so different in OO?
Is the following hypothetical language functional or OO?
Module asteroid Struct asteroid ([int] mass, [3dimension] size) tags [asteroid, rock] Define asteroid_init () Define collide([asteroid] x, [asteroid] y) Define collide([asteroid] x, [spaceship] y) Define set_dimension([asteroid, rock] x, [3dimension] size) Define get_dimension([asteroid, rock] x)
Module spaceship Struct spaceship ([int] maxspeed, [3dimension] size) tags [spaceship, vehicle] Define spaceship_init() Define collide([spaceship] x, [asteroid] y) Define collide([spaceship] x, [spaceship] y) Define set_dimension([spaceship] x, [3dimension] size) Define get_dimension([spaceship] x)
Module vehicle Define drive([vehicle] x)
Module main From asteroid import * From spaceship import * From vehicle import *
brownrock=asteroid_init() set_dimension(brownrock, (8,6,4))
reddwarf9=spaceship_init() set_dimension(reddwarf9, (30,20,50))
drive(reddwarf9) collide(brownrock, reddwarf9) d=get_dimension(reddwarf9)
|
|