1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071(* Js_of_ocaml
* http://www.ocsigen.org/js_of_ocaml/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, with linking exception;
* either version 2.1 of the License, or (at your option) any later version.
*
* This program 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*)modulePoly=structexternal(<):'a->'a->bool="%lessthan"external(<=):'a->'a->bool="%lessequal"external(<>):'a->'a->bool="%notequal"external(=):'a->'a->bool="%equal"external(>):'a->'a->bool="%greaterthan"external(>=):'a->'a->bool="%greaterequal"externalcompare:'a->'a->int="%compare"externalequal:'a->'a->bool="%equal"endmoduleInt_replace_polymorphic_compare=structlet(<)(x:int)y=x<ylet(<=)(x:int)y=x<=ylet(<>)(x:int)y=x<>ylet(=)(x:int)y=x=ylet(>)(x:int)y=x>ylet(>=)(x:int)y=x>=yletcompare(x:int)y=comparexyletequal(x:int)y=x=yletmax(x:int)y=ifx>=ythenxelseyletmin(x:int)y=ifx<=ythenxelseyendmoduleString=structincludeStringletequal(x:string)(y:string)=Poly.equalxyendmoduleChar=structincludeCharletequal(x:char)(y:char)=Poly.equalxyendincludeInt_replace_polymorphic_compare