[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] Re: #123: tinyclos primitive class extension procedur
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] Re: #123: tinyclos primitive class extension procedures are buggy |
Date: |
Wed, 18 Nov 2009 13:06:30 -0000 |
#123: tinyclos primitive class extension procedures are buggy
--------------------------------+-------------------------------------------
Reporter: tonysidaway | Owner: tonysidaway
Type: defect | Status: accepted
Priority: major | Milestone:
Component: extensions | Version: 4.2.x
Keywords: tinyclos primitive |
--------------------------------+-------------------------------------------
Comment(by tonysidaway):
Last week I checked out all Chicken 3 eggs that are as-yet unported, and
I've ported two of them: c3 and vfs. c3 is an alternative class-
precedence system and vfs, as you know, is an object-based virtual file
system. I've written tests for both eggs and they seem to perform as
expected.
The curl egg is something I myself wrote as one of my first attempts at
wrapping C code. We have eggs that do the same job just as well or better
for most purposes so I don't propose to port it to Chicken 4 unless
somebody requests that.
I'm currently writing a very large system that uses tinyclos very heavily
indeed. This is how I discovered the primitive class bugs, and I'm also
encountering problems related to the generic method system which I will
file as a ticket as soon as I know the nature of the problem and whether
it would be feasible to fix it. I am using unit tests against both
Chicken 3 and Chicken 4 to try to duplicate the bugs there so as to be
sure I haven't introduced buggy behavior by my recent changes.
The original Xerox PARC code has also been useful, particularly in the
early days, to enable me to understand what is going on inside this very
complex system. In some cases I also check behavior against stklos,
another implementation based substantially on Gregor Kiczales' code.
One small component of the large system I'm writing--which is related to
the mw egg--is a persistent object system built on top of tinyclos and
designed to use dbms adapters as the dbms back-end. I may soon release
that component as an egg because object persistence can be a generally
useful thing to have in any object oriented system and it's comparatively
easy to do when you gave a handy MOP available. It's just a matter of
getting the design right and the code reasonably stable.
It's designed to achieve much closer integration with tinyclos than
sqlite3-tinyclos, which I also plan to port to Chicken 4 soon, and at the
same time allow as wide a choice of underlying dbms as possible.
Currently we have eggs for postgresql and sqlite but an egg providing odbc
and possibly jdbc connections would greatly increase the range.
--
Ticket URL: <http://www.irp.oist.jp/trac/chicken/ticket/123#comment:4>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.