Porting implementation to more Schemes Lassi Kortela (07 Oct 2019 14:32 UTC)
Re: Porting implementation to more Schemes Linus Björnstam (08 Oct 2019 19:58 UTC)
Re: Porting implementation to more Schemes Linus Björnstam (08 Oct 2019 20:17 UTC)

Re: Porting implementation to more Schemes Linus Björnstam 08 Oct 2019 20:16 UTC

Apart from treplace of course. That is a price I am willing to pay for a more portable implementation. A guile-native version could use module renaming to work around it and still use the r6rs version.

--
  Linus Björnstam

On Tue, 8 Oct 2019, at 21:57, Linus Björnstam wrote:
> That would be great!
>
> My computer time is currently very limited (my main computer is dead,
> so I am limited by some ssh time on various SBCs). In the beginning
> there was an r6rs implementation, but that got scrapped because I
> didn't want to spend time testing new ideas in chez as well (back then
> I provided a lot of extras, such as "random-selection" and things that
> depended on non-standard scheme).
>
> The porting would be simple: change it to r6rs records and r6rs hash
> tables and write a  vector->list with support for start+end arguments.
> Since none of the details of the implementation is really exposed to
> the user, these changes could be made to the guile version without
> breaking anything for guile. I would not mind changing the
> implementation I provided as reference to an r6rs one.
>
> I will not be able to play with that until late next week. If you want
> to have a go, I would go about as following: break out <reduced> and
> <nothing> from the xxx-impl.scm files and make the r7rs library
> definition declare them. Make the guile version an r6rs library (with
> r6rs define-record-type in the library definition). As written above,
> that should be trivial.
>
>
>
> Best regards
>   Linus Björnstam
>
> On Mon, 7 Oct 2019, at 16:32, Lassi Kortela wrote:
> > Transducers are a nice abstraction and the implementation looks easy to
> > port. Would you like help testing/porting it to more implementations? If
> > so, do you want to include R6RS in the reference implementation?
> >
>