profile
viewpoint
Cheng Lou chenglou Facebook Palo Alto, California twitter.com/_chenglou Cool links: https://reasonml.github.io https://reactjs.com

bsansouci/bsb-native 245

Build system for OCaml/Reason

chenglou/cards 81

Prototyping the UI of 2030

BuckleScript/bucklescript.github.io 44

BuckleScript's documentation site

bsansouci/dojo-europe 16

Starter project for our Europe-wide (+ more) Dojo

bsansouci/repixi 6

Reason bindings to Pixi.js

chenglou/awesome-reasonml 6

A collection of awesome things regarding Reason/OCaml ecosystem.

bsansouci/jengaroot 3

Set of build rules for jenga

chenglou/bootstrap-everywhere.safariextension 2

Safari extension for turning websites more Californian

chenglou/bucklescript 1

A backend for the OCaml compiler which emits JavaScript.

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha ce77663bb175c51912c554152c91556f0ea867b2

Deploy website Deploy website version based on da986cb70cfeea3a6b4f5d3007f67d886d447efb

view details

push time in 4 hours

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha da986cb70cfeea3a6b4f5d3007f67d886d447efb

Cheekiness at the end

view details

push time in 4 hours

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha ce50e0802c6995fe84b2e2a6c8c2a92b3e04ff6c

Deploy website Deploy website version based on f6a1d43bf6c52800662a152f8b422b6fe11b8ad1

view details

push time in 5 hours

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha f6a1d43bf6c52800662a152f8b422b6fe11b8ad1

Cheeky intro on types

view details

push time in 5 hours

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha b956e7892e5a9e4cc15fd840c4e2e24f7b3fd255

Deploy website Deploy website version based on b566bf73baa94834bb462142fe99ef947426bd10

view details

push time in 5 hours

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha b566bf73baa94834bb462142fe99ef947426bd10

Output tab

view details

push time in 5 hours

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha df90e62aa259a815c5a9faf17fde332d939ea4b3

Deploy website Deploy website version based on cca37b2b0df34044ea95f2d552da26ad5aa591b9

view details

push time in a day

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha cca37b2b0df34044ea95f2d552da26ad5aa591b9

Update let binding section

view details

push time in a day

pull request commentBuckleScript/bucklescript.github.io

new post about loading stdlib from memory

And cc @thangngoc89 for potentially easier Sketch

bobzhang

comment created time in a day

pull request commentBuckleScript/bucklescript.github.io

new post about loading stdlib from memory

Cc @ryyppy

bobzhang

comment created time in a day

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha 7f0ddead3caa147d4a02e2d47b6240196cbd35d1

Deploy website Deploy website version based on bd70b19269f8a7df8b4170c8600a75e9919e9a55

view details

push time in 2 days

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha bd70b19269f8a7df8b4170c8600a75e9919e9a55

Add JS output to overview

view details

push time in 2 days

push eventBuckleScript/bucklescript.github.io

Website Deployment Script

commit sha 66b4c7cf79d4fe8c204dd5a99d7e09d4834918be

Deploy website Deploy website version based on 5f8df9d475701c1b41f1dd6b9440a18f36fbc08f

view details

push time in 2 days

issue commentzth/reasonml-q-a

What's the difference between pipe-first and pipe-last?

https://github.com/tc39/proposal-pipeline-operator/issues/143#issuecomment-492019845

baransu

comment created time in 2 days

push eventBuckleScript/bucklescript.github.io

Cheng Lou

commit sha 5f8df9d475701c1b41f1dd6b9440a18f36fbc08f

Update build-configuration.md

view details

push time in 2 days

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha 167dffe5775705c292508e9ddaf5e003ef60d8d1

Deploy website Deploy website version based on 288946ea8a4ebbeafc98f4da750016411863a20a

view details

push time in 4 days

issue commentzth/reasonml-q-a

What is the proper mental model for Reason decorators?

The type-checking is a good point, and yes, it naturally falls out of Reason having a type checker. Though just because we have a type checker doesn't mean this ppx thing is good enough already; far from it. Because it's not very cool when someone ships a ppx, and you use it, and then you get some type error because of ppx design error said person made. Having ppx themselves be type checked (note: not the same thing as giving ppx access to a program's types!) at writing time would have been excellent. But that's another amount of yak shaving.

mrispoli24

comment created time in 7 days

issue commentzth/reasonml-q-a

What is the proper mental model for Reason decorators?

Reason decorators have absolutely no meanings by themselves and can go (almost) anywhere. They're just visual anchors. Some post-processing step would pick them up and transform the code into the desired form. Could they transform the code without those anchors? Yes. Though they wouldn't know what code to transform =P. Plus, it's good manner to have visual anchors where you might expect the code not to be what it finally looks like.

Two decorators together aren't piping anything at all. It's just, 2 meaningless decorators, on the same piece of code. Now, in that specific example, the react.component decorator is picked up by the ReasonReact-specific post-processing step. Then the bs.module decorator is picked up by the BuckleScript post-processing step. You could also add another decorator, [@blablabla], to those two. It won't do anything because nothing picks up it (just to drive the point home).

The precise name for these post-processing steps are called ppx. We heavily discourage them in userland, not only because they're macros, but also because they're macros that aren't easy to write nor to maintain, nor to carry around, nor to easily version, etc. More like a necessary evil. Reason philosophically discourages macros in favor of just using the actual language whenever you can. Though despite that, we might think of some better macro systems if only just to avoid ppx.

mrispoli24

comment created time in 7 days

issue commentzth/reasonml-q-a

Should you gitignore .bs.js files?

And check out too! If the whole team's onboarded and nobody's peeking into your project anymore (though careful with that stance)

mrispoli24

comment created time in 7 days

issue commentzth/reasonml-q-a

Should you gitignore .bs.js files?

I personally recommend folks, especially in a team setting where they might onboard team members new to Reason, and in a setting where they're teaching newcomers, to check in .bs.js files.

We still do it at Facebook. This is how I've successfully codemodded hundreds of thousands of lines of code while causing near-zero amount of bugs. When you see the output, you can verify it's obviously correct, without needing to even understand the Reason source code.

There are plenty of areas in your project where you can draw a sense of cleanness. This shouldn't be one of them.

mrispoli24

comment created time in 7 days

push eventBuckleScript/bucklescript.github.io

Website Deployment Script

commit sha 45800cd28eb8b91e5abda989c020c0212d9a9be3

Deploy website Deploy website version based on a48143bfaa8ef504e15c6700dbad37e3cc69c85f

view details

push time in 8 days

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha 753fb6f3ac32cce272efcaf46f7728b105a54834

Deploy website Deploy website version based on 49e6bc7db4ace50c34d6f6e3518d40975c50524b

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha 5e441dd2c604c36b58037b0b9071392de08a1047

Update syntax page

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha 9a26769f4c0fef451deae694572572384bc30028

Deploy website Deploy website version based on a04298cd6efccbcc5a14c36d24caec6224489558

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha a04298cd6efccbcc5a14c36d24caec6224489558

Add single line comment in overview

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha f734d2ed6c6870a46f662b24241d4eb68ac8e347

Deploy website Deploy website version based on 32b0b228ba401ed0528d65d25a4e4dd6562dadfa

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha 32b0b228ba401ed0528d65d25a4e4dd6562dadfa

Record compiled to js object now

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha 28410fa705296cbe1d555eb23a42bc1bf04b6b17

Deploy website Deploy website version based on 194727298a95a5f558163753877166834ea1174d

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha 194727298a95a5f558163753877166834ea1174d

Remove bs.deriving abstract

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha 53123df5c94ad1b3f36dd237dc6c71f7f411e658

Deploy website Deploy website version based on 13f7d07893d8b8ca476708e6ef6daf91c438e043

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha 13f7d07893d8b8ca476708e6ef6daf91c438e043

We have line comment now

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha bbf6f4f92eb95cf2b35690ed80fd5b6440a2b76d

More cleanup

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha 1eb9bb40f73bf0cd87644974dc69b85919727e99

Deploy website Deploy website version based on 753aa34ac4cbba0cef7705d8f6474c43d45e394c

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha 753aa34ac4cbba0cef7705d8f6474c43d45e394c

Cleanup

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha 14c8dcfd86acd973cb0e911e09f9728eb106f8b6

Deploy website Deploy website version based on 34954e545d6dba2d8f97e2990132e933881f6291

view details

push time in 9 days

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha 34954e545d6dba2d8f97e2990132e933881f6291

Shorten faq

view details

push time in 9 days

push eventBuckleScript/bucklescript.github.io

Website Deployment Script

commit sha 08d16609762b09de186ae98165b2d1b3018aa169

Deploy website Deploy website version based on 97a6a046fb1675744a5b616966ce9fe22c775bcf

view details

push time in 14 days

push eventBuckleScript/bucklescript.github.io

Website Deployment Script

commit sha 818cbe1a76fd5e830635dcbce7bc2225086a3f07

Deploy website Deploy website version based on e2b49c45a4ef17e216fd2506fffbec5fb6c71cfb

view details

push time in 14 days

push eventBuckleScript/bucklescript.github.io

Website Deployment Script

commit sha ccc9468a702086ca9dc081c5be086d9825965c72

Deploy website Deploy website version based on 2204545a69dfb9a50a12eec7a3eb4ee1ae674271

view details

push time in 14 days

pull request commentBuckleScript/bucklescript

Grab the hostname from window.location when connecting to websocket

Looks good, thanks, though I'm hesitant for us to add more env vars to bsb

romanschejbal

comment created time in 15 days

pull request commentvramana/awesome-reasonml

Add encode and decode JSON libraries

Hummm... this is another area we need to clean up. There are simply too many ways to do JSON

nhducit

comment created time in 16 days

push eventBuckleScript/bucklescript.github.io

Website Deployment Script

commit sha 9d6362b3fd28a18e40cde99c896ff4a4b7be8a0c

Deploy website Deploy website version based on b24e8cbe5159c4ec639cbaec02055462bddacc7d

view details

push time in 16 days

push eventBuckleScript/bucklescript.github.io

Cheng Lou

commit sha b24e8cbe5159c4ec639cbaec02055462bddacc7d

Blog post tweaks

view details

push time in 16 days

push eventBuckleScript/bucklescript.github.io

Website Deployment Script

commit sha 92eb628bed0123995fb369d86015fa92741e53a4

Deploy website Deploy website version based on 80a8e03834db92ed2ac78f3725137e1bb89fa5c9

view details

push time in 16 days

push eventBuckleScript/bucklescript.github.io

Website Deployment Script

commit sha a9cb90aeebc2ad79c8605306495dc408f52df076

Deploy website Deploy website version based on 676cbb5c54bd8de6e827ccb98090371cad66638a

view details

push time in 16 days

push eventBuckleScript/bucklescript.github.io

Cheng Lou

commit sha 676cbb5c54bd8de6e827ccb98090371cad66638a

Remove [%raw (a, b) => ...] doc See https://bucklescript.github.io/blog/2020/02/04/release-7-1-0. No longer needed.

view details

push time in 16 days

push eventBuckleScript/bucklescript.github.io

Website Deployment Script

commit sha a828efa306142763ed82e7d9b6de3e94ae800b2a

Deploy website Deploy website version based on c4a98d0c8a567087dfdf70813befed88a63ab058

view details

push time in 16 days

push eventBuckleScript/bucklescript.github.io

Website Deployment Script

commit sha f8d00b153000aeedffd6e3e53f7d8db19acae5eb

Deploy website Deploy website version based on a9d70c438125547b606f49bf05ca5c1a32a04cd1

view details

push time in 21 days

push eventBuckleScript/bucklescript.github.io

Website Deployment Script

commit sha 7174a55e7959e55b6e0de849fd922c79304ff89a

Deploy website Deploy website version based on b48949ea754a9b5ab60d004493fb73cd941b4677

view details

push time in 21 days

push eventchenglou/bucklescript

Cheng Lou

commit sha c028f1e7d6f62ceecd035b0a5f5381de9d3562ca

[Bsb] tweak `-ws` help instruction

view details

lorenzo-pomili

commit sha b67838647f5ca1843bcd05301ab9411cbe8fdd19

fix SPA mode watcher path in react-hooks template Signed-Off-By: Lorenzo Pomili <pomili.lorenzo85@gmail.com> (#4114)

view details

Hongbo Zhang

commit sha f550d80f246ead049184dc543de6f6e0adf6622f

Merge pull request #4112 from chenglou/tweak-more [Bsb] tweak `-ws` help instruction

view details

push time in 25 days

delete branch chenglou/bucklescript

delete branch : tweak-more

delete time in 25 days

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha 8877d8b22952cf8db06d61334784d1e959dd4a87

Deploy website Deploy website version based on b4bebc072b20988e199f2fcc7ce798257cadabcc

view details

push time in a month

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha b4bebc072b20988e199f2fcc7ce798257cadabcc

Clean up roadmap section Provide better roadmaps elsewhere

view details

push time in a month

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha 9e9ae41e1a5f95157e98e3d85229fa1636c6c695

Deploy website Deploy website version based on 70a7065f00370e780301d451c236d7634889b005

view details

push time in a month

push eventreasonml/reasonml.github.io

Cheng Lou

commit sha 70a7065f00370e780301d451c236d7634889b005

Remove stale object disclaimer

view details

push time in a month

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha 22a04bf6fa0735ac719a6cb684e09bbd104d390c

Deploy website Deploy website version based on f80fe631561e195d1ee7cc174564c0fef9b37f83

view details

push time in a month

push eventreasonml/reasonml.github.io

Alexander Tesfamichael

commit sha 953016e55c3485ab9febeeddbde4475ce98ade42

Fix typo in pipe first documentation (#556)

view details

push time in a month

pull request commentreasonml/reasonml.github.io

Fix typo in pipe first documentation

Thanks!

alextes

comment created time in a month

PR closed reasonml/reasonml.github.io

ignore .idea

.gitignore update to ignore Intellij IDEA project files.

+5 -0

2 comments

1 changed file

Imon-Haque

pr closed time in a month

pull request commentreasonml/reasonml.github.io

ignore .idea

Yep =)

Imon-Haque

comment created time in a month

push eventreasonml/reasonml.github.io

Website Deployment Script

commit sha 1ac6f1b1ba6ae15f2771747f507fbf7e20378581

Deploy website Deploy website version based on e0d7ae0bb1d1388559f8c1efd3ab2ad6a23b3bf9

view details

push time in a month

push eventreasonml/reasonml.github.io

Michael Antczak

commit sha f80fe631561e195d1ee7cc174564c0fef9b37f83

Fix typo in if-else (#572)

view details

push time in a month

pull request commentreasonml/reasonml.github.io

Fix typo in if-else

Thanks

mantcz

comment created time in a month

pull request commentreasonml/reasonml.github.io

Document fun pattern match syntax

Thanks, though trying to de-emphasize this pattern.

yawaramin

comment created time in a month

push eventreasonml/reasonml.github.io

Jamie Gaehring

commit sha 2c5b68b5890482a910f036eb626ac00c7a67028a

Correct less than or equal symbol. (#591)

view details

push time in a month

PR merged reasonml/reasonml.github.io

Correct less than or equal symbol.

Replace =< with <=.

+1 -1

1 comment

1 changed file

jgaehring

pr closed time in a month

pull request commentreasonml/reasonml.github.io

Correct less than or equal symbol.

Thanks

jgaehring

comment created time in a month

PR closed reasonml/reasonml.github.io

fix: link to REPL

the @joelmoniz call if your repository is a reference to REPL

+1 -1

2 comments

1 changed file

enieber

pr closed time in a month

pull request commentreasonml/reasonml.github.io

fix: link to REPL

REPL means real-eval-print-loop. Unrelated, thanks =)

enieber

comment created time in a month

push eventreasonml/reasonml.github.io

Yawar Amin

commit sha e0d7ae0bb1d1388559f8c1efd3ab2ad6a23b3bf9

a11y: add alt tags to images on site (#599)

view details

push time in a month

pull request commentreasonml/reasonml.github.io

a11y: add alt attrs to images on site

Thanks!

yawaramin

comment created time in a month

push eventBuckleScript/bucklescript

lorenzo-pomili

commit sha b67838647f5ca1843bcd05301ab9411cbe8fdd19

fix SPA mode watcher path in react-hooks template Signed-Off-By: Lorenzo Pomili <pomili.lorenzo85@gmail.com> (#4114)

view details

push time in a month

PR merged BuckleScript/bucklescript

Reviewers
fix SPA mode watcher path in react-hooks template

Using relative path for watcher.js in SPA mode cause wrong fall back when you have more than one level path (example: http://localhost:8000/my_path/bar)

+1 -1

1 comment

1 changed file

lorenzo-pomili

pr closed time in a month

pull request commentBuckleScript/bucklescript

fix SPA mode watcher path in react-hooks template

@nikgraf

Thanks!

lorenzo-pomili

comment created time in a month

push eventBuckleScript/bucklescript.github.io

Website Deployment Script

commit sha 197eceb1e786249344453a23997e95b8df257782

Deploy website Deploy website version based on aed3f0c6aa02ad4e358ff49147226bf4243b1844

view details

push time in a month

push eventchenglou/reason-node

Cheng Lou

commit sha dcf69fb9fd4db4ef8261f81e767e89476c9497e4

Tweak Path Remove the `/` sugar for now. Because the idiom differs sometime (some folks prefer // for example). Providing this out of the box would be a bit too opinionated. Folks can easily alias if they want anyway.

view details

Sikan He

commit sha 4912bf72ca2be6491e2c531774a4314fabc1b17b

Merge pull request #9 from chenglou/path Tweak Path

view details

push time in a month

delete branch chenglou/reason-node

delete branch : path

delete time in a month

push eventchenglou/reason-node

Cheng Lou

commit sha d72b50ca695e7075e4244f862383412ed33419ae

Revamp Console api

view details

Austin

commit sha 0f0bd0b4e209aebaf4489f15876e0425bea2ceec

Merge pull request #8 from chenglou/test3 Revamp Console api

view details

Cheng Lou

commit sha dcf69fb9fd4db4ef8261f81e767e89476c9497e4

Tweak Path Remove the `/` sugar for now. Because the idiom differs sometime (some folks prefer // for example). Providing this out of the box would be a bit too opinionated. Folks can easily alias if they want anyway.

view details

push time in a month

push eventchenglou/reason-node

Cheng Lou

commit sha d72b50ca695e7075e4244f862383412ed33419ae

Revamp Console api

view details

Austin

commit sha 0f0bd0b4e209aebaf4489f15876e0425bea2ceec

Merge pull request #8 from chenglou/test3 Revamp Console api

view details

push time in a month

delete branch chenglou/reason-node

delete branch : test3

delete time in a month

pull request commentsikanhe/reason-node

Revamp Console api

Yeah we'll have to properly document and/or indicate in some dummy function at compile time that if you're doing console.log you should be using the out-of-the-box Js.Console.log (Js.log for short)

chenglou

comment created time in a month

pull request commentsikanhe/reason-node

Revamp Console api

Now we're left with only ~100 of total runtime in this lib

chenglou

comment created time in a month

pull request commentsikanhe/reason-node

Revamp Console api

Thanks for you previous contribution btw. And yeah, the idea is that the output needs to be readable by someone fresh to the ecosystem, which we're achieving here. The runtime overhead had many incorrectness in subtle cases too (not all due to how it was written, but also because... well it's JS and it's too much to explain here =) )

chenglou

comment created time in a month

PR opened sikanhe/reason-node

Tweak Path

Remove the / sugar for now. Because the idiom differs sometime (some folks prefer // for example). Providing this out of the box would be a bit too opinionated. Folks can easily alias if they want anyway.

+13 -27

0 comment

4 changed files

pr created time in a month

create barnchchenglou/reason-node

branch : path

created branch time in a month

push eventchenglou/reason-node

Sikan He

commit sha 8f67bc09281f140de4426d1e79037d17b108691e

clean up Fs to not use labels

view details

Sikan He

commit sha 7f9adf8ed5aa90c66e13caa5368d5cbdd75f1773

remove unused

view details

Cheng Lou

commit sha d72b50ca695e7075e4244f862383412ed33419ae

Revamp Console api

view details

push time in a month

push eventchenglou/reason-node

Sikan He

commit sha 8f67bc09281f140de4426d1e79037d17b108691e

clean up Fs to not use labels

view details

Sikan He

commit sha 7f9adf8ed5aa90c66e13caa5368d5cbdd75f1773

remove unused

view details

push time in a month

PR opened sikanhe/reason-node

Test one last object config api
+38 -11

0 comment

3 changed files

pr created time in a month

create barnchchenglou/reason-node

branch : test3

created branch time in a month

push eventchenglou/reason-node

Cheng Lou

commit sha fc034c7b3e4724e78e162162731d457b142acf29

Try 2 Console.make apis

view details

Sikan He

commit sha bcc43d84b25b3eb80d07e5807ab27a5f3dd5e7e0

Merge pull request #7 from chenglou/test2 Try 2 Console.make apis

view details

Sikan He

commit sha 5b2c2183000bb2fa4b6add828fc59e25c498e17a

clean up ChildProcess more

view details

push time in a month

delete branch chenglou/reason-node

delete branch : test2

delete time in a month

Pull request review commentsikanhe/reason-node

Try 2 Console.make apis

  var Stream = require("stream"); var Caml_option = require("bs-platform/lib/js/caml_option.js");-var Console$NodeJs = require("../src/Console.bs.js"); -var c1 = Console$NodeJs.make(Caml_option.some(new Stream.Writable()), false, true, { }, new Stream.Writable());+var c1 = new Console({+      stderr: new Stream.Writable(),

BAM!

chenglou

comment created time in a month

PR opened sikanhe/reason-node

Try 2 Console.make apis
+49 -28

0 comment

4 changed files

pr created time in a month

create barnchchenglou/reason-node

branch : test2

created branch time in a month

push eventchenglou/reason-node

Cheng Lou

commit sha 888d6f624403be77a8041c6ee0e923fb6be8b49c

Check in a first "test" Really just using the API and checking the js output

view details

Sikan He

commit sha 5a7ec075ce345325d250796dea71b07e5a48cee3

clean up ChildProcess using bs.obj

view details

Sikan He

commit sha 373b675cf9632794f2719040ab130d7cf05faca6

Merge pull request #6 from chenglou/test Check in a first "test"

view details

push time in a month

more