Skip to content

Partialy applied symbolic function not decompiled correctly #86

@GoogleCodeExporter

Description

@GoogleCodeExporter
We note that the difference between this issue and 85 is that (+) is being 
considered a binary op while (~~~) a unary op.

> let (~~~) x y z = x - y - z;;

val ( ~~~ ) : int -> int -> int -> int

> <@ (~~~) 1 1 @>;;
val it : Quotations.Expr<(int -> int)> =
  Let (x, Value (1),
     Let (y, Value (1), Lambda (z, Call (None, op_LogicalNot, [x, y, z]))))
    {CustomAttributes = [NewTuple (Value ("DebugRange"),
          NewTuple (Value ("stdin"), Value (88), Value (4), Value (88),
                    Value (12)))];
     Raw = ...;
     Type = Microsoft.FSharp.Core.FSharpFunc`2[System.Int32,System.Int32];}
> decompile <@ (~~~) 1 1 @>;;
val it : string = "(~~~~)"
> decompile <@ (~~~) 1 @>;;
val it : string = "(~~~~)"
> decompile <@ (~~~) @>;;
val it : string = "(~~~~)"
> decompile <@ (~~~) 1 1 1 @>;;
val it : string = "op_LogicalNot 1 1 1"

Original issue reported on code.google.com by stephen....@gmail.com on 23 Apr 2012 at 2:32

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions