C# has a different approach for two-fer and Ruby is going to try it out for another solution where they don't do AST interpretation like I do, but do AST matching:
parse the AST for a lot of solutions
strip the Identifier names and rename them to be consistent e.g. a, b, c or input_arg_1, body_constant_1 (so that two solutions that are identical except for the name use are now actually identical). This is normalisation
match the incoming, normalised AST of the solution to the set of known solutions, and have a fixed output.
periodically collect everything that is not matched and add these to the analyser.
I think that is an easier approach, but not necessarily a better one. Especially in JavaScript where you have so many ways to write the same thing (this each way creating a new set of permutations).
The way you broke everything down made it feel more approachable than I originally thought.
Feel free to contribute! 💘
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
C# has a different approach for
two-fer
and Ruby is going to try it out for another solution where they don't do AST interpretation like I do, but do AST matching:a
,b
,c
orinput_arg_1
,body_constant_1
(so that two solutions that are identical except for the name use are now actually identical). This is normalisationI think that is an easier approach, but not necessarily a better one. Especially in JavaScript where you have so many ways to write the same thing (this each way creating a new set of permutations).
Feel free to contribute! 💘