Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0004608OCaml~DO NOT USE (was: OCaml general)public2008-08-28 17:092016-12-12 17:14
Assigned To 
StatusclosedResolutionno change required 
PlatformOSOS Version
Product Version3.10.2 
Target VersionFixed in Version 
Summary0004608: Metaprogramming features
DescriptionI really wish that the basic features of metaocaml, namely .< >., .~ and .! were included in OCaml proper. The many other experimental features of metaocaml could stay 'experimental', those are the 3 which are sorely needed.

Note that OCaml could be really ahead of Haskell here (with its untyped Template Haskell, which is closer to camlp4 than to metaocaml) by being the first production language to have _typed_ metaprogramming facilities.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
ccshan (reporter)
2008-09-12 20:24

jdh30 (reporter)
2008-09-12 20:51

philou (reporter)
2008-09-12 21:00

Yup would like to get it integrated in mainline ocaml too
eaubin (reporter)
2008-09-12 21:13

It would be great if ocaml could incorporate basic metaprogramming!
taha (reporter)
2008-09-15 22:06

I too would like to see this happen, and would be happy to help.
ccris (reporter)
2008-09-17 07:34

Good idea.
It would also respond to a request appeared in the OCaml Journal:
  Metaprogramming with MetaOCaml (27th July 2008)
moggi (reporter)
2008-09-17 13:59

I support the proposal of making the basic meta-programming features of metaocaml part of OCaml
jun0 (reporter)
2008-09-17 22:05

This would be a fantastic addition to ocaml!
ponderosaTX (reporter)
2008-09-17 22:35

I strongly support this initiative.
bpr (reporter)
2008-09-19 00:02

I'd like to see these useful capabilities added to OCaml soon.
John Malecki (reporter)
2008-09-19 01:46

I've used PE techniques at the companies VLSI Libraries and Artisan Components
to great effect but I used them with Scheme. It would be great to be able to
use them with Ocaml. Not having the PE capability in a production release of
Ocaml prevents me from using MetaOcaml at work.
williamc (reporter)
2008-09-19 09:18

We'd be interested to use this in the investment bank where I work.
herrmann (reporter)
2008-10-03 15:01

The metaprogramming constructs .< >., .~, .! are really
useful for type-safe run-time code generation and should
be made part of the standard OCaml distribution, to be sure
that they are available in all future versions of OCaml!
squirrel (reporter)
2008-10-03 16:46

I think this is a wonderful idea.
yallop (developer)
2008-10-03 16:51

I support this proposal!
Yoric (reporter)
2008-10-03 17:57

I would simply love that. I can think of plenty of problems which could be solved by such a feature, from boilerplate stuff to optimizations. More than that: I can well see myself using this.
pdonadeo (reporter)
2008-10-03 23:24

I think it would be great having typed metaprogramming into the standard OCaml distribution.
warren (reporter)
2008-10-04 00:12

I think this would be great thing to have in the core distribution. It seems that as a feature it overlaps with camlp4 to a large extent, so it would be nice to see these brought more closely together into a unified meta/macro extension.

I've never been thrilled with the syntax chosen for metaocaml though. [|...|] would be a much more natural for quasi-quoting since this what all the academic papers use, although unfortunately it's already in use for arrays. (FWIW, I would probably use metaocaml features much more often than arrays!)
shinwell (developer)
2016-12-12 17:14

Discussion about incorporating parts of MetaOCaml comes up fairly regularly, but given there have been no specific patches proposed here, I think this old issue is redundant. When and if those responsible for MetaOCaml (or others) would like to pursue further the question of integration we will be pleased to receive patches and discussion via Github as is now usual. That will give a substantive basis on which to proceed.

- Issue History
Date Modified Username Field Change
2008-08-28 17:09 carette New Issue
2008-09-12 20:24 ccshan Note Added: 0004610
2008-09-12 20:51 jdh30 Note Added: 0004611
2008-09-12 21:00 philou Note Added: 0004612
2008-09-12 21:13 eaubin Note Added: 0004613
2008-09-15 22:06 taha Note Added: 0004615
2008-09-17 07:34 ccris Note Added: 0004616
2008-09-17 13:59 moggi Note Added: 0004617
2008-09-17 22:05 jun0 Note Added: 0004618
2008-09-17 22:35 ponderosaTX Note Added: 0004619
2008-09-19 00:02 bpr Note Added: 0004622
2008-09-19 01:46 John Malecki Note Added: 0004623
2008-09-19 09:18 williamc Note Added: 0004624
2008-09-23 20:16 doligez Status new => acknowledged
2008-10-03 15:01 herrmann Note Added: 0004647
2008-10-03 16:46 squirrel Note Added: 0004649
2008-10-03 16:51 yallop Note Added: 0004650
2008-10-03 17:57 Yoric Note Added: 0004655
2008-10-03 23:24 pdonadeo Note Added: 0004657
2008-10-04 00:12 warren Note Added: 0004658
2016-12-12 17:14 shinwell Note Added: 0016975
2016-12-12 17:14 shinwell Status acknowledged => closed
2016-12-12 17:14 shinwell Resolution open => no change required
2017-02-23 16:36 doligez Category OCaml general => -OCaml general
2017-03-03 17:55 doligez Category -OCaml general => -(deprecated) general
2017-03-03 18:01 doligez Category -(deprecated) general => ~deprecated (was: OCaml general)
2017-03-06 17:04 doligez Category ~deprecated (was: OCaml general) => ~DO NOT USE (was: OCaml general)

Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker