Fork me on GitHub
#parinfer
<
2017-07-16
>
cfleming05:07:35

@shaunlebron Awesome, thanks. I think I have the changes ported to my internal version of parinfer, I’ll get the tests over tomorrow and try them out.

shaunlebron05:07:30

@cfleming: you mean parinfer-jvm?

cfleming05:07:53

@shaunlebron My internal version has diverged from that somewhat.

cfleming05:07:26

I wanted to get the changes in there to actually try it out properly before I spent the time migrating to something that has no known actual clients 🙂

cfleming05:07:17

I’m also planning to write something that records the changes made while editing code, to get a better idea of how to calculate the changes array.

cfleming05:07:48

When a command creates overlapping changes, it’s actually difficult to know what to do.

shaunlebron05:07:17

I can’t seem to remember the overlapping changes example

cfleming05:07:56

I don’t think we’ve ever discussed one, but I believe when I initially investigated this idea I found that it was quite common.

cfleming05:07:15

I’m planning to log all the changes while editing some code to get a better idea of when it might happen.

cfleming05:07:47

Imagine that some command creates a change to some range of text, and then makes another change inside that range somewhere.

cfleming06:07:19

I suspect the current change dx accumulation might not work correctly there.

cfleming06:07:39

But I need to write some examples on a piece of paper to think it through.

shaunlebron06:07:39

interesting, having a hard time to imagining an example, let me know when your logs catch one!

cfleming06:07:14

Depending on how the various sub-steps are implemented.

shaunlebron06:07:18

I’d be tempted to avoid that problem somehow

cfleming06:07:32

Cursive, after performing a paredit command, usually reformats the form. That could also create overlapping changes.

cfleming06:07:49

Got to go, will report back.

shaunlebron06:07:01

my gut is that when a change intersects another within the current batch, it should probably go into a new batch to run afterward