# Nushell core team meeting 2023-09-06
## Attendees
- Darren
- JT
- Jakub
- Reilly
- Michael
- Antoine
- WindSoilder
- Stefan
## Agenda
- [x] what about the `explore` command?
- hide it behind *extra* in [#9975](https://github.com/nushell/nushell/pull/9975)
- @amtoine's plugin: [nu_plugin_explore](https://github.com/amtoine/nu_plugin_explore)
- the [*`explore` comments and suggestions* issue](https://github.com/nushell/nushell/issues/8582)
- [x] [confusing/dangerous operations](https://github.com/nushell/nushell/issues/10233)
- [x] Next steps for span refactor
- [x] `into value` proposal
- [x] Documentation: Big push/Small bites
## Discussed Topics
### `explore`
- Reilly: modal nature, polishing necessary, lots of cool stuff in there (e.g. `:try` mode for interactive building of pipeline). We can focus on the pager for stable behavior first
- maxim has pulled up a PR to refactor a bit and make the first steps in the right direction. https://github.com/nushell/nushell/pull/10247
- Darren: if necessary split pager and interactive editor
- Antoine has experimented in his plugin: less modal nature, different config options, currently not yet feature complete
- Maintenance perspective: TUI has a lot of code, currently maxim is the foremost expert, antoine as been modifying in small places,
Continue to refactor + polish UI, if necessary split off other parts from pager/pure viewer
Problem with plugin: we can not pass a global config at the moment
### operators
Sparked by a problem with const-eval in the case of incomplete input that gets parsed spuriously
`*` as a string repeat/concat operation
Also problem in `reduce` or other fold like operations
`[3, "bob", 4] | reduce -f 1 {|x, y| $x * $y}`
JT: fine in small example but causes bad surprises when growing (has false positive behavior)
explicit alternative would be a `str repeat` ( we already have `repeat`)
Maybe worth looking into more possible surprises lurking in our operators
Resolution: JT comments on issue
### Value/Span refactor
WindSoilder saved the day and pulled us through the removal of matches on `span` inside values!
Future steps:
- splitting Value into "unspanned"/"spanned"Value
Challenge:
error message quality (example from JT's case for nushell blogpost)
with the proposed refactor would point to the whole list instead of a particular value
- this is what we want for large (or loaded) dataset
- this would not be great for small literals in code
- complexity in trying to do backtracking after the fact
Q: can we simplify the codebase before
Stefan: could we move value matches out of nu-cmd* and nu-command for better iteration
- we have existing `as_...` for precise types
- could we have similar ones creating specific enums for family of types?
Q: where do we draw the line for a spanned or unspanned value
Kubouch: source code literals vs command or file open output (could the commands have the different Value types associated to them?)
### `into value`
we have `detect columns`, `from ssv` etc. to parse free form output especially from external commands
Frequent need to run `into` commands on the resulting columns
Could we have a `into value` that can do type inference explicitly
General interest in having schema or additional tools to parse outputs from external tools
`parse` is powerful for its simplicity
### Documentation
currently the book is loose explanations for particular topics
=> for 1.0 develop an overarching narrative (including motivating examples, having explanations that help with onboarding/transitioning from bash)
Kubouch: zsh has a great onboarding experience which queries the user and gives prompts to configure the basics and informs at the same time
-> would also potentially alleviate our need for the monster config blob if we would have an onboarding wizard.
## Issues
> :bulb: the issues which [needs-core-team-attention](https://github.com/nushell/nushell/labels/needs-core-team-attention)
> :bulb: **Note**
> to list all the PRs currently [opened in `nushell/nushell`](https://github.com/nushell/nushell/pulls):
> ```nu
> gh pr list --json url,number,author,title
> | from json
> | each {|i|
> $"- [($i.number)]\(($i.url)\) ($i.title) \(@($i.author.login)\)"
> }
> | reverse
> | to text
> ```