bijington/expressive

Question - programmatic way to list available function names?

Closed this issue · 4 comments

Hello -

Love this library!

I'm looking for a programmatic way to list all of the available functions. Is that possible?

  • James

Hey James, thank you for the kind words.

Sadly the framework does not currently offer this functionality, however I love the idea! What information would you like exposed? I think an initial step could be to expose the names of the functions but I wonder if it is worth considering returning more metadata about the functions like the number of arguments, etc. It could help to generate documentation dynamically too.

Hi Shaun -

The names of functions would be a great start for me. I agree that describing the arguments and other metadata could be really valuable.

In my application which uses your library, I have a simple autocomplete function that provides variable names to the expression author. Would be great to plug in the function names too!

Merry Christmas to you.

Ok great, then it sounds like reporting the function names will be a good start. I'll probably wrap that inside a class rather than returning a list of strings to make it easier to change in future without breaking.

Out of interest how do you handle operators with your users? Do you provide any autocompletion with them?

Thank you. I'm actually heading away with the family for Christmas so I probably won't be very responsive until the new year. I hope you have a Merry Christmas and a Happy New Year!

@jheliker I have knocked up PR #135 that provides the ability to enumerate through the registered functions. I can take a look at exposing the operators in a similar fashion and work out why the builds are failing