caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes
@ 2013-08-16 10:48 Gabriel Scherer
  2013-08-16 11:50 ` Lukasz Stafiniak
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Gabriel Scherer @ 2013-08-16 10:48 UTC (permalink / raw)
  To: caml users

[-- Attachment #1: Type: text/plain, Size: 2425 bytes --]

Ann: Merlin 1.3

Merlin is an editor-assistant for the OCaml programming language,
focusing on working incrementally on incomplete files that are being
edited.
It has both a Vim and an Emacs mode (we warmly welcome
additional frontends), and provides advanced compiler-aware features
such as type-aware completion, type information feedback, and
interactive warning and error feedback.

Merlin is available at:
  https://github.com/def-lkb/merlin

Merlin 1.0 was released on April 11, and the last version, Merlin
1.2, on July 21. As a sign of improved stability, we have received no
bug reports between Merlin 1.2 and the tagging of this new release,
which therefore focused on new features -- so that we can get more
bugs to fix before 1.4...

You can find a detailed changelog at
https://github.com/def-lkb/merlin/blob/master/CHANGELOG, but the
highlights are:

- There is a new "locate" command, to find the definition location of
  the identifier under the cursor, much like the venerable ocamlspot
  project. It works out of the box for identifiers defined in the
  local buffer (this is where merlin shines), and relies on presence
  of .cmt files for external modules. It is bound to the :Locate
  command in vim, and merlin-locate, C-c C-l by default, in emacs.

- There is now specific support for OMake's polling mode: if you
  invoke OMake with our `omake-merlin` wrapper
    omake-merlin omake ...
  each recompilation will instruct merlin to reload the interfaces
  that changed.

- Merlin now accepts the "type nonrec", "with compare" and "with
  fields" syntax extensions -- but there are still a few glitches
  being ironed out

- The emacs mode now has "semantic movement" commands to move to the
  next or previous phrase (C-c C-p, C-c C-n)

- The vim mode's :TypeOf command now accept an optional argument, an
  OCaml expression or constructor name that will be type-checked in
  the environment at the cursor position.

This release was brought to you by Simon Castellan, Thomas Refis and
Frédéric Bour. Previous unannounced releases also received helpful feedback
and contributions from Rudy Grinberg, Anil Madhavapeddy, Andrew Noyes,
Gabriel Scherer and Marc Weber.

Merlin relies on its benevolent contributors, which you should not
hesitate to join. We warmly welcome any feedback, bugreport, and of
course documentation and code contributions.

[-- Attachment #2: Type: text/html, Size: 5784 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes
  2013-08-16 10:48 [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes Gabriel Scherer
@ 2013-08-16 11:50 ` Lukasz Stafiniak
  2013-08-16 11:53   ` Lukasz Stafiniak
  2013-08-16 13:42 ` Paolo Donadeo
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Lukasz Stafiniak @ 2013-08-16 11:50 UTC (permalink / raw)
  To: Gabriel Scherer; +Cc: caml users

[-- Attachment #1: Type: text/plain, Size: 532 bytes --]

On Fri, Aug 16, 2013 at 12:48 PM, Gabriel Scherer <gabriel.scherer@gmail.com
> wrote:

> Ann: Merlin 1.3
>
> Merlin is an editor-assistant for the OCaml programming language,
> focusing on working incrementally on incomplete files that are being
> edited.
> It has both a Vim and an Emacs mode (we warmly welcome
> additional frontends), and provides advanced compiler-aware features
> such as type-aware completion, type information feedback, and
> interactive warning and error feedback.
>
>
How does Merlin compare with TypeRex?

[-- Attachment #2: Type: text/html, Size: 1085 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes
  2013-08-16 11:50 ` Lukasz Stafiniak
@ 2013-08-16 11:53   ` Lukasz Stafiniak
  0 siblings, 0 replies; 9+ messages in thread
From: Lukasz Stafiniak @ 2013-08-16 11:53 UTC (permalink / raw)
  To: Gabriel Scherer; +Cc: caml users

[-- Attachment #1: Type: text/plain, Size: 228 bytes --]

On Fri, Aug 16, 2013 at 1:50 PM, Lukasz Stafiniak <lukstafi@gmail.com>wrote:

>
> How does Merlin compare with TypeRex?
>

The question seems to be answered here:
https://sympa.inria.fr/sympa/arc/caml-list/2013-02/msg00155.html

[-- Attachment #2: Type: text/html, Size: 816 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes
  2013-08-16 10:48 [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes Gabriel Scherer
  2013-08-16 11:50 ` Lukasz Stafiniak
@ 2013-08-16 13:42 ` Paolo Donadeo
  2013-08-16 14:52 ` Thomas Refis
  2013-08-16 16:33 ` David Allsopp
  3 siblings, 0 replies; 9+ messages in thread
From: Paolo Donadeo @ 2013-08-16 13:42 UTC (permalink / raw)
  To: OCaml mailing list

[-- Attachment #1: Type: text/plain, Size: 94 bytes --]

Ok, years of OCaml and I didn't know Merlin.

My life is changed today, thanks.


-- 
*Paolo*

[-- Attachment #2: Type: text/html, Size: 220 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes
  2013-08-16 10:48 [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes Gabriel Scherer
  2013-08-16 11:50 ` Lukasz Stafiniak
  2013-08-16 13:42 ` Paolo Donadeo
@ 2013-08-16 14:52 ` Thomas Refis
  2013-08-16 15:09   ` Török Edwin
  2013-08-16 16:33 ` David Allsopp
  3 siblings, 1 reply; 9+ messages in thread
From: Thomas Refis @ 2013-08-16 14:52 UTC (permalink / raw)
  To: Gabriel Scherer; +Cc: caml users

Thank you Gabriel for the announce, you beat us to it!

Here are a few things I think are missing from your post :

- Merlin is available on opam, so people willing to try it can just
call "opam install merlin"

- apart from the few things Gabriel selected from the changelog, I
think it is worth mentioning that the emacs mode of merlin was the
subject of a lot of work. There has been several bugfixes, and we know
have a much better support for emacs 23. The experience should really
be noticeably better.

- the version of merlin available on opam at the moment will only work
with ocaml 4.00.1.
If you want to use the 4.01beta or even trunk, the version of merlin
actually on opam won't work.
We have however started working on supporting more recent versions of
ocaml, we're in a "nearly releasable" state I'd say. So an opam
package (merlin-trunk probably) should appear soon. In the meantime
you can try the branch "ocaml-trunk" of our git repository.

That's about it.

As Gabriel said : feedback of all kind is very welcome!

Thomas.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes
  2013-08-16 14:52 ` Thomas Refis
@ 2013-08-16 15:09   ` Török Edwin
  2013-08-16 16:26     ` Wojciech Meyer
  0 siblings, 1 reply; 9+ messages in thread
From: Török Edwin @ 2013-08-16 15:09 UTC (permalink / raw)
  To: caml-list

On 08/16/2013 05:52 PM, Thomas Refis wrote:
> 
> As Gabriel said : feedback of all kind is very welcome!

Is it planned to support ocamlbuild or _oasis? 
i.e. if I have an _tags file to find out automatically what ocamlfind packages I use, and where my source files are without having to create a .merlin.
Similarly for _oasis, could there be an _oasis plugin to automatically generate a .merlin?


Best regards,
--Edwin


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes
  2013-08-16 15:09   ` Török Edwin
@ 2013-08-16 16:26     ` Wojciech Meyer
  0 siblings, 0 replies; 9+ messages in thread
From: Wojciech Meyer @ 2013-08-16 16:26 UTC (permalink / raw)
  To: Török Edwin; +Cc: Caml List

[-- Attachment #1: Type: text/plain, Size: 911 bytes --]

On the related not if we decide to expose API for ocamlbuild, we might
extract the needed information easily for Merlin.


On Fri, Aug 16, 2013 at 4:09 PM, Török Edwin <edwin+ml-ocaml@etorok.net>wrote:

> On 08/16/2013 05:52 PM, Thomas Refis wrote:
> >
> > As Gabriel said : feedback of all kind is very welcome!
>
> Is it planned to support ocamlbuild or _oasis?
> i.e. if I have an _tags file to find out automatically what ocamlfind
> packages I use, and where my source files are without having to create a
> .merlin.
> Similarly for _oasis, could there be an _oasis plugin to automatically
> generate a .merlin?
>
>
> Best regards,
> --Edwin
>
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>

[-- Attachment #2: Type: text/html, Size: 1534 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes
  2013-08-16 10:48 [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes Gabriel Scherer
                   ` (2 preceding siblings ...)
  2013-08-16 14:52 ` Thomas Refis
@ 2013-08-16 16:33 ` David Allsopp
  2013-08-16 16:44   ` Thomas Refis
  3 siblings, 1 reply; 9+ messages in thread
From: David Allsopp @ 2013-08-16 16:33 UTC (permalink / raw)
  To: caml users

[-- Attachment #1: Type: text/plain, Size: 4395 bytes --]

Is there a plan to support Merlin in Vim (or Emacs, though I don't really care about that...) on Windows? With fairly minimal effort, I can compile ocamlmerlin but there appear to be a few little platform-related problems:

C:\>ocamlmerlin
Fatal error: exception Invalid_argument("Sys.signal: unavailable signal")

and if opening an ML source file in Vim, I get:

"DB.ml" [readonly] 2153L, 128685C
Error detected while processing function merlin#LoadProject:
line    1:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Dev\OCaml\share\ocamlmerlin\vim\autoload\merlin.py", line 485, in load_project
    fnames = catch_and_print(lambda: send_command("project","find",directory))
  File "C:\Dev\OCaml\share\ocamlmerlin\vim\autoload\merlin.py", line 117, in catch_and_print
    return f()
  File "C:\Dev\OCaml\share\ocamlmerlin\vim\autoload\merlin.py", line 485, in <lambda>
    fnames = catch_and_print(lambda: send_command("project","find",directory))
  File "C:\Dev\OCaml\share\ocamlmerlin\vim\autoload\merlin.py", line 66, in send_command
    restart()
  File "C:\Dev\OCaml\share\ocamlmerlin\vim\autoload\merlin.py", line 56, in restart
    preexec_fn = (lambda: signal.signal(signal.SIGINT, signal.SIG_IGN))
  File "C:\Python27\Lib\subprocess.py", line 633, in __init__
    raise ValueError("preexec_fn is not supported on Windows "
ValueError: preexec_fn is not supported on Windows platforms

(using ActivePython 2.7.2.5 x64 with Vim 7.4.5 x64)

More than happy to help with testing, but I haven't the first clue how to debug Python... though the errors on both ends give the impression that it's "just" a case of rewriting the inter-process communication stuff?


David


From: caml-list-request@inria.fr [mailto:caml-list-request@inria.fr] On Behalf Of Gabriel Scherer
Sent: 16 August 2013 11:48
To: caml users
Subject: [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes

Ann: Merlin 1.3

Merlin is an editor-assistant for the OCaml programming language,
focusing on working incrementally on incomplete files that are being
edited.
It has both a Vim and an Emacs mode (we warmly welcome
additional frontends), and provides advanced compiler-aware features
such as type-aware completion, type information feedback, and
interactive warning and error feedback.

Merlin is available at:
  https://github.com/def-lkb/merlin

Merlin 1.0 was released on April 11, and the last version, Merlin
1.2, on July 21. As a sign of improved stability, we have received no
bug reports between Merlin 1.2 and the tagging of this new release,
which therefore focused on new features -- so that we can get more
bugs to fix before 1.4...

You can find a detailed changelog at
https://github.com/def-lkb/merlin/blob/master/CHANGELOG, but the
highlights are:

- There is a new "locate" command, to find the definition location of
  the identifier under the cursor, much like the venerable ocamlspot
  project. It works out of the box for identifiers defined in the
  local buffer (this is where merlin shines), and relies on presence
  of .cmt files for external modules. It is bound to the :Locate
  command in vim, and merlin-locate, C-c C-l by default, in emacs.

- There is now specific support for OMake's polling mode: if you
  invoke OMake with our `omake-merlin` wrapper
    omake-merlin omake ...
  each recompilation will instruct merlin to reload the interfaces
  that changed.

- Merlin now accepts the "type nonrec", "with compare" and "with
  fields" syntax extensions -- but there are still a few glitches
  being ironed out

- The emacs mode now has "semantic movement" commands to move to the
  next or previous phrase (C-c C-p, C-c C-n)

- The vim mode's :TypeOf command now accept an optional argument, an
  OCaml expression or constructor name that will be type-checked in
  the environment at the cursor position.

This release was brought to you by Simon Castellan, Thomas Refis and
Frédéric Bour. Previous unannounced releases also received helpful feedback
and contributions from Rudy Grinberg, Anil Madhavapeddy, Andrew Noyes,
Gabriel Scherer and Marc Weber.

Merlin relies on its benevolent contributors, which you should not
hesitate to join. We warmly welcome any feedback, bugreport, and of
course documentation and code contributions.


[-- Attachment #2: Type: text/html, Size: 15626 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes
  2013-08-16 16:33 ` David Allsopp
@ 2013-08-16 16:44   ` Thomas Refis
  0 siblings, 0 replies; 9+ messages in thread
From: Thomas Refis @ 2013-08-16 16:44 UTC (permalink / raw)
  To: David Allsopp; +Cc: caml users

I created an issue on the bugtracker :
https://github.com/def-lkb/merlin/issues/66

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-08-16 16:44 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-16 10:48 [Caml-list] ANN: Merlin 1.3 -- advanced Vim and Emacs editor modes Gabriel Scherer
2013-08-16 11:50 ` Lukasz Stafiniak
2013-08-16 11:53   ` Lukasz Stafiniak
2013-08-16 13:42 ` Paolo Donadeo
2013-08-16 14:52 ` Thomas Refis
2013-08-16 15:09   ` Török Edwin
2013-08-16 16:26     ` Wojciech Meyer
2013-08-16 16:33 ` David Allsopp
2013-08-16 16:44   ` Thomas Refis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).