Reason Seoul @ReasonSeoul
@ReasonML Seoul/S.Korea community. Sharing knowledge & Introducing Reason, ReScript and OCaml related stuff to the Korean tech industry. meetup.com/Reason-Seoul Seoul Joined June 2020-
Tweets512
-
Followers160
-
Following134
-
Likes802
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.
I'm happy to see such huge interest in OCaml and Functional Programming! As promised, here's the OCaml version of this code. But first of all, despite my questions about this Go code, I'd like to acknowledge all the amazing stuff Go devs have built. My favourite is @charmcli: charm.sh You can build such great free OSS tools only if you're passionate about the programming craft, and this is the one thing I deeply respect. As for the particular code, my main beef is the following two points: 1. Error handling is a boilerplate that makes reading the actual business logic harder. 2. Error handling is not composable and reusable. I can't abstract the handling of the error into a separate function. What I want: Throw error only once in the entire app Handle error only once in the entire app This way I achieve the decoupling of error handling from the actual business domain and can solve each problem independently. Go did one thing great: errors as value. This is very functional, exceptions throwing is not functional (even though, my favourite language, OCaml, has exceptions 🤬) FP languages go one step further: they apply monads to error handling to compose errors easily. Monads are not used just for error handling, they're quite versatile. But it just happens that error handling is one of the most popular use cases. Anyway, the proper idiomatic OCaml code for this contrived Go example, if translated one-to-one but with a sprinkle of monadic error handling, looks like this: This code makes a few assumptions but overall it's pretty accurate. I can go one step further and move the printing inside helper functions to refactor things even further and get a nice pipeline-looking of function applications. Or, remember I mentioned that monads are quite versatile. I can easily switch 'Result.Syntax' with something like 'Lwt_result.Syntax' and use 'and*' in addition to 'let*' to get async parallel execution. The sky is the limit! The golden rule of SWE: If the problem is difficult, don't solve it. Make someone else solve it. Error handling is difficult. Instead of handling the error in each case, the caller needs to handle it once at the very end (or, they can delegate it to their callers!).
To err is human To let* is divine If this post gets 100 likes, I’ll post an OCaml version of this code to show what I mean when I say that a higher-level declarative FP language not just removes boilerplate but offers a different programming paradigm.
It's also accompanied by a new release of ReScript Core, the standard library that'll be the default from v12 going forward: github.com/rescript-assoc…
Read more in our release blog post: rescript-lang.org/blog/release-1… And a big thank you to all contributors who's helped make this release possible! Onwards toward v12 🫡
It's our great pleasure to announce the release of ReScript 11.1! This release brings a ton of new features and improvements: - Tagged template literals - JSX for more than React - Native BigInt support - Array spread syntax - %todo annotation for incomplete code ...and more🎉
blogged about our work in Dune to allow sharing code between Melange and native OCaml melange.re/blog/posts/dun…
Use @rescriptlang and no worry
The perf impact of this is curious. Arguments are very cheap in JS, unlike objects. Using the wrong order will kill the hidden class. A lot of optimizations need to happen to eliminate the object allocation and the property access cost. The function better be hot and inlineable.
Another OCaml Unboxed, talking about why locals matter for performance. It walks through an example of what you need to do to take a bit of ordinary OCaml code, and modify it so that it doesn't need to do any heap allocation. youtu.be/UqBk5DgqxRg?si…
With v11.1 ReScript will finally support tagged template literals! Thank you @tsnobip, for implementing them.
Thanks to the ReScript folks, the @rescriptlang api docs are now generated from source. Took a while to get from my original doc extraction utility prototype to the final product, but the team did a great job getting it into shape and make it actually useful! Looks great too.
JS 타겟 컴파일 언어인 ReScript v11 버전이 출시됐습니다. rescript-lang.org/blog/release-1… 조상격인 언어에서 파생되어 ReScript로 새단장한 이후 언어로써는 가장 급진적인 변화가 있는 버전입니다. 오랫동안 지켜봐왔지만 나날히 더 쓸만한 언어/컴파일러가 되어가고 있습니다. JavaScript 개발하시면서 강타입, 함수형 프로그래밍에 관심있으신 분들라면 꼭 한 번 배워보시길 권합니다.
The day is finally here - ReScript v11 is out! This release is packed with features, including massively improved JS/TS interop capabilities for variants, uncurried by default, dynamic imports, and more. Read about it all in our announcement post: rescript-lang.org/blog/release-1…
discuss.ocaml.org/t/the-ocaml-pl… The OCaml Platform Roadmap is Adopted 🔥🐫
I now understand why @jimmykoppel says only ML and OCaml have real "module types" (as defined by Robert Harper – separate compilation, static dispatching). pathsensitive.com/2023/03/module…
I finished a fun weekend project that can be useful for rendering HTML Write JSX, render HTML Most features from JSX and a few improvements (lowercase components and no annotations). No React idioms, and type-safe. It works with Reason syntax and MLX. github.com/davesnx/html_o…
OCaml Platform Newsletter: September 2023 discuss.ocaml.org/t/ocaml-platfo… #Multicore #OCaml #Compiler @tarides_
Customizable variants is a game changer for @rescriptlang rescript-lang.org/blog/improving… The DU - Discriminated Unions are absolute delight and 100% zero runtime cost. It puts it very close to TypeScript.
I'm excited about OCaml again as an alternative to TypeScript. For me it all started with a project called @reasonml by @jordwalke who also created React. But there's a separate almost identical project called @rescriptlang. Why? How are they different? What about tools? A 🧵
The rebrand was BuckleScript to ReScript. Reason was affected, because it was integrated with BuckleScript. Really hard to calculate, but the harm made by a poor announcement and a long story of bad explanations of the tools are insane.
Another place where unboxed variants in ReScript really enhances the developer experience. This Bun API returns the TypeScript type in the picture. We can model that zero cost in ReScript as in the second picture, and then pattern match on it naturally as in the third picture.
OCaml developers telling each other how much they love OCaml
🦋 hyeseong.kim @cometkim
4K Followers 3K Following • Integration engineer • Open-source hitchhiker • Emerging tech R&D @daangnteam • @rescriptlang compiler committer
Jbee @jbee37142
4K Followers 703 Following 1. npx jbee 이거 진짜 되는데. 2. 가끔 헛소리에도 하트를 찍어요. (오해하지 마세요.) 3. 저도 가끔 헛소리 하니까 하트 누르세요. 4. 회사의 의견을 대표하지 않아요.
jhl @jaeholee_dev
3K Followers 4K Following Product Engineer / interests: user experience, web, open source software, AI, finance
Basix @Basix1120
6K Followers 6K Following Software Engineer | 고용주의 의견과 무관합니다 | https://t.co/b3pKGw6dJG | 🇰🇷🇬🇧
Gabriel Nordeborn @___zth___
1K Followers 198 Following I like building stuff. I mainly tweet about ReScript, Relay and GraphQL. @rescriptlang contributor. @arizon_ab.
𝒽𝓂 @hmartapp
6K Followers 5K Following @Typecast_AI TTS API팀 개발자 Developing a Gen AI service. Web Engineer. Developer Advocate. e/acc · #인공지능 #개발자 #프로그래밍 #생성형AI #LLM
Jason Kim @crazyagun
847 Followers 1K Following 코드,고양이,술. functor 중독자. 동의하는 내용만 리트윗합니다. 다른 의견에 대해서는 인용해서 이야기합니다.
탐정토끼 (김태�... @stelo_kim
6K Followers 4K Following WIZ*ONE. 삶을 풍요롭게 하는 코치, 방송대에서 법 공부하는 녹색당 과학기술위원회, a11ykr, FOSSforALL, 민주노총 누구나지회, 물리 공부한 웹 프로그래머, TRPG 폭염이 너무 뜨거워서 뭐든 해야겠다면? https://t.co/OieGdVnRWT
주리 @beewee22
1K Followers 614 Following 건담, 페르소나5, SSSS.DYNAZENON, 걸밴크 // SRE // FBUB 자유 // 덕질도 하고 개발트윗도 하는 잡계
XiNiHa @xiniha_1e88df
2K Followers 703 Following
Cristiano Calcagno @ccrisccris
1K Followers 114 Following @fbinfer @rescriptlang Hanging out with @magnesCH
EduardoRFS.tei @TheEduardoRFS
9K Followers 2K Following 27yo anti floating point developer. You can almost always find me at https://t.co/XTQJQqaVhe, it's the boring side of tech.
John Doe @ossk5500
9 Followers 1K Following
Uiteqer @Uiteqer8505074
15 Followers 948 Following
forinner - Your Commu... @forinner_com
12 Followers 208 Following Forinner is a community dedicated to helping foreigners living in Korea🌍🇰🇷 #forinner #korea #koreanlife #foreignersinkorea #외국인 #외국인커뮤니티
Jonathan Siebern @j_siebern
87 Followers 298 Following
gimoon cho @gimoon_cho23182
5 Followers 165 Following
Vladimir @vknez
19 Followers 990 Following
Amy @TaylorIsab10968
14 Followers 670 Following
Aviral @id_functor
53 Followers 331 Following señor staff lead head of frontend engineering blue check Just memoise it bro, just one more useState bro 37 items in deps array is fine bro just one more useEf
장호빈 @janghobin_
3 Followers 172 Following
Paul Tsnobiladzé �... @tsnobip
233 Followers 451 Following I'm into Functional Programming and Music, I tweet about both :) ReScript core contributor
Ben Pony @BenPony1
12 Followers 124 Following
Timo Obereder @thecurlydev
295 Followers 1K Following https://t.co/aqwnwrbXn4 - Chaotic Neutral - Kotlin, Android, React - Ai - 3D Printing - Hardware - Verschlimmbesserer
비스킷 @bis_cir_cuit
189 Followers 611 Following
이희찬 @dail0310
7 Followers 92 Following
owen-me @gimtaew74478045
3 Followers 216 Following
jiaek @soundslikega
46 Followers 90 Following Currently learning @rescriptlang to empower sustainability🌿 @outreachy alumna w/@OCamlLang🐫 open source🫶 Former translator & linguist
Jay Lee @ZetaJayLee
32 Followers 118 Following Programming programming languages • Incoming CS PhD @ UC Berkeley • CSE MS & ECE BS @ Seoul National University
Roland Peelen @rolandpeelen
345 Followers 353 Following
Max Kim @max_kim_dev
1K Followers 496 Following Professional Software Engineer, Amateur Writer & Archiver
Moreal @dev_moreal
178 Followers 639 Following
yesyoumay @yesyoumayy
2 Followers 60 Following
Jason Kang @jaeseokkkkkk
62 Followers 325 Following engineer. building things that matter. Co-founder & CTO @farfarawayco
솜깨비 @somkkaebi
91 Followers 100 Following 평범한 직장인 → 개발자가 되기 위해 공부하고 있습니다! / 방송대 컴과 재학중 / 국비과정 진행중 헤더 출처 : @Opal_00_58 프로필 출처 : 프리픽
Abiria @Abiria14
1K Followers 5K Following
Florian @fham_r
510 Followers 833 Following Writing ReScript and React (Native) for a living @cca_io
🦋 hyeseong.kim @cometkim
4K Followers 3K Following • Integration engineer • Open-source hitchhiker • Emerging tech R&D @daangnteam • @rescriptlang compiler committer
Antonio Monteiro @_anmonteiro
3K Followers 258 Following Eng @recallai, building the universal API for meeting recording. Making @melange_re
David Sancho @davesnx
4K Followers 2K Following Open Source UI stuff with OCaml at @ahrefs Made styled-ppx and server-reason-react Working on Reason / Melange / reason-react and co
Gabriel Nordeborn @___zth___
1K Followers 198 Following I like building stuff. I mainly tweet about ReScript, Relay and GraphQL. @rescriptlang contributor. @arizon_ab.
Jason Kim @crazyagun
847 Followers 1K Following 코드,고양이,술. functor 중독자. 동의하는 내용만 리트윗합니다. 다른 의견에 대해서는 인용해서 이야기합니다.
주리 @beewee22
1K Followers 614 Following 건담, 페르소나5, SSSS.DYNAZENON, 걸밴크 // SRE // FBUB 자유 // 덕질도 하고 개발트윗도 하는 잡계
XiNiHa @xiniha_1e88df
2K Followers 703 Following
Cristiano Calcagno @ccrisccris
1K Followers 114 Following @fbinfer @rescriptlang Hanging out with @magnesCH
EduardoRFS.tei @TheEduardoRFS
9K Followers 2K Following 27yo anti floating point developer. You can almost always find me at https://t.co/XTQJQqaVhe, it's the boring side of tech.
FEConf Korea Official @FeConf
1K Followers 3 Following FEConf Korea Official Account 지만 개인이 운영합니다. 언급된 곳엔 다 반응하러 가요. Youtube: https://t.co/kMZB8OB6O1 LinkedIn: https://t.co/E5YS3gmKfv
Tarides @tarides_
2K Followers 233 Following We’re an international software company that helps people and organisations use #OCaml to build safer & faster code. #OCaml #FunctionalProgramming #MirageOS 🐫
Lucas Pluvinage @TheLortex
224 Followers 232 Following Tricking rocks into thinking (on the ciel bleu app) some open source: https://t.co/cjBkjoPQyR some pictures: https://t.co/xnHD0kuakr
Roland Peelen @rolandpeelen
345 Followers 353 Following
jiaek @soundslikega
46 Followers 90 Following Currently learning @rescriptlang to empower sustainability🌿 @outreachy alumna w/@OCamlLang🐫 open source🫶 Former translator & linguist
Dmitry Zakharov @dzakh_dev
286 Followers 56 Following ReScript enthusiast at @envio_indexer. Create tools from the future 🧬
Craig Ferguson @_craigfe
372 Followers 202 Following software engineer @monzo. ex-@tarides_ ⛵️ https://t.co/hv7GHZBvAf 🏴🇬🇧🇪🇺 he/him
Segfault Systems @SegfaultSystems
138 Followers 6 Following Securing the Foundations of Scalable Systems
OCaml Discuss @ocamldiscuss
348 Followers 0 Following Tweets every new topics posted by the community to the OCaml Discuss page. Inspired by @elixirforum.
Matthias @bloodyowl
2K Followers 167 Following front-end lead manager & chief shitpost officer @ https://t.co/D63oWI2x3S, organizer @ https://t.co/HkXli1CBrU, co-creator and podcast host @ https://t.co/qGkMpXhR91
mandalarian @_idkjs
4K Followers 1K Following Available for hire. ReasonML, Rescript, OCaml, Javascript, Node.js, AWS, Postgres, MongoDB, React, Relay, GraphQL. https://t.co/MfkBYIJwxg,
The OCaml Bot @The_OCaml_Bot
193 Followers 12 Following The OCaml Bot is a simple bot to give visibility to the OCaml community. It retweet all tweets containing "OCaml"
OCaml Security @OcamlSecurity
222 Followers 917 Following News about #OCaml and Security. Not affiliated with @OCamlLang core team.
Wonderland Explorer @metapgmr
2K Followers 950 Following The future is local, bespoke and open-source https://t.co/CnpCX5M7Yc
🍬 Caramel @CaramelLang
302 Followers 11 Following Caramel is a functional language for building type-safe, scalable, and maintainable applications • built by @leostera • it’s OCaml on the BEAM y’all! 🚀
Jasim @jasim_ab
2K Followers 747 Following "Our ambition was to develop the ultimate abstraction mechanism that subsumed all other abstraction mechanisms"
KC Sivaramakrishnan @kc_srk
5K Followers 4K Following Profing @iitmadras. CTO @tarides_. Trustee https://t.co/WE1No5QqOA.
Jaap Frolich @JaapFrolich
640 Followers 3K Following Interested in engineering, machine learning, design & entrepreneurship.
Sean Grove @sgrove
6K Followers 1K Following I am, and have been for quite some time now, an unsavory character of dubious regard.
OCamlPro @OCamlPro
2K Followers 85 Following OCamlPro helps you harness state-of-the-art languages like #OCaml and #Rust. We help you design & implement safe & powerful software #FormalMethods
Vladimir Keleshev @keleshev
2K Followers 916 Following Programmer, author of Compiling to Assembly from Scratch: https://t.co/7YcZc355RD
Yaron (Ron) Minsky @yminsky
22K Followers 369 Following Occasional OCaml programmer. Host of @signalsthreads. @[email protected] @yminsky.bsky.social https://t.co/kiUGRvWOO2
Thomas Gazagnaire @eriangazag
1K Followers 207 Following MirageOS and OCaml hacker. CEO of https://t.co/KF5zAU46jr - ex Docker, Unikernel Systems, Citrix
ReasonML Indonesia @ReasonMLID
27 Followers 31 Following @ReasonML Indonesia community. Sharing knowledge Reason, ReScript(Bucklescript), & OCaml related stuffs. Discord: https://t.co/RmImLLZRaS
Jason Smythe | Envio ... @JasoonSmythe
813 Followers 658 Following Creating highly performant, robust and maintainable blockchain indexers at @envio_indexer Using @ReScriptLang, @rustlang Prev @float_shipping @wildcards_world.
Paul Tsnobiladzé �... @tsnobip
233 Followers 451 Following I'm into Functional Programming and Music, I tweet about both :) ReScript core contributor
Jonathan Siebern @j_siebern
87 Followers 298 Following
YI Eun Gook @_______eungook
147 Followers 102 Following 웹 프로그래머용 부계😇😇😇 주로 혼잣말을 합니다. = v =;; 변수명은 두 단어 이상으로 길어지지 않으려고 합니다. 그리고 레거시라는 표현을 안 쓰려고 합니다.
Minsang Kim @minsangk
2K Followers 1K Following Developer/Co-founder of a startup. Node.js/TypeScript/React/ReactNative.


















































