# Nushell core team meeting 2024-09-04
## Attendees
- Stefan
- Michael
- Jack
- Antoine
- Devyn
- Andy
- Nothedroids
- Piepmatz
- Yash
- Ian
## Agenda
- [ ] [#13750](https://github.com/nushell/nushell/pull/13750)
- [ ] [#13515](https://github.com/nushell/nushell/pull/13515)
## Discussed Topics
### closure syntax
- proposal: https://github.com/nushell/nushell/issues/13750
```
# closure now
{ cmd }
{ || cmd}
{ |args| cmd }
# Ian's proposal for disambiguation
@{}
@{ cmd }
@[arg]{ cmd}
```
- Similarity to def syntax would be a plus
- extensibility if the syntax would be flexible to add additional type info
- confusability with record
- `:` as a strong indicator for record
- some syntaxshape based BS we can probably fix on our side (`{}` being record except if you ask for closure, we can restrict that.)
- (mostly a parser impl detail)
- visual effect of `|arg| first| second`?
- block and closure disambiguation
- (non-issue with the current Nushell boxing in the block to be tightly linked to keywords (and `timeit`))
- before-times had more troubling semantics and syntaxshape wildwest
- horrible ripple effect if we roll back the change
general inertia says no change
-> let's not close the issue but drive it by additional demand if we have additional syntax wishes on our list, should postpone after new-nu-parser merge
### exit code -> error
https://github.com/nushell/nushell/pull/13515
- closer to `set -e` behavior of bash
- with the option interactively hiding the full error message (e.g. running `diff`)
- with the current setup not possible to implement `set -o pipefail`
- different internals necessary to implement
- semantic questions open
- (Stefan) in our general philosophy: trying to be helpful with errors, when in doubt favor explicitness
- (Jack): example long running script you might forget to check exit codes (e.g. hitting the network)
- Some cases you may want to be pushed towards error handling
- con: some overloading of exit code where `try`/`catch`
- Also implementation of signal reporting
- Two new `ShellError` variants
- Jack: makes error handling more consistent internal/external !
- Q: complete command
- `^zsh -e "exit 1" | complete`
- Ian investigates: should behave the same as before
- Antoine: current state of having to remember `complete` or possible `do` options is not great anyways
- Andy: no concerns