[ 
https://issues.apache.org/jira/browse/TINKERPOP-1552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16034328#comment-16034328
 ] 

Jorge Bay commented on TINKERPOP-1552:
--------------------------------------

bq. Jorge Bay are you proposing this structure:
Yes
bq. All of that is C# then if there is a need for VB or F# specific odds and 
ends [...]
Its worth noting that the popularity of other languages in the .NET runtime 
compared to C# is very low. A different API for C# and VB.NET makes no sense as 
the interoperability is almost 100% and language constructs are the same (its 
more like different dialects). For F#, specific extensions could make more 
sense but it would be unlikely to be needed as C# is a "functional enough 
language" for APIs built in C# to be usable in F#.  
It's not common to mix .NET languages in a same solution, but due to 
limitations in the build tools (msbuild), you can not mix it in the same 
project (files contained in a csproj / fsproj). If we wanted to expose a 
different "process" API for F# in the future, it would have to be like this:
{noformat}
gremlin-dotnet (maven module level)
  src
    Gremlin.DotNet
      Driver
        |_ .cs files
      Process
        |_ .cs files
      Structure
        |_ .cs files
    Gremlin.DotNet.FSharp
      Process
        |_ .fs files
{noformat}
That would imply that {{Gremlin.DotNet.Process}} namespace contains the 
traversal interfaces/implementations for general use and 
{{Gremlin.DotNet.FSharp.Process}} contains members specifically designed for 
F#. But again, not very common.

> C# Gremlin Language Variant
> ---------------------------
>
>                 Key: TINKERPOP-1552
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1552
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: language-variant
>    Affects Versions: 3.2.3
>            Reporter: Jorge Bay
>            Assignee: stephen mallette
>
> It would be nice to have a C# GLV that runs under .NET Framework 4.5+ and 
> .NET Core.
> The maven build could use the Exec Maven Plugin to exec .NET Core's [dotnet 
> test|https://www.microsoft.com/net/core#macos] command.
> Some requirements, from the mailing list (edited):
> {quote}
> 1. The GLV should keep in line with class/method names of the java API
> where possible to ensure consistency of feel across languages.
> 2. There needs to be adequate tests (we're still discussing the approach to
> testing GLVs and i think that needs to be tackled sooner than later as more
> GLVs start to come in). Those tests should produce xunit style output
> unless there is some good reason not to.
> 3. There needs to be adequate documentation (e.g. Reference docs)
> 4. The build/deploy process needs to be bound to maven which might be one of 
> the trickier bits to deal with.
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to