[ https://issues.apache.org/jira/browse/TINKERPOP-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16362200#comment-16362200 ]
ASF GitHub Bot commented on TINKERPOP-1854: ------------------------------------------- Github user FlorianHockmann commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/792#discussion_r167844157 --- Diff: gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/LambdaSerializer.cs --- @@ -0,0 +1,45 @@ +#region License + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#endregion + +using System.Collections.Generic; +using Gremlin.Net.Process.Traversal; + +namespace Gremlin.Net.Structure.IO.GraphSON +{ + internal class LambdaSerializer : IGraphSONSerializer + { + private const int DefaultArgument = -1; + + public Dictionary<string, dynamic> Dictify(dynamic objectData, GraphSONWriter writer) + { + Lambda lambda = objectData; --- End diff -- Would you prefer the interface even if we don't use it in the traversal API (see my response to your other comment)? I usually don't introduce interfaces for classes that only hold data without any functionality, but I can of course add such an interface if you prefer it that way. > Support lambdas in Gremlin.Net > ------------------------------ > > Key: TINKERPOP-1854 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1854 > Project: TinkerPop > Issue Type: Improvement > Components: dotnet > Affects Versions: 3.3.0, 3.2.6 > Reporter: Florian Hockmann > Assignee: Florian Hockmann > Priority: Major > > Gremlin.Net should support lambdas. We already discussed this in [the pull > request for TINKERPOP-1752|https://github.com/apache/tinkerpop/pull/712]. > Here is what [~spmallette] said over there: > {quote} > Any reason we don't support lambdas? Even if .NET can't support them natively > for some reason wouldn't we minimally support the ability to pass a > python/groovy/etc lambda? it's kinda weird that way, but i think back to the > point that kuppitz made on the dev list the other day where he stated that he > doesn't always find a way out of using lambdas in production systems he works > on - so ultimately users will need that kind of capability i think. > {quote} > C# lambdas would require some kind of C# parser on the server side, so at > least in the beginning a way to send lambdas from already supported languages > in Gremlin.Net should be enough. -- This message was sent by Atlassian JIRA (v7.6.3#76005)