If I start a custom toplevel in Emacs/tuareg with the tuareg-run-caml function, I need to give the path to the toplevel and the various -I options it requires to find the CMI files. This typing is tedious, is there a more convenient way to start a custom toplevel?
Convenient way to start a custom OCaml toplevel in Emacs with tuareg
574 Views Asked by user40989 At
1
There are 1 best solutions below
Related Questions in EMACS
- How can I make 'emacsclient' open in native fullscreen every time I launch it from the terminal in macOS?
- emacsclient does not connect inside ubuntu container
- Emacs use .emacs by default instead .emacs.d/init.el
- Setting up Macaulay 2 on emacs
- org-mime add caption to exported images
- Use the same export attribute for all src-blocks
- Tags Development Tools
- Emacs 29.2 unable to find theme file
- How to automatically allow the execution of code action from HLS in emacs?
- Org-babel remote inline images with TRAMP not exporting in org export
- find and replace regex like that can deal with nested brackets
- Inheriting from variadic types messes up template member function indentation in Emacs
- Invoking org-store-link interactively, errors on calling org-man-store-link
- Disable session save in doom emacs
- How do you connect to a remote emacs server using Microsoft dev tunnels
Related Questions in OCAML
- Why can't dune recognize ppx_jane?
- Is there a function that returns a list of values with specific type in OCaml?
- How to use menhir to parse into a GADT expression?
- How to generate Menhir .automaton files with dune in OCaml?
- matching multiple patterns at once in ocaml
- What causes this type mismatch when applying a functor?
- What is the right way to put type declarations in OCaml signatures
- Obtain an interpretation of unbounded variables using Z3 in OCaml
- Using infix operator in the module in OCaml
- Do any OCaml compilers take advantage of the unspecified order of evaluation of let ... and bindings?
- Nesting algebraic handlers from separate modules
- Can I define pattern synonyms in OCaml?
- OCaml functions on uncertain data types
- Module unavailable when compiling another file that uses it in OCaml
- Can't understand the syntax in ocaml code
Related Questions in TUAREG
- Looking for outline minor mode for OCaml buffers (with Tuareg and Merlin)
- Enable tuareg mode in the emacs shell
- I installed tuareg mode but it's not even showing in emacs
- MetaOCaml staging annotation syntax highlighting in Emacs using tuareg-support-metaocaml
- ocaml - unbound value error in recursive list matching function
- How to show all result on buffer in OCaml's tuareg mode
- Ocaml error unbound Value
- tuareg-mode customization for emacs
- How to get signatures for the variable at point in tuareg-mode?
- Highlight mll and mly files
- Autoload tuareg-mode for .ml4 files
- Inputing data in OCaml toplevel runnin under Emacs
- Tuareg mode: «Buffer x.ml has no process»
- Integrate utop with emacs using tuareg (OCaml) on Mac OS
- Convenient way to start a custom OCaml toplevel in Emacs with tuareg
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
One approach is to add a
.ocamlinitin the project directory that uses#directoryto add whatever paths are necessary to the toplevel. You can also use this to install printers, add shorter names for commonly used modules, run test code, etc.Note that you probably want that project specific
.ocamlinitto execute~/.ocamlinit, since things like opam tend to put bits and pieces in there. It might look something like this:Note that
#useexpects a hard-coded path. This unfortunately interferes with distributing the file.I further automate this by having an emacs command to start a toplevel that searches the current directory for a file called
*.topto execute, falling back toocamlif none is found. Asocamlbuildprovides a fairly simple method of building these files, this avoids much of the tedium of getting a project loaded into a useable toplevel.