Paul Tsnobiladzé 🇫🇷🇬🇪🇺🇦
banner
tsnobip.bsky.social
Paul Tsnobiladzé 🇫🇷🇬🇪🇺🇦
@tsnobip.bsky.social
@rescript-lang.org core contributor.
Fond of geopolitics, space exploration, functional programming, typefaces and music.
I know it's a bit eclectic :)
Reposted by Paul Tsnobiladzé 🇫🇷🇬🇪🇺🇦
For anyone interested, I've been working on a new UI library for @rescript-lang.org based on the TC39 Signals proposal: github.com/brnrdog/xote

#rescript #signals #ui
GitHub - brnrdog/xote: Xote is a lightweight, zero-dependency UI library for ReScript based on TC39 Signals proposal.
Xote is a lightweight, zero-dependency UI library for ReScript based on TC39 Signals proposal. - brnrdog/xote
github.com
November 12, 2025 at 12:57 PM
So happy to reach that milestone, the whole community has worked so much to achieve this!
July 13, 2025 at 9:12 AM
This is definitely a great improvement to try recently merged PRs on real projects!
@rescript-lang.org has officially adopted @pkg.pr.new, which means we now have npm packages for every commit 🚀

No more npm link or waiting for an alpha release!

Thank you @aslemammad.bsky.social, @amirsakhravi.bsky.social and the @stackblitz.com team for supporting the ecosystem.
May 1, 2025 at 7:08 PM
What a pleasure when you can combine your passions! In my case, programming and typography. I'm happy to share a @typst.app template for résumés I've just created, use it and tell me what you think about it!
April 1, 2025 at 6:24 PM
This will simplify my aws bindings so much!
We just landed a new (experimental) feature for v12 - nested record definitions!

Records is a corner stone in ReScript. However, they can't be nested without explicit definitions. Until now!

Will be especially useful for deeply nested records (like options objects) not intended to be reused.
March 21, 2025 at 8:06 AM
it was so cool to finally meet these great people in person!
We are happy to announce that there will be another "ReScript Retreat" in 2025, once again in Vienna, Austria.

Check out this new blogpost to get an idea what we did last year.

rescript-lang.org/blog/retreats
ReScript Retreat | ReScript Blog
Accelerating ReScript development through meeting in-person.
rescript-lang.org
March 17, 2025 at 11:59 AM
Congrats @z-th.bsky.social, you've really done a great job at this!
I had the great opportunity to be on Developer Voices to talk a bit about ReScript!
Much as I like #TypeScript, I think there's still plenty of room for competition. We need something that feels broadly like #JavaScript, but shaves away the corner cases, compiles faster, and just…flows…better. Could that be #ReScript? Let's find out…

youtu.be/yKl2fSdnw7w
February 20, 2025 at 4:38 PM
Very happy to announce you can now run code (including when there are runtime dependencies from the standard libraries) in @rescript-lang.org playground! Just remember to enable “Auto-run”.

Have fun!

rescript-lang.org/try?version=...
ReScript Playground
Try ReScript in the browser
rescript-lang.org
February 6, 2025 at 2:22 PM
Reposted by Paul Tsnobiladzé 🇫🇷🇬🇪🇺🇦
Happy new year!

We're almost ready to release an exciting editor feature - dot completion everywhere!

"." will now trigger completions for more than just record fields. Example: you'll get completions for pipeable functions from the module of that type.

Examples and videos ⬇️
January 2, 2025 at 10:19 AM
🔥
peak tech style is wearing the @rescript-lang.org hoodie
December 26, 2024 at 10:55 PM
Reposted by Paul Tsnobiladzé 🇫🇷🇬🇪🇺🇦
La pollution lumineuse du ciel s'aggrave rapidement. Cela a un impact sur l'astronomie, sur la biodiversité, la santé et la consommation d'énergie.
Je suis convaincu qu'on a besoin d'une prise de conscience collective. Pourquoi?
Thread👇
December 10, 2024 at 10:03 AM
While I love partial applications, automatic partial applications can be quite a fancy footgun when you think you applied the function but actually just created a partially applied function. Explicit partial application really hits the sweet spot!
Since v11, ReScript has support for explicit partial application of functions using the "..." syntax at the end of the function call.

Partial application of functions is useful in many scenarios, and this explicit syntax makes code easier to read and reason about.
November 27, 2024 at 10:16 AM
I was so glad to land this! Very convenient to use existing js tooling for sql/graphql.
ReScript has first class support for tagged template literals since v11.1.

A useful JS technique that's important for interop, and lends itself well to some pretty interesting use cases!
November 22, 2024 at 8:30 AM
Reposted by Paul Tsnobiladzé 🇫🇷🇬🇪🇺🇦
JSX is a 1st class language feature in ReScript. Since v11.1 you've been able to use any createElement-style JSX transform you'd like with ReScript.

Image shows Preact, but there are examples in the community even for non-client side fws, like emitting plain HTML server side.
November 20, 2024 at 7:59 AM
Reposted by Paul Tsnobiladzé 🇫🇷🇬🇪🇺🇦
ReScript ships with native async/await support that also compiles to async/await in JavaScript.

You can pattern match directly on the await, and handle errors in the pattern match as well.

No need to wrap things manually in try/catch, the compiler still emits the right thing.
November 19, 2024 at 7:52 AM
This is the kind of small features that really improve the dev quality of life, it feels so natural the moment you try it!
We shipped a %todo extension point in v11.1. It makes it easy to postpone implementing something but not have the compiler block you continuing working.

It'll produce a warning by default, and it's easy to configure the compiler so that it emits a hard error in for example CI.
November 18, 2024 at 9:02 AM
most compilers would be celebrated for compiling 375k LoC in 33 seconds, but ReScript Team didn't settle for that and now it's now 3 times faster!!
In v12 we're hoping to ship Rewatch, ReScript's new build system, made by Jaap and Roland.

Below is compiling a 375k LoC repo using the current build system vs Rewatch.

1. Current build system: 33.8s
2. Rewatch: 12.27s

Speedup by a factor of 2.75 (!) in this example.
November 15, 2024 at 2:44 PM
Reposted by Paul Tsnobiladzé 🇫🇷🇬🇪🇺🇦
We'll ship our new standard library Core by default in v12.

Core replaces the current standard lib and most of Belt, with one unified experienced that's built to look and feel more like the JavaScript APIs you're used to, while not sacrificing ergonomics.
November 14, 2024 at 7:54 AM
Reposted by Paul Tsnobiladzé 🇫🇷🇬🇪🇺🇦
We're further closing the syntax gap between ReScript and JavaScript in in v12:

- First class regex syntax (previously needed wrapping in %re("<pattern>"))
- Remainder operator
- Use +, -, / and * for any number type, dedicated operators per type not needed

And more coming!
November 13, 2024 at 8:25 AM
Awesome work @nojaf.com !!
Even the doc is great, can't wait to try it in my own project!
November 12, 2024 at 4:39 PM
This closes the feature gap between polymorphic and regular variants, I'm so glad this landed!
Another new feature in v12 - variant type spreads in pattern matching!

This allows you to refine variant types and easily match on a whole subset type without having to enumerate it.

This was always possible with polyvariants, and now also with regular variants.
November 12, 2024 at 9:46 AM
Reposted by Paul Tsnobiladzé 🇫🇷🇬🇪🇺🇦
Bluesky Accounts have RSS built in. Just add “RSS” to the end of any profile page.

Here’s @hankgreen.bsky.social’s RSS link bsky.app/profile/hank...
November 9, 2024 at 4:44 PM
Reposted by Paul Tsnobiladzé 🇫🇷🇬🇪🇺🇦
In v12, several new features come together to enable powerful new use cases.

Dict pattern matching and with untagged variants make it easy to hand write JSON decoders/encoders with great DX, and also get efficient and readable JS output.

More power, less complexity.
November 11, 2024 at 7:52 AM
Though I have 50% less followers than on X, it seems like I have 10 times more reach and interactions, smaller networks with less algorithms rock!
November 10, 2024 at 9:10 AM