view prolog/ops.pl @ 2:546bfd3988b0

Added unpolished pldoc documentation.
author samer
date Fri, 13 Jan 2012 15:53:04 +0000
parents 0dd31a8c66bd
children
line wrap: on
line source

:- module(ops,[
		op(550,xfx,..)		% range of integers
	,	op(550,xfx,--)		% closed real interval
	,	op(600,xfx,--\)	% half open real interval
	,	op(1100,xfx,:<:)	% subtype declaration
	,	op(1100,xfx,::=)	% definition
	,	op(1100,xfx,:=:)	% type equivalence/definition
	,	op(1100,xfx,::)	% declaration
	,	op(1100,xfx,<-)	% element of, instance etc.
	%,	op(1050,yfx,¬)		% restriction, eg real¬integer means fractional
	,	op(750,xfy,\\)		% lambda abdstraction
	,	op(400,xfy,\) 		% reverse matrix division
	,	op(800,xfx,~)		% for annotations
	,	op(900,fy,struct)
	,	op(900,fy,options)
	,	op(100,yfx,@)		% used for signal@rate...
	,	op(200,yfx,++)		% used for sequential composition
	,	op(700,xfx,in)
	,	op(150,yfx,`)     % function application
	,	op(100,yfx,/)	
	%,	op(400,xfy,>>)	% monad sequencing NB: standard prolog has yfx not xfy
	%,	op(400,xfy,>>=)	% monad bind
	,	op(1050,xfy,>>)	% monad sequencing NB: standard prolog has yfx not xfy
	,	op(1050,xfy,>>=)	% monad bind
	,	op(100,fx,'<?>')
	,	op(800,xfx,'</>')	
	,	op(100,fx,?)
	]).

/** <module> - Operator declarations

This module consists entirely of operator declarations, as follows:
==
op(550,xfx,..).
op(550,xfx,--).
op(600,xfx,--\).
op(1100,xfx,:<:).
op(1100,xfx,::=).
op(1100,xfx,:=:).
op(1100,xfx,::).
op(1100,xfx,<-).
op(750,xfy,\\).
op(400,xfy,\).
op(800,xfx,~).
op(900,fy,maybe).
op(900,fy,struct).
op(900,fy,options).
op(100,yfx,@).
op(200,yfx,++).
op(700,xfx,in).
op(150,yfx,`).
op(100,yfx,/).
op(1050,xfy,>>).
op(1050,xfy,>>=).
op(100,fx,'<?>').
op(800,xfx,'</>').
op(100,fx,?).
==

@author Samer Abdallah
*/