# R Type Provider

## RProvider Namespace

 Type Description IConvertFromR<'TOutType> This interface can be used for providing new convertors that can convert R values to .NET types. The converter is used whenever the users calls the se.GetValue<'TOutType>() on a SymbolicExpression value returned from R provider. IConvertToR<'TInType> This inteface can be used for providing new convertors that can convert custom .NET data types to R values. The converter is used whenever the user calls an R function (such as R.foo(...)) with an arguments that is of type TInType. IDefaultConvertFromR This interface can be used for providing a default converter that converts R value to .NET obj values. The converter is used whenever the user calls the se.Value member on SymbolicExpression. This property should convert an R value to the "most appropriate" .NET object. REnv The object represents an R environment loaded from RData file. This type is typically used through an RData type provider. To get a statically typed R environment for a given file, use RData<"C:\\myfile.rdata">.
 Module Description Helpers Contains helper functions for calling the functions generated by the R provider, such as the namedParams function for specifying named parameters. The module is automatically opened when you open the RProvider namespace.

## RProvider.Internal Namespace

 Type Description IRInteropServer Interface that is used for communication between the R provider server (RProvider.Server.exe) which communicates with R and the client that runs in the host IDE process (Visual Studio, Xamarin Studio etc.) NOTE: In order to support standalone compilation of RProvider.Server.exe` (which inlines the F# Core library), the interface does not expose any F# Core types.