# HG changeset patch # User Christian Urban # Date 1659624818 -7200 # Node ID b51467741af2aceda00ae00dc6791e8af7e52c3f # Parent 957808dcb3670659ed65828b449959ac9a3b9916 updated diff -r 957808dcb367 -r b51467741af2 README --- a/README Sun May 01 12:41:56 2022 +0100 +++ b/README Thu Aug 04 16:53:38 2022 +0200 @@ -7,13 +7,6 @@ ============= -TA meeting - -https://web.microsoftstream.com/video/cec0d34d-77f5-4940-9bad-628416d4c521 - -============= - - Wartremover ./wartremover -traverser org.wartremover.warts.Return -traverser org.wartremover.warts.Var -traverser org.wartremover.warts.MutableDataStructures $i @@ -66,19 +59,6 @@ -------------------------- -chowchingjimkcl - -Assignment 6 3 (basic) 7 (main) -Assignment 7 4 (basic) 6 (main) -Assignment 8 4 (basic) 6 (main) -Assignment 9 4 (basic) 6 (main) -Assignment 10 10 (main) - -48 - - - - ----------------------------- node Welcome to Node.js v12.11.1. diff -r 957808dcb367 -r b51467741af2 cws/core_cw01.pdf Binary file cws/core_cw01.pdf has changed diff -r 957808dcb367 -r b51467741af2 cws/core_cw01.tex --- a/cws/core_cw01.tex Sun May 01 12:41:56 2022 +0100 +++ b/cws/core_cw01.tex Thu Aug 04 16:53:38 2022 +0200 @@ -1,8 +1,8 @@ % !TEX program = xelatex \documentclass{article} -\usepackage{../style} +\usepackage{../styles/style} \usepackage{disclaimer} -\usepackage{../langs} +\usepackage{../styles/langs} diff -r 957808dcb367 -r b51467741af2 cws/core_cw02.pdf Binary file cws/core_cw02.pdf has changed diff -r 957808dcb367 -r b51467741af2 cws/core_cw02.tex --- a/cws/core_cw02.tex Sun May 01 12:41:56 2022 +0100 +++ b/cws/core_cw02.tex Thu Aug 04 16:53:38 2022 +0200 @@ -1,8 +1,8 @@ % !TEX program = xelatex \documentclass{article} -\usepackage{../style} +\usepackage{../styles/style} \usepackage{disclaimer} -\usepackage{../langs} +\usepackage{../styles/langs} \begin{document} diff -r 957808dcb367 -r b51467741af2 cws/core_cw03.pdf Binary file cws/core_cw03.pdf has changed diff -r 957808dcb367 -r b51467741af2 cws/core_cw03.tex --- a/cws/core_cw03.tex Sun May 01 12:41:56 2022 +0100 +++ b/cws/core_cw03.tex Thu Aug 04 16:53:38 2022 +0200 @@ -1,7 +1,7 @@ % !TEX program = xelatex \documentclass{article} -\usepackage{../style} -\usepackage{../langs} +\usepackage{../styles/style} +\usepackage{../styles/langs} \usepackage{disclaimer} \usepackage{tikz} \usepackage{pgf} diff -r 957808dcb367 -r b51467741af2 cws/disclaimer.sty --- a/cws/disclaimer.sty Sun May 01 12:41:56 2022 +0100 +++ b/cws/disclaimer.sty Thu Aug 04 16:53:38 2022 +0200 @@ -95,7 +95,8 @@ \subsubsection*{Disclaimer\alert} It should be understood that the work you submit represents -your \textbf{own} effort! You have not copied from anyone else. An +your \textbf{own} effort! You have implemented the code entirely +on your own. You have not copied from anyone else. An exception is the Scala code I showed during the lectures or uploaded to KEATS, which you can freely use.\bigskip } @@ -104,7 +105,9 @@ \subsubsection*{Disclaimer} It should be understood that the work you submit represents -your \textbf{own} effort! You have not copied from anyone else. An +your \textbf{own} effort! You have implemented the code entirely +on your own. You have not copied from anyone else or any other +source. An exception is the Scala code I showed during the lectures or uploaded to KEATS, which you can freely use.\medskip diff -r 957808dcb367 -r b51467741af2 cws/main_cw01.pdf Binary file cws/main_cw01.pdf has changed diff -r 957808dcb367 -r b51467741af2 cws/main_cw01.tex --- a/cws/main_cw01.tex Sun May 01 12:41:56 2022 +0100 +++ b/cws/main_cw01.tex Thu Aug 04 16:53:38 2022 +0200 @@ -1,8 +1,8 @@ % !TEX program = xelatex \documentclass{article} -\usepackage{../style} +\usepackage{../styles/style} \usepackage{disclaimer} -\usepackage{../langs} +\usepackage{../styles/langs} diff -r 957808dcb367 -r b51467741af2 cws/main_cw02.pdf Binary file cws/main_cw02.pdf has changed diff -r 957808dcb367 -r b51467741af2 cws/main_cw02.tex --- a/cws/main_cw02.tex Sun May 01 12:41:56 2022 +0100 +++ b/cws/main_cw02.tex Thu Aug 04 16:53:38 2022 +0200 @@ -1,9 +1,9 @@ % !TEX program = xelatex \documentclass{article} -\usepackage{../style} +\usepackage{../styles/style} \usepackage{disclaimer} -\usepackage{../langs} +\usepackage{../styles/langs} \begin{document} diff -r 957808dcb367 -r b51467741af2 cws/main_cw03.pdf Binary file cws/main_cw03.pdf has changed diff -r 957808dcb367 -r b51467741af2 cws/main_cw03.tex --- a/cws/main_cw03.tex Sun May 01 12:41:56 2022 +0100 +++ b/cws/main_cw03.tex Thu Aug 04 16:53:38 2022 +0200 @@ -1,7 +1,7 @@ % !TEX program = xelatex \documentclass{article} -\usepackage{../style} -\usepackage{../langs} +\usepackage{../styles/style} +\usepackage{../styles/langs} \usepackage{disclaimer} \usepackage{tikz} \usepackage{pgf} diff -r 957808dcb367 -r b51467741af2 cws/main_cw04.pdf Binary file cws/main_cw04.pdf has changed diff -r 957808dcb367 -r b51467741af2 cws/main_cw04.tex --- a/cws/main_cw04.tex Sun May 01 12:41:56 2022 +0100 +++ b/cws/main_cw04.tex Thu Aug 04 16:53:38 2022 +0200 @@ -3,8 +3,8 @@ \usepackage{chessboard} \usepackage[LSBC4,T1]{fontenc} \let\clipbox\relax -\usepackage{../style} -\usepackage{../langs} +\usepackage{../styles/style} +\usepackage{../styles/langs} \usepackage{disclaimer} \usepackage{ulem} diff -r 957808dcb367 -r b51467741af2 cws/main_cw05.pdf Binary file cws/main_cw05.pdf has changed diff -r 957808dcb367 -r b51467741af2 cws/main_cw05.tex --- a/cws/main_cw05.tex Sun May 01 12:41:56 2022 +0100 +++ b/cws/main_cw05.tex Thu Aug 04 16:53:38 2022 +0200 @@ -1,7 +1,7 @@ % !TEX program = xelatex \documentclass{article} -\usepackage{../style} -\usepackage{../langs} +\usepackage{../styles/style} +\usepackage{../styles/langs} \usepackage{disclaimer} \usepackage{tikz} \usepackage{pgf} diff -r 957808dcb367 -r b51467741af2 handouts/pep-ho.pdf Binary file handouts/pep-ho.pdf has changed diff -r 957808dcb367 -r b51467741af2 handouts/pep-ho.tex --- a/handouts/pep-ho.tex Sun May 01 12:41:56 2022 +0100 +++ b/handouts/pep-ho.tex Thu Aug 04 16:53:38 2022 +0200 @@ -1,7 +1,7 @@ % !TEX program = xelatex \documentclass{article} -\usepackage{../style} -\usepackage{../langs} +\usepackage{../styles/style} +\usepackage{../styles/langs} \usepackage{tikz} \usepackage{pgf} \usepackage{marvosym} @@ -96,6 +96,23 @@ % Easy installation %https://alexarchambault.github.io/posts/2020-09-21-cs-setup.html +% scala libraries +%https://index.scala-lang.org + + +% Learning functional programming is an opportunity to discover a new +% way to represent programs, to approach problems, and to think about +% languages. While programming with a functional language is still +% fundamentally similar to programming with any other type of language +% (examples of others being imperative or logic), it represents +% programs and algorithms through distinct forms of abstraction and +% gives you a new toolset with which to solve programming +% problems. Additionally, many of the techniques of functional +% programming are beginning to permeate new mainstream languages, so +% taking the time now to develop a thorough understanding of them is +% an investment which will pay great dividends. + + % Exact colors from NB \usepackage[breakable]{tcolorbox} diff -r 957808dcb367 -r b51467741af2 main_marking3/re_test.sh --- a/main_marking3/re_test.sh Sun May 01 12:41:56 2022 +0100 +++ b/main_marking3/re_test.sh Thu Aug 04 16:53:38 2022 +0200 @@ -80,6 +80,23 @@ tsts=$(( 1 )) fi +### make sure datatypes are not tampered with + +if [ $tsts -eq 0 ] +then + echo -e "re.scala has case classes for ALTs and SEQs?" >> $out + + if (scala_assert "re.scala" "re_test0.scala") + then + echo -e " --> passed" >> $out + tsts=$(( 0 )) + else + echo -e " --> FAIL (make sure the case clases are as given in the template)" >> $out + tsts=$(( 1 )) + fi +else + tsts=$(( 1 )) +fi ### re1 test diff -r 957808dcb367 -r b51467741af2 main_marking3/re_test0.scala --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main_marking3/re_test0.scala Thu Aug 04 16:53:38 2022 +0200 @@ -0,0 +1,6 @@ +import M3._ + +assert(ALTs.getClass == ALTs.getClass) +assert(SEQs.getClass == SEQs.getClass) + + diff -r 957808dcb367 -r b51467741af2 main_testing3/re_test.sh --- a/main_testing3/re_test.sh Sun May 01 12:41:56 2022 +0100 +++ b/main_testing3/re_test.sh Thu Aug 04 16:53:38 2022 +0200 @@ -25,7 +25,8 @@ # purity test function scala_vars { - (egrep '\bvar\b|\breturn\b|\.par\.|\.par |ListBuffer|AtomicInteger|mutable|util.control|new Array' c$out 2> /dev/null 1> /dev/null) + (sed 's/immutable/ok/g' c$out > cb$out; + egrep '\bvar\b|\breturn\b|\.par\.|\.par |ListBuffer|AtomicInteger|mutable|util.control|new Array' cb$out 2> /dev/null 1> /dev/null) } @@ -60,7 +61,21 @@ fi fi +### make sure datatypes are not tampered with +if [ $tsts -eq 0 ] +then + echo -e "re.scala has case classes for ALTs and SEQs?" >> $out + + if (scala_assert "re.scala" "re_test0.scala") + then + echo -e " --> passed" >> $out + tsts=$(( 0 )) + else + echo -e " --> FAIL (make sure the case clases are as given in the template)" >> $out + tsts=$(( 1 )) + fi +fi ### re tests diff -r 957808dcb367 -r b51467741af2 main_testing3/re_test0.scala --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main_testing3/re_test0.scala Thu Aug 04 16:53:38 2022 +0200 @@ -0,0 +1,6 @@ +import M3._ + +assert(ALTs.getClass == ALTs.getClass) +assert(SEQs.getClass == SEQs.getClass) + + diff -r 957808dcb367 -r b51467741af2 main_testing5/bf_test.sh --- a/main_testing5/bf_test.sh Sun May 01 12:41:56 2022 +0100 +++ b/main_testing5/bf_test.sh Thu Aug 04 16:53:38 2022 +0200 @@ -26,7 +26,8 @@ # purity test function scala_vars { - (egrep '\bvar\b|\breturn\b|\.par\.|\.par |ListBuffer|AtomicInteger|mutable|util.control|new Array' c$out 2> /dev/null 1> /dev/null) + (sed 's/immutable/ok/g' c$out > cb$out; + egrep '\bvar\b|\breturn\b|\.par\.|\.par |ListBuffer|AtomicInteger|mutable|util.control|new Array' cb$out 2> /dev/null 1> /dev/null) } diff -r 957808dcb367 -r b51467741af2 main_testing5/bfc_test.sh --- a/main_testing5/bfc_test.sh Sun May 01 12:41:56 2022 +0100 +++ b/main_testing5/bfc_test.sh Thu Aug 04 16:53:38 2022 +0200 @@ -25,7 +25,8 @@ # purity test function scala_vars { - (egrep '\bvar\b|\breturn\b|\.par\.|\.par |ListBuffer|AtomicInteger|mutable|util.control|new Array' c$out 2> /dev/null 1> /dev/null) + (sed 's/immutable/ok/g' c$out > cb$out; + egrep '\bvar\b|\breturn\b|\.par\.|\.par |ListBuffer|AtomicInteger|mutable|util.control|new Array' cb$out 2> /dev/null 1> /dev/null) }