"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/fsharp/FSharp.Core/Linq.fs" between
fsharp-4.1.33.tar.gz and fsharp-4.5.tar.gz

About: Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime. fsharp is the F# compiler and core library.

Linq.fs  (fsharp-4.1.33):Linq.fs  (fsharp-4.5)
skipping to change at line 776 skipping to change at line 776
| Patterns.Lambda(v, body) -> | Patterns.Lambda(v, body) ->
let vP = ConvVarToLinq v let vP = ConvVarToLinq v
let env = { env with varEnv = Map.add v (vP |> asExpr) env.varEnv } let env = { env with varEnv = Map.add v (vP |> asExpr) env.varEnv }
let bodyP = ConvExprToLinqInContext env body let bodyP = ConvExprToLinqInContext env body
let lambdaTy, tyargs = let lambdaTy, tyargs =
if bodyP.Type = typeof<System.Void> then if bodyP.Type = typeof<System.Void> then
let tyargs = [| vP.Type |] let tyargs = [| vP.Type |]
typedefof<Action<_>>, tyargs typedefof<Action<_>>, tyargs
else else
let tyargs = [| vP.Type; bodyP.Type |] let tyargs = [| vP.Type; bodyP.Type |]
#if FX_NO_CONVERTER
typedefof<Func<_, _>>, tyargs typedefof<Func<_, _>>, tyargs
#else
typedefof<System.Converter<_, _>>, tyargs
#endif
let convType = lambdaTy.MakeGenericType tyargs let convType = lambdaTy.MakeGenericType tyargs
let convDelegate = Expression.Lambda(convType, bodyP, [| vP |]) |> a sExpr let convDelegate = Expression.Lambda(convType, bodyP, [| vP |]) |> a sExpr
Expression.Call(typeof<FuncConvert>,"ToFSharpFunc", tyargs,[| convDe legate |]) |> asExpr Expression.Call(typeof<FuncConvert>,"ToFSharpFunc", tyargs,[| convDe legate |]) |> asExpr
| _ -> | _ ->
raise (new NotSupportedException(Printf.sprintf "Could not convert t he following F# Quotation to a LINQ Expression Tree\n--------\n%A\n------------- \n" inp)) raise (new NotSupportedException(Printf.sprintf "Could not convert t he following F# Quotation to a LINQ Expression Tree\n--------\n%A\n------------- \n" inp))
and transBinOp env addConvertLeft x1 x2 addConvertRight (exprErasedConstruct or : _ * _ -> _) = and transBinOp env addConvertLeft x1 x2 addConvertRight (exprErasedConstruct or : _ * _ -> _) =
let e1 = ConvExprToLinqInContext env x1 let e1 = ConvExprToLinqInContext env x1
let e2 = ConvExprToLinqInContext env x2 let e2 = ConvExprToLinqInContext env x2
 End of changes. 2 change blocks. 
4 lines changed or deleted 0 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)