############################################################################
#
#	File:     invkdefs.icn
#
#	Subject:  Definitions for operator symbols
#
#	Author:   Ralph E. Griswold
#
#	Date:     February 12, 1995
#
############################################################################
#
#   This file is in the public domain.
#
############################################################################
#
#  These definitions can be used in string invocation, as in
#
#	Plus(i, j)
#
#  Operators that cannot be used in string invocation in the Icon interpreter
#  are omitted.
#
############################################################################

#  Unary operators

$define	Postive		"+"
$define	Negative	"-"
$define	Complement	"~"
$define	Match		"="
$define	Activate	"@"
$define	Refresh		"^"
$define	Size		"*"
$define	Random		"?"
$define	Generate	"!"
$define	Null		"/"
$define	Notnull		"\\"
$define	Dereference	"."

#  Binary operators

$define	Plus		"+"
$define	Minus		"-"
$define	Times		"*"
$define	Divide		"/"
$define	Remainder	"%"
$define	Raise		"^"
$define	Union		"++"
$define	Difference	"--"
$define	Intersection	"**"
$define	Catenation	"||"
$define	ListCatenation	"|||"
$define	Conjunction	"&"
$define	GreaterThan	">"
$define	GreaterEqual	">="
$define	Equal		"="
$define	LessEqual	"<="
$define	LessThan	"<"
$define	NotEqual	"~="
$define	LexGreaterThan	">>"
$define	LexGreaterEqual	">>="
$define	LexEqual	"=="
$define	LexLessEqual	"<<="
$define	LexLessThan	"<<"
$define	LexNotEqual	"~=="
$define	Equivalent	"==="
$define	NotEquivalent	"~==="

#  Other forms

$define	ToBy		"..."
$define	Subscript	"[]"
$define	Section		"[:]"
