-
-
Notifications
You must be signed in to change notification settings - Fork 251
ReScript retreat blogpost #895
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 8 commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
b929e26
ReScript retreat blogpost
fhammerschmidt f1761b1
Add some pics
fhammerschmidt 3ac3771
Add acknowledgements
fhammerschmidt f4895d7
Bump date
fhammerschmidt b3b747d
Add youtube link to compiler talk
fhammerschmidt 5e1bc1d
2025 update
fhammerschmidt 7e04acb
Add colored CCA logo
fhammerschmidt d4ca5e4
Add results section
fhammerschmidt 015f1d5
Review fixes
fhammerschmidt 390461f
cca link
fhammerschmidt File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
--- | ||
author: rescript-association | ||
date: "2025-03-17" | ||
previewImg: /static/blog/rescript_retreat_2024.jpg | ||
articleImg: /static/blog/rescript_retreat_2024.jpg | ||
title: ReScript Retreat | ||
description: | | ||
Accelerating ReScript development through meeting in-person. | ||
--- | ||
|
||
ReScript is exclusively developed by volunteers. Some help out in their free time, some are lucky to do it in their work time, but overall there is no single developer who exclusively works full-time on the advancement of the ReScript project. | ||
|
||
That's not unusual for many open-source projects, but we want to be sustainable long-term. One way to not only accelerate development but also improve collaboration between contributors is to meet together in-person and hack on things. In this article, we explain what usually happens on such a "Retreat". | ||
|
||
Last year, from the 23rd to the 26th of May, the ReScript Association invited many contributors to hack on ReScript. In the end almost all of them responded to the invitation and thus, 15 people from all over the world traveled to Vienna, Austria to meet in person, to do talks, discussions and decisions about and contributions to the ReScript toolchain. | ||
|
||
## Talks | ||
|
||
<Image | ||
src="/static/blog/rescript_retreat_2024_talk_parser.jpg" | ||
caption="Maxim Valcke giving an introduction about parser development" | ||
withShadow="true" | ||
/> | ||
|
||
Not everybody is on the same level of knowledge about the parser, compiler or other tools. Talks are a great way to get to a better collective understanding before the real work gets started. In 2024 we had the following talks: | ||
|
||
- Brief overview of parser development, by Maxim Valcke ([@\_binary_search](https://x.com/_binary_search)) | ||
- Intro to compiler development, by Cristiano Calcagno ([@ccrisccris](https://x.com/ccrisccris)) | ||
- The full talk is also available here: [Youtube Link](https://youtu.be/sQinTXDynew?si=AihxJBQDEyzMCvFz). | ||
- Talk about editor tooling, by Gabriel Nordeborn ([@\_\_\_zth\_\_\_](https://x.com/___zth___)) | ||
|
||
## Group work | ||
|
||
<Image | ||
src="/static/blog/rescript_retreat_2024_group_work.jpg" | ||
caption="Some core contributors thinking hard" | ||
withShadow="true" | ||
/> | ||
|
||
Our contributors split up in multiple small groups of 2-4 people. Every group had a specific topic assigned: | ||
|
||
- New Build System (Codename rewatch) | ||
- rescript-lang.org Playground Output | ||
- ReScript Core and how to include it in the compiler | ||
- loops, foreach, iterators | ||
- Syntax, JSX | ||
|
||
## Discussions | ||
|
||
We also did group discussions about how to elevator pitch ReScript and about ReScript's roadmap. | ||
|
||
The full results of this discussions and the group work can be read at the ReScript forum: https://forum.rescript-lang.org/t/ann-rescript-retreat-roadmap-summary-2024/5275. But that is the past, have a look at the following section to see how far we have come: | ||
|
||
### Results | ||
|
||
Almost a year later, most of the things that got started at the retreat, got finished or at at least very far in development. | ||
- We moved the new "Core" standard library into the compiler. Only needs some minor tweaks and documentation. | ||
- We are getting closer into having "rewatch" be our new main build system, it should now even work correctly in "dev" mode. | ||
fhammerschmidt marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- We merged first-class `RegExp` syntax. | ||
- We merged support for pattern-matching on `dict`s. | ||
- We removed curried mode. | ||
- We removed `.ml` compilation support. | ||
- Based on the above and other cleanups we were able to introduce a new abstract syntax tree which will allow for cleaner language design. Of course a compatibility layer is available. | ||
|
||
And more. But that's material for another release blog post. | ||
|
||
## Food, Drinks and Leisure | ||
|
||
After every hard working day, we finished the day with a nice dinner. | ||
For instance, one day we gathered together at a viennese winery in the evening. | ||
|
||
<Image | ||
src="/static/blog/rescript_retreat_2024_winery.jpg" | ||
caption="Contributors enjoying refreshing food and drinks after working hard" | ||
withShadow="true" | ||
/> | ||
|
||
At the last day we of course also did some city sightseeing and enjoyed a final Viennese lunch. | ||
|
||
## Conclusion | ||
|
||
After the retreat, most participants stated that they want to do it again and overall it was a very productive but also fun event for all of us. And we are happy to announce that there will be a ReScript Retreat in 2025, from the 3rd - 6th of May, once again in Vienna, Austria. And a similar number of participants will attend. | ||
|
||
## Our Sponsors | ||
|
||
<Image | ||
src="/static/lp/cca-io-color.svg" | ||
size="small" | ||
caption="Thanks to cca.io for sponsoring our retreat venue" | ||
/> | ||
|
||
The [ReScript Association](https://rescript-association.org/) paid for all the participants hotel rooms and some of the lunches and dinners. We worked at a coworking space which was paid for by the Vienna-based company [cca.io](https://www.cca.io/), which also happens to employ two of our contributors. | ||
|
||
## Acknowledgements | ||
|
||
We want to thank all contributors who are so invested into this language that they don't hesitate to travel the globe, some even with their families. Thank you so much! | ||
|
||
[@bloodyowl](https://github.com/bloodyowl), [@cknitt](https://github.com/cknitt), [@cometkim](https://github.com/cometkim), [@cristianoc](https://github.com/cristianoc), [@fhammerschmidt](https://github.com/fhammerschmidt), [@glennsl](https://github.com/glennsl), [@IwanKaramazow](https://github.com/IwanKaramazow), [@jfrolich](https://github.com/jfrolich), [@JonoPrest](https://github.com/JonoPrest), [@mununki](https://github.com/mununki), [@rolandpeelen](https://github.com/rolandpeelen), [@ryyppy](https://github.com/ryyppy), [@shulhi](https://github.com/shulhi), [@tsnobip](https://github.com/tsnobip), [@zth](https://github.com/zth). |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
@react.component | ||
let default = (~src: string, ~withShadow=false, ~caption: option<string>=?) => { | ||
<Markdown.Image src withShadow ?caption /> | ||
let default = (~src: string, ~size=#large, ~withShadow=false, ~caption: option<string>=?) => { | ||
<Markdown.Image src size withShadow ?caption /> | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.