1"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[503],{54914:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>o});var i=n(46929),l=n(13274),r=n(98703);const a={},d="weekly 2024-06-11",c={authorsImageUrls:[]},o=[{value:"Language Update",id:"language-update",level:2},{value:"Build System Update",id:"build-system-update",level:2},{value:"IDE Update",id:"ide-update",level:2}];function t(e){const s={code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",span:"span",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.h2,{id:"language-update",children:"Language Update"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.strong,{children:"Wasm MVP"}),": Added reference counting support based on the Perceus algorithm to the Wasm1 backend."]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:["\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.strong,{children:"Syntax"}),": ",(0,l.jsx)(s.code,{children:"throw"}),", ",(0,l.jsx)(s.code,{children:"raise"}),", ",(0,l.jsx)(s.code,{children:"try"}),", and ",(0,l.jsx)(s.code,{children:"catch"})," are reserved as keywords in preparation for the upcoming error handling mechanism."]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:["\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.strong,{children:"Core"}),": ",(0,l.jsx)(s.code,{children:"List"})," and ",(0,l.jsx)(s.code,{children:"sorted_map"})," have been moved to ",(0,l.jsx)(s.code,{children:"core/immut"})]}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"List"})," has been moved to the ",(0,l.jsx)(s.code,{children:"core/immut/list"})," package and is no longer supported as a built-in type."]}),"\n"]}),"\n",(0,l.jsx)(l.Fragment,{children:(0,l.jsx)(s.pre,{className:"shiki shiki-themes one-light one-dark-pro",style:{backgroundColor:"#FAFAFA","--shiki-dark-bg":"#282c34",color:"#383A42","--shiki-dark":"#abb2bf"},tabIndex:"0",children:(0,l.jsx)(s.code,{children:(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#A626A4","--shiki-dark":"#C678DD"},children:"let"}),(0,l.jsx)(s.span,{style:{color:"#E45649","--shiki-dark":"#E06C75"},children:" a"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#56B6C2"},children:" ="}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#E5C07B"},children:" @immut/list"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"."}),(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:"List"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"::"}),(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:"Cons"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"("}),(0,l.jsx)(s.span,{style:{color:"#986801","--shiki-dark":"#D19A66"},children:"1"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:", "}),(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:"Cons"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"("}),(0,l.jsx)(s.span,{style:{color:"#986801","--shiki-dark":"#D19A66"},children:"2"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:", "}),(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:"Nil"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"))"})]})})})}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"sorted_map"})," has been moved to the ",(0,l.jsx)(s.code,{children:"core/immut/sorted_map"})," package."]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:["\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.strong,{children:"Core"}),": JSON API has been optimized for better performance and to align with the new Core API."]}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:"New type definitions:"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(l.Fragment,{children:(0,l.jsx)(s.pre,{className:"shiki shiki-themes one-light one-dark-pro",style:{backgroundColor:"#FAFAFA","--shiki-dark-bg":"#282c34",color:"#383A42","--shiki-dark":"#abb2bf"},tabIndex:"0",children:(0,l.jsxs)(s.code,{children:[(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#A0A1A7",fontStyle:"italic","--shiki-dark":"#7F848E","--shiki-dark-font-style":"italic"},children:"// Types and methods"})}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#A626A4","--shiki-dark":"#C678DD"},children:"pub"}),(0,l.jsx)(s.span,{style:{color:"#A626A4","--shiki-dark":"#C678DD"},children:" enum"}),(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:" JsonValue"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:" {"})]}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:" Null"})}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#A0A1A7",fontStyle:"italic","--shiki-dark":"#7F848E","--shiki-dark-font-style":"italic"},children:" // Previously Boolean(Bool)"})}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:" True"})}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:" False"})}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:" Number"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"("}),(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:"Double"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:")"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:" String"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"("}),(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:"String"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:")"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:" Array"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"("}),(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:"Array"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"["}),(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:"JsonValue"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"])"})]}),"\n",(0,l.jsxs)(s.span,{className:"line",children:[(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:" Object"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"("}),(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:"Map"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"["}),(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:"String"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:", "}),(0,l.jsx)(s.span,{style:{color:"#C18401","--shiki-dark":"#E5C07B"},children:"JsonValue"}),(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"]) "}),(0,l.jsx)(s.span,{style:{color:"#A0A1A7",fontStyle:"italic","--shiki-dark":"#7F848E","--shiki-dark-font-style":"italic"},children:"// Previously @map.Map"})]}),"\n",(0,l.jsx)(s.span,{className:"line",children:(0,l.jsx)(s.span,{style:{color:"#383A42","--shiki-dark":"#ABB2BF"},children:"}"})})]})})}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.strong,{children:"JS"}),": Optimized ",(0,l.jsx)(s.code,{children:"Int64"})," performance","\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["On the JS backend, ",(0,l.jsx)(s.code,{children:"Int64"})," now compiles to two ",(0,l.jsx)(s.code,{children:"Int"})," values, addressing the previous performance issues with compiling to ",(0,l.jsx)(s.code,{children:"BigInt"}),". Additionally, the runtime implementation of ",(0,l.jsx)(s.code,{children:"Int64"})," in JS has been moved to the core standard library to facilitate open-source community review."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"build-system-update",children:"Build System Update"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:"For moon.mod.json and moon.pkg.json, comments are supported when developing, but comments are not allowed when publishing (only standard JSON format is supported)."}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"ide-update",children:"IDE Update"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.strong,{children:"LSP"}),": Function completion now displays parameter names.\r\n",(0,l.jsx)(s.img,{alt:"LSP.png",src:n(86818).A+"",width:"1802",height:"848"})]}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(t,{...e})}):t(e)}},86818:(e,s,n)=>{n.d(s,{A:()=>i});const i=n.p+"assets/images/lsp-9cefbf1f2973ca03ecff2d5c1ecdeb52.png"},98703:(e,s,n)=>{n.d(s,{R:()=>a,x:()=>d});var i=n(79474);const l={},r=i.createContext(l);function a(e){const s=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:a(e.components),i.createElement(r.Provider,{value:s},e.children)}},46929:e=>{e.exports=JSON.parse('{"permalink":"/updates/2024/06/11/weekly-06-11","source":"@site/updates/2024-06-11-weekly-06-11/index.md","title":"weekly 2024-06-11","description":"Language Update","date":"2024-06-11T00:00:00.000Z","tags":[],"readingTime":1.07,"hasTruncateMarker":false,"authors":[],"frontMatter":{},"unlisted":false,"prevItem":{"title":"weekly 2024-06-17","permalink":"/updates/2024/06/17/weekly-06-17"},"nextItem":{"title":"weekly 2024-06-03","permalink":"/updates/2024/06/03/weekly-06-03"}}')}
1}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.