Commit bf6d9dae authored by Gautham Velchuru's avatar Gautham Velchuru
Browse files

fix racket sectioning

parent 07852157
\relax \relax
\@writefile{toc}{\contentsline {section}{\numberline {1}Racket}{3}} \@writefile{toc}{\contentsline {section}{\numberline {1}Racket}{3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Lists}{3}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Lists}{3}}
\@writefile{toc}{\contentsline {section}{\numberline {2}Scoping}{3}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Scoping}{3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Parameters}{3}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Parameters}{3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Let}{3}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.4}Let}{3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Let*}{3}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.5}Let*}{3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}letrec}{3}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.6}letrec}{3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5}Eval/Apply}{4}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.7}Eval/Apply}{4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.6}Program/Data equivalence}{4}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.8}Program/Data equivalence}{4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.7}Side effects}{4}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.9}Side effects}{4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.8}Delay}{4}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.10}Delay}{4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.9}Macros}{4}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.11}Macros}{4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.10}Simulating Objects}{5}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.12}Simulating Objects}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.11}Functions with variable number of arguments}{5}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.13}Functions with variable number of arguments}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.12}Improper list}{5}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.14}Improper list}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.13}Bools}{6}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.15}Bools}{6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.14}Structs}{6}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.16}Structs}{6}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.14.1}Printing}{6}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {1.16.1}Printing}{6}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.14.2}Properties}{6}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {1.16.2}Properties}{6}}
\@writefile{toc}{\contentsline {section}{\numberline {3}Prolog}{6}} \@writefile{toc}{\contentsline {section}{\numberline {2}Prolog}{6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Rules, facts, and goals}{6}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Rules, facts, and goals}{6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Multiple answers}{6}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Multiple answers}{6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}clpfd}{7}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3}clpfd}{7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}clpr, more advanced list rule}{7}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.4}clpr, more advanced list rule}{7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}clpr, positives}{7}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.5}clpr, positives}{7}}
\@writefile{toc}{\contentsline {section}{\numberline {4}Ruby}{8}} \@writefile{toc}{\contentsline {section}{\numberline {3}Ruby}{8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Pure OOP}{8}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Pure OOP}{8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Duck Typing}{8}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Duck Typing}{8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Intance-Specific methods/singleton classes}{8}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Intance-Specific methods/singleton classes}{8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Syntactic Sugar}{8}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Syntactic Sugar}{8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Example using class variables, overriding, and hashes}{9}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Example using class variables, overriding, and hashes}{9}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6}Blocks, procs, lambdas}{9}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Blocks, procs, lambdas}{9}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7}Inheritance}{9}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Inheritance}{9}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.8}Enumerable}{10}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Enumerable}{10}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.9}Classes, mixins, interfaces}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.9}Classes, mixins, interfaces}{11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.10}Other semi-important things}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.10}Other semi-important things}{11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.11}Reflection}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.11}Reflection}{11}}
\@writefile{toc}{\contentsline {section}{\numberline {5}Haskell}{11}} \@writefile{toc}{\contentsline {section}{\numberline {4}Haskell}{11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Functions}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Functions}{11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Types}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Types}{11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Referential transparency}{12}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Referential transparency}{12}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Guards}{12}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Guards}{12}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5}List comprehensions}{12}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5}List comprehensions}{12}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6}monads, I/O}{12}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.6}monads, I/O}{12}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.7}Call-By}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.7}Call-By}{13}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.8}Static typing}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.8}Static typing}{13}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.9}Let/Where}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.9}Let/Where}{13}}
\@writefile{toc}{\contentsline {section}{\numberline {6}Octopus}{14}} \@writefile{toc}{\contentsline {section}{\numberline {5}Octopus}{14}}
\@writefile{toc}{\contentsline {section}{\numberline {7}Java}{14}} \@writefile{toc}{\contentsline {section}{\numberline {6}Java}{14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Generics, subtyping, etc}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Generics, subtyping, etc}{14}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.1}Arrays}{14}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.1}Arrays}{14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Wildcards}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Wildcards}{14}}
\@writefile{toc}{\contentsline {section}{\numberline {8}Big Ideas}{15}} \@writefile{toc}{\contentsline {section}{\numberline {7}Big Ideas}{15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1}Scope}{15}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Scope}{15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2}Static vs Dynamic Analysis}{15}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Static vs Dynamic Analysis}{15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.3}Major programming language families}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.3}Major programming language families}{16}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.4}Interaction of Languages and Style}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.4}Interaction of Languages and Style}{16}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.5}Objects and Encapsulation}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.5}Objects and Encapsulation}{16}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.6}Purely Functional Languages vs State}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.6}Purely Functional Languages vs State}{16}}
\@writefile{toc}{\contentsline {section}{\numberline {9}General Concepts}{16}} \@writefile{toc}{\contentsline {section}{\numberline {8}General Concepts}{16}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.1}Types}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.1}Types}{16}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.1.1}Static vs Dynamic Typing}{16}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {8.1.1}Static vs Dynamic Typing}{16}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.1.2}Type Safety}{16}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {8.1.2}Type Safety}{16}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.1.3}Type Inference}{16}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {8.1.3}Type Inference}{16}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.2}Strongly typed languages}{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.2}Strongly typed languages}{17}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.3}Polymorphism}{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.3}Polymorphism}{17}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.4}Functional vs Imperative}{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.4}Functional vs Imperative}{17}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.5}Higher-order functions}{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.5}Higher-order functions}{17}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.6}Parameter Passing}{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.6}Parameter Passing}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.6.1}Call-By-Value}{17}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {8.6.1}Call-By-Value}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.6.2}Call-by-reference}{17}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {8.6.2}Call-by-reference}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.6.3}Call-by-name}{17}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {8.6.3}Call-by-name}{17}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.7}Lazy evaluation/thunks}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.7}Lazy evaluation/thunks}{18}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.8}Overloading}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.8}Overloading}{18}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.9}Coercion}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.9}Coercion}{18}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.10}Closures}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.10}Closures}{18}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.11}Equality vs Identity}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.11}Equality vs Identity}{18}}
\gdef\minted@oldcachelist{, \gdef\minted@oldcachelist{,
default-pyg-prefix.pygstyle, default-pyg-prefix.pygstyle,
default.pygstyle, default.pygstyle,
...@@ -129,8 +129,8 @@ ...@@ -129,8 +129,8 @@
3B10F88D8DCED974CDD9946B53C2D9666CD81CFDCB5F0793F497D493F610EBFB.pygtex, 3B10F88D8DCED974CDD9946B53C2D9666CD81CFDCB5F0793F497D493F610EBFB.pygtex,
874C30DABB4D3006287318F54AA39D80465A516120F3196FA8E2CA26C46A5C64.pygtex, 874C30DABB4D3006287318F54AA39D80465A516120F3196FA8E2CA26C46A5C64.pygtex,
75C03D82507A67BD7A35CA65A1C45809465A516120F3196FA8E2CA26C46A5C64.pygtex} 75C03D82507A67BD7A35CA65A1C45809465A516120F3196FA8E2CA26C46A5C64.pygtex}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.12}Compile time vs runtime}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.12}Compile time vs runtime}{19}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.13}Recursion}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.13}Recursion}{19}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.14}Aliasing}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.14}Aliasing}{19}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.15}Pointer stuff}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.15}Pointer stuff}{19}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.16}Type variance}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.16}Type variance}{19}}
# Fdb version 3 # Fdb version 3
["pdflatex"] 1528063324 "all_study_guide.tex" "all_study_guide.pdf" "all_study_guide" 1528063325 ["pdflatex"] 1528063487 "all_study_guide.tex" "all_study_guide.pdf" "all_study_guide" 1528063488
"/dev/null" 1528048107 0 d41d8cd98f00b204e9800998ecf8427e "" "/dev/null" 1528048107 0 d41d8cd98f00b204e9800998ecf8427e ""
"/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.enc" 1520157211 2900 1537cc8184ad1792082cd229ecc269f4 "" "/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.enc" 1520157211 2900 1537cc8184ad1792082cd229ecc269f4 ""
"/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" 1520157216 3332 103109f5612ad95229751940c61aada0 "" "/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" 1520157216 3332 103109f5612ad95229751940c61aada0 ""
...@@ -117,10 +117,10 @@ ...@@ -117,10 +117,10 @@
"_minted-all_study_guide/default-pyg-prefix.pygstyle" 1527965156 7889 3ce1fbc763e3e2c748310f4fe31722b6 "" "_minted-all_study_guide/default-pyg-prefix.pygstyle" 1527965156 7889 3ce1fbc763e3e2c748310f4fe31722b6 ""
"_minted-all_study_guide/default.pygstyle" 1527965156 9275 f200be7fc0b7de2461cca28cb35b1427 "" "_minted-all_study_guide/default.pygstyle" 1527965156 9275 f200be7fc0b7de2461cca28cb35b1427 ""
"all_study_guide.aex" 0 -1 0 "" "all_study_guide.aex" 0 -1 0 ""
"all_study_guide.aux" 1528063325 10608 a615f64dcc7df48eb92e59c1adde391d "" "all_study_guide.aux" 1528063488 10615 16a176c9838b7a1f6ba11db8a4287e3d ""
"all_study_guide.pyg" 0 -1 0 "" "all_study_guide.pyg" 0 -1 0 ""
"all_study_guide.tex" 1528063322 27617 bdfdc8c140a81d4cddf07ca9ab2e27a2 "" "all_study_guide.tex" 1528063485 27612 f00ee79f093775ed2c0db51c933946b0 ""
"all_study_guide.toc" 1528063325 5295 f42610b7cc621eb60d72340481ae7873 "" "all_study_guide.toc" 1528063488 5302 6e3b2c4588b3c733790578f2d021b9ef ""
"all_study_guide.w18" 0 -1 0 "" "all_study_guide.w18" 0 -1 0 ""
(generated) (generated)
"all_study_guide.pyg" "all_study_guide.pyg"
......
This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Arch Linux) (preloaded format=pdflatex 2018.3.16) 3 JUN 2018 15:02 This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Arch Linux) (preloaded format=pdflatex 2018.3.16) 3 JUN 2018 15:04
entering extended mode entering extended mode
\write18 enabled. \write18 enabled.
file:line:error style messages enabled. file:line:error style messages enabled.
...@@ -817,9 +817,14 @@ File: ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions ...@@ -817,9 +817,14 @@ File: ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
\openout3 = `all_study_guide.pyg'. \openout3 = `all_study_guide.pyg'.
(./_minted-all_study_guide/57EC26033360CCD3724E8AF51E1F98CCF2CA81E7B26B3986E5291D03C014E77B.pygtex) (./_minted-all_study_guide/57EC26033360CCD3724E8AF51E1F98CCF2CA81E7B26B3986E5291D03C014E77B.pygtex)
Underfull \hbox (badness 10000) in paragraph at lines 384--386
[]
[11]
\openout3 = `all_study_guide.pyg'. \openout3 = `all_study_guide.pyg'.
(./_minted-all_study_guide/77C0832C8BCB2A6A98117AFCECBE18C9F2CA81E7B26B3986E5291D03C014E77B.pygtex [11]) (./_minted-all_study_guide/77C0832C8BCB2A6A98117AFCECBE18C9F2CA81E7B26B3986E5291D03C014E77B.pygtex)
\openout3 = `all_study_guide.pyg'. \openout3 = `all_study_guide.pyg'.
(./_minted-all_study_guide/344390A64555B36245F4806596BE054FF2CA81E7B26B3986E5291D03C014E77B.pygtex) (./_minted-all_study_guide/344390A64555B36245F4806596BE054FF2CA81E7B26B3986E5291D03C014E77B.pygtex)
...@@ -831,8 +836,7 @@ File: ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions ...@@ -831,8 +836,7 @@ File: ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
(./_minted-all_study_guide/6503A0D437DF0FAAFAFD7D5C90521B4CF2CA81E7B26B3986E5291D03C014E77B.pygtex) (./_minted-all_study_guide/6503A0D437DF0FAAFAFD7D5C90521B4CF2CA81E7B26B3986E5291D03C014E77B.pygtex)
\openout3 = `all_study_guide.pyg'. \openout3 = `all_study_guide.pyg'.
(./_minted-all_study_guide/F5C6D8F059AB11589408A75B29FFB18AF2CA81E7B26B3986E5291D03C014E77B.pygtex)
(./_minted-all_study_guide/F5C6D8F059AB11589408A75B29FFB18AF2CA81E7B26B3986E5291D03C014E77B.pygtex)
\openout3 = `all_study_guide.pyg'. \openout3 = `all_study_guide.pyg'.
(./_minted-all_study_guide/52139519543E28217844CBDFD7056C76F2CA81E7B26B3986E5291D03C014E77B.pygtex [12]) (./_minted-all_study_guide/52139519543E28217844CBDFD7056C76F2CA81E7B26B3986E5291D03C014E77B.pygtex [12])
...@@ -863,9 +867,13 @@ File: ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions ...@@ -863,9 +867,13 @@ File: ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
\openout3 = `all_study_guide.pyg'. \openout3 = `all_study_guide.pyg'.
(./_minted-all_study_guide/EE2D7538D96D4B5E2BC4B913B41FC366465A516120F3196FA8E2CA26C46A5C64.pygtex) [16] (./_minted-all_study_guide/EE2D7538D96D4B5E2BC4B913B41FC366465A516120F3196FA8E2CA26C46A5C64.pygtex) [16]
Overfull \hbox (5.08403pt too wide) in paragraph at lines 586--589
\OT1/cmr/m/n/10 Call-by-value means that ev-ery-thing is copied upon en-ter-ing a func-tion.Languages
[]
\openout3 = `all_study_guide.pyg'. \openout3 = `all_study_guide.pyg'.
(./_minted-all_study_guide/3B10F88D8DCED974CDD9946B53C2D9666CD81CFDCB5F0793F497D493F610EBFB.pygtex [17]) (./_minted-all_study_guide/3B10F88D8DCED974CDD9946B53C2D9666CD81CFDCB5F0793F497D493F610EBFB.pygtex [17])
\openout3 = `all_study_guide.pyg'. \openout3 = `all_study_guide.pyg'.
(./_minted-all_study_guide/874C30DABB4D3006287318F54AA39D80465A516120F3196FA8E2CA26C46A5C64.pygtex) [18] (./_minted-all_study_guide/874C30DABB4D3006287318F54AA39D80465A516120F3196FA8E2CA26C46A5C64.pygtex) [18]
...@@ -884,7 +892,7 @@ Here is how much of TeX's memory you used: ...@@ -884,7 +892,7 @@ Here is how much of TeX's memory you used:
1141 hyphenation exceptions out of 8191 1141 hyphenation exceptions out of 8191
37i,6n,35p,857b,342s stack positions out of 5000i,500n,10000p,200000b,80000s 37i,6n,35p,857b,342s stack positions out of 5000i,500n,10000p,200000b,80000s
{/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.enc}</usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmitt10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb> {/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.enc}</usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmitt10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb>
Output written on all_study_guide.pdf (19 pages, 153994 bytes). Output written on all_study_guide.pdf (19 pages, 153784 bytes).
PDF statistics: PDF statistics:
103 PDF objects out of 1000 (max. 8388607) 103 PDF objects out of 1000 (max. 8388607)
72 compressed objects within 1 object stream 72 compressed objects within 1 object stream
......
No preview for this file type
...@@ -14,7 +14,7 @@ Lists are made with either the list constructor or with cons: ...@@ -14,7 +14,7 @@ Lists are made with either the list constructor or with cons:
\end{minted} \end{minted}
We can navigate these with car for first element, cdr for tail, cadr for head of tail, etc. We can navigate these with car for first element, cdr for tail, cadr for head of tail, etc.
\section{Scoping} \subsection{Scoping}
Everything is lexically scoped in Racket within the environment. However, the environment itself can mean different things. Everything is lexically scoped in Racket within the environment. However, the environment itself can mean different things.
\subsection{Parameters} \subsection{Parameters}
%TODO: something about dynamic binding %TODO: something about dynamic binding
...@@ -381,8 +381,8 @@ All three are ways of capturing the environment on definition. However, the lexi ...@@ -381,8 +381,8 @@ All three are ways of capturing the environment on definition. However, the lexi
\begin{minted}{haskell} \begin{minted}{haskell}
elem x :: Eq a => a -> [a] -> Bool -- a is part of the Eq type class elem x :: Eq a => a -> [a] -> Bool -- a is part of the Eq type class
\end{minted} \end{minted}
A type class is essentially an interface -- if a type is part of a type class, it implements A type class is essentially an interface - if a type is part of a type class, it implements
the required behavior. the required behavior. \\
You can also define your own types, including recursive types: You can also define your own types, including recursive types:
...@@ -583,13 +583,12 @@ We don't need to specify the types of the map twice, since it is obvious from th ...@@ -583,13 +583,12 @@ We don't need to specify the types of the map twice, since it is obvious from th
Higher-order functions are functions which either take in a function as an argument or return one, such as map and filter. Higher-order functions are functions which either take in a function as an argument or return one, such as map and filter.
\subsection{Parameter Passing} \subsection{Parameter Passing}
\subsubsection{Call-By-Value} \subsubsection{Call-By-Value}
Call-by-value means that everything is copied upon entering a function. Call-by-value means that everything is copied upon entering a function.Languages such as Ruby, Java, etc do "pass-by-pointer", ie they are still pass-by-value, but the
Languages such as Ruby, Java, etc do "pass-by-pointer", ie they are still pass-by-value, but the
value is a pointer. What this means is that if you pass in an array, you can edit it, but value is a pointer. What this means is that if you pass in an array, you can edit it, but
changing the reference will not do anything. changing the reference will not do anything.
\subsubsection{Call-by-reference} \subsubsection{Call-by-reference}
Call-by-reference means we pass in a \textit{reference} to the object -- so, it can be reassigned, edited, etc. Call-by-reference means we pass in a \textit{reference} to the object - so, it can be reassigned, edited, etc.
\subsubsection{Call-by-name} \subsubsection{Call-by-name}
Call-by-name is somewhat of an older concept. It means that we evaluate the object every time we reference it within the method. It can Call-by-name is somewhat of an older concept. It means that we evaluate the object every time we reference it within the method. It can
be emulated with thunks in Racket: be emulated with thunks in Racket:
......
\contentsline {section}{\numberline {1}Racket}{3} \contentsline {section}{\numberline {1}Racket}{3}
\contentsline {subsection}{\numberline {1.1}Lists}{3} \contentsline {subsection}{\numberline {1.1}Lists}{3}
\contentsline {section}{\numberline {2}Scoping}{3} \contentsline {subsection}{\numberline {1.2}Scoping}{3}
\contentsline {subsection}{\numberline {2.1}Parameters}{3} \contentsline {subsection}{\numberline {1.3}Parameters}{3}
\contentsline {subsection}{\numberline {2.2}Let}{3} \contentsline {subsection}{\numberline {1.4}Let}{3}
\contentsline {subsection}{\numberline {2.3}Let*}{3} \contentsline {subsection}{\numberline {1.5}Let*}{3}
\contentsline {subsection}{\numberline {2.4}letrec}{3} \contentsline {subsection}{\numberline {1.6}letrec}{3}
\contentsline {subsection}{\numberline {2.5}Eval/Apply}{4} \contentsline {subsection}{\numberline {1.7}Eval/Apply}{4}
\contentsline {subsection}{\numberline {2.6}Program/Data equivalence}{4} \contentsline {subsection}{\numberline {1.8}Program/Data equivalence}{4}
\contentsline {subsection}{\numberline {2.7}Side effects}{4} \contentsline {subsection}{\numberline {1.9}Side effects}{4}
\contentsline {subsection}{\numberline {2.8}Delay}{4} \contentsline {subsection}{\numberline {1.10}Delay}{4}
\contentsline {subsection}{\numberline {2.9}Macros}{4} \contentsline {subsection}{\numberline {1.11}Macros}{4}
\contentsline {subsection}{\numberline {2.10}Simulating Objects}{5} \contentsline {subsection}{\numberline {1.12}Simulating Objects}{5}
\contentsline {subsection}{\numberline {2.11}Functions with variable number of arguments}{5} \contentsline {subsection}{\numberline {1.13}Functions with variable number of arguments}{5}
\contentsline {subsection}{\numberline {2.12}Improper list}{5} \contentsline {subsection}{\numberline {1.14}Improper list}{5}
\contentsline {subsection}{\numberline {2.13}Bools}{6} \contentsline {subsection}{\numberline {1.15}Bools}{6}
\contentsline {subsection}{\numberline {2.14}Structs}{6} \contentsline {subsection}{\numberline {1.16}Structs}{6}
\contentsline {subsubsection}{\numberline {2.14.1}Printing}{6} \contentsline {subsubsection}{\numberline {1.16.1}Printing}{6}
\contentsline {subsubsection}{\numberline {2.14.2}Properties}{6} \contentsline {subsubsection}{\numberline {1.16.2}Properties}{6}
\contentsline {section}{\numberline {3}Prolog}{6} \contentsline {section}{\numberline {2}Prolog}{6}
\contentsline {subsection}{\numberline {3.1}Rules, facts, and goals}{6} \contentsline {subsection}{\numberline {2.1}Rules, facts, and goals}{6}
\contentsline {subsection}{\numberline {3.2}Multiple answers}{6} \contentsline {subsection}{\numberline {2.2}Multiple answers}{6}
\contentsline {subsection}{\numberline {3.3}clpfd}{7} \contentsline {subsection}{\numberline {2.3}clpfd}{7}
\contentsline {subsection}{\numberline {3.4}clpr, more advanced list rule}{7} \contentsline {subsection}{\numberline {2.4}clpr, more advanced list rule}{7}
\contentsline {subsection}{\numberline {3.5}clpr, positives}{7} \contentsline {subsection}{\numberline {2.5}clpr, positives}{7}
\contentsline {section}{\numberline {4}Ruby}{8} \contentsline {section}{\numberline {3}Ruby}{8}
\contentsline {subsection}{\numberline {4.1}Pure OOP}{8} \contentsline {subsection}{\numberline {3.1}Pure OOP}{8}
\contentsline {subsection}{\numberline {4.2}Duck Typing}{8} \contentsline {subsection}{\numberline {3.2}Duck Typing}{8}
\contentsline {subsection}{\numberline {4.3}Intance-Specific methods/singleton classes}{8} \contentsline {subsection}{\numberline {3.3}Intance-Specific methods/singleton classes}{8}
\contentsline {subsection}{\numberline {4.4}Syntactic Sugar}{8} \contentsline {subsection}{\numberline {3.4}Syntactic Sugar}{8}
\contentsline {subsection}{\numberline {4.5}Example using class variables, overriding, and hashes}{9} \contentsline {subsection}{\numberline {3.5}Example using class variables, overriding, and hashes}{9}
\contentsline {subsection}{\numberline {4.6}Blocks, procs, lambdas}{9} \contentsline {subsection}{\numberline {3.6}Blocks, procs, lambdas}{9}
\contentsline {subsection}{\numberline {4.7}Inheritance}{9} \contentsline {subsection}{\numberline {3.7}Inheritance}{9}
\contentsline {subsection}{\numberline {4.8}Enumerable}{10} \contentsline {subsection}{\numberline {3.8}Enumerable}{10}
\contentsline {subsection}{\numberline {4.9}Classes, mixins, interfaces}{11} \contentsline {subsection}{\numberline {3.9}Classes, mixins, interfaces}{11}
\contentsline {subsection}{\numberline {4.10}Other semi-important things}{11} \contentsline {subsection}{\numberline {3.10}Other semi-important things}{11}
\contentsline {subsection}{\numberline {4.11}Reflection}{11} \contentsline {subsection}{\numberline {3.11}Reflection}{11}
\contentsline {section}{\numberline {5}Haskell}{11} \contentsline {section}{\numberline {4}Haskell}{11}
\contentsline {subsection}{\numberline {5.1}Functions}{11} \contentsline {subsection}{\numberline {4.1}Functions}{11}
\contentsline {subsection}{\numberline {5.2}Types}{11} \contentsline {subsection}{\numberline {4.2}Types}{11}
\contentsline {subsection}{\numberline {5.3}Referential transparency}{12} \contentsline {subsection}{\numberline {4.3}Referential transparency}{12}
\contentsline {subsection}{\numberline {5.4}Guards}{12} \contentsline {subsection}{\numberline {4.4}Guards}{12}
\contentsline {subsection}{\numberline {5.5}List comprehensions}{12} \contentsline {subsection}{\numberline {4.5}List comprehensions}{12}
\contentsline {subsection}{\numberline {5.6}monads, I/O}{12} \contentsline {subsection}{\numberline {4.6}monads, I/O}{12}
\contentsline {subsection}{\numberline {5.7}Call-By}{13} \contentsline {subsection}{\numberline {4.7}Call-By}{13}
\contentsline {subsection}{\numberline {5.8}Static typing}{13} \contentsline {subsection}{\numberline {4.8}Static typing}{13}
\contentsline {subsection}{\numberline {5.9}Let/Where}{13} \contentsline {subsection}{\numberline {4.9}Let/Where}{13}
\contentsline {section}{\numberline {6}Octopus}{14} \contentsline {section}{\numberline {5}Octopus}{14}
\contentsline {section}{\numberline {7}Java}{14} \contentsline {section}{\numberline {6}Java}{14}
\contentsline {subsection}{\numberline {7.1}Generics, subtyping, etc}{14} \contentsline {subsection}{\numberline {6.1}Generics, subtyping, etc}{14}
\contentsline {subsubsection}{\numberline {7.1.1}Arrays}{14} \contentsline {subsubsection}{\numberline {6.1.1}Arrays}{14}
\contentsline {subsection}{\numberline {7.2}Wildcards}{14} \contentsline {subsection}{\numberline {6.2}Wildcards}{14}
\contentsline {section}{\numberline {8}Big Ideas}{15} \contentsline {section}{\numberline {7}Big Ideas}{15}
\contentsline {subsection}{\numberline {8.1}Scope}{15} \contentsline {subsection}{\numberline {7.1}Scope}{15}
\contentsline {subsection}{\numberline {8.2}Static vs Dynamic Analysis}{15} \contentsline {subsection}{\numberline {7.2}Static vs Dynamic Analysis}{15}
\contentsline {subsection}{\numberline {8.3}Major programming language families}{16} \contentsline {subsection}{\numberline {7.3}Major programming language families}{16}
\contentsline {subsection}{\numberline {8.4}Interaction of Languages and Style}{16} \contentsline {subsection}{\numberline {7.4}Interaction of Languages and Style}{16}
\contentsline {subsection}{\numberline {8.5}Objects and Encapsulation}{16} \contentsline {subsection}{\numberline {7.5}Objects and Encapsulation}{16}
\contentsline {subsection}{\numberline {8.6}Purely Functional Languages vs State}{16} \contentsline {subsection}{\numberline {7.6}Purely Functional Languages vs State}{16}
\contentsline {section}{\numberline {9}General Concepts}{16} \contentsline {section}{\numberline {8}General Concepts}{16}
\contentsline {subsection}{\numberline {9.1}Types}{16} \contentsline {subsection}{\numberline {8.1}Types}{16}
\contentsline {subsubsection}{\numberline {9.1.1}Static vs Dynamic Typing}{16} \contentsline {subsubsection}{\numberline {8.1.1}Static vs Dynamic Typing}{16}
\contentsline {subsubsection}{\numberline {9.1.2}Type Safety}{16} \contentsline {subsubsection}{\numberline {8.1.2}Type Safety}{16}
\contentsline {subsubsection}{\numberline {9.1.3}Type Inference}{16} \contentsline {subsubsection}{\numberline {8.1.3}Type Inference}{16}
\contentsline {subsection}{\numberline {9.2}Strongly typed languages}{17} \contentsline {subsection}{\numberline {8.2}Strongly typed languages}{17}
\contentsline {subsection}{\numberline {9.3}Polymorphism}{17} \contentsline {subsection}{\numberline {8.3}Polymorphism}{17}
\contentsline {subsection}{\numberline {9.4}Functional vs Imperative}{17} \contentsline {subsection}{\numberline {8.4}Functional vs Imperative}{17}
\contentsline {subsection}{\numberline {9.5}Higher-order functions}{17} \contentsline {subsection}{\numberline {8.5}Higher-order functions}{17}
\contentsline {subsection}{\numberline {9.6}Parameter Passing}{17} \contentsline {subsection}{\numberline {8.6}Parameter Passing}{17}
\contentsline {subsubsection}{\numberline {9.6.1}Call-By-Value}{17} \contentsline {subsubsection}{\numberline {8.6.1}Call-By-Value}{17}
\contentsline {subsubsection}{\numberline {9.6.2}Call-by-reference}{17} \contentsline {subsubsection}{\numberline {8.6.2}Call-by-reference}{17}
\contentsline {subsubsection}{\numberline {9.6.3}Call-by-name}{17} \contentsline {subsubsection}{\numberline {8.6.3}Call-by-name}{17}
\contentsline {subsection}{\numberline {9.7}Lazy evaluation/thunks}{18} \contentsline {subsection}{\numberline {8.7}Lazy evaluation/thunks}{18}
\contentsline {subsection}{\numberline {9.8}Overloading}{18} \contentsline {subsection}{\numberline {8.8}Overloading}{18}
\contentsline {subsection}{\numberline {9.9}Coercion}{18} \contentsline {subsection}{\numberline {8.9}Coercion}{18}
\contentsline {subsection}{\numberline {9.10}Closures}{18} \contentsline {subsection}{\numberline {8.10}Closures}{18}
\contentsline {subsection}{\numberline {9.11}Equality vs Identity}{18} \contentsline {subsection}{\numberline {8.11}Equality vs Identity}{18}
\contentsline {subsection}{\numberline {9.12}Compile time vs runtime}{19} \contentsline {subsection}{\numberline {8.12}Compile time vs runtime}{19}
\contentsline {subsection}{\numberline {9.13}Recursion}{19} \contentsline {subsection}{\numberline {8.13}Recursion}{19}
\contentsline {subsection}{\numberline {9.14}Aliasing}{19} \contentsline {subsection}{\numberline {8.14}Aliasing}{19}
\contentsline {subsection}{\numberline {9.15}Pointer stuff}{19} \contentsline {subsection}{\numberline {8.15}Pointer stuff}{19}
\contentsline {subsection}{\numberline {9.16}Type variance}{19} \contentsline {subsection}{\numberline {8.16}Type variance}{19}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment