[Edu-sig] PySqueak: "Self" as the source of many ideas in Squeak
Paul D. Fernhout
pdfernhout at kurtz-fernhout.com
Sun May 7 06:09:16 CEST 2006
Ian-
Thanks again for this pointer.
I've added two more proof of concept files to PataPata.
The second one demonstrates inheritance with a parent and two children,
as well as graphically displaying the morphs. See:
http://svn.sourceforge.net/viewcvs.cgi/patapata/PataPata/proof_of_concept_002.py?view=markup
I started trying to do it in OpenGL (which I have had working before) and
got some errors so punted and chose wx and 2D for that. I don't like
making initial proof of concepts that rely on too many dependencies.
OpenGL remains a real possibility down the road, but this one problem just
shows how installation issues can bite you (in this case, I had commented
out the driver for it in my xorg.conf file when I was having other
problems related to one of my two ATI cards having problems driving its
secondary display head, and didn't care to restart X in the middle of my
development to try fixing that.)
The third P.O.C. demonstrates the problem your solution addresses.
http://svn.sourceforge.net/viewcvs.cgi/patapata/PataPata/proof_of_concept_003.py?view=markup
I found two other variants of solutions on the web (differences include
are who does the wrapping etc.), and I need to decide how best to proceed
on that.
Links to these three options including yours:
http://svn.colorstudy.com/home/ianb/ruby_blocks.py
http://zephyrfalcon.org/weblog/arch_d7_2002_11_16.html
http://lists.canonical.org/pipermail/kragen-hacks/2000-September/000264.html
[The latter two are more specific to Prototype inheritance in Python.]
Going to be traveling much of next week, so probably not much more
activity on this for a while. Frustrating to me as I think this is just
picking up some speed. A little OpenGL, a few Self-like GUI widgets for
inspecting values like in the movie of just rectangles and lines and text,
using a wrapper approach for inserting methods into prototypes, adding a
remote debugging process perhaps derived from Idle, making some program
writing code derived from pickle perhaps, dropping in some bitmap and icon
content from our garden simulator, and the result might be a nice proof of
concept constructivist educationally-oriented system in a week's work or
so. Obviously not everything, and with very rough edges, but something
that could show the basic ideas. Sigh. With distractions, and part-time,
be nice to get all that together by the end of June, if that,
realistically. No promises though.
Thanks again for your feedback.
--Paul Fernhout
Ian Bicking wrote:
> For direct assignment, you might find the "magic_set" decorator I wrote
> useful: http://svn.colorstudy.com/home/ianb/ruby_blocks.py (toward the
> bottom)
>
> It lets you do:
>
> @magic_set(foo)
> def spam(self): print 'hi'
>
> which handles the closure to add instance methods directly to instances
> (which doesn't work if done just through assignment), among other
> assignments. It uses the name of the first argument (self, cls, or
> anything else) to determine what kind of function you are trying to create.
More information about the Edu-sig
mailing list