caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Is this the right place to discuss camlp5?
@ 2015-10-26 13:35 Soegtrop, Michael
  2015-10-26 13:40 ` Gabriel Scherer
  2015-10-26 14:21 ` Hendrik Boom
  0 siblings, 2 replies; 9+ messages in thread
From: Soegtrop, Michael @ 2015-10-26 13:35 UTC (permalink / raw)
  To: caml-list

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

Dear Ocaml Users,

I just wanted to ask, if this is the right place to discuss camlp5, or if there is a better place. I have a rather bizarre build issue on Cygwin and a fix (well a hack) for it.

Best regards,

Michael
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Prof. Dr. Hermann Eul
Chairperson of the Supervisory Board: Tiffany Doon Silva
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928

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

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

* Re: [Caml-list] Is this the right place to discuss camlp5?
  2015-10-26 13:35 [Caml-list] Is this the right place to discuss camlp5? Soegtrop, Michael
@ 2015-10-26 13:40 ` Gabriel Scherer
  2015-10-26 14:01   ` Soegtrop, Michael
  2015-10-26 14:21 ` Hendrik Boom
  1 sibling, 1 reply; 9+ messages in thread
From: Gabriel Scherer @ 2015-10-26 13:40 UTC (permalink / raw)
  To: Soegtrop, Michael; +Cc: caml-list

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

camlp5 has no specific mailing-list, so yes caml-list seems appropriate.
For patches and bug reports, however, it is probably best to send them to
the maintainer directly:

  Daniel De Rauglaudre <daniel.de_rauglaudre@inria.fr>

(You can send patches in git format, as the main repository is a git clone
indicated on http://camlp5.gforge.inria.fr/ ).

On Mon, Oct 26, 2015 at 2:35 PM, Soegtrop, Michael <
michael.soegtrop@intel.com> wrote:

> Dear Ocaml Users,
>
>
>
> I just wanted to ask, if this is the right place to discuss camlp5, or if
> there is a better place. I have a rather bizarre build issue on Cygwin and
> a fix (well a hack) for it.
>
>
>
> Best regards,
>
>
>
> Michael
>
> Intel Deutschland GmbH
> Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
> Tel: +49 89 99 8853-0, www.intel.de
> Managing Directors: Christin Eisenschmid, Prof. Dr. Hermann Eul
> Chairperson of the Supervisory Board: Tiffany Doon Silva
> Registered Office: Munich
> Commercial Register: Amtsgericht Muenchen HRB 186928
>

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

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

* RE: [Caml-list] Is this the right place to discuss camlp5?
  2015-10-26 13:40 ` Gabriel Scherer
@ 2015-10-26 14:01   ` Soegtrop, Michael
  0 siblings, 0 replies; 9+ messages in thread
From: Soegtrop, Michael @ 2015-10-26 14:01 UTC (permalink / raw)
  To: Gabriel Scherer; +Cc: caml-list

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

Dear Gabriel,

thanks, I sent an email to Daniel.

Best regards,

Michael
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Prof. Dr. Hermann Eul
Chairperson of the Supervisory Board: Tiffany Doon Silva
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928

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

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

* Re: [Caml-list] Is this the right place to discuss camlp5?
  2015-10-26 13:35 [Caml-list] Is this the right place to discuss camlp5? Soegtrop, Michael
  2015-10-26 13:40 ` Gabriel Scherer
@ 2015-10-26 14:21 ` Hendrik Boom
  2015-10-26 14:27   ` David Allsopp
  2015-10-26 14:29   ` [Caml-list] Is this the right place to discuss camlp5? Ashish Agarwal
  1 sibling, 2 replies; 9+ messages in thread
From: Hendrik Boom @ 2015-10-26 14:21 UTC (permalink / raw)
  To: caml-list

On Mon, Oct 26, 2015 at 01:35:45PM +0000, Soegtrop, Michael wrote:
> Dear Ocaml Users,
> 
> I just wanted to ask, if this is the right place to discuss camlp5, or if there is a better place. I have a rather bizarre build issue on Cygwin and a fix (well a hack) for it.

Now I've heard about campl5, presumably a successor to campl4, and about 
ppx, touted as a successor to camlp4.

What gives here?

-- hendrik


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

* RE: [Caml-list] Is this the right place to discuss camlp5?
  2015-10-26 14:21 ` Hendrik Boom
@ 2015-10-26 14:27   ` David Allsopp
  2015-10-26 15:18     ` Hendrik Boom
  2015-10-26 14:29   ` [Caml-list] Is this the right place to discuss camlp5? Ashish Agarwal
  1 sibling, 1 reply; 9+ messages in thread
From: David Allsopp @ 2015-10-26 14:27 UTC (permalink / raw)
  To: Hendrik Boom, caml-list

Hendrik Boom wrote:
> On Mon, Oct 26, 2015 at 01:35:45PM +0000, Soegtrop, Michael wrote:
> > Dear Ocaml Users,
> >
> > I just wanted to ask, if this is the right place to discuss camlp5, or
> if there is a better place. I have a rather bizarre build issue on Cygwin
> and a fix (well a hack) for it.
> 
> Now I've heard about campl5, presumably a successor to campl4, and about
> ppx, touted as a successor to camlp4.

In fact, camlp5 is technically the predecessor of camlp4! camlp4 was incompatibly re-worked for OCaml 3.10 (I think it was 3.10, anyway) - Daniel De Rauglaudre, the author of the original camlp4 but at that time not its maintainer, decided to continue development of the original camlp4 but, to avoid creating even more hell in the upgrade to OCaml 3.10, renamed the tool to camlp5. So camlp5 is basically a maintained fork of an older version of camlp4.

ppx is a much more recent innovation designed to replace most uses of both those tools. Which is at least part of the reason that camlp4 is no longer included in mainline OCaml.

> What gives here?

History! And also that converting between camlp4/camlp5/ppx is non-trivial. If doing something new, and you don't need to worry about older OCamls, ppx is the way to go...

HTH,


David 

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

* Re: [Caml-list] Is this the right place to discuss camlp5?
  2015-10-26 14:21 ` Hendrik Boom
  2015-10-26 14:27   ` David Allsopp
@ 2015-10-26 14:29   ` Ashish Agarwal
  1 sibling, 0 replies; 9+ messages in thread
From: Ashish Agarwal @ 2015-10-26 14:29 UTC (permalink / raw)
  To: Hendrik Boom; +Cc: Caml List

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

On Mon, Oct 26, 2015 at 10:21 AM, Hendrik Boom <hendrik@topoi.pooq.com>
wrote:

> On Mon, Oct 26, 2015 at 01:35:45PM +0000, Soegtrop, Michael wrote:
> > Dear Ocaml Users,
> >
> > I just wanted to ask, if this is the right place to discuss camlp5, or
> if there is a better place. I have a rather bizarre build issue on Cygwin
> and a fix (well a hack) for it.
>
> Now I've heard about campl5, presumably a successor to campl4, and about
> ppx, touted as a successor to camlp4.
>
> What gives here?
>

The 2nd paragraph here [1] clarifies it a bit:

[1] http://ocaml.org/learn/tutorials/camlp5.html

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

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

* Re: [Caml-list] Is this the right place to discuss camlp5?
  2015-10-26 14:27   ` David Allsopp
@ 2015-10-26 15:18     ` Hendrik Boom
  2015-10-26 15:30       ` Gabriel Scherer
  0 siblings, 1 reply; 9+ messages in thread
From: Hendrik Boom @ 2015-10-26 15:18 UTC (permalink / raw)
  To: caml-list

On Mon, Oct 26, 2015 at 02:27:23PM +0000, David Allsopp wrote:
> Hendrik Boom wrote:
> > On Mon, Oct 26, 2015 at 01:35:45PM +0000, Soegtrop, Michael wrote:
> > > Dear Ocaml Users,
> > >
> > > I just wanted to ask, if this is the right place to discuss camlp5, or
> > if there is a better place. I have a rather bizarre build issue on Cygwin
> > and a fix (well a hack) for it.
> > 
> > Now I've heard about campl5, presumably a successor to campl4, and about
> > ppx, touted as a successor to camlp4.
> 
> In fact, camlp5 is technically the predecessor of camlp4! camlp4 was incompatibly re-worked for OCaml 3.10 (I think it was 3.10, anyway) - Daniel De Rauglaudre, the author of the original camlp4 but at that time not its maintainer, decided to continue development of the original camlp4 but, to avoid creating even more hell in the upgrade to OCaml 3.10, renamed the tool to camlp5. So camlp5 is basically a maintained fork of an older version of camlp4.
> 
> ppx is a much more recent innovation designed to replace most uses of both those tools. Which is at least part of the reason that camlp4 is no longer included in mainline OCaml.
> 
> > What gives here?
> 
> History! And also that converting between camlp4/camlp5/ppx is non-trivial. If doing something new, and you don't need to worry about older OCamls, ppx is the way to go...

How incomptible are they?  I don't expect to be able to use ppx in 
the place of camlp4 on camlp4 code, but is there any difficulty
combining legacy code written using camlp4 with new code written 
using ppx?

-- hendrik

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

* Re: [Caml-list] Is this the right place to discuss camlp5?
  2015-10-26 15:18     ` Hendrik Boom
@ 2015-10-26 15:30       ` Gabriel Scherer
  2015-10-26 23:50         ` [Caml-list] campp{4,5} and ppx Hendrik Boom
  0 siblings, 1 reply; 9+ messages in thread
From: Gabriel Scherer @ 2015-10-26 15:30 UTC (permalink / raw)
  To: Hendrik Boom; +Cc: caml users

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

To my knowledge, nobody has contributed parsing of attributes and
extensions (a change to the OCaml syntax whose use is central to many of
the ppx extensions) to camlp4 or camlp5 (which implement their own OCaml
parsers and thus need to be updated accordingly). It would not necessarily
be too difficult to do so, but that means that currently you cannot combine
camlp{4,5} and PPX extensions within the same source file.

There is another way to understand your question: if you have developed
camlp{4,5} extensions, how hard is it to port them to ppx, or conversely to
port a ppx extension to camlp{4,5}? My answer would be "rather easy",
knowing that there are two separate aspects:

- The first thing an extension does is to parse some part of the user input
to recognize extension-specific code. This is relatively easy to do using
both systems, but done in a completely different ways, so this part (the
"frontend") of the extension needs to be completely rewritten. In addition,
ppx is more restricted than camlp{4,5} in terms of the flexibility to
change the syntax (this is a feature), so some things that are easy to do
for camlp{4,5} extensions may require some thoughts about how to express
this with extensions/attributes instead.

- Once the extension has recognized the information it relies on within the
user source code, it will do some extension-specific stuff and spit some
AST out. This is very easy to port from one extension to the other, and
most of this part of the code (the "backend") can be reused.

The respective size of frontend and backend differs depending on the
extension. The more complex the frontend part, the harder the transition
from one system to another (this also applies to porting an extension from
camlp4 to camlp5 or vice-versa).


On Mon, Oct 26, 2015 at 4:18 PM, Hendrik Boom <hendrik@topoi.pooq.com>
wrote:

> On Mon, Oct 26, 2015 at 02:27:23PM +0000, David Allsopp wrote:
> > Hendrik Boom wrote:
> > > On Mon, Oct 26, 2015 at 01:35:45PM +0000, Soegtrop, Michael wrote:
> > > > Dear Ocaml Users,
> > > >
> > > > I just wanted to ask, if this is the right place to discuss camlp5,
> or
> > > if there is a better place. I have a rather bizarre build issue on
> Cygwin
> > > and a fix (well a hack) for it.
> > >
> > > Now I've heard about campl5, presumably a successor to campl4, and
> about
> > > ppx, touted as a successor to camlp4.
> >
> > In fact, camlp5 is technically the predecessor of camlp4! camlp4 was
> incompatibly re-worked for OCaml 3.10 (I think it was 3.10, anyway) -
> Daniel De Rauglaudre, the author of the original camlp4 but at that time
> not its maintainer, decided to continue development of the original camlp4
> but, to avoid creating even more hell in the upgrade to OCaml 3.10, renamed
> the tool to camlp5. So camlp5 is basically a maintained fork of an older
> version of camlp4.
> >
> > ppx is a much more recent innovation designed to replace most uses of
> both those tools. Which is at least part of the reason that camlp4 is no
> longer included in mainline OCaml.
> >
> > > What gives here?
> >
> > History! And also that converting between camlp4/camlp5/ppx is
> non-trivial. If doing something new, and you don't need to worry about
> older OCamls, ppx is the way to go...
>
> How incomptible are they?  I don't expect to be able to use ppx in
> the place of camlp4 on camlp4 code, but is there any difficulty
> combining legacy code written using camlp4 with new code written
> using ppx?
>
> -- hendrik
>
> --
> 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: 4738 bytes --]

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

* [Caml-list] campp{4,5} and ppx
  2015-10-26 15:30       ` Gabriel Scherer
@ 2015-10-26 23:50         ` Hendrik Boom
  0 siblings, 0 replies; 9+ messages in thread
From: Hendrik Boom @ 2015-10-26 23:50 UTC (permalink / raw)
  To: caml-list

On Mon, Oct 26, 2015 at 04:30:39PM +0100, Gabriel Scherer wrote:
> To my knowledge, nobody has contributed parsing of attributes and
> extensions (a change to the OCaml syntax whose use is central to many of
> the ppx extensions) to camlp4 or camlp5 (which implement their own OCaml
> parsers and thus need to be updated accordingly). It would not necessarily
> be too difficult to do so, but that means that currently you cannot combine
> camlp{4,5} and PPX extensions within the same source file.

Presumabbly ther qould be no problem if the camlp{4,5} and the PPX 
extensions were used in different source files?

> 
> There is another way to understand your question: if you have developed
> camlp{4,5} extensions, how hard is it to port them to ppx, or conversely to
> port a ppx extension to camlp{4,5}? My answer would be "rather easy",
> knowing that there are two separate aspects:

This invites another question:

How many of the things made available in camlp{4,5}, such as stream 
parsers, have been ported to ppx?

-- hendrik

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

end of thread, other threads:[~2015-10-26 23:50 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-26 13:35 [Caml-list] Is this the right place to discuss camlp5? Soegtrop, Michael
2015-10-26 13:40 ` Gabriel Scherer
2015-10-26 14:01   ` Soegtrop, Michael
2015-10-26 14:21 ` Hendrik Boom
2015-10-26 14:27   ` David Allsopp
2015-10-26 15:18     ` Hendrik Boom
2015-10-26 15:30       ` Gabriel Scherer
2015-10-26 23:50         ` [Caml-list] campp{4,5} and ppx Hendrik Boom
2015-10-26 14:29   ` [Caml-list] Is this the right place to discuss camlp5? Ashish Agarwal

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