Camel spotter: Oh, it was extremely interesting, very, very -
- quite... it was dull; dull, dull, dull, oh God it was
- dull. Sitting in the Waterloo waiting room. ...
+ quite... it was dull; dull, dull, dull, oh God it was dull.
+ Sitting in the Waterloo waiting room. ...
from You're No Fun Anymore,
Monty Python's Flying Circus
OCaml module language is powerful. So extremely powerful that you can
-be lost yourself easily inside huge OCaml projects with tons of
-modules. Spotting the definition of a variable is sometimes
-"extremely interesting". Let's see such a dull example:
+be lost yourself easily inside a huge OCaml project with tons of modules.
+Spotting the definition of a variable is sometimes "extremely interesting".
+Let's see such an "exciting" example:
definition. Where to find it? Just from the code you are looking at,
it is not sure: if you are enough lucky it may be f in m.ml, n.ml or
o.ml. Otherwise, it may be O.f in n.ml. Or probably N.O.f in
-m.ml. More over, there can be complex module operations in m.ml (i.e
-includes, functor applications) and in such cases the definition may
-be found somewhere completely unexpected. Module packing, module load
-paths and library installation without .ml files complicate the
+m.ml. If you are unlucky and the project is so sophisticated, there could
+be complex module operations in m.ml (i.e includes, functor applications)
+and therefore the definition might be found somewhere completely unexpected.
+Module packing, module load paths and library installation without .ml files
+complicate the situation even worse.
You first days after joining a large OCaml project should be this kind
-of manual value definition spotting with find + grep. Yes, actually it
-is very educational: you can learn a lot about the project struggling
+of manual value definition spotting with find + grep commands. Yes, actually
+it is very educational: you can learn a lot about the project struggling
in the source tree (only if your collegues have organized things very
-well :-P), but it is dull job too, if they use too many "open M" in
+well :-P), but it is still a dull job...
-To say short, OCamlSpotter is a program which does this dull job
-automatically for you and permits your energy for something more
-"interesting" like Yeti spotting:
+To say short, OCamlSpotter is a tool which does this dull job automatically
+for you and permits your energy for something more "interesting" like Yeti
- - The -annot (-dtypes) option of ocamlc and ocamlopt is extended and
- creates <module>.spot files, which record the localtion information
- of the values defined and used in the module.
+ - The -annot option of ocamlc and ocamlopt is extended and creates
+ <module>.spot files (<module>.spit for .mli), which record the location
+ information of the names defined and used in the module.
- - A small application ocamlspot provides automatic where-about
- spotting of the definition of the variable you are interested in.
+ - A small application ocamlspot provides automatic where-about spotting
+ of the definition of the name you are interested in.
- ocamlspot.el provides interactive ocaml-spotting of definition
- - Interfaces for other editors such as vi can be built easily
+ - Interfaces for other editors such as vi can be built easily
+Due to the artificial setting of the release dead line (2008/12/25), this
+software contain lots of bugs and todos.
+Read LICENSE file in this directory.
+ Jun FURUSE (email@example.com). Bug reports and comments are welcome.
+ Patches are appreciated. Donating camel related gadgets is the most
+ wonderful. Complaints might be simply ignored.