Giter Club home page Giter Club logo

Comments (10)

klmr avatar klmr commented on May 21, 2024

How should this be compartmentalised?

Should this be a core part of “modules”? I’m somewhat in favour of keeping it as a separate project. If so, would it be an independent package? Or a module? The latter has property of some kind of bootstrapping, which is both an advantage and a disadvantage:

It’s a disadvantage because installing it would require some manual work (since it cannot install itself the first time). On the flip side, it could take care of updating itself, by harnessing its own mechanism for module distribution.

from box.

gaborcsardi avatar gaborcsardi commented on May 21, 2024

I think the module manager can be a module. For easier installation you can also build native installers for it e.g. a DEB package for ubuntu, a DMG for OSX, etc. At least this is how it is done on other platforms, and that works well, imho.

Btw. it would be great if modules could handle command line execution (from the shell I mean) somehow, and then the module manager could be also run like that:

$ mod install module1

Or is this already solved?

from box.

klmr avatar klmr commented on May 21, 2024

It’s not solved already (none of this code is written yet) but I intended to implement this, yes.

from box.

gaborcsardi avatar gaborcsardi commented on May 21, 2024

No, I mean, is "running" modules from the shell already solved? Did you have something similar to Python's if __name__ == "__main__": idiom, or am I misremembering?

from box.

klmr avatar klmr commented on May 21, 2024

Ah, yes, that’s implemented. In fact, I’m working on a convenience wrapper (already using it internally), which allows the following code:

sys = modules::import('sys')

sys$run({
    sys$print('Hello, world!')
})

from box.

klmr avatar klmr commented on May 21, 2024

For reference, relevant comment discussion about post-install hooks (to install the module manager script) here: http://stackoverflow.com/a/32035219/1968

from box.

klmr avatar klmr commented on May 21, 2024

Name clashes in public modules will be a concern.

For reference, here’s a Google search on the subject: https://www.google.com/search?q=avoiding+package+name+clashes — showing that this is an active concern across languages and libraries. Java/Swift/Go/… have all solved this, while NPM has fallen on its face, despite their best efforts. This needs to be a central concern of any distribution system for modules.

from box.

mschubert avatar mschubert commented on May 21, 2024

Could just have a Github organisation as a "reference list"? That way they would be indexed, connected, and have unique names.

from box.

klmr avatar klmr commented on May 21, 2024
  • Con: Github is a third party private corporation. Worst-case scenario, they go out of business tomorrow. Or they are made irrelevant by an emergent competitor.
  • Pro: Cons are unlikely; apps have already done the same with Twitter handles, and it worked well (until Twitter decided to make handles modifiable).

So yes, at least informally that’ll probably be the case.

from box.

mschubert avatar mschubert commented on May 21, 2024

Github doesn't own the content, would be easily transferable. Combined with the unlikelyness of that happening, this is a very minor risk.

from box.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.