-
[clean-tests.git] / afp / a4 / skeleton4.icl
diff --git a/afp/a4/skeleton4.icl b/afp/a4/skeleton4.icl
deleted file mode 100644 (file)
index 6b96cd5..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-module skeleton4\r
-\r
-import iTasks\r
-\r
-/*\r
-       Pieter Koopman, pieter@cs.ru.nl\r
-       Advanced Programming. Skeleton for assignment 4 in 2018\r
- -     use this a project with environment iTasks\r
- -     executable must be in Examples/iTasks or a subdirectory\r
-       You can also use the -sdk commandline flag to set the path\r
-*/\r
-\r
-:: Student =\r
-       { name :: String\r
-       , snum :: Int\r
-       , bama :: BaMa\r
-       , year :: Int\r
-       }\r
-\r
-:: BaMa = Bachelor | Master\r
-\r
-students :: [Student]\r
-students =\r
-       [{name = "Alice"\r
-        ,snum = 1000\r
-        ,bama = Master\r
-        ,year = 1\r
-        }\r
-       ,{name = "Bob"\r
-        ,snum = 1003\r
-        ,bama = Master\r
-        ,year = 1\r
-        }\r
-       ,{name = "Carol"\r
-        ,snum = 1024\r
-        ,bama = Master\r
-        ,year = 2\r
-        }\r
-       ,{name = "Dave"\r
-        ,snum = 2048\r
-        ,bama = Master\r
-        ,year = 1\r
-        }\r
-       ,{name = "Eve"\r
-        ,snum = 4096\r
-        ,bama = Master\r
-        ,year = 1\r
-        }\r
-       ,{name = "Frank"\r
-        ,snum = 1023\r
-        ,bama = Master\r
-        ,year = 1\r
-        }\r
-       ]\r
-\r
-student :: Student\r
-student = students !! 0\r
-\r
-derive class iTask Student, BaMa\r
-derive gToString Student, BaMa\r
-\r
-generic gToString a :: a -> String\r
-gToString{|Int|} i = toString i\r
-gToString{|String|} s = s\r
-gToString{|UNIT|} _ = ""\r
-gToString{|RECORD|} fx (RECORD x) = "{" + fx x + "}"\r
-gToString{|FIELD of {gfd_name}|} fx (FIELD x) = gfd_name + "=" + fx x + " "\r
-gToString{|PAIR|} fx fy (PAIR x y) = fx x + fy y\r
-gToString{|EITHER|} fx fy (LEFT x) = fx x\r
-gToString{|EITHER|} fx fy (RIGHT y) = fy y\r
-gToString{|CONS of {gcd_name}|} fx (CONS x) = gcd_name + fx x\r
-gToString{|OBJECT|} fx (OBJECT x) = fx x\r
-\r
-instance + String where + s t = s +++ t\r
-\r
-Start w = doTasks (changeNameEdcomb student) w\r
-\r
-enterStudent :: Task Student\r
-enterStudent = enterInformation "Enter a student" []\r
-\r
-enterStudentList :: Task [Student]\r
-enterStudentList = enterInformation "Enter a student" []\r
-\r
-updateStudent :: (Student -> Task Student)\r
-updateStudent = updateInformation "Update a student" []\r
-\r
-selectStudent :: ([Student] -> Task Student)\r
-selectStudent = enterChoice "Pick a student" []\r
-\r
-selectStudentOnlyName :: ([Student] -> Task Student)\r
-selectStudentOnlyName = enterChoice "Pick a student" [ChooseFromDropdown \{Student|name}->name]\r
-\r
-selectStudentFormat :: ([Student] -> Task Student)\r
-selectStudentFormat = enterChoice "Pick a student" [ChooseFromDropdown gToString{|*|}]\r
-\r
-selectPartner :: ([Student] -> Task [Student])\r
-selectPartner = enterMultipleChoice "Pick a partner" [ChooseFromDropdown \{name,bama}->name + "(" + gToString{|*|} bama + ")"]\r
-\r
-changeName :: Student -> Task Student\r
-changeName s\r
-       =   viewInformation "Student to change" [] s\r
-       ||- updateInformation "New name" [UpdateAs (\{Student|name}->name) (\s n->{Student | s & name=n})] s\r
-\r
-changeNameEdcomb :: Student -> Task Student\r
-changeNameEdcomb s\r
-       =   updateInformation "New name" [UpdateUsing id (\_ v->v) nameEditor] s\r
-where\r
-       nameEditor :: Editor Student\r
-       nameEditor = bijectEditorValue\r
-               (\{name=n,snum=s,bama=b,year=y}->(n, s, b, y))\r
-               (\(n,s,b,y)->{name=n,snum=s,bama=b,year=y})\r
-               (container4\r
-                       (gEditor{|*|} <<@ labelAttr "name")\r
-                       (withChangedEditMode toView gEditor{|*|} <<@ labelAttr "snum")\r
-                       (withChangedEditMode toView gEditor{|*|} <<@ labelAttr "bama")\r
-                       (withChangedEditMode toView gEditor{|*|} <<@ labelAttr "year")\r
-               )\r
-\r
-       toView (Update a) = View a\r
-       toView v = v\r