Hongbo Zhang Profile Banner
Hongbo Zhang Profile
Hongbo Zhang

@bobzhang1988

Followers
6,093
Following
615
Media
87
Statuses
1,870
Explore trending content on Musk Viewer
Pinned Tweet
@bobzhang1988
Hongbo Zhang
25 days
@moonbitlang is a very young language but it's the computing platform built for the next 30 years. We are very bullish on its potentials especially in the area of codesign with AI.
0
2
5
@bobzhang1988
Hongbo Zhang
5 years
Honored to join fb officially working on #bucklescript and @reasonml today, thanks to lots of people who make this happen!
38
39
480
@bobzhang1988
Hongbo Zhang
2 years
After many years in industry, I decide to do some education for fun, a programming language course in @rescriptlang , it is a work in progress
6
46
230
@bobzhang1988
Hongbo Zhang
4 years
The forthcoming BuckleScript version 8 will be the largest release since the initial open source! The initial goal that make the fastest JS target compiler generate the fastest JS code — an ambitious goal & bold claim will become true.
1
41
209
@bobzhang1988
Hongbo Zhang
5 years
BuckleScript 7.0.0-dev.1 released for testing, see the @reasonml code and optimized JS code in the pic, it is hard to believe we finally get such cleanness!
Tweet media one
7
36
199
@bobzhang1988
Hongbo Zhang
3 months
谢谢狼叔支持🙏 我们还在招人,团队非常年轻,聪明,希望遇到同样优秀的你!
@i5ting
狼叔
3 months
人要有宏愿,才能波澜壮阔。
Tweet media one
12
32
515
9
11
195
@bobzhang1988
Hongbo Zhang
6 years
Final answer to the scalability of BuckleScript: a monorepo with 4096 modules, changing the root node which has 3641 dependencies, it took less than 1 sec to finish building, stay tuned for the next version! #bucklescript #reasonml
Tweet media one
2
54
187
@bobzhang1988
Hongbo Zhang
2 years
Today is my last day. I am grateful to Meta for the unique opportunity to work on @rescriptlang and @flowtype for such a long time. Thank you, Meta! I will start my new journey mostly on WebAssembly and Rescript next week!
6
13
184
@bobzhang1988
Hongbo Zhang
4 years
BuckleScript 8 is out. It has lots of great stuff, great stack trace, lazy evaluation and better performance. We also publish a new post -- "Make generated JavaScript Inline Caching friendly using types in BuckleScript version 8" @ReasonAssoc @reasonml
1
68
183
@bobzhang1988
Hongbo Zhang
5 years
In next release of bs-platform, to toy around #bucklescript and @reasonml , you don't need set up a project, just single file compilation, see the pic below
Tweet media one
5
32
165
@bobzhang1988
Hongbo Zhang
1 year
Excited to introduce @moonbitlang for Cloud and Edge computing! ✨ Build as fast as @golang . ✨ Run as fast as @rustlang . ✨ Tiny size of Wasm output. Plus, start with a great cloud IDE right out of the box! #WebAssembly #EdgeComputing #CloudComputing
Tweet media one
5
38
160
@bobzhang1988
Hongbo Zhang
3 years
The @rescriptlang compiler surpassed 12,000 commits, it started from my hobby project, I did not expect to work on it for such a long time. I am super grateful that I have the luxury to work on something I made in almost my entire career.
3
8
145
@bobzhang1988
Hongbo Zhang
5 years
The next release of #bucklescript will be big, it will compile ocaml records into idiomatic js objects(joint effort with @ccrisccris ), it opens door for lots of use cases, will publish a post about it!
3
26
142
@bobzhang1988
Hongbo Zhang
5 years
BuckleScript 7 is enabled by default for @reasonml users, it is the biggest release we've made! It provides you with better type safety, perf and greatest js-interop ever!
Tweet media one
1
37
139
@bobzhang1988
Hongbo Zhang
4 years
Thanks to recent improvement from @rescript and @esbuild , we are able to emit very clean bundled code. It's the combination of fastest compiler/build/bundler in JS ecosystem.
Tweet media one
4
19
136
@bobzhang1988
Hongbo Zhang
6 years
bs-platform 4.0.17 released. It delivers incredible incremental build perf. For a large repo which contains 4096 modules, changing the node which has more than 3000 dependents, finished within 400ms. #bucklescript #reasonml
Tweet media one
1
30
131
@bobzhang1988
Hongbo Zhang
6 years
BuckleScript already set a high bar about the quality of generated code, it keeps getting better each release, see how the generated code evolves in the pic(top -> bottom), more advanced type based optimization coming soon!
Tweet media one
3
22
132
@bobzhang1988
Hongbo Zhang
4 years
There's a mis-understanding that BuckleScript is *just* an OCaml to JS compiler. No! There're lots of innovations inside the compiler, we plan to polish those ideas from the academia and make it more practical in industry settings, the next version will bring some cool stuff!
1
19
129
@bobzhang1988
Hongbo Zhang
2 months
Glad to have @youyuxi visit @moonbitlang office😀
Tweet media one
3
7
129
@bobzhang1988
Hongbo Zhang
7 years
2018 resolution: if you want performance in JS platform, BuckleScript is the go-to language, the key selling point of BS will be its performance
4
19
129
@bobzhang1988
Hongbo Zhang
6 years
Small things add up(left -> right in the pic): spent a weekend improving the quality of generated code from BuckleScript compiler, try best to prevent regression while keep improving!
Tweet media one
6
12
125
@bobzhang1988
Hongbo Zhang
4 years
One big difference between ReasonML and other typed Alt-JS language is that we value performance as important as soundness, soundness is nice to have but the real goal is to get the optimal code for industrial deployment. We will deliver most of our goals this year
4
18
125
@bobzhang1988
Hongbo Zhang
5 years
Thanks to amazing work by @ccrisccris , we are going to compile local modules into idiomatic js objects. This would make OCaml's advanced module system(including functor) much more usable to #bucklescript @reasonml users, lots of great stuff coming in next release.
3
26
119
@bobzhang1988
Hongbo Zhang
5 years
Did you have trouble debugging complex pattern matching in @reasonml using #bucklescript ? Another major contribution by @ccrisccris , generated pattern match code will be annotated with constructor names in next release
Tweet media one
1
17
111
@bobzhang1988
Hongbo Zhang
7 years
I have been quiet these days since tweets are not what I am good at and you know accessing twitter is not easy in China.. But, I am still working very hard to improve the quality of BuckleScript compiler
8
5
110
@bobzhang1988
Hongbo Zhang
4 years
BuckleScript 8.2 is released, with first class string literal types and better performance @ReasonAssoc @reasonml
1
36
110
@bobzhang1988
Hongbo Zhang
5 years
Working on the last release of BuckleScript in 2019, as a gift for New Year, we will ship zero cost abstraction for high rank polymorphism and existential type encoding(great for JS interop) The compiler improved a lot this year, try @reasonml in 2020!
1
18
108
@bobzhang1988
Hongbo Zhang
7 years
I will be more focused on BuckleScript and @reasonml since next month, lets push a real world functional language into mainstream together!
4
22
106
@bobzhang1988
Hongbo Zhang
6 years
Being so excited that we are very close to provide an end-to-end solid tools for web-dev workflow, zero deps, just bs-platform, no extra bundler any more, instant feedback loop!!
4
17
108
@bobzhang1988
Hongbo Zhang
6 years
ICYMI: we have made a major release: bs-platform 4.0.0
1
39
103
@bobzhang1988
Hongbo Zhang
8 years
A small gif shows how awesome R & B ( @reasonml and BuckleScript) would be, compiles faster, runs faster, code smaller and safer
2
25
100
@bobzhang1988
Hongbo Zhang
5 years
In master, we added support for record label renaming to map records to Js objects precisely, which opens a door to bindings in more native fashion. You can also use our optimized pattern match compiler to process js object (see the pic for excitement) #bucklescript
Tweet media one
4
18
96
@bobzhang1988
Hongbo Zhang
5 years
Keep improving the quality of generated code for #bucklescript and @reasonml ! It does not come easy, make a comparison with your favorite compiler : )
Tweet media one
2
15
96
@bobzhang1988
Hongbo Zhang
4 years
ICYMI, we made a new release @rescriptlang . This is a major release which gives you "zero cost" of bundle size, exporting high quality rescript libraries to JS users is much easier, check it out !
1
23
94
@bobzhang1988
Hongbo Zhang
6 years
Published a post about what we are doing and planning to do about BuckleScript development #bucklescript #reasonml #ocaml You can also leave your feedback here:
2
31
95
@bobzhang1988
Hongbo Zhang
8 years
Why BuckleScript is Cool: 80 lines of OCaml -> 900 bytes gzipped JS -> 3 times faster than immutablejs:
2
41
90
@bobzhang1988
Hongbo Zhang
5 years
BuckleScript 7.1.0 is released: It is the first release that we start understanding embedded JS for better interop (thanks to @flowtype )
0
26
93
@bobzhang1988
Hongbo Zhang
4 years
We published a post about what's new in bs-platform @7 .3 it comes with some exciting changes, uncurry support in @reasonml is as good as curried one, significant improvement in the readability of generated code.
0
36
89
@bobzhang1988
Hongbo Zhang
6 years
If you have a super large mono repo which has more than 5k source files, do you still expect instant feed back loop, (Edit - Rebuild - Test within one sec)? That's the best gift that BuckleScript will provide for the New Year!!
1
16
86
@bobzhang1988
Hongbo Zhang
5 years
Thanks to recent features landed in ninja build, we will shave another 10ms in incremental build feedback loop for #bucklescript and @reasonml projects. 10ms is important, that’s how we try to approach 100ms feedback loop!
1
13
89
@bobzhang1988
Hongbo Zhang
4 years
Being maintained by a small team doesn’t mean less contributions, for the BuckleScript compiler, we passed more than 10,000 commits over 5 years, not an easy achievement. Focus and dedication plays a more important role.
0
10
86
@bobzhang1988
Hongbo Zhang
1 year
Didn't tweet that much in the last year, since I have been busy working on something truly amazing on top of #webassembly with my team, we will have something to show on Aug 18. You will love it if you enjoy @rescriptlang , it has a much larger scope, so exicted!!
6
5
86
@bobzhang1988
Hongbo Zhang
3 years
Thanks to @rescriptlang focusing on the JS backend, we are going to add more and more type based optimizations which are impossible in typescript. The performance of rescript's compiler will be even faster, 10x faster than tsc is the baseline.
Tweet media one
3
8
87
@bobzhang1988
Hongbo Zhang
4 years
We have some exciting improvement over exception and open variants, better performance & better stacktrace, stay tuned! The open variants is pretty unique in @reasonml , the new enhancement will make this feature fast&practical&eaiser to debug
1
11
81
@bobzhang1988
Hongbo Zhang
7 years
BuckleScript 2.1 is out! A non-complete list of changes is available here: quite a lot of improvement & Happy Thanksgiving!
1
25
79
@bobzhang1988
Hongbo Zhang
4 years
Keep iterating on the quality of generated code : )
Tweet media one
1
2
81
@bobzhang1988
Hongbo Zhang
5 years
A post about what's coming in next release of BuckleScript: loading stdlib from memory, installation time is 10 times faster and postinstall free on Tier one supported arch(Linux/Mac/Windows), compilation time should also be faster, feedback is welcome!
2
22
79
@bobzhang1988
Hongbo Zhang
5 years
We are working on in memory loading cm* files for @reasonml compiler: #bucklescript , once finished, it will be a game changer for distribution and potentially even faster build.
4
9
79
@bobzhang1988
Hongbo Zhang
7 years
Preparing a big Thanksgiving BuckleScript release next week, it comes a long way from a weekend prototype to production ready!
2
4
75
@bobzhang1988
Hongbo Zhang
6 years
It is the love of JS and OCaml which drives me to make BuckleScript, unclear why people hate JS so much for no good reasons, the faults of JS lies in almost all dynamic languages
8
6
79
@bobzhang1988
Hongbo Zhang
4 years
We have built the alt-js compiler of the highest quality in the last few years, it’s called @rescriptlang or you may use it in @reasonml but we were seriously lagging behind in the community building and tooling. It’s more challenging than tech but we’ll try my best to fix it.
3
11
78
@bobzhang1988
Hongbo Zhang
8 years
BuckleScript is pushing perf, readability to extreme, but also dead code elimination, possible due to modular runtime and flattened code
Tweet media one
0
15
75
@bobzhang1988
Hongbo Zhang
7 years
BuckleScript 1.9.3 is out, according to internal tests, 1.2~1.3 faster (our build was already lighting), changes:
3
21
75
@bobzhang1988
Hongbo Zhang
5 years
In next release, we will reuse part of the @flowtype so that we understand better of `raw` in @reasonml which means even better js interop. (Both projects are written in @OCamlLang ) #bucklescript
4
10
76
@bobzhang1988
Hongbo Zhang
8 years
BuckleScript 1.5 even better FFI and native support for @reasonml (on Windows too), see the pic, how elegant it is!
Tweet media one
3
22
76
@bobzhang1988
Hongbo Zhang
5 years
In next release of bs-platform, we will employ an efficient pruning strategy so that when you switch branches, staled build artifacts will be pruned,incremental build still holds. #bucklescript @reasonml
1
8
76
@bobzhang1988
Hongbo Zhang
5 years
Three live pics to show how we improve performance of the build(test on project of 4804 large files): first apply a better algorithm: 363ms -> 289ms, later optimize a hot path (from 72.7us to ), 289s -> 260ms. #bucklescript @reasonml
Tweet media one
Tweet media two
Tweet media three
1
17
73
@bobzhang1988
Hongbo Zhang
4 years
We published a post on how we improve the performance of the build system over @rescriptlang beyond the blazing fast ninja-build and an innovative way to capture warnings during rebuild. Deep vertical integration is the key to provide best user experience
0
20
72
@bobzhang1988
Hongbo Zhang
5 years
Published bs-platform version 5, instant CI build, synced up with latest @reasonml , more exciting stuff coming next release!
0
24
74
@bobzhang1988
Hongbo Zhang
4 years
Made some improvement to the @rescriptlang build system while adding more features. See the pic below, that's roughly building 30 files in less than 100ms (179 - 108).
Tweet media one
0
10
70
@bobzhang1988
Hongbo Zhang
5 years
We made a new dev release 7.0.0-dev.2 for people to test the next major version, a blog post for more details #bucklescript @reasonml Happy Thanksgiving!
5
10
70
@bobzhang1988
Hongbo Zhang
4 years
When compiling @reasonml into JS, the biggest semantics gap is calling convention mismatch, we will have the best support of uncurried calling convention in next release, which even supports position-less labels! The error message is also significantly improved
1
11
69
@bobzhang1988
Hongbo Zhang
4 years
Some really great stuff coming out @rescriptlang , stay tuned!
1
0
67
@bobzhang1988
Hongbo Zhang
9 months
我们还在招人(坐标深圳福田),需要2到3位做wasm runtime+cloud的,2到3位AI+program synthesis的,我们之前的人大都刚毕业但都非常非常强, 希望寻找同道中人,欢迎转推!
8
18
68
@bobzhang1988
Hongbo Zhang
4 years
A small extension to @rescriptlang : pattern match over modules , it makes imports/exports much easier
Tweet media one
0
4
67
@bobzhang1988
Hongbo Zhang
6 years
We made a new release of bs-platform @4 .0.2 with recent changes from @reasonml and some UX enhancement of the build:
1
20
66
@bobzhang1988
Hongbo Zhang
7 years
Thanks to @TechAtBloomberg , BuckleScript has it's own organization now!
@TechAtBloomberg
Tech At Bloomberg
7 years
As @BuckleScript 's developed its own community, it's moving to its own #GitHub organization. Good luck growing #BuckleScript @bobzhang1988 !
0
13
38
1
23
66
@bobzhang1988
Hongbo Zhang
4 years
@rescriptlang 8.4 is out, much better support for yarn style workspace workflow, thanks to tons of feedback from the community!
2
27
64
@bobzhang1988
Hongbo Zhang
4 years
Made a repo to demonstrate that you can use rescript library without installing @rescriptlang toolchain. Just use it as a plain JS lib. Will explore generate typescript declaration files using @ccrisccris 's great gentype to improve such user experience.
2
13
64
@bobzhang1988
Hongbo Zhang
6 years
Really happy to see so many people @reasonconf
1
3
61
@bobzhang1988
Hongbo Zhang
3 years
Lots of improvement in @rescriptlang recently, this is the most fun one, thanks to @_binary_search !
Tweet media one
0
10
63
@bobzhang1988
Hongbo Zhang
5 years
Call for testing: bs-platform @6 .0.0-dev.1 (first release for OCaml 4.06.1), try it `npm i -g bs-platform @next `. Note it is not ready for production, test&feedback(esp for features introduced between OCaml 4.02.3 and 4.06) is welcome!
2
20
61
@bobzhang1988
Hongbo Zhang
5 years
bs-platform @5 .1.0 is released, enjoy the beauty of type inference in one-line, see more details here (6.1.0 will be coming this weekend). #bucklescript @reasonml
Tweet media one
2
19
61
@bobzhang1988
Hongbo Zhang
3 years
For any large project, the first contribution barrier is to install its dependencies to make it compile, we made some significant progress on @rescriptlang in the last few months, close to 0 dev dependencies contributions are welcome!
2
9
61
@bobzhang1988
Hongbo Zhang
7 years
BuckleScript delivers more than an awesome language: 7 k js and 0.5s build time for a MARIO game, hard to believe!
1
22
58
@bobzhang1988
Hongbo Zhang
6 years
bs-platform 4.0.8 is released, published a post about this release: #bucklescript , #reasonml , #ocaml
2
17
60
@bobzhang1988
Hongbo Zhang
2 years
The best thing to a large OSS project is that it has a diversified contributor graph. @rescriptlang 's compiler has a very high contribution bar due to its inherent complexity, but we see the investment is better than ever in the last half! Thank you to all contributors!
Tweet media one
2
8
59
@bobzhang1988
Hongbo Zhang
4 years
esbuild is good, finally a good chance of using native tools for the whole JavaScript toolchain
2
4
58
@bobzhang1988
Hongbo Zhang
4 years
Happen to find a nice article explaining the cost of currying Most apply to @rescriptlang as well, that's part of the reason why we introduced uncurried calling convention
1
18
59
@bobzhang1988
Hongbo Zhang
5 years
ICYMI: we made a release of bs-platform @5 .0.4(targeting OCaml 4.02.3) and bs-platform @6 .0.1(targeting OCaml 4.06.1), it contains quite a long list of bug fixes and significant build performance improvements #bucklescript , @reasonml
1
12
59
@bobzhang1988
Hongbo Zhang
7 years
Working on some efficient and tiny size data structures in BuckleScript, the advanced module system allows you to encode invariants and get very efficient JS code generated (more efficient than hand tuned JS!)
3
5
58
@bobzhang1988
Hongbo Zhang
7 years
In the end, it is the people you want to work with, not tech itself..
2
18
57
@bobzhang1988
Hongbo Zhang
5 years
Published a new post about the new release of bs-platform , zero cost react-jsx(by @rickyvetter ) and bs.inline for hand-tuned inline style, join @reasonconf for more great stuff about #bucklescript and @reasonml !
1
14
57
@bobzhang1988
Hongbo Zhang
4 years
Agree with most pain points about OCaml. That’s why we build rescript: reuse the best part of ocaml—type system & build a community just doing one thing well with a coherent vision
@paulbiggar
Paul Biggar 🇵🇸🇮🇪
4 years
Wrote up my first thoughts on @rustlang vs @OCamlLang . Two great languages with opposite pain points
21
68
233
1
10
54
@bobzhang1988
Hongbo Zhang
4 years
We published a new post about the release 7.2 It is a major release comes with stdlib in memory loading, lightning installation, compilation and `let %private` to hide fields. #bucklescript and @reasonml
0
23
55
@bobzhang1988
Hongbo Zhang
5 years
We published an article which captures the essential of BuckleScript FFI, users are expected to be productive quickly: #bucklescript @reasonml
3
18
55
@bobzhang1988
Hongbo Zhang
10 months
#wasm debugger 🔥 in @moonbitlang , here we go!
Tweet media one
1
7
55
@bobzhang1988
Hongbo Zhang
5 years
I forgot to mention in this new release of bucklescript, we also spent lots of time working on correctness when you do branch switch during development to aim for "no clean needed when switching branches"
1
6
53
@bobzhang1988
Hongbo Zhang
7 years
People used to say go compiler is fast, it is. Checkout an even faster compiler in BuckleScript 😁
2
10
55
@bobzhang1988
Hongbo Zhang
2 years
These days feel like it was 2015 when I was building Bucklescript in an incredible speed except now I have some really smart people to help and we have a much more ambitious goal. 😄
0
0
55
@bobzhang1988
Hongbo Zhang
3 years
Simplicity is the virtue. This is something I learned again and again during the years of developing @rescriptlang : all the complex dev tools are replaced with some simple & robust ones. We need reliable tools, not fancy ones.
0
7
55
@bobzhang1988
Hongbo Zhang
5 years
Introduce a tool bstracing which visualize your build profile in next release. Below is a comparison of building the same project against current version. Yes! Perf is even better in next release, clean building a project of 1250 files: 4790ms -> 4223ms! #bucklescript @reasonml
Tweet media one
Tweet media two
0
10
54
@bobzhang1988
Hongbo Zhang
5 years
In the next release of bs-platform, we will allow providing c stubs polyfill on the user land, so you can reuse existing ocaml libs without patching the source when it depends on c libs. #bucklescript @reasonml
1
12
54
@bobzhang1988
Hongbo Zhang
7 months
Some big features coming for @moonbitlang next few weeks. The MVP goal: Rust without lifetime but 10-100x times compilation speed up is almost completed, what a wild run!
0
8
54
@bobzhang1988
Hongbo Zhang
5 months
Rust used to be the ideal language targeting wasm backend, but as WasmGC got standarized, MoonBit will beat Rust in terms of both performance and code size, I am very optimistic about it.
4
10
54