sergiobenitez / pear Goto Github PK
View Code? Open in Web Editor NEWA pear is a fruit.
A pear is a fruit.
Error: Pear requires a 'dev' or 'nightly' version of rustc.
Installed version: 1.54.0 (2021-07-26)
Minimum required: 1.31.0-nightly (2018-10-05)
It would be great if the readme said what pear was and maybe who the big users of pear was and why it was great and why you would or would not want to use it.
got this error while compile rocket 0.3.7 using toolchain nightly-x86_64-apple-darwin (default) rustc 1.27.0-nightly (eeea94c11 2018-04-06)
:
Compiling pear_codegen v0.0.14
Compiling cookie v0.9.2
error[E0432]: unresolved import `syntax::ast::SpannedIdent`
--> /Users/Sai/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.14/src/lib.rs:27:56
|
27 | use syntax::ast::{ItemKind, MetaItem, FnDecl, PatKind, SpannedIdent};
| ^^^^^^^^^^^^ no `SpannedIdent` in `ast`
error[E0609]: no field `identifier` on type `syntax::ast::PathSegment`
--> /Users/Sai/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.14/src/lib.rs:131:59
|
131 | let penultimate = path.segments[num_segs - 2].identifier.name.as_str();
| ^^^^^^^^^^ unknown field
|
= note: available fields are: `ident`, `parameters`
error[E0609]: no field `identifier` on type `syntax::ast::PathSegment`
--> /Users/Sai/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.14/src/lib.rs:138:48
|
138 | let last = path.segments[num_segs - 1].identifier.name.as_str();
| ^^^^^^^^^^ unknown field
|
= note: available fields are: `ident`, `parameters`
error[E0609]: no field `identifier` on type `syntax::ast::PathSegment`
--> /Users/Sai/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.14/src/lib.rs:147:40
|
147 | let first_ident = path.segments[0].identifier.name.as_str();
| ^^^^^^^^^^ unknown field
|
= note: available fields are: `ident`, `parameters`
error: aborting due to 4 previous errors
Some errors occurred: E0432, E0609.
For more information about an error, try `rustc --explain E0432`.
error: Could not compile `pear_codegen`.
warning: build failed, waiting for other jobs to finish...
error: build failed
the reason is libsyntax get rid of SpannedInde
:
@@ -101,11 +99,8 @@ impl fmt::Display for Path {
impl Path {
// convert a span and an identifier to the corresponding
...skipping...
Get rid of `SpannedIdent`
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs
index a3839a861c..652aaa795c 100644
--- a/src/libsyntax/ast.rs
+++ b/src/libsyntax/ast.rs
@@ -541,7 +541,7 @@ impl Pat {
let node = match &self.node {
PatKind::Wild => TyKind::Infer,
PatKind::Ident(BindingMode::ByValue(Mutability::Immutable), ident, None) =>
- TyKind::Path(None, Path::from_ident(ident.span, ident.node)),
+ TyKind::Path(None, Path::from_ident(ident.span, *ident)),
PatKind::Path(qself, path) => TyKind::Path(qself.clone(), path.clone()),
PatKind::Mac(mac) => TyKind::Mac(mac.clone()),
PatKind::Ref(pat, mutbl) =>
@@ -638,7 +638,7 @@ pub enum PatKind {
/// or a unit struct/variant pattern, or a const pattern (in the last two cases the third
/// field must be `None`). Disambiguation cannot be done with parser alone, so it happens
/// during name resolution.
- Ident(BindingMode, SpannedIdent, Option<P<Pat>>),
+ Ident(BindingMode, Ident, Option<P<Pat>>),
/// A struct or struct variant pattern, e.g. `Variant {x, y, ..}`.
/// The `bool` is `true` in the presence of a `..`.
hi all. sorry if this is a non-issue for this lib, but i'm new to rust and still learning its quirks. it seems there are more than expected :$.
i get the following errors when running cargo check
w/ rocket 0.3.[3|4]
:
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<syntax::ast::Item>` in the current scope
--> /Users/cdieringer/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:72:45
|
72 | let mut new_item = item.clone().unwrap();
| ^^^^^^
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<syntax::ast::Expr>` in the current scope
--> /Users/cdieringer/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:174:40
|
174 | let mut param_expr = param.clone().unwrap();
| ^^^^^^
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<syntax::ast::Expr>` in the current scope
--> /Users/cdieringer/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:228:37
|
228 | let mut new_expr = expr.clone().unwrap();
| ^^^^^^
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<syntax::ast::Expr>` in the current scope
--> /Users/cdieringer/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:250:43
|
250 | let mut unwrapped_expr = expr.clone().unwrap();
| ^^^^^^
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<syntax::ast::Block>` in the current scope
--> /Users/cdieringer/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:345:71
|
345 | let new_block = gen_stmt(ecx, input, VecDeque::from(block.unwrap().stmts));
| ^^^^^^
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<syntax::ast::Block>` in the current scope
--> /Users/cdieringer/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:357:76
|
357 | let new_block = gen_stmt(ecx, input, VecDeque::from(true_block.unwrap().stmts));
| ^^^^^^
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<(syntax::codemap::Spanned<syntax::ast::Mac_>, syntax::ast::MacStmtStyle, syntax::util::ThinVec<syntax::ast::Attribute>)>` in the current scope
--> /Users/cdieringer/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:429:32
|
429 | let mac = mac_stmt.unwrap().0;
| ^^^^^^
error: aborting due to 7 previous errors
error: Could not compile `pear_codegen`.
$ rustup show
Default host: x86_64-apple-darwin
installed toolchains
--------------------
stable-x86_64-apple-darwin
nightly-2017-12-10-x86_64-apple-darwin (default)
nightly-x86_64-apple-darwin
active toolchain
----------------
nightly-x86_64-apple-darwin (directory override for '/Users/cdieringer/src/truth.lol/packages/api')
rustc 1.24.0-nightly (dc39c3169 2017-12-17)
please close if this is a non issue or let me know if i can provide more info! thx
Short:
I get this error and it seems weird to me. ( I am new to Rust)
Error: Rocket requires a nightly or dev version of Rust.
Installed version is: 1.35.0 (2019-05-20). Minimum required: 1.32.0-nightly (2018-11-23).
I have seen #13 and could fix it by
running "rustup default nightly" but should Should Pear/Rocket not be in a state where it also runs with 1.35.0?
Log:
I run that
"
git clone https://github.com/SergioBenitez/Rocket
cd Rocket
git checkout v0.4.1
cd examples/hello_world
cargo run
"
an got:
UM01324:rocket taaeist1$ git clone https://github.com/SergioBenitez/Rocket
Cloning into 'Rocket'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 16048 (delta 0), reused 3 (delta 0), pack-reused 16039
Receiving objects: 100% (16048/16048), 3.34 MiB | 1.25 MiB/s, done.
Resolving deltas: 100% (9826/9826), done.
UM01324:rocket taaeist1$ cd Rocket
UM01324:Rocket taaeist1$ git checkout v0.4.1
Note: checking out 'v0.4.1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b
HEAD is now at f1f09f1... New version: 0.4.1.
UM01324:Rocket taaeist1$ cd examples/hello_world
UM01324:hello_world taaeist1$
UM01324:hello_world taaeist1$ cargo run
Updating crates.io index
Compiling proc-macro2 v0.4.30
Compiling unicode-xid v0.1.0
Compiling matches v0.1.8
Compiling yansi v0.4.0
Compiling version_check v0.1.5
Compiling cfg-if v0.1.9
Compiling libc v0.2.57
Compiling smallvec v0.6.9
Compiling cc v1.0.37
Compiling syn v0.15.34
Compiling byteorder v1.3.1
Compiling httparse v1.3.3
Compiling percent-encoding v1.0.1
Compiling bitflags v1.0.4
Compiling untrusted v0.6.2
Compiling safemem v0.3.0
Compiling traitobject v0.1.0
Compiling yansi v0.5.0
Compiling language-tags v0.2.2
Compiling typeable v0.1.2
Compiling serde v1.0.92
Compiling indexmap v1.0.2
Compiling memchr v2.2.0
Compiling state v0.4.1
Compiling log v0.4.6
Compiling unicode-bidi v0.3.4
Compiling unicode-normalization v0.1.8
Compiling pear_codegen v0.1.2
Compiling unicase v1.4.2
Compiling rocket_codegen v0.4.1 (/Users/taaeist1/CLionProjects/rocket/Rocket/core/codegen)
Compiling rocket v0.4.1 (/Users/taaeist1/CLionProjects/rocket/Rocket/core/lib)
Compiling log v0.3.9
error: failed to run custom build command for pear_codegen v0.1.2
process didn't exit successfully: /Users/taaeist1/CLionProjects/rocket/Rocket/target/debug/build/pear_codegen-2edc7821f01b15da/build-script-build
(exit code: 101)
--- stderr
Error: Pear requires a nightly or dev version of Rust.
Installed version is: 1.35.0 (2019-05-20). Minimum required: 1.31.0-nightly (2018-10-05).
thread 'main' panicked at 'Aborting compilation due to incompatible compiler.', /Users/taaeist1/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.1.2/build.rs:31:13
note: Run with RUST_BACKTRACE=1
environment variable to display a backtrace.
warning: build failed, waiting for other jobs to finish...
error: build failed
On the current nightly
$ rustc --version
rustc 1.28.0-nightly (60efbdead 2018-06-23)
the latest pear_codegen fails to build:
error[E0023]: this pattern has 6 fields, but the corresponding tuple variant has 4 fields
--> /home/r/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.17/src/lib.rs:66:16
|
66 | if let ItemKind::Fn(ref decl, safety, cness, abi, ref generics, ref block) = item.node {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 4 fields, found 6
error[E0061]: this function takes 4 parameters but 6 parameters were supplied
--> /home/r/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.17/src/lib.rs:70:24
|
70 | let node = ItemKind::Fn(decl.clone(), safety, cness, abi, generics.clone(), new_block);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 4 parameters
error: aborting due to 2 previous errors
rror[E0369]: binary operation `!=` cannot be applied to type `&syntax::ptr::P<syntax::ast::Expr>`
--> /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.18/src/lib.rs:303:49
|
303 | if new_params.is_empty() || &new_params[0] != input {
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= note: an implementation of `std::cmp::PartialEq` might be missing for `&syntax::ptr::P<syntax::ast::Expr>`
That's with
$ rustc --version
rustc 1.29.0-nightly (31f1bc7b4 2018-07-15)
I decided to try out Rocket, but during attempt to run any of its examples, I get this error on both v0.3.16 and master:
$ cargo run
Updating registry `https://github.com/rust-lang/crates.io-index`
Compiling rocket v0.3.16 (file:///home/pk/github.com/Rocket/lib)
Compiling rocket_codegen v0.3.16 (file:///home/pk/github.com/Rocket/codegen)
Compiling proc-macro2 v0.4.19
Compiling pear_codegen v0.0.20
error: failed to run custom build command for `pear_codegen v0.0.20`
process didn't exit successfully: `/home/pk/github.com/Rocket/target/debug/build/pear_codegen-9db1b986b647ff1e/build-script-build` (exit code: 101)
--- stderr
Error: Pear requires a nightly or dev version of Rust.
Installed version is: 1.28.0 (2018-07-30). Minimum required: 1.30.0-nightly (2018-08-23).
thread 'main' panicked at 'Aborting compilation due to incompatible compiler.', /home/pk/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.20/build.rs:31:13
note: Run with `RUST_BACKTRACE=1` for a backtrace.
warning: build failed, waiting for other jobs to finish...
error: build failed
I believe that this package should not have such a strong requirement, as it makes it unusable with released versions of Rust.
While I understand that you don't consider this library to be ready for a "public debut" yet, I think putting a link to this repository on its crates.io page is something reasonable to do regardless.
Rocket (my own fork based on master) build fails with the following errors after fixing #3, it seems that a syntax::codemap::Spanned
is expected instead syntax::ast::Ident
:
error[E0609]: no field `name` on type `&syntax::ast::MetaItem`
--> codegen/src/utils/meta_item_ext.rs:13:57
|
13 | MetaItemKind::NameValue(ref l) => Some((&mi.name, l)),
| ^^^^
error[E0609]: no field `node` on type `&syntax::ast::Ident`
--> codegen/src/utils/arg_ext.rs:18:60
|
18 | PatKind::Ident(_, ref ident, _) => Some(&ident.node),
| ^^^^
error[E0308]: mismatched types
--> codegen/src/utils/parser_ext.rs:57:20
|
57 | Ok(ident)
| ^^^^^ expected struct `syntax::codemap::Spanned`, found struct `syntax::ast::Ident`
|
= note: expected type `syntax::codemap::Spanned<syntax::ast::Ident>`
found type `syntax::ast::Ident`
error[E0599]: no method named `name` found for type `&syntax::ast::MetaItem` in the current scope
--> codegen/src/parser/route.rs:172:52
|
172 | if let Ok(method) = Method::from_str(&word.name().as_str()) {
| ^^^^
|
= help: items from traits can only be used if the trait is implemented and in scope
= note: the following trait defines an item `name`, perhaps you need to implement it:
candidate #1: `utils::arg_ext::ArgExt`
error[E0599]: no method named `name` found for type `&syntax::ast::MetaItem` in the current scope
--> codegen/src/parser/route.rs:178:62
|
178 | let msg = format!("'{}' is not a valid method", word.name());
| ^^^^
|
= help: items from traits can only be used if the trait is implemented and in scope
= note: the following trait defines an item `name`, perhaps you need to implement it:
candidate #1: `utils::arg_ext::ArgExt`
error[E0609]: no field `identifier` on type `&mut syntax::ast::PathSegment`
--> codegen/src/macros/mod.rs:19:14
|
19 | last_seg.identifier = last_seg.identifier.prepend(prefix);
| ^^^^^^^^^^
error[E0609]: no field `identifier` on type `&mut syntax::ast::PathSegment`
--> codegen/src/macros/mod.rs:19:36
|
19 | last_seg.identifier = last_seg.identifier.prepend(prefix);
| ^^^^^^^^^^
error[E0308]: mismatched types
--> codegen/src/macros/uri.rs:136:63
|
136 | let (qself, path) = ecx.qpath(ty.clone(), trait_path, method);
| ^^^^^^ expected struct `syntax::ast::Ident`, found struct `syntax::codemap::Spanned`
|
= note: expected type `syntax::ast::Ident`
found type `syntax::codemap::Spanned<syntax::ast::Ident>`
error: aborting due to 8 previous errors
Some errors occurred: E0308, E0599, E0609.
For more information about an error, try `rustc --explain E0308`.
error: Could not compile `rocket_codegen`.
warning: build failed, waiting for other jobs to finish...
error: build failed
Line 79 in 80112ee
This should be "hidden", not "hiden". This now fails on nightly rust.
For the last ~3 days or so pear has not compiled on the Rust nightly branch (which breaks rocket)
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<syntax::ast::Item>` in the current scope
--> /home/spacekookie/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:72:45
|
72 | let mut new_item = item.clone().unwrap();
| ^^^^^^
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<syntax::ast::Expr>` in the current scope
--> /home/spacekookie/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:174:40
|
174 | let mut param_expr = param.clone().unwrap();
| ^^^^^^
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<syntax::ast::Expr>` in the current scope
--> /home/spacekookie/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:228:37
|
228 | let mut new_expr = expr.clone().unwrap();
| ^^^^^^
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<syntax::ast::Expr>` in the current scope
--> /home/spacekookie/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:250:43
|
250 | let mut unwrapped_expr = expr.clone().unwrap();
| ^^^^^^
Compiling unicode-width v0.1.4
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<syntax::ast::Block>` in the current scope
--> /home/spacekookie/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:345:71
|
345 | let new_block = gen_stmt(ecx, input, VecDeque::from(block.unwrap().stmts));
| ^^^^^^
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<syntax::ast::Block>` in the current scope
--> /home/spacekookie/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:357:76
|
357 | let new_block = gen_stmt(ecx, input, VecDeque::from(true_block.unwrap().stmts));
| ^^^^^^
error[E0599]: no method named `unwrap` found for type `syntax::ptr::P<(syntax::codemap::Spanned<syntax::ast::Mac_>, syntax::ast::MacStmtStyle, syntax::util::ThinVec<syntax::ast::Attribute>)>` in the current scope
--> /home/spacekookie/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.10/src/lib.rs:429:32
|
429 | let mac = mac_stmt.unwrap().0;
| ^^^^^^
error: aborting due to 7 previous errors
error: Could not compile `pear_codegen`.
warning: build failed, waiting for other jobs to finish...
error: build failed
As of rustc 1.30.0-nightly (33b923fd4 2018-08-18), cargo build
warns about the following:
warning: the feature `use_extern_macros` has been stable since 1.30.0 and no longer requires an attribute to enable
--> lib/src/lib.rs:2:34
|
2 | #![feature(proc_macro_non_items, use_extern_macros)]
| ^^^^^^^^^^^^^^^^^
|
= note: #[warn(stable_features)] on by default
Upgraded to rustc 1.27.0-nightly (e82261dfb 2018-05-03)
and rocket 0.3.9:
error[E0599]: no variant named `TupField` found for type `syntax::ast::ExprKind` in the current scope
--> /Users/skarchebnyy/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.15/src/lib.rs:339:9
|
339 | ExprKind::TupField(indexed_expr, i) => {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ variant not found in `syntax::ast::ExprKind`
error[E0599]: no variant named `TupField` found for type `syntax::ast::ExprKind` in the current scope
--> /Users/skarchebnyy/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.15/src/lib.rs:340:51
|
340 | let remake = |new_expr: Vec<P<Expr>>| ExprKind::TupField(new_expr[0].clone(), i);
| ^^^^^^^^^^^^^^^^^^ variant not found in `syntax::ast::ExprKind`
๐
In
Line 20 in d9015f9
RUSTC_BOOTSTRAP=1
to allow using latest stable compiler with nightly features. Using RUSTC_BOOTSTRAP
is a hack and not ideal, but right now Pear (and Rocket) are the only things keeping us from using a stable compiler.
This could also alternatively be supported in https://github.com/SergioBenitez/version_check instead.
Compiling rocket v0.4.4
Compiling indexmap v1.3.2
Compiling ring v0.13.5
error: failed to run custom build command for pear_codegen v0.1.2
Caused by:
process didn't exit successfully: /mnt/c/data/develop/rust/rust2/target/debug/build/pear_codegen-fc224e597d476dfc/build-script-build
(exit code: 101)
--- stderr
Error: Pear requires a nightly or dev version of Rust.
Installed version is: 1.42.0 (2020-03-09). Minimum required: 1.31.0-nightly (2018-10-05).
thread 'main' panicked at 'Aborting compilation due to incompatible compiler.', /home/d77154/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.1.2/build.rs:31:13
note: run with RUST_BACKTRACE=1
environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
$ rustc --version
rustc 1.27.0-nightly (2f2a11dfc 2018-05-16)
$ rustup --version
rustup 1.11.0 (e751ff9f8 2018-02-13)
$ cargo --version
cargo 1.27.0-nightly (9e53ac6e6 2018-05-07)
Rocket version:
0.3.10
error[E0023]: this pattern has 1 field, but the corresponding tuple variant has 2 fields
--> /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.0.16/src/lib.rs:317:9
|
317 | ExprKind::Block(block) => {
| ^^^^^^^^^^^^^^^^^^^^^^ expected 2 fields, found 1
error: aborting due to previous error
For more information about this error, try `rustc --explain E0023`.
error: Could not compile `pear_codegen`.
Hi, it seems pear_codegen is broken and/or can't compile with the lasts versions of nightly.
I filled an issue here. As i'm not really sure where i should open the issue i provide an issue in both here, rust and pear.
The filled issue i linked provides with most of the information i could find about it, if you need any more information please feel free to notify me in order to help.
Thank you !
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.