Hello. 2020-09-17 21:47 UTC+02:00, Oliver Heger <oliver.he...@oliver-heger.de>: > 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.
How does it compare with e.g. https://github.com/remkop/picocli ? > 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. Given the current drift towards GitHub-centered development, what do you expect from bringing the code here? > 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]? IIRC, last time significant improvements were evoked for [CLI] someone mentioned "picocli"... Regards, Gilles > > 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