class Rouge::Lexers::OCaml

def self.keyopts

def self.keyopts
  @keyopts ||= Set.new %w(
    != # & && ( ) * \+ , - -. -> . .. : :: := :> ; ;; < <- =
    > >] >} ? ?? [ [< [> [| ] _ ` { {< | |] } ~
  )
end

def self.keywords

def self.keywords
  @keywords ||= Set.new %w(
    as assert begin class constraint do done downto else end
    exception external false for fun function functor if in include
    inherit initializer lazy let match method module mutable new
    object of open private raise rec sig struct then to true try
    type value val virtual when while with
  )
end

def self.primitives

def self.primitives
  @primitives ||= Set.new %w(unit int float bool string char list array)
end

def self.word_operators

def self.word_operators
  @word_operators ||= Set.new %w(and asr land lor lsl lxor mod or)
end