[wg-camlp4] Reconciling Merlin and ppx

Yaron Minsky yminsky at janestreet.com
Mon Nov 4 14:00:21 GMT 2013


I very much hope that the Core.Std problem will be gone in 4.02.
Module aliases look likely to land by then, and they should _greatly_
reduce the cost.

y

On Mon, Nov 4, 2013 at 8:46 AM, Frédéric Bour <defree at gmail.com> wrote:
> Le lun. 04 nov. 2013 14:25:19 CET, Alain Frisch a écrit :
>
>> On 11/04/2013 02:02 PM, Frédéric Bour wrote:
>>>
>>> - the transformer relies on some global state, that has to be threaded
>>> across different invocations.
>>
>>
>> This will indeed be the case for some transformers -- think about a
>> macro system with macros defined in the same unit.
>>
>> But if you use the same representation as the compiler for the AST,
>> couldn't you simply apply the transformers to the whole AST?  Why do
>> you need to apply them to individual chunks?
>
>
> Merlin is used in an interactive context (were we expect a response in less
> than ~ 60ms, on average).
>
> If we retransform the whole AST during each invocation, we also need to
> retype the whole AST after. Then an "open Core.Std" alone is enough to blow
> up the time budget. (And this existimation is done on a desktop computer,
> some users have EEE).
>
> However, I wonder how this state threading would be handled in the REPL ?
>
>>
>>
>> Alain


More information about the wg-camlp4 mailing list