eksperimental
Inagurating this section. ![]()
While working with the DynamicSupervisor library, it is not clear to me whether I can as supervisor a supervisor create by Supervisor in any of the DynamicSupervisor functions and vice-versa.
The specs in DynamicSupervisor mention that supervisor is a t:Supervisor.supervisor/0, but I have the feeling we should have a t:DynamicSupervisor.supervisor/0 of its own, as they don’t interoperate.
Trending in Discussions
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
New
Hey there,
It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Quite interesting article Google brought me. Didn’t find any mentions about it here.
What do you think in general? Would you use togethe...
New
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
:warning: Security advisory: Decimal DoS vulnerability
A vulnerability has been published for decimal where very large exponents can cau...
New
It would be helpful to have a list of companies worldwide that hire engineers without prior experience in Elixir. Often, it can be quite ...
New
Other Trending Topics
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
Aludel - LLM Evaluation Workbench
Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #ai
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 3- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
eksperimental
Error message does not help as it returns
{:error, {:invalid_child_spec, child_spec}}while the spec is valid, but the issue stems from the interop issue.al2o3cr
If it existed, a
DynamicSupervisor.supervisor()type would have the same values asSupervisor.supervisor()- the possible values are ways to identify an supervisor process, not specific details about the kind of process.To use a telecom analogy, the type says “this is what patterns of numbers you can dial to reach a remote phone” but doesn’t specify who answers.
Many of the functions in the two modules are nearly identical, but handle arguments a little differently - for instance,
start_child:https://github.com/elixir-lang/elixir/blob/v1.13.4/lib/elixir/lib/supervisor.ex#L821-L837
vs
https://github.com/elixir-lang/elixir/blob/v1.13.4/lib/elixir/lib/dynamic_supervisor.ex#L317-L330
Both ultimately result in a
GenServer.callwith a message shaped like{:start_child, child_spec}.eksperimental
Yes, but internally, the child spec for DynamicSupervisor is a five-element tuple, and for Supervisor is like the old erlang child spec, with 6 elements IIRC.
The error is cryptic, it says ‘:invalid_child_spec’ and if you call the same function with the same child spec but your suppervisor goes to the local supervisor the the function works fine, since the chld spec was valid.
Having a new type is a way to document that DynamicSupervisor functions expect a DynamicSupervisor and not a regular Supervisor.