Property definitions

geometry $ ILine :: defaultinit
# Abstract 2D line segment between two ordered points
interface ILine[N: Numeric]
	# The type of points that ends the segment
	type P: IPoint[N]

	# Point at the left-end of the segment
	fun point_left: P is abstract

	# Point at the right-end of the segment
	fun point_right: P is abstract

	redef fun to_s do return "{point_left}--{point_right}"
end
lib/geometry/points_and_lines.nit:166,1--178,3