From c2329519d702fba2ff44d48bee2d500e83c49a03 Mon Sep 17 00:00:00 2001 From: Scott Richmond Date: Mon, 7 Jul 2025 08:42:09 -0400 Subject: [PATCH] fix prelude bindings --- assets/prelude.ld | 20 ++++++++++---------- pkg/rudus_bg.wasm | Bin 16798859 -> 16798859 bytes 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/assets/prelude.ld b/assets/prelude.ld index ee98016..3a2e60d 100644 --- a/assets/prelude.ld +++ b/assets/prelude.ld @@ -1137,7 +1137,7 @@ fn heed { fn send_sync { "Sends the message to the specified process, and waits for a response in the form of a `(:reply, response)` tuple." (pid, msg) -> { - send (pid, msg) + send! (pid, msg) receive { (:reply, res) -> res } @@ -1157,7 +1157,7 @@ fn request_fetch! { request_fetch! (pid) } else { - send (pid, (:reply, unbox (fetch_inbox))) + send! (pid, (:reply, unbox (fetch_inbox))) store! (fetch_inbox, ()) } } @@ -1167,7 +1167,7 @@ fn fetch { "Requests the contents of the URL passed in. Returns a result tuple of (:ok, ) or (:err, )." (url) -> { let pid = self () - spawn! (fn () -> request_fetch! (pid, url)) + spawn (fn () -> request_fetch! (pid, url)) receive { (:reply, (_, response)) -> response } @@ -1182,7 +1182,7 @@ fn input_reader! { input_reader! (pid) } else { - send (pid, (:reply, unbox (input))) + send! (pid, (:reply, unbox (input))) store! (input, nil) } } @@ -1192,7 +1192,7 @@ fn read_input { "Waits until there is input in the input buffer, and returns it once there is." () -> { let pid = self () - spawn! (fn () -> input_reader! (pid)) + spawn (fn () -> input_reader! (pid)) receive { (:reply, response) -> response } @@ -1390,10 +1390,10 @@ fn turtle_listener () -> { add_command! (self (), (:loadstate, position, heading, visible?, pendown?, penwidth, pencolor)) } - (:pencolor, pid) -> send (pid, (:reply, do turtle_states > unbox > self () > :pencolor)) - (:position, pid) -> send (pid, (:reply, do turtle_states > unbox > self () > :position)) - (:penwidth, pid) -> send (pid, (:reply, do turtle_states > unbox > self () > :penwidth)) - (:heading, pid) -> send (pid, (:reply, do turtle_states > unbox > self () > :heading)) + (:pencolor, pid) -> send! (pid, (:reply, do turtle_states > unbox > self () > :pencolor)) + (:position, pid) -> send! (pid, (:reply, do turtle_states > unbox > self () > :position)) + (:penwidth, pid) -> send! (pid, (:reply, do turtle_states > unbox > self () > :penwidth)) + (:heading, pid) -> send! (pid, (:reply, do turtle_states > unbox > self () > :heading)) does_not_understand -> { let pid = self () panic! "{pid} does not understand message: {does_not_understand}" @@ -1405,7 +1405,7 @@ fn turtle_listener () -> { fn spawn_turtle { "Spawns a new turtle in a new process. Methods on the turtle process mirror those of turtle graphics functions in prelude. Returns the pid of the new turtle." () -> { - let pid = spawn! (fn () -> turtle_listener ()) + let pid = spawn (fn () -> turtle_listener ()) update! (turtle_states, assoc (_, pid, turtle_init)) pid } diff --git a/pkg/rudus_bg.wasm b/pkg/rudus_bg.wasm index 96ba329dfd4deadc838b089ff69917ec7799a844..b9c00fcefc25188a0c27282ad81d8b169c9708c0 100644 GIT binary patch delta 4923 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

#ZYz4(&8~6-t2Rp#$ zU?!uSogHkGls&I_F2pAtFx|>hxRBMDtLRtdc@E+hH3sdT`b+VKb~N z#w}wWcAK%q6*5h+7AXob59MizP1{|x-NyYnB|Gb{yVvXe`d**!^}W8=!}(s<@70=p z>0Q=_cU%Usi8Zjac-oZ zmQCY+BQ5O2bZ!eFxil(@n@+OmS5aJVvX`EX;vSL$#%6F`2&ra8(cBC(Qf+dK<(OkE zfAR}*ieBqt*hB8p3`@fi{i!-F@6CB}-ugo;c^|Qf1zQ>VX~|ZWqBA5AtfaD=p^TK$ zPpu6uq>_GTZHObatY3G-N_Cv1=+V*6jJVhOQ8upP~ zR?^cDq9n4mL83x>)dq=5*b5uOpqC?Cl##!`9QlVb($CJY1=)YJGpy5M5Az%h)mkig zd>=!zwOoeDJ~tQL_}%8>ekwW{wv#4Pos$9d1N~W@lS_3I*~^afbnRtDN?Ao8S2HtG zV5)L<1p|N^7|5!e1hJpmbOXnBI*i`wWmN0>@lX#5;u0?A@u&4JUpbldfJaMPpY6;v+7a!u%k;R(xW}RX5|WJI zJh>72$`F1e*O?nRO1qb!(3WQz3&>hFVzsd=AzP_mws8h2G;PT?g4fuV?0`;TDDu2Z z0i&?=E0+TN$(PjeGR#3b>vF(o@-_YBa)2v2ObZpm=pDrzr&d>BPS9bBIZ2}wbBd-a z<_z7fn6tE8F&Ai)VlLC(H89tyzhY|XJjL9l>lIT^nPM8~O~w4oI$aIeIGE(q&7A@_ z!nk)1EQ4w39Jl~xjzwTP9+>+Ufs=1za3XlC zwe|XXBX1*Wcw5faO}if&vgubsNt@FfP9M%k zaVFM;HlFO!T1!q`AI?dsrM}`hIyW~g9^dYV+_1Tr&tr3#J$b}}H;0KFp7HFXVIPq! zljE^4=6Gy^l{dL-a%q~tT$(06y`kU#z{uNT0z1wQ6Fe}|MT@7{Q4fbH)@<^{@bG@x z=ND;SbNB|cf~sOln!-Kxl~qQ*4@Nj~PHx)jDkJ5sC-rLea`5sT-{!5eoHU?ykgsl1 zUt0ep{5`Yh7mMkz=I~xtHB~seabit%F@2_+6lS{kG@M<0I!U)3ug9&N$s^4UmKW2A z&aXSuQFL-S9!m4v$?HfZ+mJi?m-E4^cp7Y&-K@DRG!0n8d8gqH8iC*qS*THCtw;^7s1BWz3%W1 z9{%F-o&7cNCC@{G9r_(xN8}a2C~=m zXGSE50yEg38PSRUy2_uFMTj2w%4w#Br=!`z(=#`}AoZ-v=@^+{&Fjv@YL(gaT{6N>DB1Ru>Hn6nN0bEur-zXoqx%*;ddNCMIUF+j8X=n zsR2?m;pvh<=~ty~PgevghOQiwCoE9#X200AAtJgRv-j`ASXj>{eXPGpbET?0ZN&N!y z5Y$^0G_^hG<)CEf{;GaOyQ}nkw0YXN>#aerR+6V2vDxH9~txBh$tsGzb_=RXYsq_-G zhjq}1r}NXKVSM|bFa&f{1x-S`H7PAjlSaQ1A z6nczGAMVh9w5>lCA%AV~9-NLU-2g49^h0PjmHr*tMWvr~h*z|_-yEOMQx#u8Fu$wH z!LUo;4tl&wzmI;U9@-E0KD50`H$W>_p}qeRwE7f(fi|f6AE&~>sU6TtnY1Ukg%zuh z`8M=WRsR&kk5K6d=w2%AVy@8)RO!Lcb}F4}1BX(l?Gt7r!B~~P3_VDtYoOITyb7(J z;2N}g0gCRY8b1;9c|j*GeKRp(Ng`diO5%I8PacNO)&i$_tE8c?YBLd=R^OXONVq3eFf;_Rr)Zr`U4$+RzDI&t-1cnt!Q<;qQh1B z6s^jisyW?ZfTC3an(v|26Q)9|56d1Ep#FNjp*>U+20^Ru)G6q{9;~h!O&J_*RnaR` z@*$7t)J(}3*M3$4rc)P#Cp4!@KfFW#*bdqsTK&ctp$91AX-lRQgxUN|ttQJPg;};w zdXugffS3LFH7z}Mg#kPi-nBY=Sda14oC3w51e^wE!1tgO`~b?p zS#S=NgY%#QRDuiOBB%n@;1akDu7DbF6