diff --git a/compilers/package-lock.json b/compilers/package-lock.json index c884d0f87..bac1e0461 100644 --- a/compilers/package-lock.json +++ b/compilers/package-lock.json @@ -14,7 +14,7 @@ "rescript-1000": "npm:rescript@10.0.0", "rescript-1010": "npm:rescript@10.1.0", "rescript-1100": "npm:rescript@11.0.0", - "rescript-1110": "npm:rescript@11.1.0-rc.1", + "rescript-1110": "npm:rescript@11.1.0-rc.2", "rescript-820": "npm:bs-platform@8.2.0", "rescript-902": "npm:bs-platform@9.0.2", "rescript-912": "npm:rescript@9.1.2" @@ -136,9 +136,9 @@ }, "node_modules/rescript-1110": { "name": "rescript", - "version": "11.1.0-rc.1", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.1.0-rc.1.tgz", - "integrity": "sha512-EGm6Es+Cbrpct0sDnHY2oRTsrtVzKmuCio9EEIFnznSlLIt3ZmJvFQiZ94m0CwHQP68tS0YRO7HlR/HS/nZJRw==", + "version": "11.1.0-rc.2", + "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.1.0-rc.2.tgz", + "integrity": "sha512-kCUtmsODEUF1Eth5ppc+yIK79HLI7CwRs1R4iopDek4FC58IqHSLT3K1XHGB39YCWuOuV9WMly+wksHRJcSLcw==", "hasInstallScript": true, "bin": { "bsc": "bsc", @@ -253,9 +253,9 @@ "integrity": "sha512-uIUwDZZmDUb7ymGkBiiGioxMg8hXh1mze/2k/qhYQcZGgi7PrLHQIW9AksM7gb9WnpjCAvFsA8U2VgC0nA468w==" }, "rescript-1110": { - "version": "npm:rescript@11.1.0-rc.1", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.1.0-rc.1.tgz", - "integrity": "sha512-EGm6Es+Cbrpct0sDnHY2oRTsrtVzKmuCio9EEIFnznSlLIt3ZmJvFQiZ94m0CwHQP68tS0YRO7HlR/HS/nZJRw==" + "version": "npm:rescript@11.1.0-rc.2", + "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.1.0-rc.2.tgz", + "integrity": "sha512-kCUtmsODEUF1Eth5ppc+yIK79HLI7CwRs1R4iopDek4FC58IqHSLT3K1XHGB39YCWuOuV9WMly+wksHRJcSLcw==" }, "rescript-820": { "version": "npm:bs-platform@8.2.0", diff --git a/compilers/package.json b/compilers/package.json index 7d9531278..5529c21ca 100644 --- a/compilers/package.json +++ b/compilers/package.json @@ -10,7 +10,7 @@ "rescript-1000": "npm:rescript@10.0.0", "rescript-1010": "npm:rescript@10.1.0", "rescript-1100": "npm:rescript@11.0.0", - "rescript-1110": "npm:rescript@11.1.0-rc.1", + "rescript-1110": "npm:rescript@11.1.0-rc.2", "rescript-820": "npm:bs-platform@8.2.0", "rescript-902": "npm:bs-platform@9.0.2", "rescript-912": "npm:rescript@9.1.2" diff --git a/pages/docs/manual/latest/array-and-list.mdx b/pages/docs/manual/latest/array-and-list.mdx index 20a77784b..7d2fd6d3f 100644 --- a/pages/docs/manual/latest/array-and-list.mdx +++ b/pages/docs/manual/latest/array-and-list.mdx @@ -50,6 +50,54 @@ var pushedValue = myArray.push("bye"); +### Array spreads + +**Since 11.1** + + +You can spread arrays of the the same type into new arrays, just like in JavaScript: + + + +```res example +let y = [1, 2] +let x = [4, 5, ...y] +let x2 = [4, 5, ...y, 7, ...y] +let x3 = [...y] +``` + +```javascript +var Belt_Array = require("rescript/lib/js/belt_Array.js"); + +var y = [ + 1, + 2 +]; + +var x = Belt_Array.concatMany([ + [ + 4, + 5 + ], + y + ]); + +var x2 = Belt_Array.concatMany([ + [ + 4, + 5 + ], + y, + [7], + y + ]); + +var x3 = Belt_Array.concatMany([y]); +``` + + +> Note that array spreads compiles to `Belt.Array.concatMany` right now. This is likely to change to native ES6 array spreads in the future. + ## List ReScript provides a singly linked list too. Lists are: