[Caml-list] First-class module and higher-order types

2011-08-19 Thread Arnaud Spiwack
is it to design a variant of Hindley-Milner's typing algorithm with type-family quantification? (I understand that Ocaml's typing machinery is pretty hard to change, and that it will most likely not be happening any time soon in practice) -- Arnaud Spiwack -- Caml-list mailing list

Re: [Caml-list] Dependent types ?

2011-09-27 Thread Arnaud Spiwack
Yes, this is right. You can already experiment in ocaml, as Denis Berthod suggested, by adding abstract types by hand instead of having constants in the initial environment. You can also embed the natural numbers in Ocaml's type system by declaring the following two types: type 'a s type z

Re: [Caml-list] is there a more concise way to write this?

2012-01-20 Thread Arnaud Spiwack
I am wondering now if we should also provide the %apply primitive too, to be able to choose the order... The ability to choose the order seems quite valuable to me. Plus, there is a right-associative apply in the non-rev order in Ocaml's distribution (namely in ocamlbuild). -- Caml-list

Re: [Caml-list] Package installation assumptions made by odb

2012-02-13 Thread Arnaud Spiwack
important limitation. -- Arnaud Spiwack On 11 February 2012 22:10, Edgar Friendly thelema...@gmail.com wrote: odb is a simple ocaml program to install ocaml packages with dependencies. I've written a document on the assumptions it makes of the packages it's to install. By sharing this, I hope

Re: [Caml-list] Problem with the compiler 3.12.1

2012-04-18 Thread Arnaud Spiwack
Hi Claire, Without much confidence, I would start by checking matchpats for uses of fmt. On 16 April 2012 17:52, Claire Dross claire.dr...@lri.fr wrote: Hello, I am new to caml-list, so sorry in advance if it is not the right place to make this post. In a quite important piece of ocaml

[Caml-list] One-value functors

2012-05-11 Thread Arnaud Spiwack
Dear all, With the advent of first-class modules, I find myself more and more wanting to write functors with only one (value) component, just to benefit from type dependencies. Here is an example (randomly) extracted from Oleg Kiselyov and Jeremy Yallop: type a and b module type TC = sig type