Draft:ReScript
Submission declined on 15 June 2023 by LittlePuppers (talk).
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
|
Submission declined on 13 September 2022 by DaxServer (talk). This submission is not adequately supported by reliable sources. Reliable sources are required so that information can be verified. If you need help with referencing, please see Referencing for beginners and Citing sources. Declined by DaxServer 20 months ago. |
- Comment: Sources 1-4, 7-10 are not independent; sources 5, 11?-12 are blogs. LittlePuppers (talk) 18:44, 15 June 2023 (UTC)
- Comment: Please provide reliable independent sources WP:RS — DaxServer (t · m · c) 09:13, 13 September 2022 (UTC)
Paradigm | Multi-paradigm: functional, imperative, modular, object-oriented |
---|---|
Family | ML |
Designed by | Hongbo Zhang.[1] |
Developer | ReScript Association |
First appeared | 2015[1] |
Stable release | 11.1.0[2]
/ April 19, 2024 |
Implementation language | OCaml |
License |
|
Filename extensions | .res, .resi |
Website | rescript-lang |
Influenced by | |
OCaml, Reason, JavaScript |
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.[5][6]
ReScript provides first-class bindings for React based web applications,[7] and React Native desktop applications.[8]
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[9] 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[10][11][12][13]
See also[edit]
- 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]
- ^ a b c "CREDITS.md". rescript-lang/rescript-compiler. ReScript Association. Retrieved 2023-02-24 – via GitHub.
- ^ "Release 11.1.0". April 19, 2024. Retrieved April 25, 2024.
- ^ "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. S2CID 255208264.
- ^ "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.
- Lubin, Justin; Chasins, Sarah E. (October 15, 2021). "How statically-typed functional programmers write code". Proceedings of the ACM on Programming Languages. OOPSLA 2021. Vol. 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 Finnish 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 Russian and English). Saint Petersburg State University. Retrieved 2023-07-04.
External links[edit]
Category:Cross-platform free software Category:Free compilers and interpreters Category:Source-to-source compilers Category:ML programming language family Category:OCaml programming language family Category:JavaScript programming language family Category:High-level programming languages Category:Functional languages Category:Object-oriented programming languages Category:Pattern matching programming languages Category:Statically typed programming languages Category:Programming languages created in 2015 Category:Software using the LGPL license Category:Software using the MIT license
- in-depth (not just passing mentions about the subject)
- reliable
- secondary
- independent of the subject
Make sure you add references that meet these criteria before resubmitting. Learn about mistakes to avoid when addressing this issue. If no additional references exist, the subject is not suitable for Wikipedia.