Comments (16)
Well, this instruction is not only shown on Github, but also on crates.io and wherever else replicates the README.
how many people go to the repo and read the README without the intention of cloning it?
A lot, I guess. From my experience I would say most READMEs instruct to install from some package manager, the releases page, cargo install <name>
, etc. (example 1, 2, 3). I have no idea where you got that from. :P
from hvm.
I think it's just a culture shock kind of moment for @tommythorn, because GitHub over the years has now been increasingly used by non-developers to get the programs they want, especially via the "Releases" page. For this reason, it is now common to have usage and installation instructions for non-developers at the top of the readme, with a separate section titled "building" or "contributing" for developers.
So I believe cargo install x
is the correct thing to say in the readme. Consider a dedicated "Building" section for developers/tinkerers with relevant instructions there.
from hvm.
Arrgh. The problem is that the README says to use cargo install hvm
which doesn't install the current version.
Why does it say that instead of cargo build --release
?
from hvm.
Wait, why it doesn't install the current version? I've published it. Can anyone with cargo experience let me know what is going on?
from hvm.
By default, cargo install hvm
downloads and compiles the latest version that is on crates.io. The published version has been last updated 3 days ago (version 0.1.7), so it doesn't include 61a331f. In case @VictorTaelin has tried to publish a more recent version, a possible explanation I see is that the version number has not been bumped and crates.io ignores the changes because of that.
You can run cargo install --path .
in a local repo or cargo install --git https://github.com/Kindelia/HVM
if you want to install with the latest commits. cargo build --release
compiles the local version, so it's what you want to use for development. The Cargo Book should have a lot of extra documentation for cargo commands.
from hvm.
I've uploaded 0.1.8 just in case, but I thought 0.1.7 was working fine as published. Can anyone test if cargo install hvm
works fine now?
from hvm.
I just now ran rustup update
and cargo install --force hvm
and still got v0.1.7. Reproduced the issue again:
$ hvm c bench/Fibonacci/main.hvm && gcc -Ofast bench/Fibonacci/main.c
Compiled to 'bench/Fibonacci/main.c'.
bench/Fibonacci/main.c:932:5: error: variably modified ‘normal_seen_data’ at file scope
932 | u64 normal_seen_data[NORMAL_SEEN_MCAP];
| ^~~~~~~~~~~~~~~~
from hvm.
I still don't see the logic of using cargo install
from crates.io when you already have the sources. Maybe cargo install --path .
as suggested above.
ADD: I just tried that and it worked.
from hvm.
Note: 0.1.7 is indeed the latest published version https://crates.io/crates/hvm/versions
from hvm.
Version 0.1.9
is now published could you test?
from hvm.
It's updated now, but I still find it this advice wrong - if you cloned the repo, you obviously expect to be working with the sources from the repo.
from hvm.
You can run cargo install hvm
without cloning the repo. It downloads the source automatically from crates.io to $HOME/.cargo/registry/cache/
and builds from there.
from hvm.
Obviously, but how many people go to the repo and read the README without the intention of cloning it? I posit that this is an unusual and confusing suggestion.
from hvm.
Fwiw, the Nix.md file file has instructions for building and installing using the Nix package manager which allows for reproducible builds, and exposes a development shell with dependencies included (such as clang) so you don't have to worry about installing and setting these up. It could be a more convenient alternative that's suitable for developers/tinkerers.
from hvm.
Just published #79. What do you think?
from hvm.
Thanks.
from hvm.
Related Issues (20)
- Confused by testing infrastructure HOT 2
- Why distinguish FUN and CTR? HOT 2
- How far should `reduce` reduce? HOT 1
- Feedback on reqwest dependency HOT 5
- Rule flattening produces incorrect results on rules with nums
- Useless `let` produced by rule sanitization HOT 2
- Error building with Nix HOT 4
- HVM doesn't use normal order reduction. HOT 3
- [Question] Kubernetes deployment? HOT 5
- Automatic deforestation. HOT 2
- Wrong behaviour of the `str_sugar` function
- Guide is outdated HOT 10
- On the performance of radix sort. HOT 6
- [Regression] Incorrect result on `nqueens` program HOT 5
- Questions about Lambda operator and parallel evaluation. HOT 1
- Performance regression on HVM v1.0 HOT 8
- Crash on thread spawning HOT 3
- Programs with a lot of dups get stuck HOT 5
- Multithreaded sequential programs spend most their active time waiting HOT 4
- Attempting to `cargo install --path .` for the Summation.hvm example from the HVM guide readme fails HOT 6
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 hvm.