ReScript
Script error: No such module "Draft topics".
Script error: No such module "AfC topic".
Paradigm | Multi-paradigm: functional, imperative, modular, object-oriented |
---|---|
Family | ML |
Designed by | Hongbo Zhang.[1] |
Developer | ReScript Association |
First appeared | 2015[1] |
Implementation language | OCaml |
License |
|
Filename extensions | .res, .resi |
Website | {{URL|example.com|optional display text}} |
Influenced by | |
OCaml, Reason, JavaScript |
Search ReScript on Amazon.
ReScript (formerly BuckleScript) is a general-purpose programming language that transpiles to JavaScript and is mainly used for web development.
Based on OCaml, the ReScript language supports a strong and sound static type system, type inference, parametric polymorphism, tail recursion, pattern matching, first-class closures, functors (parametric modules) and exception handling.[4][5]
ReScript provides first-class bindings for React based web applications,[6] and React Native desktop applications.[7]
History[edit]
ReScript originally started in 2015 as BuckleScript, an OCaml to JavaScript transpiler created by Hongbo Zhang[1] while at Bloomberg. It was released as open source in 2016[8] and was subsequently included as a part of the ReasonML toolchain, where it was modified to also compile Reason, another language derived from OCaml, to JavaScript.
In 2020, BuckleScript was rebranded to ReScript as a separate language, dropping support for native code compilation in exchange for more JavaScript-like syntax and better integration with the web ecosystem[9][10][11][12]
See also[edit]
Some use of "" in your query was not closed by a matching "".Some use of "" in your query was not closed by a matching "".
- Elm: a functional language that uses an abstraction called ports to communicate with JavaScript
- PureScript: a strongly-typed, purely-functional programming language that compiles to JavaScript
- Reason: a functional programming language based on OCaml, which can be compiled to JavaScript using ReScript's compiler
References[edit]
- ↑ 1.0 1.1 1.2 "CREDITS.md". rescript-lang/rescript-compiler. ReScript Association. Retrieved 2023-02-24 – via GitHub.
- ↑ "LICENSE". rescript-lang/rescript-compiler. ReScript Association. Retrieved 2023-02-24 – via GitHub.
- ↑ "res_syntax/LICENSE". rescript-lang/rescript-compiler. ReScript Association. Retrieved 2023-02-24 – via GitHub.
- ↑ Duarte, Diel (April 27, 2021). "Rescript from a JS dev point of view". Blog. Diel Duarte. Retrieved 2023-03-29.
- ↑ Yang, Danny (2023). Introducing ReScript. Functional Programming for Web Applications. doi:10.1007/978-1-4842-8888-7. ISBN 978-1-4842-8887-0. Unknown parameter
|s2cid=
ignored (help) Search this book on - ↑ "Introduction". React Docs. ReScript Project. Retrieved 2023-05-12.
- ↑ "ReScript React Native". ReScript React Native. Retrieved 2023-05-12.
- ↑ "Open Source at Bloomberg: Introducing BuckleScript". Press. Bloomberg LP. May 12, 2016. Retrieved 2023-05-12.
- ↑ "BuckleScript & Reason Rebranding". Blog. ReScript Project. August 10, 2020. Retrieved 2023-05-12.
- ↑ Akinci, Ersin (December 31, 2020). "Confused about ReScript? ReScript, Reason, ReasonML, and BuckleScript explained". Ersin Akinci. Medium. Retrieved 2023-07-05.
- ↑ Alzate, Jayson (January 27, 2021). "Learn ReScript — A Safer Way to Write JavaScript— Part 1". The Startup. Medium. Retrieved 2023-03-29.
- ↑ Kozlov, Ilya (July 12, 2022). "ReScript: Fast, Simple, Fully Typed JavaScript from the Future". Blog. Noveo Group. Retrieved 2023-03-29.
Further reading[edit]
- Wang, Liang; Zhao, Jianxin (2023). "Compiler Backends". Architecture of Advanced Numerical Analysis Systems. Berkeley, CA: Apress. doi:10.1007/978-1-4842-8853-5_8. ISBN 978-1-4842-8852-8. Search this book on
- Lubin, Justin; Chasins, Sarah E. (October 15, 2021). "How statically-typed functional programmers write code". Proceedings of the ACM on Programming Languages. OOPSLA 2021. 5, OOPSLA. Article No.: 155. doi:10.1145/3485532. ISSN 2475-1421.
- Charguéraud, Arthur; Schmitt, Alan; Wood, Thomas (April 23, 2018). "JSExplain: A Double Debugger for JavaScript". Companion Proceedings of The Web Conference 2018. WWW '18. pp. 691–699. doi:10.1145/3184558.3185969. ISBN 978-1-4503-5640-4.
- Rocha, Murilo Giacometti (2019). Testing of OCaml exceptions by effect-driven generation of programs (PDF) (Master of Science thesis). School of Informatics, University of Edinburgh. Retrieved 2023-07-04.
- Mikkonen, Juuso (November 27, 2019). Staattisesti tyypitetyt ohjelmointikielet JavaScript-ekosysteemissä: tyyppijärjestelmien näkökulma [Statically typed programming languages in the JavaScript ecosystem: A type system perspective] (Master's thesis) (in suomi and English). Aalto University School of Science. Retrieved 2023-07-04.
- Marina, Polubelova (2017). Компиляция сертифицированных F*-программ в робастные Web-приложения [Compiling Verified F* Programs to Robust Web Applications] (PDF) (Master's thesis) (in русский and English). Saint Petersburg State University. Retrieved 2023-07-04.
External links[edit]
Wikibooks has a book on the topic of: OCaml |
- Lua error in Module:Official_website at line 90: attempt to index field 'wikibase' (a nil value).
This programming-language-related article is a stub. You can help EverybodyWiki by expanding it. |
This article "ReScript" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:ReScript. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
- CS1 suomi-language sources (fi)
- CS1 uses русский-language script (ru)
- CS1 русский-language sources (ru)
- Programming language topic stubs
- Cross-platform free software
- Free compilers and interpreters
- Source-to-source compilers
- ML programming language family
- OCaml programming language family
- JavaScript programming language family
- High-level programming languages
- Functional languages
- Object-oriented programming languages
- Pattern matching programming languages
- Statically typed programming languages
- Programming languages created in 2015
- Software using the LGPL license
- Software using the MIT license