Nushell core team meeting 2023-04-05

Attendees

  • Stefan
  • Antoine
  • JT
  • Michael
  • Jakub
  • Fernando
  • WindSoilder

Agenda

Discussed Topics

Public feedback 0.78.0:

number parsing

We now eagerly assume that code starting with a number is likely a number and respond with errors

Let's wait and see. We had a conflicting flood of issues that favor having better number literal error messages.

Update on the arrow development

arrow/arrow2 and polars seem to get closer so might be a better foundation when we can get Fernando back on the dfs

IDE support

Currently a separate VScode extension that links up to new options on the nu binary

  • type hints
  • basic goto def
  • hover with info/command docs
  • error reporting (with one error)

Still alpha stage

global variables only
Jakub: scope dropping happens makes it more complex parser_info

still TODO link it up with the main vscode extension

looking for performance issues with the interactive use

Inlay type hints seem to be slow accross the board and might be part of VS code's implementation

Darren: jakt uses some throttling mechanism -> worth looking into

match command

Most constant forms should be covered
several PRs added it. (documentation of all the cool features)

1.0 outlook

we are just 22 releases away from the spiritual 1.0 :P

Feedback from Fernando: virtual environment handling with different language tools still a hassle (e.g. poetry )

What is our answer to "we want posix"/"we want bash compatibility"?

"just add one more eval, one more eval bro"

STD library

  • the problem we discussed last meeting seems to be resolved
    • https://github.com/nushell/nushell/pull/8627
    • parse_module to load the baked std library
      • fixes the mutable wizardry
    • is prelude ready (i.e. no need for use)
    • example commands right now: assert commands
    • help is not yet part of std.
    • works in repl/scripts now
    • SHIP IT!!!
      • Darren: coordination around help/prelude + removal of rust commands
      • make nu help implementation in prelude std help at first!

"kwargs"/ passing a flexible set of flags on top of rest args

passing flags is helpful for wrappers/ externs is highly desirable

technically difficult to get typechecking/keeping positioning/and get flexibility

pythons **kwargs are a hellhole to loose documentation of arguments

we need to deal with the complexity as we want to be a shell

Powershell for reference
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-7.3

can we fall back to stringly world in this case safely

PR's

https://github.com/nushell/nushell/pull/8610

cell path on $in
currently only update

closure arg and $in would be different (is this confusing)

Wind: For insert, does it make sense to follow cell path on $in? Because the column we want to insert is not exists in $in, the same thing happened on upsert command.

General feeling try it on update -> land and try

Select a repo