davisdude/mlib

We should combine forces!

karai17 opened this issue · 11 comments

CPML and mlib have very similar goals, a lot of the same functionality, but we're both missing things from each other. I propose that we combine forces to make CPML the ultimate general purpose Lua math library!

Firstly, I suggest we use CPML as a base since it is already written in a manner that you want mlib to evolve to (metatables, modularization, etc.) as discussed in issue #9.

Secondly, we're really attached to the name "Cirno's Perfect Math Library". It's a really funny joke for those in the know.

Thirdly, much of CPML is already documented using LDoc, although this still needs work.

Both libraries are fighting for the same goal and "competing", however informally, seems less useful than actually building one awesome tool together.

Yeah, I agree. Object-based especially seems to be a lot more game-friendly.

CPML also already has error-checking, as well as a few other things that I was planning on adding. It seems kind of stupid to work on them both independently when it could be better if we combined them.

One side note though is that I'm pretty infrequent about when I have time to work on the library. But either way, I agree that it would be best to work together.

COMBINE!

In all seriousness, Time itself isn't all that important. CPML already has a lot going for it so it's a matter of porting some of your code over into new modules, or expending other modules. Improving documentation, etc. You've been added to the CPML repo. Please try to be consistent with our code style ;) <3

Alright. LDoc seems like the way to go anyway-- working on documentation for hours at a time isn't exactly what I call fun.

I'll try and look at your coding style and port some stuff over when I can

Cool! our coding style is pretty simple. underscore_naming, tab to indent, space to align, align grouped = signs, etc.

Alright, I have some style questions:

  • When should the version be incremented (semantic versioning, I'm assuming)?
  • Is there any reason you use double quotes for the last part of local current_folder = (...):gsub('%.[^%.]+$', '') .. "."?

We are really loose on the version number, it basically means nothing right
now but we should probably consider actually incrementing it properly at
some point.

That final "." is there for a reason. current_folder is only used for
requiring sister modules so it just means we can type:

local vec3 = require(current_folder .. "vec3")

Instead of:

local vec3 = require(current_folder .. ".vec3")
On Oct 10, 2015 23:46, "Davis" notifications@github.com wrote:

Alright, I have some style questions:

  • When should the version be incremented (semantic versioning, I'm
    assuming)?
  • Is there any reason you use double quotes for the last part of local
    current_folder = (...):gsub('%.[^%.]+$', '') .. "."?


Reply to this email directly or view it on GitHub
#12 (comment).

I know that, I was wondering why you use single quotes everywhere else, and then use double quotes there.

Ah! We generally use double quotes but I think we copied the main section
of that line from somewhere else. There is no practical reason, feel free
to change them all to double quotes if you like.
On Oct 11, 2015 10:49 AM, "Davis" notifications@github.com wrote:

I know that, I was wondering why you use single quotes everywhere else,
and then use double quotes there.


Reply to this email directly or view it on GitHub
#12 (comment).

Oh, okay. Thanks

How is it now?

I haven't really contributed a lot to CPML yet. Right now I'm pretty busy, although I'm also slowly re-working through mlib, as there were some small bugs.