saleyn
Is there a way to create a macro called required that could be used like this:
with required(var) <- Map.get(map, key) do
var
else
nil -> raise RuntimeError
end
I tried something like this, but it doesn’t work:
defmacro required(var) do
quote do
unquote(var) when not is_nil(var)
end
end
Trending in Questions
I’m aware of 2 such projects, are there others?
git: GitHub - team-alembic/realworld: A fullstack Phoenix LiveView application with back...
New
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
Hi everyone.
My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
Hello folks!
So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
How Can I Optimise Compile Time Dependencies
I have been building an elixir application for about 2 years now. Many modules and files ha...
New
Hi,
we run different LLM models across a cluster, with each node loading a configurable subset. Model-specific queues let nodes consume ...
New
Other Trending Topics
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with.
But I don’t use it anymore.
Serverless was the promis...
New
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
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
- #ai
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #performance










Showing Posts 1 to 4- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
kip
I don’t think a macro can return just the match part of a
with(but happy to be wrong). Nevertheless, this looks more complex that the use case demands.Map.fetch!/2does basically the same thing:so you could simply:
Even in this case, its not very idiomatic since
with’s value is to program “happy path” and therefore thewithseems redundant in this example and the following would be the simplest:saleyn
While Map.fetch!/2 is a viable option for simple cases, consider:
If we wanted to get rid of the wrapper, we could do:
But wouldn’t it be nice to be able to do:
Maybe there is a way to come up with such a
required/1macro that would only add a singlewhenguard to the AST?keep_zen
In the FP, there is a functor named Maybe.
I think Maybe can replace the
with.Like:
kip
Perhaps I’m missing something, but this is very similar (but not the same) to:
The difference being that if the key exists and its value is
nilthen it will still pass unlike your example. Normally when I see use cases like “required” its a data validation case and changesets become a good tool of choice.