Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modules renaming proposal #105

Closed
devcrocod opened this issue May 12, 2022 · 1 comment
Closed

Modules renaming proposal #105

devcrocod opened this issue May 12, 2022 · 1 comment
Milestone

Comments

@devcrocod
Copy link
Collaborator

devcrocod commented May 12, 2022

With the addition of multiplatform support, I encountered a name clash and, as a result, confusion in understanding.
As an example, there is a multik-native module, its artifacts will be as follows:

  • multik-native-jvm
  • multik-native-native
    • multik-native-macosX64
    • multik-native-macosArm64
    • multik-native-iosArm64
    • multik-native-linuxX64
    • multik-native-mingwX64

This naming makes confusion.

Therefore, it is necessary to rename the modules in accordance with their purpose and multiplatform.
Since renaming modules breaks compatibility and makes publishing difficult, I'm posting this as a proposal.

multik-api

multik-api doesn't have problems with multiplatform naming conventions, but the name doesn't reflect the essence of the module. The module itself consists of a data structure (ndarray), simple and iterative operations on ndarrays, and interfaces for mathematics, linear algebra, and statistics. In that case, I think it's correct to call this module multik-core, since this describes the essence well.

multik-jvm

There is confusion in the names multik-jvm-jvm and multik-jvm-native here. This module implements interfaces from multik-api (multik-core) in pure Kotlin without native code. Then it can be called as multik-pure-kotlin. But in this case, this name is not well in my opinion. I would be glad if you suggest other variants.

multik-native

Obviously there is confusion with native for jvm. This module implements interfaces from multik-api (multik-core) using the OpenBLAS library and partially cpp code. One obvious option was to name this module as multik-openblas, but other native libraries may be added in the future and then this name will not be correct.

multik-default

This module combines multik-jvm and multik-native implementations. This name works well for users who do not want to understand the intricacies of the library. Nevertheless, in terms of Kotlin, it is more correct to name this module as multik-common, but you can leave the old name as well.

I will be glad if you share your vision and experience of using the library in order to clearly understand how to name different modules.

@devcrocod devcrocod added this to the 0.2.0 milestone May 12, 2022
@devcrocod
Copy link
Collaborator Author

Modules renamed as follows:

  • multik-api -> multik-core
  • multik-jvm -> multik-kotlin
  • multik-native -> multik-openblas
  • multik-default -> multik-default (remained the same)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant