Re: [ALL][CLI] CLI for Scala

2020-09-20 Thread Gary Gregory
I personally would welcome other languages to Apache Commons, especially
for JVM hosted languages.

We document our Commons project as:

"Apache Commons is an Apache project focused on all aspects of reusable
Java components."

I feel we could expand from "reusable Java components" to "reusable JVM
hosted language components."

My initial concern would be to avoid any confusion with what component
targets what language. This might be a simple case of choosing good names
for new components. Needs some thought.

Gary

On Sun, Sep 20, 2020 at 12:39 PM Oliver Heger 
wrote:

> Resending with a different subject to potentially reach a broader audience.
>
> Am 17.09.20 um 21:47 schrieb Oliver Heger:
> > Hi all,
> >
> > once we had a discussion (it must be one or two years ago) whether
> > Commons could support components in other (JVM) languages, too. IIRC,
> > there were no strong objections, but there has never been a follow up.
> >
> > For a project in Scala, I needed some limited functionality to process
> > command line parameters. I came up with a functional solution that
> > seemed to be pretty flexible. So I extracted the code into a separate
> > repository [1] and enhanced it.
> >
> > It is now in a shape that it supports a lot of the features typical to a
> > CLI library. The functional programming (FP) approach is probably
> > somewhat special: you define extractors using a DSL, which are actually
> > monads and thus can be nicely transformed and composed to more complex
> > structures. The end product is a configuration object representing all
> > the parameters passed to the application in a type-safe manner. The
> > repository contains a README describing the high-level concepts and a
> > tutorial [2] with a comprehensive description of all the features
> available.
> >
> > So I would like to ask again the question whether Commons could have
> > components in other programming languages, and more specifically,
> > whether this CLI for Scala library could be a candidate.
> >
> > Notes:
> > - Except for the domain, there is no relation to the original [CLI]; the
> > concepts are completely different.
> > - The Scala CLI has been written in and for Scala; so the API can
> > probably not be used from Java directly.
> > - As special Scala language features are used, it won't be trivial to
> > port this code to Java; but maybe some of the ideas could be
> > incorporated into [CLI]?
> >
> > Thanks
> > Oliver
> >
> > [1] https://github.com/oheger/scli
> > [2] https://github.com/oheger/scli/blob/master/Tutorial.adoc
> >
> >
> >
> > -
> > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> > For additional commands, e-mail: dev-h...@commons.apache.org
> >
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>


[ALL][CLI] CLI for Scala

2020-09-20 Thread Oliver Heger
Resending with a different subject to potentially reach a broader audience.

Am 17.09.20 um 21:47 schrieb Oliver Heger:
> Hi all,
> 
> once we had a discussion (it must be one or two years ago) whether
> Commons could support components in other (JVM) languages, too. IIRC,
> there were no strong objections, but there has never been a follow up.
> 
> For a project in Scala, I needed some limited functionality to process
> command line parameters. I came up with a functional solution that
> seemed to be pretty flexible. So I extracted the code into a separate
> repository [1] and enhanced it.
> 
> It is now in a shape that it supports a lot of the features typical to a
> CLI library. The functional programming (FP) approach is probably
> somewhat special: you define extractors using a DSL, which are actually
> monads and thus can be nicely transformed and composed to more complex
> structures. The end product is a configuration object representing all
> the parameters passed to the application in a type-safe manner. The
> repository contains a README describing the high-level concepts and a
> tutorial [2] with a comprehensive description of all the features available.
> 
> So I would like to ask again the question whether Commons could have
> components in other programming languages, and more specifically,
> whether this CLI for Scala library could be a candidate.
> 
> Notes:
> - Except for the domain, there is no relation to the original [CLI]; the
> concepts are completely different.
> - The Scala CLI has been written in and for Scala; so the API can
> probably not be used from Java directly.
> - As special Scala language features are used, it won't be trivial to
> port this code to Java; but maybe some of the ideas could be
> incorporated into [CLI]?
> 
> Thanks
> Oliver
> 
> [1] https://github.com/oheger/scli
> [2] https://github.com/oheger/scli/blob/master/Tutorial.adoc
> 
> 
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
> 

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org