We talk with Wiebe-Marten Wijnja about his project TypeCheck that provides a new kind of runtime type checking for Elixir applications. The syntax builds on your existing spec types so it still works for dialyzer but adds additional compile time created checks. It also works for generating property based test data. This feature comes out in a new ability called "spectest". Like doctests, you can have automated checks that verify the function adheres to the spec! We also cover how TypeCheck allows writing type declarations for other libraries like Ecto and Plug. There are some interesting ways for people to contribute! A very interesting library!
Show Notes online - http://podcast.thinkingelixir.com/72 (http://podcast.thinkingelixir.com/72)
Elixir Community News
- https://twitter.com/erlang_org/status/1453018514617475074 (https://twitter.com/erlang_org/status/1453018514617475074) – Ericsson OTP Team announced the launch of the brand new Erlang Forums
- https://hello.erlangforums.com (https://hello.erlangforums.com) – New Erlang Forum
- https://github.com/elixir-lang/elixir/releases/tag/v1.13.0-rc.0 (https://github.com/elixir-lang/elixir/releases/tag/v1.13.0-rc.0) – Elixir 1.13 RC was released
- https://twitter.com/wojtekmach/status/1453671121820192770 (https://twitter.com/wojtekmach/status/1453671121820192770) – Ability to globally customize inspect.
- https://groups.google.com/g/elixir-lang-core/c/LYmkUopaWN4/m/SwBzRt2zBQAJ (https://groups.google.com/g/elixir-lang-core/c/LYmkUopaWN4/m/SwBzRt2zBQAJ) – Mailing list discussion
- https://github.com/elixir-lang/elixir/pull/11349 (https://github.com/elixir-lang/elixir/pull/11349) – PR discussion
- https://twitter.com/tylerayoung/status/1454780291374096384 (https://twitter.com/tylerayoung/status/1454780291374096384) – Tyler Young's comment thread about the process
- https://twitter.com/livebookdev/status/1455236497960013836 (https://twitter.com/livebookdev/status/1455236497960013836) – Livebook 0.3 released
- https://www.youtube.com/watch?v=4lNkiACemM0 (https://www.youtube.com/watch?v=4lNkiACemM0) – Jose Valim's video demonstrating new features
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Discussion Resources
- https://github.com/Qqwy/elixir-type_check (https://github.com/Qqwy/elixir-type_check) – TypeCheck GitHub repo
- https://hexdocs.pm/type_check/type-checking-and-spec-testing-with-typecheck.html (https://hexdocs.pm/type_check/type-checking-and-spec-testing-with-typecheck.html) – Introductory article
- https://elixirforum.com/t/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886 (https://elixirforum.com/t/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886) – Forum topic with many examples and updates
- https://hexdocs.pm/type_check/comparing-typecheck-and-norm.html (https://hexdocs.pm/type_check/comparing-typecheck-and-norm.html) – Comparison with Norm
- https://twitter.com/strzibnyj/status/1438393349644464130 (https://twitter.com/strzibnyj/status/1438393349644464130)
- https://hexdocs.pm/type_check/comparing-typecheck-and-elixir-typespecs.html (https://hexdocs.pm/type_check/comparing-typecheck-and-elixir-typespecs.html) – Feature-parity of TypeCheck with Elixir's builtin typespecs
- https://www.youtube.com/watch?v=6sNmJtoKDCo (https://www.youtube.com/watch?v=6sNmJtoKDCo) – Clarity - Saša Jurić - ElixirConf EU 2021
- https://racket-lang.org/ (https://racket-lang.org/)
Guest Information
- https://twitter.com/wiebemarten (https://twitter.com/wiebemarten) – on Twitter
- https://github.com/Qqwy/ (https://github.com/Qqwy/) – on Github
- https://wmcode.nl/ (https://wmcode.nl/) – Personal site
- https://resilia.nl/ (https://resilia.nl/) – Work site
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- Cade Ward - @cadebward (https://twitter.com/cadebward)

We talk with Wiebe-Marten Wijnja about his project TypeCheck that provides a new kind of runtime type checking for Elixir applications. The syntax builds on your existing spec types so it still works for dialyzer but adds additional compile time created checks. It also works for generating property based test data. This feature comes out in a new ability called "spectest". Like doctests, you can have automated checks that verify the function adheres to the spec! We also cover how TypeCheck allows writing type declarations for other libraries like Ecto and Plug. There are some interesting ways for people to contribute! A very interesting library!

Show Notes online - http://podcast.thinkingelixir.com/72

Elixir Community News

https://twitter.com/erlang_org/status/1453018514617475074 – Ericsson OTP Team announced the launch of the brand new Erlang Forums
https://hello.erlangforums.com – New Erlang Forum
https://github.com/elixir-lang/elixir/releases/tag/v1.13.0-rc.0 – Elixir 1.13 RC was released
https://twitter.com/wojtekmach/status/1453671121820192770 – Ability to globally customize inspect.
https://groups.google.com/g/elixir-lang-core/c/LYmkUopaWN4/m/SwBzRt2zBQAJ – Mailing list discussion
https://github.com/elixir-lang/elixir/pull/11349 – PR discussion
https://twitter.com/tylerayoung/status/1454780291374096384 – Tyler Young's comment thread about the process
https://twitter.com/livebookdev/status/1455236497960013836 – Livebook 0.3 released
https://www.youtube.com/watch?v=4lNkiACemM0 – Jose Valim's video demonstrating new features

Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected]

Discussion Resources

https://github.com/Qqwy/elixir-type_check – TypeCheck GitHub repo
https://hexdocs.pm/type_check/type-checking-and-spec-testing-with-typecheck.html – Introductory article
https://elixirforum.com/t/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886 – Forum topic with many examples and updates
https://hexdocs.pm/type_check/comparing-typecheck-and-norm.html – Comparison with Norm
https://twitter.com/strzibnyj/status/1438393349644464130
https://hexdocs.pm/type_check/comparing-typecheck-and-elixir-typespecs.html – Feature-parity of TypeCheck with Elixir's builtin typespecs
https://www.youtube.com/watch?v=6sNmJtoKDCo – Clarity - Saša Jurić - ElixirConf EU 2021
https://racket-lang.org/

Guest Information

https://twitter.com/wiebemarten – on Twitter
https://github.com/Qqwy/ – on Github
https://wmcode.nl/ – Personal site
https://resilia.nl/ – Work site

Find us online

Message the show - @ThinkingElixir
Email the show - [email protected]
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Sponsored By:

Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Twitter Mentions