Know of an OCaml IDE?
Emacs in Caml mode, or Tuareg mode, or TypeRex mode. TypeRex adds auto-completion to Taureg in emacs - a really nice feature for people who prefer the more graphical IDE's.
Looking for OCaml IDE
There is TypeRex, a new development environment for OCaml. Here is a summary of TypeRex features:
- Improved syntax coloring
- Auto-completion of identifiers (experimental)
- Browsing of identifiers: show type and comment, go to definition, cycle between alternate definitions, and semantic grep;
- Strictly semantic-preserving, local and whole-program refactoring:
- renaming identifiers and compilation units
- open elimination and reference simplification
- Robust w.r.t. not-recompiled, possibly unsaved buffers
- Scalable (used regularly on a few hundreds of source files)
There are some screenshots available on the website. The first release candidate is out since yesterday.
EDIT: The first release (v1.0) is out now :-)
IDE for OCaml language
Editors
• Emacs
◦ ocaml-mode from the standard distribution
◦ alternative tuareg-mode https://forge.ocamlcore.org/projects/tuareg/
− cheat-sheet: http://www.ocamlpro.com/files/tuareg-mode.pdf
◦ camldebug intergration with debugger
◦ type feedback with C-c C-t key shortcut, needs .annot files
• Vim
◦ OMLet plugin
http://www.lix.polytechnique.fr/~dbaelde/productions/omlet.html
◦ For type lookup: either https://github.com/avsm/ocaml-annot
− or http://www.vim.org/scripts/script.php?script_id=2025
− also? http://www.vim.org/scripts/script.php?script_id=1197
• Eclipse
◦ OCaml Development Tools http://ocamldt.free.fr/
◦ an old plugin OcaIDE http://www.algo-prog.info/ocaide/
• TypeRex http://www.typerex.org/
◦ currently mostly as typerex-mode for Emacs but integration with
other editors will become better
◦ Auto-completion of identifiers (experimental)
◦ Browsing of identifiers: show type and comment, go to definition
◦ local and whole-program refactoring: renaming identifiers and compilation units, open elimination
• Some dedicated editors
◦ OCamlEditor http://ocamleditor.forge.ocamlcore.org/
◦ ocamlbrowser inspects libraries and programs
− browsing contents of modules
− search by name and by type
− basic editing, with syntax highlighting
◦ Cameleon http://home.gna.org/cameleon/ (older)
◦ Camelia http://camelia.sourceforge.net/ (even older)
NEW: editor OCaml-top, with syntax highlighting, indentation, type display, work well on all systems.
NEW: Merlin, similar to TypeRex but works better with work-in-progress files, has front-ends to Vim and Emacs currently.
how to search for OCaml functions by name and type
awesome-ocaml has a section on dev tools that should be helpful.
- ocamloscope (github) is sort of an Hoogle for OCaml. Search by name works well. Search by type is less good.
- For local search by name, ocp-browser provides a convenient TUI.
- In your editor, merlin and ocp-index can do lookup-to-definition and lookup-documentation.
- There is a WIP public instance of odig here with a lot (but not all) packages. You can use odig locally too, as stated in another answer.
P.S. The function you are looking for is @@
, and it's in the standard library.
What do I need to know to create a source code editor?
You need to know:
- OCAML Syntax, Features, Keywords, Functions etc...
- C# as this is your native language I guess
- You need to know what features you wanna implement
- ...if it's using a GUI or just from a terminal like nano/vim
- how syntax highlighting works
- how to open and save files
- how autocompletion works
- etc..
You might want to take look at some open source editors like dev-c++ or gedit
Also, as you in person are more web-devvy, you might want to start creating one which runs in a web browser. This is often easier and helps you understand the basics of creating a code editor. Later you can always write one for desktops.
Is there a single working OCaml IDE?
I would like to thank everybody for their help. I finally found some installation instructions for the tuareg mode in EMACS. In case anybody else is having the same problem that I was there are VERY clear instructions here
How to install tuareg
Hopefully I can now translate some stuff into OCaml that I have been working on in other languages and post some of my projects. Thanks again for all of the help.
Converting OCaml to F#: Is there an OCaml IDE with GUI debugging like Visual Studio
I was unable to find an OCaml GUI debugger with the same ability as Visual Studio using F# that meet my requirements.
If someone does find one or creates one and post that as an answer I will gladly give them them accept vote.
Call graph generator for OCaml or Reason
I actually never used it but only thing I can remember for OCaml is pfff. Readme says that it supports codemaps and codegraphs.
Related Topics
Linux Commands to Copy One File to Many Files
Replace Only If String Exists in Current Line
Logo Programming Language Implementations
Specify the from User When Sending Email Using the Mail Command
Permission Denied When Trying to Append a File to a Root Owned File with Sudo
Matlab Execute Script from Linux Command Line
How to Read Ring Buffer Within Linux Kernel Space
Expand a Possible Relative Path in Bash
Redirecting Output of Bash for Loop
How to Define a Bash Alias as a Sequence of Multiple Commands
Dump Conf from Running Nginx Process
How to Automate HTML-To-Pdf Conversions
Given a Linux Username and a Password How to Test If It Is a Valid Account
Logrotate to Clean Up Date Stamped Files
Simple Way to Convert Hh:Mm:Ss (Hours:Minutes:Seconds.Split Seconds) to Seconds
How to Force 'Cp' to Overwrite Directory Instead of Creating Another One Inside