(***********************************************************************) (* *) (* Applied Type System *) (* *) (* Hongwei Xi *) (* *) (***********************************************************************) (* * ATS - Unleashing the Power of Types! * * Copyright (C) 2002-2008 Hongwei Xi, Boston University * * All rights reserved * * ATS is free software; you can redistribute it and/or modify it under * the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the * Free Software Foundation; either version 3, or (at your option) any * later version. * * ATS is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. * * You should have received a copy of the GNU General Public License * along with ATS; see the file COPYING. If not, please write to the * Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. * *) (* ****** ****** *) // author of the file: Hongwei Xi (hwxi AT cs DOT bu DOT edu) (* ****** ****** *) // some fixity declarations #include "prelude/params.hats" #if VERBOSE_FIXITY #then #print "Loading [fixity.ats] starts!\n" #endif (* ****** ****** *) // prefix 00 ! (* static *) prefix 99 ! (* dynamic *) // postfix 80 .lab // dynamic // postfix 80 ->lab // dynamic // prefix 79 & // dynamic // infixl 70 app // postfix 69 ? prefix 61 ~ infixl 60 * / infixl ( * ) imul imul1 imul2 nmul umul infixl ( / ) idiv idiv1 idiv2 idiv3 ndiv udiv infix 60 mod infix (mod) nmod nmod1 umod uimod infixl 50 + - infixl ( + ) iadd fadd padd uadd infixl ( - ) isub nsub fsub psub usub infixl 41 asl asr lsl lsr infix 40 < <= > >= << >> infixl ( < ) ilt flt plt ult infixl ( <= ) ilte flte plte ulte infixl ( > ) igt fgt pgt ugt infixl ( >= ) igte fgte pgte ugte infixr 40 :: @ <: infix 30 = := == <> != infix ( = ) ieq feq peq ueq infix ( <> ) ineq fneq pneq uneq infixr 20 -> infixl 20 && infixl ( && ) andalso land infixl 10 || infixl ( || ) orelse lor lxor (* infix 0 >> << *) (* ****** ****** *) #if VERBOSE_FIXITY #then #print "Loading [fixity.ats] finishes!\n" #endif (* end of [fixity.ats] *)