Bump.

Please comment on <https://bugs.ruby-lang.org/issues/6611>.
I need to finish this implementation, and the support in RSpec.

Clifford Heath.

On 19/06/2012, at 10:45 AM, Clifford Heath wrote:

> Folk,
>=20
> I've implemented Twister, a new mutation testing tool to replace =
Heckle.
> It relies on a new hook into the Ruby parser, in order to modify what =
the
> parser thinks it has seen.
>=20
> Although I have written C extensions before, there are some aspects of
> the Ruby core which I'm unfamiliar with and as a result don't know the =
right
> way to handle. I'd like your comments, suggestions and improvements
> please.
>=20
> =
https://github.com/cjheath/ruby/commit/ea99527feaf7dd06b3e8433ec640238441b=
188db
>=20
> In particular, I'd like to know the following:
>=20
> 1) Do you prefer that I move the literal strings (which occur once =
each) to #defined?
>=20
> =
https://github.com/cjheath/ruby/commit/ea99527feaf7dd06b3e8433ec640238441b=
188db#L1R1003
>=20
> 2) Will this line of code mess up the GC, and how should I fix that?
>=20
> =
https://github.com/cjheath/ruby/commit/ea99527feaf7dd06b3e8433ec640238441b=
188db#L1R3853
>=20
> 3) The set_parse_func is extern though it should be static, but I need =
to move
> the rb_define_global_function out of thread.c. Can someone please tell =
me where I should
> move it to, since there is no Init_Parser?
>=20
> =
https://github.com/cjheath/ruby/commit/ea99527feaf7dd06b3e8433ec640238441b=
188db#L1R9029
>=20
> =
https://github.com/cjheath/ruby/commit/ea99527feaf7dd06b3e8433ec640238441b=
188db#L3R4705
>=20
> 4) I think I should change set_parse_func to accept a flags argument =
and a block,
> instead of assuming all flags, and taking a Proc. What are the =
downsides of using a
> block instead of a Proc (does this reduce the number of Bindings that =
get created)?
> How do I change set_parse_func to use a block?
>=20
> The initial implementation of Twister is an extension to RSpec which =
adds the option
> "--twist file-or-dir". It's still a bit rough - it needs to change the =
reporting on the twisted
> runs that follow the first (untwisted) run - but it does prove then =
concept.
>=20
> Clifford Heath, Data Constellation, http://dataconstellation.com
> Agile Information Management and Design.