<p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium"><i>(from <a href="http://diniscruz.blogspot.co.uk/2012/03/o2-and-repl.html">http://diniscruz.blogspot.co.uk/2012/03/o2-and-repl.html</a>)</i></p>
<p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium"><br></p><p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium">
One of the (many) great concepts that <a href="http://uk.linkedin.com/in/dennisgroves">Dennis Groves</a> introduced me to was: <b><a href="http://en.wikipedia.org/wiki/REPL">REPL</a></b></p><p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium">
<br></p><p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium">He said: <i>"Wow, <a href="http://o2platform.com/">O2 </a>is just a great REPL engine for C# and Security Analysis"</i></p>
<p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium"><i><br></i></p><p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium">
I was like <i>Rewhaaattt</i>????</p><p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium"><br></p><p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium">
It turns out that the O2 Scripting environment is actually something called REPL which stands for: <i style="font-weight:bold">Read - Eval  - Print - Loop </i>(see <a href="http://en.wikipedia.org/wiki/REPL">http://en.wikipedia.org/wiki/REPL</a> for more details).</p>
<p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium"><br></p><p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium">
And he is correct, the core of O2 is its ability to easily allow this loop to occur (for more details see these <a href="http://o2platform.wordpress.com/2011/07/28/o2-scripting-solving-the-missing-references-compilation-problem-using-fvdl-as-an-example/">blog</a> <a href="http://o2platform.wordpress.com/category/o2-internals/">posts</a>).</p>
<p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium"><br></p><p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium">
Note that I current write O2 in O2's REPL environment, because in comparison, the normal Visual Studio compilation process is SOOOOOOO painful (Usually I use O2's own development environment (IDE), but  recently I created a VisualStudio AddIn for O2, so now I get the best of both worlds)</p>
<p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium"><br></p><p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:'Times New Roman';font-size:medium">
Some references on REPL:</p><ul style="font-family:'Times New Roman';font-size:medium"><li><a href="http://www.mono-project.com/CsharpRepl">http://www.mono-project.com/CsharpRepl</a></li><li><a href="http://msdn.microsoft.com/en-us/vstudio/hh543923">Walkthrough: Executing Code in the Interactive Window</a> </li>
<li><a href="http://filipekberg.se/2011/11/14/using-the-c-interactive-window-that-comes-with-roslyn/">Using the C# Interactive Window that comes with Roslyn blog.</a></li><li><a href="http://filipekberg.se/2011/11/25/using-the-c-interactive-window-that-comes-with-roslyn-part-2/">Using the C# Interactive Window that comes with Roslyn – Part 2 blog</a>.</li>
<li><a href="http://www.gigamonkeys.com/book/lather-rinse-repeat-a-tour-of-the-repl.html">2. Lather, Rinse, Repeat: A Tour of the REPL</a>  (List)</li><li><a href="http://en.wikipedia.org/wiki/Lisp_(programming_language)#Evaluation_and_the_read.E2.80.93eval.E2.80.93print_loop">http://en.wikipedia.org/wiki/Lisp_(programming_language)#Evaluation_and_the_read.E2.80.93eval.E2.80.93print_loop</a> </li>
<li><a href="http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop">Read–eval–print loop</a> (in Wikipedia)</li></ul><div><font face="'Times New Roman'" size="3">Dinis Cruz</font></div>