# Meetup in Bologna (Italy) about how to use Zig in JS projects - 18 October 2023

**URL:** <https://ziggit.dev/t/meetup-in-bologna-italy-about-how-to-use-zig-in-js-projects-18-october-2023/1924>\
**Category:** Media\
**Created:** [October 11, 2023, 8:12pm UTC](https://ziggit.dev/t/meetup-in-bologna-italy-about-how-to-use-zig-in-js-projects-18-october-2023/1924 "2023-10-11T20:12:03Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![jackdbd](https://ziggit.dev/user_avatar/ziggit.dev/jackdbd/32/1117_2.png) [@jackdbd](https://ziggit.dev/u/jackdbd)\
**Post date:** [October 11, 2023, 8:12pm UTC](https://ziggit.dev/t/meetup-in-bologna-italy-about-how-to-use-zig-in-js-projects-18-october-2023/1924/1 "2023-10-11T20:12:04Z")

</div>

Wednesday October 18th I will give a talk at Bologna JS, a Meetup focused on backend JavaScript.

I will first introduce Zig to a JavaScript / TypeScript audience, and then I will show how to create a Node.js native addon using the Node-API and zig, and a WebAssembly module that can be consumed by the [Node.js wasi module](https://nodejs.org/api/wasi.html).

The talk will be in Italian. Slides and other material will be in English.

Here is the link for the event:

> **[Login to Meetup | Meetup](https://www.meetup.com/bologna-js-meetup/events/296655951/)**
>
> Not a Meetup member yet? Log in and find groups that host online or in person events and meet people in your local community who share your interests.

I will post any relevant link in this thread.

---

<div class="post-metadata">

**Author:** ![lhk](https://ziggit.dev/letter_avatar_proxy/v4/letter/l/65b543/32.png) [@lhk](https://ziggit.dev/u/lhk)\
**Post date:** [October 17, 2023, 9:22am UTC](https://ziggit.dev/t/meetup-in-bologna-italy-about-how-to-use-zig-in-js-projects-18-october-2023/1924/2 "2023-10-17T09:22:54Z")

</div>

Could you share the slides here after the talk ?

---

<div class="post-metadata">

**Author:** ![jackdbd](https://ziggit.dev/user_avatar/ziggit.dev/jackdbd/32/1117_2.png) [@jackdbd](https://ziggit.dev/u/jackdbd)\
**Post date:** [October 17, 2023, 9:41am UTC](https://ziggit.dev/t/meetup-in-bologna-italy-about-how-to-use-zig-in-js-projects-18-october-2023/1924/3 "2023-10-17T09:41:26Z")

</div>

Sure. Slides and all other relevant material 😉

---

<div class="post-metadata">

**Author:** ![jackdbd](https://ziggit.dev/user_avatar/ziggit.dev/jackdbd/32/1117_2.png) [@jackdbd](https://ziggit.dev/u/jackdbd)\
**Post date:** [October 19, 2023, 11:30am UTC](https://ziggit.dev/t/meetup-in-bologna-italy-about-how-to-use-zig-in-js-projects-18-october-2023/1924/4 "2023-10-19T11:30:47Z")

</div>

Here is the link for the slides (the title is in Italian, but all other slides are in English).

[https://zig-bolognajs.vercel.app/](https://zig-bolognajs.vercel.app/)

---

<div class="post-metadata">

**Author:** ![tensorush](https://ziggit.dev/letter_avatar_proxy/v4/letter/t/6a8cbe/32.png) [@tensorush](https://ziggit.dev/u/tensorush)\
**Post date:** [October 19, 2023, 11:49am UTC](https://ziggit.dev/t/meetup-in-bologna-italy-about-how-to-use-zig-in-js-projects-18-october-2023/1924/5 "2023-10-19T11:49:38Z")

</div>

Wow, this is pretty good, nice work! I’ve only skimmed through it, noticed one detail which I don’t think is correct, namely, the [two error handling tips](https://zig-bolognajs.vercel.app/20) contradict each other.

I believe that omitting the error set is exactly the same as specifying `anyerror` global error set in the error union. We’ve discussed a few points about `anyerror` [here](https://ziggit.dev/t/types-and-the-zig-programming-language/1430/5). I’ll link it just for context.

---

<div class="post-metadata">

**Author:** ![jackdbd](https://ziggit.dev/user_avatar/ziggit.dev/jackdbd/32/1117_2.png) [@jackdbd](https://ziggit.dev/u/jackdbd)\
**Post date:** [October 19, 2023, 4:58pm UTC](https://ziggit.dev/t/meetup-in-bologna-italy-about-how-to-use-zig-in-js-projects-18-october-2023/1924/6 "2023-10-19T16:58:43Z")

</div>

Thanks! My understanding regarding that aspect of error handling in zig is this one:

1. by omitting the error set, zig infers the **minimal** error set at compile time;
2. `anyerror` basically coerces any error set to the global one (which cannot be the minimal one).

Is the actual behavior different?

---

<div class="post-metadata">

**Author:** ![tensorush](https://ziggit.dev/letter_avatar_proxy/v4/letter/t/6a8cbe/32.png) [@tensorush](https://ziggit.dev/u/tensorush)\
**Post date:** [October 19, 2023, 5:23pm UTC](https://ziggit.dev/t/meetup-in-bologna-italy-about-how-to-use-zig-in-js-projects-18-october-2023/1924/7 "2023-10-19T17:23:07Z")

</div>

Yeah, Zig definitely infers the error set, but I guess I’m not entirely sure even from [reading the langref](https://ziglang.org/documentation/0.11.0/#Inferred-Error-Sets) whether the inferred error set is **minimal** or **global**. I wish you were right and I got it wrong! It actually now kind of seems to me that you are. Hopefully, someone with more knowledge can settle this.
