caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] [ANN] utop 1.2
@ 2012-07-31  6:03 Jérémie Dimino
  2012-08-05  1:20 ` [Caml-list] " Hongbo Zhang
  0 siblings, 1 reply; 5+ messages in thread
From: Jérémie Dimino @ 2012-07-31  6:03 UTC (permalink / raw)
  To: caml-list

Hi,

The utop team is happy to announce the release of utop 1.2, an
improved toplevel for OCaml. You can download it at this url:

  https://forge.ocamlcore.org/frs/download.php/949/utop-1.2.tar.gz

Important changes are:

* utop now handles parsing/typing/compilation errors itself, this
  means a better highlighting and more importantly that errors are
  emphasized in the emacs mode. The style of errors can be controlled
  via the face "utop-error" in emacs and with the "error" resource of
  ~/.utoprc in the terminal.

* a "Lwt_main.run" is automatically inserted for toplevel expressions
  of type "_ Lwt.t". For example, with the classic toplevel:

  # Lwt_io.printf "Hello, world!\n";;
  - : unit Lwt.t = <abstract>

  and with the new utop:

  # Lwt_io.printf "Hello, world!\n";;
  - : unit = ()

  This behavior can be disabled with "UTop.set_auto_run_lwt false".

* many emacs mode fixes and improvements. It is now possible to
  complete a phrase in a tuareg/typerex buffer using the toplevel
  environment. You have to bind the function "utop-edit-complete" to a
  key for this feature to work, it is unbound by default.

Here is the complete changelog:

  * ocaml 4.00 compatibility
  * prevent findlib from being initialized twice
  * better highlighting of errors
  * automatically insert Lwt_main.run for
    toplevel expressions of type 'a Lwt.t
  * better camlp4 support
    ** parse quotations and antiquotations to
       handle completion inside them
    ** better support revised syntax
  * emacs mode improvements
    ** various fixes
    ** highlight errors
    ** add a menu
    ** add interactive list of findlib packages
    ** packages can be pre-loaded via the file variable
       "utop-package-list"
    ** better tuareg integration
    ** typerex integration
    ** allow to complete using the toplevel environment
       in a tuareg buffer
    ** allow to change the utop command
    ** use the same history as the terminal mode
    ** follow output of ocaml

Enjoy!

-- 
Jérémie

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

* [Caml-list] Re: [ANN] utop 1.2
  2012-07-31  6:03 [Caml-list] [ANN] utop 1.2 Jérémie Dimino
@ 2012-08-05  1:20 ` Hongbo Zhang
  2012-08-05  2:47   ` Edgar Friendly
  2012-08-05 12:45   ` Daniel Bünzli
  0 siblings, 2 replies; 5+ messages in thread
From: Hongbo Zhang @ 2012-08-05  1:20 UTC (permalink / raw)
  To: Jérémie Dimino, Caml List

On 7/31/12 2:03 AM, Jérémie Dimino wrote:
> Hi,
Greetings,
   Just have a try for the utop and give it up. Here are some 
difficulties that I came across, no complains, hope that will help
utop's next release.

   a. dependency too much. To my limited knowledge, utop is a standalone 
binary, dependency on lwt is a big problem, I never managed to install 
it successfully on Mac(I did on my Linux box)

   b. I still give a try. and grabed package react, try to install 
react, but found that react even don't work with ocamlfind. I stop here. 
(package react is just one file, dependency on react is not worth)

I know it would be convenient to use some package managers like Godi, 
but I maintained my own fork of ocaml(I changed the ocaml's compiler 
frequently, using Godi would bring a lot of pain).

   It would be great if utop is a stand alone package, or , a utop.byte 
is still fine. I have used otags.byte built on Linux, and copied to my 
Mac, it works fine.

   I never used utop(never succeeded :-( ) , but I guess it maybe 
something like slime for lisp, hope this will help utop to gain more users.

Best -- Hongbo Zhang

>
> The utop team is happy to announce the release of utop 1.2, an
> improved toplevel for OCaml. You can download it at this url:
>
>    https://forge.ocamlcore.org/frs/download.php/949/utop-1.2.tar.gz
>
> Important changes are:
>
> * utop now handles parsing/typing/compilation errors itself, this
>    means a better highlighting and more importantly that errors are
>    emphasized in the emacs mode. The style of errors can be controlled
>    via the face "utop-error" in emacs and with the "error" resource of
>    ~/.utoprc in the terminal.
>
> * a "Lwt_main.run" is automatically inserted for toplevel expressions
>    of type "_ Lwt.t". For example, with the classic toplevel:
>
>    # Lwt_io.printf "Hello, world!\n";;
>    - : unit Lwt.t = <abstract>
>
>    and with the new utop:
>
>    # Lwt_io.printf "Hello, world!\n";;
>    - : unit = ()
>
>    This behavior can be disabled with "UTop.set_auto_run_lwt false".
>
> * many emacs mode fixes and improvements. It is now possible to
>    complete a phrase in a tuareg/typerex buffer using the toplevel
>    environment. You have to bind the function "utop-edit-complete" to a
>    key for this feature to work, it is unbound by default.
>
> Here is the complete changelog:
>
>    * ocaml 4.00 compatibility
>    * prevent findlib from being initialized twice
>    * better highlighting of errors
>    * automatically insert Lwt_main.run for
>      toplevel expressions of type 'a Lwt.t
>    * better camlp4 support
>      ** parse quotations and antiquotations to
>         handle completion inside them
>      ** better support revised syntax
>    * emacs mode improvements
>      ** various fixes
>      ** highlight errors
>      ** add a menu
>      ** add interactive list of findlib packages
>      ** packages can be pre-loaded via the file variable
>         "utop-package-list"
>      ** better tuareg integration
>      ** typerex integration
>      ** allow to complete using the toplevel environment
>         in a tuareg buffer
>      ** allow to change the utop command
>      ** use the same history as the terminal mode
>      ** follow output of ocaml
>
> Enjoy!
>


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

* Re: [Caml-list] Re: [ANN] utop 1.2
  2012-08-05  1:20 ` [Caml-list] " Hongbo Zhang
@ 2012-08-05  2:47   ` Edgar Friendly
  2012-08-05  9:25     ` Hongbo Zhang
  2012-08-05 12:45   ` Daniel Bünzli
  1 sibling, 1 reply; 5+ messages in thread
From: Edgar Friendly @ 2012-08-05  2:47 UTC (permalink / raw)
  To: caml-list

On 08/04/2012 09:20 PM, Hongbo Zhang wrote:
> I know it would be convenient to use some package managers like Godi,
> but I maintained my own fork of ocaml(I changed the ocaml's compiler
> frequently, using Godi would bring a lot of pain).

odb.ml should be able to help you here; try the following commands 
(taken from ocamlbrew):

odb.ml react
odb.ml --configure-flags --enable-react lwt
odb.ml utop

as long as your ocamlfind isn't broken, this should install utop and its 
dependencies, including the slightly custom lwt with react support enabled.

E.

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

* [Caml-list] Re: [ANN] utop 1.2
  2012-08-05  2:47   ` Edgar Friendly
@ 2012-08-05  9:25     ` Hongbo Zhang
  0 siblings, 0 replies; 5+ messages in thread
From: Hongbo Zhang @ 2012-08-05  9:25 UTC (permalink / raw)
  To: Edgar Friendly; +Cc: caml-list

On 8/4/12 10:47 PM, Edgar Friendly wrote:
Thanks, the experience with odb is awesome ;)
> On 08/04/2012 09:20 PM, Hongbo Zhang wrote:
>> I know it would be convenient to use some package managers like Godi,
>> but I maintained my own fork of ocaml(I changed the ocaml's compiler
>> frequently, using Godi would bring a lot of pain).
>
> odb.ml should be able to help you here; try the following commands
> (taken from ocamlbrew):
>
> odb.ml react
> odb.ml --configure-flags --enable-react lwt
> odb.ml utop
>
> as long as your ocamlfind isn't broken, this should install utop and its
> dependencies, including the slightly custom lwt with react support enabled.
>
> E.
>


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

* Re: [Caml-list] Re: [ANN] utop 1.2
  2012-08-05  1:20 ` [Caml-list] " Hongbo Zhang
  2012-08-05  2:47   ` Edgar Friendly
@ 2012-08-05 12:45   ` Daniel Bünzli
  1 sibling, 0 replies; 5+ messages in thread
From: Daniel Bünzli @ 2012-08-05 12:45 UTC (permalink / raw)
  To: Hongbo Zhang; +Cc: Jérémie Dimino, Caml List



Le dimanche, 5 août 2012 à 03:20, Hongbo Zhang a écrit :

> a. dependency too much. To my limited knowledge, utop is a standalone
> binary, dependency on lwt is a big problem, I never managed to install  
> it successfully on Mac(I did on my Linux box)
>  
> b. I still give a try. and grabed package react, try to install  
> react, but found that react even don't work with ocamlfind. I stop here.  
> (package react is just one file, dependency on react is not worth)


React works with ocamlfind, if there's a problem please report it to me.  

It can also be easily installed via odb by adding these lines [1] to your ~/.odb/packages file (and as soon as I get some time to rerelease all the package for oasis 0.3.0 and upload them to oasis-db you won't even have to do that).

Note that lwt also installs without any problems on osx with odb.

> I know it would be convenient to use some package managers like Godi,
> but I maintained my own fork of ocaml(I changed the ocaml's compiler
> frequently, using Godi would bring a lot of pain).

Just install findlib and use https://github.com/thelema/odb




Best,

Daniel

[1] http://erratique.ch/software/odb-packages.txt

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

end of thread, other threads:[~2012-08-05 12:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-31  6:03 [Caml-list] [ANN] utop 1.2 Jérémie Dimino
2012-08-05  1:20 ` [Caml-list] " Hongbo Zhang
2012-08-05  2:47   ` Edgar Friendly
2012-08-05  9:25     ` Hongbo Zhang
2012-08-05 12:45   ` Daniel Bünzli

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