Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Complete redesign of AngouriMath.FSharp #575

Open
WhiteBlackGoose opened this issue Jul 8, 2022 · 0 comments
Open

[WIP] Complete redesign of AngouriMath.FSharp #575

WhiteBlackGoose opened this issue Jul 8, 2022 · 0 comments
Labels
Area: F# The issue is related to the AngouriMath.FSharp package Design document For issues representing detailed design of new API or feature Opinions wanted We are interested in your opinion about the topic
Milestone

Comments

@WhiteBlackGoose
Copy link
Member

WhiteBlackGoose commented Jul 8, 2022

Current problem

  1. First of all, naming is weird. E. g. simplified and compiled feel weird (not to mention derivative vs derivativeNode)
  2. Second, too long naming. derivative seems imo too long for something so commonly used. I think we can make it short.3.
  3. There are also some poorly named functions, like asNumber. What does it do? Well, it evaluates to a number.
  4. Weird undocumented operators, like this one
  5. Shortcuts which are too simple to take space in the library, and aren't very convenient to remember without IDE support

Suggested API

It should be concise, clear, consistent.

AngouriMath.FSharp.Functions

val simplify : obj -> Entity
val eval : obj -> Entity
val sub : (var : obj) -> (value : obj) -> (expr : obj) -> obj

val toInt32 : obj -> int
val toInt64 : obj -> long
val toFloat32 : obj -> float
val toFloat64 : obj -> double
val toBool : obj -> bool

@WhiteBlackGoose WhiteBlackGoose added Opinions wanted We are interested in your opinion about the topic Area: F# The issue is related to the AngouriMath.FSharp package Design document For issues representing detailed design of new API or feature labels Jul 8, 2022
@WhiteBlackGoose WhiteBlackGoose added this to the 1.4 milestone Jul 8, 2022
@WhiteBlackGoose WhiteBlackGoose added this to To do in F# & C++ & Interactive via automation Jul 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: F# The issue is related to the AngouriMath.FSharp package Design document For issues representing detailed design of new API or feature Opinions wanted We are interested in your opinion about the topic
Projects
Development

No branches or pull requests

1 participant