Lasse Rasinen wrote: > Ken Tilton <[EMAIL PROTECTED]> writes: > > >>>if any concepts have survived to the Python version. Since Python's object >>>model is sufficiently different, the system is based on rules being >>>defined per-class... >> >>That will be a total disaster for PyCells, if true. But I do not think it >>is. You just need a constructor that takes some slot initializers, and >>initialize the slots to one of: a normal value; an InputCell itself >>initialized with a starting value, if only nil; or a RuledCell itself >>initialized with a lambda. > > > Hmm, just tried it: > > >>>>class A(cells.cellular): > > ... def __init__(self): > ... self.a = cells.InputCell(10) > ... self.b = cells.RuleCell(lambda self: self.a+1, self, None) > > >>>>a = A() >>>>a.a > > 10 > >>>>a.b > > 11 > > So it does work out-of-the-box ;-)
So why exactly did you say that the differences in the object model made it impossible? I was really stunned by that claim. And you sounded so confident. What went wrong there? It was trivial, right? How did you miss that? > > >>PyCells looks like it will be a project for SoC2006, so you may as well >>relax. > > > You really want to start a SoC project on something that takes about two > weeks ... You sound so confident. :) Do you know the deliverables? I know you do not know Cells. You say you looked at the code -- it does not show. I can also tell you have not done much serious programming, or you would know that twelve weeks is more like twelve minutes than three months. A new test suite, documentation (a first, there is none now), a full port of Cells in all their ten years of sophisticated evolution and variety (no, not your stupid pet trick), and as a demo project an entire cells-driven GUI, probably a port of my new Celtk (+ Cells Tk) work, all in a language without macros, without special variables, with a more modest OO system, and limited first class functions... oh, I think we'll keep him busy. :) Now since you are such a genius, maybe you can help with something. Trust me on this: this is one place where macros would be able to hide a ton of implementation wiring it does no one any good to look at, and actually turns into a maintenance nightmare whenever Cells might get revised. Is there any experiemntal macro package out there for Python? Maybe a preprocessor, at least? Or are there ways to actually hack Python to extend the syntax? My honest guess is that Cells will port readily to Python but leave everyone very interested in finding some way to hide implementation boilerplate. Got anything on that? kenny -- http://mail.python.org/mailman/listinfo/python-list