caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Re: [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1
  2012-02-22 18:10 [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1 Tiphaine Turpin
@ 2012-02-22 17:32 ` Dmitry Grebeniuk
  2012-02-22 17:45   ` Thomas Gazagnaire
  2012-02-22 20:55 ` Daniel Bünzli
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 11+ messages in thread
From: Dmitry Grebeniuk @ 2012-02-22 17:32 UTC (permalink / raw)
  To: Tiphaine Turpin; +Cc: caml-list

Hello, Tiphaine.

> We are pleased to announce the first release candidate of TypeRex

  Does it work with revised syntax?

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

* Re: [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1
  2012-02-22 17:32 ` Dmitry Grebeniuk
@ 2012-02-22 17:45   ` Thomas Gazagnaire
  0 siblings, 0 replies; 11+ messages in thread
From: Thomas Gazagnaire @ 2012-02-22 17:45 UTC (permalink / raw)
  To: Dmitry Grebeniuk; +Cc: Tiphaine Turpin, caml-list

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

>> We are pleased to announce the first release candidate of TypeRex
> 
>  Does it work with revised syntax?

camlp4 is partially supported (only 3.12.1 currently), see http://www.typerex.org/manual-ide.html#assumptions

--
Thomas


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

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

* [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1
@ 2012-02-22 18:10 Tiphaine Turpin
  2012-02-22 17:32 ` Dmitry Grebeniuk
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Tiphaine Turpin @ 2012-02-22 18:10 UTC (permalink / raw)
  To: caml-list

Hi everyone,

We are pleased to announce the first release candidate of TypeRex, a new
OCaml development environment, developed by OCamlPro and Inria Saclay.
This version of TypeRex only integrates with Emacs and brings a
collection of new features that programmers expect from a modern IDE.
Next versions will target more editors.

Downloads, screenshots, documentation, support and feedback
instructions are available on TypeRex website at:

http://www.typerex.org/

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:
          o renaming identifiers and compilation units
          o open elimination and reference simplification
    * Robust /w.r.t./ not-recompiled, possibly unsaved buffers
    * Scalable (used regularly on a few hundreds of source files)

Auto-completion is disabled by default, since more testing is still
needed for this feature.

TypeRex is written in OCaml, communicating through a socket with the
OCaml mode of the editor (currently Tuareg for Emacs, OCAIDE for Eclipse
soon).

All the features of the Tuareg mode are also included, even when we
provide an equivalent for them.

Beta testers, enjoy!

Tiphaine Turpin
Thomas Gazagnaire
Fabrice Le Fessant




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

* Re: [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1
  2012-02-22 18:10 [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1 Tiphaine Turpin
  2012-02-22 17:32 ` Dmitry Grebeniuk
@ 2012-02-22 20:55 ` Daniel Bünzli
  2012-02-23  0:46   ` Daniel Bünzli
  2012-02-23  1:04 ` [Caml-list] " Hongbo Zhang
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 11+ messages in thread
From: Daniel Bünzli @ 2012-02-22 20:55 UTC (permalink / raw)
  To: Tiphaine Turpin; +Cc: caml-list

Hello,  

I gave it a (superficial) try. Here are a few comments. 
> * Improved syntax coloring

I find both your color scheme and tuareg's one to be particularly unreadable (too many colors and use of bold). Don't take it personally, these things are about taste. Anyway, would it be possible to include, in the distribution a theme matching the mode of OCaml's distribution ? 



> * Auto-completion of identifiers (experimental)



Disregarding the menu showing the possible completions, is it significantly different from 'dabbrev-expand ? Is it module-aware, couldn't for example complete the symbols from List.* ? Is it type-aware ? Also on my machine it seems to slowdown typing significantly. 

Finally, one thing I don't like is the way you ask me to change my build system to use your tools. I don't want to directly mention your tools. Mainly because I want to distribute the software and don't want to impose a dependency on your tools to my users/contributors and don't want to complexify my build system. 

Here is a suggestion. I think most people using emacs invoke their build system via a shell script (if they use ocamlbuild, here is an example [1]) or a Makefile. If these scripts/Makefiles are "correctly" written you can override their tools by setting (more or less) standard environment variables like (OCAMLC, OCAMLOPT, OCAMLBUILD). Now when I C-cc, I don't mind writing something like :

ocp-env ./build 

instead of :

./build 

Basically ocp-env just acts like env(1) and set various variables in the environment before invoking the script/Makefile. E.g.

OCAMLBUILD="ocamlbuild -ocamlc ocp-ocamlc.opt -ocamlopt ocp-ocamlopt.opt"
OCAMLC=ocp-ocamlc.opt
CAMLC=ocp-ocamlc.opt
OCAMLOPT=ocp-ocamlopt.opt
CAMLOPT=ocp-ocamlopt.opt

This could be just a shell-script around env(1), by the way. Now instead of instructing your users to change their Makefile/scripts just tell them to wrap their invocation with ocp-env. 

Another suggestion is to include the wrapper ocp-ocamlbuild defined as suggested above in OCAMLBUILD. Then, instead of instructing your users to change their myocamlbuild.ml that they may not even have (if they are just using a _tags file), just tell them to invoke ocp-ocamlbuild. Even simpler. 

Other than that the whole thing seems quite nice. I may see myself eventually using this. 

Thanks for the tools. 

Best,

Daniel

[1] http://erratique.ch/repos/cmdliner/tree/build?id=v0.9.0



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

* Re: [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1
  2012-02-22 20:55 ` Daniel Bünzli
@ 2012-02-23  0:46   ` Daniel Bünzli
  0 siblings, 0 replies; 11+ messages in thread
From: Daniel Bünzli @ 2012-02-23  0:46 UTC (permalink / raw)
  To: caml-list; +Cc: Thomas Gazagnaire

I love it. This fulfills so many of my wishes. Thank you. 

> Anyway, would it be possible to include, in the distribution a theme matching the mode of OCaml's distribution ?

Here's a workaround : 

(setq ocp-syntax-coloring nil)

; Hack to get caml-mode color scheme
(setq load-path (cons "~/.emacs.d/caml-mode" load-path))
(if window-system (require 'caml-font))
(add-hook 'typerex-mode-hook 'caml-font-set-font-lock)



> Disregarding the menu showing the possible completions, is it significantly different from 'dabbrev-expand ? Is it module-aware, couldn't for example complete the symbols from List.* ?
> 

Problem gone, it is module aware. Not type aware (maybe in the future according to Thomas), however if you wait a little bit it will tell you the type of the selected completion. 

I did however disable automatic completion (annoying anyway), it sometimes hangs my typing. That did it for me (shift tab to invoke auto completion) :  

(add-to-list 'load-path "~/.emacs.d/auto-complete-mode")
(setq ocp-auto-complete t)


(global-set-key (kbd "S-<tab>") 'auto-complete)
(setq ac-auto-start nil)



Here [1] are things ocamlbuild users should know and here's [2] an ocp-env script. 

Best,

Daniel

[1] https://github.com/OCamlPro/typerex/issues/8
[2] https://github.com/OCamlPro/typerex/issues/6#issuecomment-4126540



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

* [Caml-list] Re: [ANN] TypeRex release 1.0.0 candidate 1
  2012-02-22 18:10 [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1 Tiphaine Turpin
  2012-02-22 17:32 ` Dmitry Grebeniuk
  2012-02-22 20:55 ` Daniel Bünzli
@ 2012-02-23  1:04 ` Hongbo Zhang
  2012-02-23 11:22   ` Thomas Gazagnaire
  2012-03-02 19:51 ` [Caml-list] " Vu Ngoc San
  2012-03-06 12:02 ` Stefano Zacchiroli
  4 siblings, 1 reply; 11+ messages in thread
From: Hongbo Zhang @ 2012-02-23  1:04 UTC (permalink / raw)
  To: caml-list

On 2/22/12 1:10 PM, Tiphaine Turpin wrote:
> Hi everyone,
Hi, I tested on Aquamacs, too slow... ( I did not turn on auto complete )
>
> We are pleased to announce the first release candidate of TypeRex, a new
> OCaml development environment, developed by OCamlPro and Inria Saclay.
> This version of TypeRex only integrates with Emacs and brings a
> collection of new features that programmers expect from a modern IDE.
> Next versions will target more editors.
>
> Downloads, screenshots, documentation, support and feedback
> instructions are available on TypeRex website at:
>
> http://www.typerex.org/
>
> 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:
>            o renaming identifiers and compilation units
>            o open elimination and reference simplification
>      * Robust /w.r.t./ not-recompiled, possibly unsaved buffers
>      * Scalable (used regularly on a few hundreds of source files)
>
> Auto-completion is disabled by default, since more testing is still
> needed for this feature.
>
> TypeRex is written in OCaml, communicating through a socket with the
> OCaml mode of the editor (currently Tuareg for Emacs, OCAIDE for Eclipse
> soon).
>
> All the features of the Tuareg mode are also included, even when we
> provide an equivalent for them.
>
> Beta testers, enjoy!
>
> Tiphaine Turpin
> Thomas Gazagnaire
> Fabrice Le Fessant
>
>
>
>



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

* Re: [Caml-list] Re: [ANN] TypeRex release 1.0.0 candidate 1
  2012-02-23  1:04 ` [Caml-list] " Hongbo Zhang
@ 2012-02-23 11:22   ` Thomas Gazagnaire
  0 siblings, 0 replies; 11+ messages in thread
From: Thomas Gazagnaire @ 2012-02-23 11:22 UTC (permalink / raw)
  To: Hongbo Zhang; +Cc: caml-list

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

> On 2/22/12 1:10 PM, Tiphaine Turpin wrote:
>> Hi everyone,
> Hi, I tested on Aquamacs, too slow... ( I did not turn on auto complete )

yes, we are aware of this issue [1]. We believe it is due to some slowness in the way aquamacs handle sockets ... and unfortunately we don't know yet how to fix this. If aquamacs experts know how to fix this, we gladly accept patches...

However, there is a work-around: you should disable typerex colorisation by adding (setq ocp-syntax-coloring nil) to your .emacs. Then, you should be able to use navigation and refactoring tools smoothly.
[1] https://github.com/OCamlPro/typerex/issues/2

--
Thomas

>> 
>> We are pleased to announce the first release candidate of TypeRex, a new
>> OCaml development environment, developed by OCamlPro and Inria Saclay.
>> This version of TypeRex only integrates with Emacs and brings a
>> collection of new features that programmers expect from a modern IDE.
>> Next versions will target more editors.
>> 
>> Downloads, screenshots, documentation, support and feedback
>> instructions are available on TypeRex website at:
>> 
>> http://www.typerex.org/
>> 
>> 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:
>>           o renaming identifiers and compilation units
>>           o open elimination and reference simplification
>>     * Robust /w.r.t./ not-recompiled, possibly unsaved buffers
>>     * Scalable (used regularly on a few hundreds of source files)
>> 
>> Auto-completion is disabled by default, since more testing is still
>> needed for this feature.
>> 
>> TypeRex is written in OCaml, communicating through a socket with the
>> OCaml mode of the editor (currently Tuareg for Emacs, OCAIDE for Eclipse
>> soon).
>> 
>> All the features of the Tuareg mode are also included, even when we
>> provide an equivalent for them.
>> 
>> Beta testers, enjoy!
>> 
>> Tiphaine Turpin
>> Thomas Gazagnaire
>> Fabrice Le Fessant
>> 
>> 
>> 
>> 
> 
> 
> 
> -- 
> Caml-list mailing list.  Subscription management and archives:
> https://sympa-roc.inria.fr/wws/info/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: 5762 bytes --]

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

* Re: [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1
  2012-02-22 18:10 [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1 Tiphaine Turpin
                   ` (2 preceding siblings ...)
  2012-02-23  1:04 ` [Caml-list] " Hongbo Zhang
@ 2012-03-02 19:51 ` Vu Ngoc San
  2012-03-02 20:01   ` Çagdas Bozman
  2012-03-06 12:02 ` Stefano Zacchiroli
  4 siblings, 1 reply; 11+ messages in thread
From: Vu Ngoc San @ 2012-03-02 19:51 UTC (permalink / raw)
  To: caml-list

Le 22/02/2012 19:10, Tiphaine Turpin a écrit :
> Hi everyone,
>
> We are pleased to announce the first release candidate of TypeRex, a new
> OCaml development environment, developed by OCamlPro and Inria Saclay.
> This version of TypeRex only integrates with Emacs and brings a
> collection of new features that programmers expect from a modern IDE.
> Next versions will target more editors.
>
> Downloads, screenshots, documentation, support and feedback
> instructions are available on TypeRex website at:
>
> http://www.typerex.org/
>
> 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:
>            o renaming identifiers and compilation units
>            o open elimination and reference simplification
>      * Robust /w.r.t./ not-recompiled, possibly unsaved buffers
>      * Scalable (used regularly on a few hundreds of source files)
>
> Auto-completion is disabled by default, since more testing is still
> needed for this feature.
>
> TypeRex is written in OCaml, communicating through a socket with the
> OCaml mode of the editor (currently Tuareg for Emacs, OCAIDE for Eclipse
> soon).
>
> All the features of the Tuareg mode are also included, even when we
> provide an equivalent for them.
>
> Beta testers, enjoy!
>
> Tiphaine Turpin
> Thomas Gazagnaire
> Fabrice Le Fessant
>
>
>
>

thanks for this nice tool, I've been using it for some days.
First the color scheme seemed ugly and not practical to me, but I guess 
I'm slowly getting used to it.

Concerning indentation: apparently it doesn't properly recognize the 
chars ')' and '(':

let f x =
   if x = '('
            then 1
            else 2;;

whereas

let f x =
   if x = '()'
   then 1
   else 2;;

San


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

* Re: [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1
  2012-03-02 19:51 ` [Caml-list] " Vu Ngoc San
@ 2012-03-02 20:01   ` Çagdas Bozman
  0 siblings, 0 replies; 11+ messages in thread
From: Çagdas Bozman @ 2012-03-02 20:01 UTC (permalink / raw)
  To: Vu Ngoc San; +Cc: caml-list

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

2012/3/2 Vu Ngoc San <san.vu-ngoc@laposte.net>
>
> thanks for this nice tool, I've been using it for some days.
> First the color scheme seemed ugly and not practical to me, but I guess
> I'm slowly getting used to it.
>
>
You can change choose a tuareg like theme if you want or customize you own
colours. You can read more in the manual here
http://www.typerex.org/manual-setup.html in "Typerex syntax coloring"
section.

Concerning indentation: apparently it doesn't properly recognize the chars
> ')' and '(':
>

TypeRex do not implement indentation yet. A re-implementation is planed,
but for now we use the tuareg mode's implementation.

-- 
Çagdas Bozman

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

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

* Re: [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1
  2012-02-22 18:10 [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1 Tiphaine Turpin
                   ` (3 preceding siblings ...)
  2012-03-02 19:51 ` [Caml-list] " Vu Ngoc San
@ 2012-03-06 12:02 ` Stefano Zacchiroli
  2012-03-06 14:27   ` Tiphaine Turpin
  4 siblings, 1 reply; 11+ messages in thread
From: Stefano Zacchiroli @ 2012-03-06 12:02 UTC (permalink / raw)
  To: caml-list

On Wed, Feb 22, 2012 at 07:10:39PM +0100, Tiphaine Turpin wrote:
> We are pleased to announce the first release candidate of TypeRex, a new
> OCaml development environment, developed by OCamlPro and Inria Saclay.
> This version of TypeRex only integrates with Emacs and brings a
> collection of new features that programmers expect from a modern IDE.
> Next versions will target more editors.

Thanks for TypeRex. I'm impressed by the possibilities that someone like
TypeRex offers. It might finally be a way to close the gap among the
limited capabilities of our current "IDE-s" and IDE-s for other
programming languages. The refactoring helper, in particular, is
something I'm delighted to see coming.

At the same time, I'm not thrilled at the idea of having to use a
different ocamlc just to benefit from TypeRex. Having to do so brings a
number of disadvantages, the first and foremost being that now the
programmer needs to worry about having synchronized versions of the
"legacy" ocamlc installed on his machine and the version shipped by
TypeRex. But there are more disadvantages, unfortunately.

Can you tell us why we can't (or maybe *when* we will be able to :-))
have the nice features offered by TypeRex on top of the stock ocamlc
compiler?

Having a perspective on when, if ever, TypeRex will be able to work on
the stock ocamlc compiler will help driving my choice of whether
adopting TypeRex or not. And I'm probably not the only one with similar
doubts.

Many thanks in advance,
Cheers.
-- 
Stefano Zacchiroli     zack@{upsilon.cc,pps.jussieu.fr,debian.org} . o .
Maître de conférences   ......   http://upsilon.cc/zack   ......   . . o
Debian Project Leader    .......   @zack on identi.ca   .......    o o o
« the first rule of tautology club is the first rule of tautology club »

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

* Re: [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1
  2012-03-06 12:02 ` Stefano Zacchiroli
@ 2012-03-06 14:27   ` Tiphaine Turpin
  0 siblings, 0 replies; 11+ messages in thread
From: Tiphaine Turpin @ 2012-03-06 14:27 UTC (permalink / raw)
  To: caml-list

On 06/03/2012 13:02, Stefano Zacchiroli wrote:
> [...]
> At the same time, I'm not thrilled at the idea of having to use a
> different ocamlc just to benefit from TypeRex. Having to do so brings a
> number of disadvantages, the first and foremost being that now the
> programmer needs to worry about having synchronized versions of the
> "legacy" ocamlc installed on his machine and the version shipped by
> TypeRex.
First, a small precision (which may not be obvious from TypeRex 
documentation): as the ocp-ocamlc, ... commands are only wrappers, they 
are not tied to a particular version of the actual compilers they call. 
In fact the following three components are somehow independent:
- the installed OCaml compilers (currently only 3.12.* is supported, 
because by mistake we forgot to include 3.11 compatibility, will be 
fixed in 1.0.0)
- TypeRex (with ocp-type and ocp-ocamlc, etc.)
- the OCaml compiler used to compile TypeRex (since rc2, >=3.11 works)
However, TypeRex won't be able to handle new language constructs that 
are introduced in OCaml after we extract its front-end, which implies that:
- we will have too follow closely the language evolutions and we will 
release a new version of TypeRex for each major release of OCaml.
- using Typerex for developping the OCaml compiler prevents you to use 
the new language constructs that you introduce, until TypeRex is itself 
updated.
>   But there are more disadvantages, unfortunately.
>
> Can you tell us why we can't (or maybe *when* we will be able to :-))
> have the nice features offered by TypeRex on top of the stock ocamlc
> compiler?
We would like to have the binary annotation feature included in the next 
release of OCaml. Before proposing a patch upstream, we wanted to 
stabilize the changes in the compiler and prove them to be generic 
enough. But there are two alternatives to having binary annotations in 
OCaml:
- improve the ease of use of the wrappers (there have been interesting 
suggestions in this direction on the issue tracker)
- integrate with a build system (which would also replace the ad-hoc 
.typerex file)

Tiphaine


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

end of thread, other threads:[~2012-03-06 14:28 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-22 18:10 [Caml-list] [ANN] TypeRex release 1.0.0 candidate 1 Tiphaine Turpin
2012-02-22 17:32 ` Dmitry Grebeniuk
2012-02-22 17:45   ` Thomas Gazagnaire
2012-02-22 20:55 ` Daniel Bünzli
2012-02-23  0:46   ` Daniel Bünzli
2012-02-23  1:04 ` [Caml-list] " Hongbo Zhang
2012-02-23 11:22   ` Thomas Gazagnaire
2012-03-02 19:51 ` [Caml-list] " Vu Ngoc San
2012-03-02 20:01   ` Çagdas Bozman
2012-03-06 12:02 ` Stefano Zacchiroli
2012-03-06 14:27   ` Tiphaine Turpin

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).