Skip to content

Add tracing #14

Closed
cvidal opened this Issue Nov 2, 2012 · 5 comments

3 participants

@cvidal
cvidal commented Nov 2, 2012

No description provided.

@tvarney
Collaborator
tvarney commented Nov 16, 2012

I forgot what Canata was talking about when he asked us if we could add this. Can someone explain it?

@mwatts15
Owner

He brought it up with regard to combinators. At the time, I suggested that it would be straightforward to implement, but haven't managed a solution yet. It comes down to tracing beta-reductions as part of interpretation since we have combinators implemented by their lambda calculus equivalents. We don't do beta-reduction as such in our interpreter and didn't then. I should be free to write an interpreter that does this over the weekend. Bug me about it if you don't see changes on this ticket before Sunday.

@mwatts15
Owner

So, I got side-tracked from the project. I'm nearly to the point where I can close this, I think. I extracted function application to make that more straightforward and rewrote the visitor to dispatch on type (if-else with instanceof tests) since it allows for more control. I'll add more info later.

@tvarney
Collaborator
tvarney commented Nov 26, 2012

rewrote the visitor to dispatch on type

As far as I know, that isn't strictly the visitor pattern, since the visitor pattern is supposed to be double-dispatch. If Canata says that is fine though, I have no problem doing it that way.

@tvarney
Collaborator
tvarney commented Nov 28, 2012

Minimalistic tracing has been added, closing this issue.

@tvarney tvarney closed this Nov 28, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.