diff doc/v2_planning/plugin_greenlet.py @ 1200:acfd5e747a75

v2planning - a few changes to plugin proposals
author James Bergstra <bergstrj@iro.umontreal.ca>
date Mon, 20 Sep 2010 11:28:23 -0400
parents a60b3472c4ba
children
line wrap: on
line diff
--- a/doc/v2_planning/plugin_greenlet.py	Mon Sep 20 02:56:11 2010 -0400
+++ b/doc/v2_planning/plugin_greenlet.py	Mon Sep 20 11:28:23 2010 -0400
@@ -1,35 +1,14 @@
-"""plugin_greenlet - draft of library architecture using greenlets"""
-
-
-"""
-
-- PICKLABLE - algorithms are serializable at all points during execution
+"""plugin_greenlet - draft of library architecture using greenlets
 
-- ITERATOR walks through algorithms with fine granularity
-
-- COMPONENTS - library provides components on which programs operate
-
-- ALGORITHMS - library provides algorithms in clean (no hooks) form
-
-- HOOKS - user can insert print / debug logic with search/replace type calls 
-  e.g. prog.find(CALL(cd1_update)).replace_with(SEQ([CALL(cd1_update), CALL(debugfn)]))
+HISTORICAL - NOT ACTUALLY A PROPOSAL
+====================================
 
-- PRINTING - user can print the 'program code' of an algorithm built from library pieces
-
-- MODULAR EXPERIMENTS - an experiment object with one (or more?) programs and all of the objects referred to by
-  those programs.  It is the preferred type of object to be serialized.  The main components of
-  the algorithms should be top-level attributes of the package.  This object can be serialized
-  and loaded in another process to implement job migration.
+This was the original approach for what I renamed to plugin_JB, until I realized that I could
+get the end result without using greenlets at all.
 
-- OPTIMIZATION - program can be optimized automatically
-    e.g. BUFFER(N, CALL(dataset.next))   can be replaced if dataset.next implements the right
-    attribute/protocol for 'bufferable' or something.
-
-    e.g. SEQ([a,b,c,d])  can be compiled with Theano if sub-sequence is compatible
-
-- don't need greenlets to get efficiency, the implementations of control flow ops can manage a
-  stack or stack tree in the vm (like greenlets do I think) we don't really need
-  greenlets/stackless I don't think
+Still, greenlets seem like they could be neat and making this program stretched my mind so I
+keep it.  There's something wrong when you run with the kfold validation, but until that point
+I think it works.
 
 """