The compiler for ReScript.
OTHER License
Bot releases are hidden (Show)
Published by cknitt almost 2 years ago
Published by cknitt almost 2 years ago
rescript format -check
. https://github.com/rescript-lang/rescript-compiler/pull/5760
rescript format --help
usage was being swallowed https://github.com/rescript-lang/rescript-compiler/pull/5760
{x: ? e}
https://github.com/rescript-lang/syntax/issues/714
Published by cknitt almost 2 years ago
list{...x, 1, ...y, ...z}
). https://github.com/rescript-lang/syntax/pull/692
@react.component
to set a props type from the outside. https://github.com/rescript-lang/syntax/pull/699
await foo->bar
means await (foo->bar)
https://github.com/rescript-lang/syntax/pull/711
Pconst_char
from char
to int
https://github.com/rescript-lang/syntax/pull/709
Published by cknitt about 2 years ago
...x
in non-last position would not be reported as syntax error https://github.com/rescript-lang/syntax/pull/673/
async
in a function with labelled arguments.async
including an infinite loop https://github.com/rescript-lang/syntax/pull/680
Published by cknitt about 2 years ago
JsxDOM.domProps
: begin_
, end_
, to_
begin
, end
, to
instead.@string
or @int
attribute is used in a V4 component https://github.com/rescript-lang/rescript-compiler/issues/5724
bsconfig.json
: .bs.mjs
and .bs.cjs
are allowed https://github.com/rescript-lang/rescript-compiler/pull/5631
async
https://github.com/rescript-lang/rescript-compiler/pull/5718
_
and comments.loading
, aria-*
DOM element attributes in JsxDOM.domProps
: ariaCurrent
, ariaInvalid
, ariaAutocomplete
, etc.Published by cknitt about 2 years ago
"jsx"
configuration to dependencies https://github.com/rescript-lang/rescript-compiler/pull/5661
{}
for records where all fields are optional https://github.com/rescript-lang/rescript-compiler/pull/5658
type empty = {}
) https://github.com/rescript-lang/rescript-compiler/pull/5658
->
and |>
https://github.com/rescript-lang/syntax/pull/629
Published by cknitt about 2 years ago
->
does not support a code block on the right-hand side e.g. x->{ open A; get("test") }
Experimental support for for async
/await
https://github.com/rescript-lang/rescript-compiler/pull/5537
Make promise
a built-in type https://github.com/rescript-lang/rescript-compiler/pull/5650
Initial support for JSX V4 including genType, still work in progress.
Add placeholder types for ES6 collections: Set
, Map
, WeakSet
, and WeakMap
https://github.com/rescript-lang/rescript-compiler/pull/5630
->
processing eats up attributes https://github.com/rescript-lang/rescript-compiler/pull/5581
rescript build
would leave the .bsb.lock
file behind and block future buildsPublished by cknitt about 2 years ago
Published by cknitt about 2 years ago
Compiler
bsconfig.json
does not support // line
comments anymore.
"suffix": ".bs.js" // determine the suffix
Js.String.match_
as it was wrong. #5070
Js.String.match_
and Js.String2.match_
type opt = {x: int, y?: string}
were added as an experimental feature #5423 #5452 New Syntax
@new @variadic
(see https://github.com/rescript-lang/rescript-compiler/pull/5364)rescript build
on Windows #5516
rescript init
command not working #5526
Syntax
@bs.send.pipe
is now removed. Earlier it was deprecated.let f = (x, ~z) => x + z; f(1, 2)
let f = (x, ~z) => x + z; f(1, ~z=2)
instead@val
annotations do not work anymore, and externals with = ""
give an error.
external setTimeout: (unit => unit, int) => float = "setTimeout"
is not supported anymore.@val external setTimeout: (unit => unit, int) => float = "setTimeout"
instead.@val external setTimeout: (unit => unit, int) => float = ""
is not supported anymore.@val external setTimeout: (unit => unit, int) => float = "setTimeout"
instead.let blockCommentsRe = %re("/\\/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+\\//g")
.let blockCommentsRe = %re("/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\//g")
instead.export type t = int
@genType type t = int
import realValue: complexNumber => float from "./MyMath"
@genType.import("./MyMath") external realValue: complexNumber => float = "realValue"
let str = "Ξ£"
. And, you'll be able to pattern match on unicode chars: switch c { | 'Ξ£' => "what a fine unicode char" | _ => "unicode is fun" }
/** ... */
are now supported. Inernally, they are attributes, so are only valid at positions where @foo
is allowed, or a syntax error is given. Similarly for module-level /*** comments */
that can go where @@attributes
go.Libraries
rescript-relay
0.23.0 is not supported.rescript-relay@beta
or the new version when released.bytes_to_string
https://github.com/rescript-lang/rescript-compiler/issues/5573 https://github.com/rescript-lang/rescript-compiler/pull/5589
Playground
jsoo_playground_main.ml
as the rescript-lang.org playground bundle entrypointPublished by cknitt about 2 years ago
bytes_to_string
https://github.com/rescript-lang/rescript-compiler/issues/5573
Compiler
bsconfig.json
does not support // line
comments anymore.
"suffix": ".bs.js" // determine the suffix
Js.String.match_
as it was wrong. #5070
Js.String.match_
and Js.String2.match_
@optional
fields e.g. type opt = {x: int, ?y: string}
were added as an experimental feature #5423 #5452 New Syntax
@new @variadic
(see https://github.com/rescript-lang/rescript-compiler/pull/5364)rescript build
on Windows #5516
rescript init
command not working #5526
Changed Linux build to depend on GLIBC 2.28 again for compatibility with Debian 10.
Proper M1 support (CI now supports M1 native builds)
Syntax
@bs.send.pipe
is now removed. Earlier it was deprecated.let f = (x, ~z) => x + z; f(1, 2)
let f = (x, ~z) => x + z; f(1, ~z=2)
instead@val
annotations do not work anymore, and externals with = ""
give an error.
external setTimeout: (unit => unit, int) => float = "setTimeout"
is not supported anymore.@val external setTimeout: (unit => unit, int) => float = "setTimeout"
instead.@val external setTimeout: (unit => unit, int) => float = ""
is not supported anymore.@val external setTimeout: (unit => unit, int) => float = "setTimeout"
instead.let blockCommentsRe = %re("/\\/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+\\//g")
.let blockCommentsRe = %re("/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\//g")
instead.export type t = int
@genType type t = int
import realValue: complexNumber => float from "./MyMath"
@genType.import("./MyMath") external realValue: complexNumber => float = "realValue"
/** ... */
are now supported. Inernally, they are attributes, so are only valid at positions where @foo
is allowed, or a syntax error is given. Similarly for module-level /*** comments */
that can go where @@attributes
go.Libraries
rescript-relay
0.23.0 is not supported.rescript-relay@beta
or the new version when released.Playground
jsoo_playground_main.ml
as the rescript-lang.org playground bundle entrypointPublished by cknitt over 2 years ago
bsconfig.json
does not support // line
comments anymore@val
annotations do not work anymore, and externals with = ""
give an error.let blockCommentsRe = %re("/\\/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+\\//g")
is now let blockCommentsRe = %re("/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\//g")
.Compiler
@new @variadic
(see https://github.com/rescript-lang/rescript-compiler/pull/5364)@optional
fields #5423 #5452
@bs.send.pipe
is now removed. Earlier it was deprecated.Syntax
/** ... */
are now supported. Inernally, they are attributes, so are only valid at positions where @foo
is allowed, or a syntax error is given. Similarly for module-level /*** comments */
that can go where @@attributes
go.Libraries
rescript-relay
. See https://github.com/rescript-lang/rescript-compiler/issues/5493.Playground
jsoo_playground_main.ml
as the rescript-lang.org playground bundle entrypoint*
Removed Reason syntax support for the playground experience. See https://github.com/rescript-lang/rescript-compiler/pull/5375
Published by cknitt over 2 years ago
*
means potential breaking changes
New since beta.1:
New since alpha.1:
rescript build
on Windows #5516
rescript init
command not working #5526
*
bsconfig.json
does not support // line comments anymore*
Externals without @val
annotations do not work anymore, and externals with = ""
give an error.*
Regular expressions don't need escaping. E.g. let blockCommentsRe = %re("/\\/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+\\//g")
is now let blockCommentsRe = %re("/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\//g")
.Compiler
@new @variadic
(see https://github.com/rescript-lang/rescript-compiler/pull/5364)@optional
fields #5423 #5452
*
@bs.send.pipe
is now removed. Earlier it was deprecated.*
Missing labels in function application is now an error (https://forum.rescript-lang.org/t/ann-more-strict-checks-in-missed-labels/2117).*
Fix Js.String.match_ return type #5070
Syntax
/** ... */
are now supported. Inernally, they are attributes, so are only valid at positions where @foo
is allowed, or a syntax error is given. Similarly for module-level /*** comments */
that can go where @@attributes
go.Libraries
*
Removed printing modules (Printf, Format etc) and related functions. Details of files added/removed: https://github.com/rescript-lang/rescript-compiler/commit/0fd8bb0e77c4b0e96a9647ac8af614305057003f.*
There could be issues with rescript-relay
. See https://github.com/rescript-lang/rescript-compiler/issues/5493.Playground
jsoo_playground_main.ml
as the rescript-lang.org playground bundle entrypoint*
Removed Reason syntax support for the playground experience. See https://github.com/rescript-lang/rescript-compiler/pull/5375
Published by cknitt over 2 years ago
*
means potential breaking changes
New since alpha.1:
rescript build
on Windows #5516
rescript init
command not working #5526
*
bsconfig.json
does not support // line comments anymore*
Externals without @val
annotations do not work anymore, and externals with = ""
give an error.*
Regular expressions don't need escaping. E.g. let blockCommentsRe = %re("/\\/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+\\//g")
is now let blockCommentsRe = %re("/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\//g")
.Compiler
@new @variadic
(see https://github.com/rescript-lang/rescript-compiler/pull/5364)@optional
fields #5423 #5452
*
@bs.send.pipe
is now removed. Earlier it was deprecated.*
Missing labels in function application is now an error (https://forum.rescript-lang.org/t/ann-more-strict-checks-in-missed-labels/2117).*
Fix Js.String.match_ return type #5070
Syntax
/** ... */
are now supported. Inernally, they are attributes, so are only valid at positions where @foo
is allowed, or a syntax error is given. Similarly for module-level /*** comments */
that can go where @@attributes
go.Libraries
*
Removed printing modules (Printf, Format etc) and related functions. Details of files added/removed: https://github.com/rescript-lang/rescript-compiler/commit/0fd8bb0e77c4b0e96a9647ac8af614305057003f.*
There could be issues with rescript-relay
. See https://github.com/rescript-lang/rescript-compiler/issues/5493.Playground
jsoo_playground_main.ml
as the rescript-lang.org playground bundle entrypoint*
Removed Reason syntax support for the playground experience. See https://github.com/rescript-lang/rescript-compiler/pull/5375
Published by cknitt over 2 years ago
*
means potential breaking changes
Compiler
@new @variadic
(see https://github.com/rescript-lang/rescript-compiler/pull/5364)@optional
fields #5423 #5452
*
@bs.send.pipe
is now removed. Earlier it was deprecated.*
Missing labels in function application is now an error (https://forum.rescript-lang.org/t/ann-more-strict-checks-in-missed-labels/2117).*
Fix Js.String.match_ return type #5070
Syntax
/** ... */
are now supported. Inernally, they are attributes, so are only valid at positions where @foo
is allowed, or a syntax error is given. Similarly for module-level /*** comments */
that can go where @@attributes
go.Libraries
*
Removed printing modules (Printf, Format etc) and related functions. Details of files added/removed: https://github.com/rescript-lang/rescript-compiler/commit/0fd8bb0e77c4b0e96a9647ac8af614305057003f.*
There could be issues with rescript-relay
. See https://github.com/rescript-lang/rescript-compiler/issues/5493.Playground
jsoo_playground_main.ml
as the rescript-lang.org playground bundle entrypoint*
Removed Reason syntax support for the playground experience. See https://github.com/rescript-lang/rescript-compiler/pull/5375
Published by bobzhang over 3 years ago
Published by bobzhang over 3 years ago
Bug fix release for 9.1
The bugs fixed are listed below:
Build system
#5154 when toplevel package-specs get changed, its dependencies should be rebuilt
#5152 Rebuild not triggered when deletion with nested modules
#5153 when Different compiler version triggered,
it should clean the whole dependencies instead of just the repo itself
#5080 Add back -ws option for the build
Frontend parser/printing (issues are pinned to @rescript-lang/syntax)
#425 fix CRLF handling for windows
#414 Fix printing of underscore Pexp_fun sugar in context of Array.get
#408 Donβt parse Int token with suffices as hash ident for poly variants
#410 Fix parsing of arrow type with objects in constructor declaration args
#404 fix printing of Osig_module in outcome printer
#402 Implement printing of Otyp_module in outcome printe
Published by bobzhang over 3 years ago
Published by bobzhang over 3 years ago
Bug fix release, changes: https://github.com/rescript-lang/rescript-compiler/blob/master/Changes.md#902
Published by bobzhang over 3 years ago
A bug fix release coming after 9.0.
More details: https://rescript-lang.org/blog/release-9-0
Published by bobzhang over 3 years ago
Changes are available: https://github.com/rescript-lang/rescript-compiler/blob/master/Changes.md#90