theratioproject / simple

The Simple Intelligent and Modular Programming Language and Environment
https://simple-lang.sourceforge.io/
MIT License
126 stars 20 forks source link

Modular - Simple module update and downloader. #19

Open Youngestdev opened 6 years ago

Youngestdev commented 6 years ago

Well, we want to build simple as a very intelligent and smart programming language so we have to include a lot of environmental functions etc. Judging by the last issues, you can see we're working hard.

So what's modular ?

Modular is a command line simple app that updates simple itself and it modules, it will also be used to get new modules or fetch upgrades from the repos. Just like we have apt-get in Linux, npm update etc. That sounds cool ? Yeah

ToDo

  1. Upgrade simple version without having to download from website. ( Currently under test ).
  2. Grab modules from the repository
  3. Update modules.
  4. Install new environment / desktop apps and update them.
  5. Publish your module into the repo. That sounds cool. On this issues, you're welcomed as a contributor. This is currently handled by @TheCarisma and I.

Updates will be published in this issue

Youngestdev commented 6 years ago

@Thecarisma any update ?

appcypher commented 6 years ago

This can be done like rustup or choosenim.

The user just types a command into the terminal and simple gets installed or updated automatically. A seamless nice user experience.

The command is usually in this format.

curl https://sh.some-domain.com/install -sSf | sh

This means the shell script that gets run will be hosted on that site and the script will be responsible for downloading and installing simple on the user's system.

The first step here is to host an installer script online.

Youngestdev commented 6 years ago

Well, the current workaround is using modular directly from the terminal. Modular is an environment and does this. To upgrade simple now can be done with modular using the command

$ modular -u

Modular isn't a shell script. It's solely command line for now 😉. Your PRs are welcomed tho . :+1:

Youngestdev commented 6 years ago

Talking about the installation, I get what you mean. SIMPLE will be installed on cloud and directly installed in the system upon calling the curl command. This won't require downloading zip files, unzipping etc. Isn't this what you meant @appcypher ?

appcypher commented 6 years ago

Not quite. What I mean is that the script that downloads/update simple will be hosted somewhere it can be downloaded. Of course simple will be hosted somewhere, but it's the script I was referring to.

The reason rustup way is nice is that new users just need to enter that command into their terminal and the script gets intalled by curl, which then gets run by sh. The script downloads and install simple and all its dependencies.

curl https://sh.some-domain.com/install -sSf | sh

No need to have modular or simple installed already. That command does everything for you.

appcypher commented 6 years ago

Of course modular would still be needed for more sophisticated update or dependency management. I suspect it may be turned into a package manager, that's if it is not already that.

But for just regular installation and updating of simple, the rustup way should do.

Youngestdev commented 6 years ago

I just got your point. I think we'll work towards using that method for installation. Modular is just for upgrading and downloading modules and new environment programs. So I understand perfectly and thanks for the clarification :+1:

On Jul 14, 2018 10:38, "Steve Akinyemi" notifications@github.com wrote:

Not quite. What I meant is the script that downloads/update simple will be hosted somewhere it can be downloaded. Of course simple will be hosted somewhere, but it's the shell I was referring to.

The reason rustup-like way is nice is that new users just need to enter that command into their terminal and the script gets intalled by curl, which is run sh. The script downloads and install simple and all its dependencies.

curl https://sh.some-domain.com/install -sSf | sh

No need to have modular or simple installed already. That command does everything for you.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/simple-lang/simple/issues/19#issuecomment-405011844, or mute the thread https://github.com/notifications/unsubscribe-auth/Adkrj2IpTOvuielVVhSwF56TzPcfyVm0ks5uGbwsgaJpZM4VHav5 .

Youngestdev commented 6 years ago

And yes, modular would be a package manager. It's currently in it's beta stage.

On Jul 14, 2018 10:42, "Abdulazeez Abdulazeez Adeshina" < laisibizness@gmail.com> wrote:

I just got your point. I think we'll work towards using that method for installation. Modular is just for upgrading and downloading modules and new environment programs. So I understand perfectly and thanks for the clarification :+1:

On Jul 14, 2018 10:38, "Steve Akinyemi" notifications@github.com wrote:

Not quite. What I meant is the script that downloads/update simple will be hosted somewhere it can be downloaded. Of course simple will be hosted somewhere, but it's the shell I was referring to.

The reason rustup-like way is nice is that new users just need to enter that command into their terminal and the script gets intalled by curl, which is run sh. The script downloads and install simple and all its dependencies.

curl https://sh.some-domain.com/install -sSf | sh

No need to have modular or simple installed already. That command does everything for you.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/simple-lang/simple/issues/19#issuecomment-405011844, or mute the thread https://github.com/notifications/unsubscribe-auth/Adkrj2IpTOvuielVVhSwF56TzPcfyVm0ks5uGbwsgaJpZM4VHav5 .

appcypher commented 6 years ago

Right. I just realized now that by module you are referring to package. So Modular is indeed a package manager. Cool.

Youngestdev commented 6 years ago

Yep. Currently doing research on how we can accomplish the installation from cloud using the curl command.

On Jul 14, 2018 10:47, "Steve Akinyemi" notifications@github.com wrote:

Right. I just realized now that by module you are referring package. So Modular is indeed a package manager. Cool.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/simple-lang/simple/issues/19#issuecomment-405012235, or mute the thread https://github.com/notifications/unsubscribe-auth/Adkrj_bfXfkXFBFj3SZEotWyZMWryiBUks5uGb4XgaJpZM4VHav5 .

appcypher commented 6 years ago

So I guess the rustup thing should be opened under another issue. As this thread is for package management.

Youngestdev commented 6 years ago

Exactly. I'll just open the issue. Thanks for bringing this up :+1: