packages feed

bidirectionalization-combined-0.1: example/initHalf.txt

--  This program requires further preprocessing 
--  to get effective "put" function.
--
--  However, "shap"ication makes the preprocess easier.
--
--  After the shapificatoin, 
--  we can easily observe that the first parameter 
--  of initHalfWork is useless.	  

initHalf []     = []
initHalf (a:x)  = a:initHalfWork x x

initHalfWork xs []  = []
initHalfWork xs [x] = []
initHalfWork (a:x) (b:c:y)
    = a:initHalfWork x y