This is an incompleteness (along with a poor error message).

In particular, not all F# expressions can be quoted in the 1.9.2 and 1.9.3 versions of F#. In particular code the includes the following may not currently be quoted:

- object expressions

- definitions of generic (i.e. generalized) 'let' or 'let rec' bindings (*)

- uses of some constructs related to byref values

- some constructs related to exceptions (e.g. Failure "fail")

- some constructs related to "null"

- some pattern matches: null, array, exception and isinst (:?) patterns

- some constructs related to imperative programming (mutable, assignments to locals)

We expect these limitations to be lifted in future releases with the exception the one marked (*). Lifting this restriction would substantially increase the complexity of working with quotations and is not something we're likely to do soon.

Kind regards

Don

By on 1/8/2008 5:05 AM ()
IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper