Comments (28)
👍 Looks good, as long as there's a central registry for packages. It's more complicated that way, but in my opinion it's harder to maintain packages when you can only get dependencies directly through version control systems or online downloads (for example, Go).
from streem.
I don't have a server with that kind of capacity though. Can you suggest something for that?
from streem.
Also: I would like to have matz's opinion on naming. And I'm going to use JSON for config files. I have chosen to write it in C because it is more stable.
from streem.
I run most of my open source web apps on Heroku. While some of their plans cost money, there is a free tier that I personally find pretty useful. However, I'm not sure if the free tier would be able to handle something of this capacity, and Heroku's dynos sleep when they're not in use if you're on the free tier.
from streem.
I like river as a name. How about bucket (or something similar)? Since you can put some of the water in a stream into a bucket...
from streem.
👍
from streem.
👍
Hope to introduce namespace (e.g. matz/streem ) into the package manager. There is no such a thing in npm and the names of the packages are a bit mess.
from streem.
I decided that (at least for the first version) I will use git. It will take the name of the package, and look on a organization called streem-lang
for the packages. How about that?
from streem.
I don't have the money currently to host a server.
from streem.
While I'm still early on in the project, I'm going to move to Go.
from streem.
@ChristopherDumas Would that mean that all packages (not just first party ones) would be in the streem-lang
organization? If so, I don't like that, it makes things too strict, and it means that whenever GitHub is down, you can't safely deploy to production (which happens with Go's packaging). I like the idea of having a central registry where all the files for each package are copied too, which theoretically could be replicated in the future (this is what npm does). Of course, this requires more resources in terms of storage for the project. Maybe we could start by having packages link to sources somewhere else, and eventually there might be the ability to copy files if/when there is funding for it. That being said, Go sounds like a pretty good language to start with, it's fast, safe, and very good at handling concurrent networking.
from streem.
I don't know.... I don't want to be the one paying for/maintaining the server that holds all our packages.......
from streem.
Could you build it like ruby's bundle. You can add alternate source files. If those files had strict format anyone could host one. The file would be a manifest of package names to package locations. Perhaps a simple JSON structure...
from streem.
Like!
from streem.
I'll work on getting it working with github, and then, once we get some funding or something, than maybe we could do something else. https://github.com/streem-lang/river
from streem.
Cool, sounds good. I think we'll be fine for now. Besides, there are some major package managers that still don't copy the contents of packages into their registries.
from streem.
Alright! I've already got something working. The only problem is that when I run git, it replaces River's process.
from streem.
The only problem now is that there is only so far I can get withougt streem itself working!
from streem.
I don't think we should worry about implementing the package manager just yet, especially since a few implementation and design designs will be based around how Streem will work.
from streem.
How about using JSON for the config files?
from streem.
Personally I like my configs to be written in the same language as the project I'm working on.
As far as hosting packages, perhaps let the author choose the host, and publish a url to a central directory instead of the whole package.
A bit of a more ambitious project would be to use p2p/bittorrent to distribute packages. Not sure that's ever been done yet, sounds fun.
from streem.
Currently I've actually got the Github thing done, as well as removing packages. My issue on Imports covers the problem I'm currently having. I've also already got the JSON config working, so until Streem is actually finished, I can't use Streem.
from streem.
Currently, I've done:
- river install author/name: Installs Streem package with same name and author from github
- river remove name: Removes streem package that you name
- river setup name: Interactive prompt to setup your project
- river version: Version
- river help: A help similar to this
I haven't done the bin and run commands because of the fact that Streem can't execute files yet. And I'm still wondering wether the install with no args command is even worth creating.
from streem.
Thank you for the effort. I like the name river.
But Streem is still very young. The package manager is not needed yet.
When the time is come, it will be a great tool for the language.
from streem.
👍 Can we close this and continue development on River's repo when Streem has matured more?
from streem.
Sure! Actually, I got very far, but I can't go much farther because streem isn't working yet, so you guys had perfect timing!
from streem.
Nice work. :)
from streem.
I'm currently reading up on Go, C, Bison, Lex, and Yacc on my kindle so maybe I can make some more useful contributions!
from streem.
Related Issues (20)
- BUG: return breakthrough statements HOT 8
- task_tid function HOT 1
- tee HOT 1
- reserved identifier violation HOT 2
- Completion of error handling HOT 2
- could there be more streams? HOT 7
- Is there function to execute a shell command HOT 6
- This is beautiful HOT 1
- streem crashed when run: seq(10) | {x -> x * 2} | stdout HOT 9
- Crashed when run examples/06echo.strm
- No output when run examples/05skip.strm HOT 1
- Is chan() can be use? HOT 1
- Support for actor? HOT 1
- How to access named array in namespace HOT 1
- Homebrew formula for Streem HOT 2
- Undefined reference to `qsort_r' on Alpine Linux in Dockerfile HOT 5
- Are there Official Website and Docs? HOT 4
- I read your book, curious how you test if the grammar work first. ARiGaDo! HOT 3
- Useful for ideas for streem? :) HOT 1
- Intended unlock in `kvs_update`?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from streem.