<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Miguel de Icaza's blog - Latest Comments in Interactive C# Shell - Miguel de Icaza</title><link>http://migueldeicaza.disqus.com/</link><description></description><atom:link href="https://migueldeicaza.disqus.com/interactive_c_shell_miguel_de_icaza/latest.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Sun, 19 Apr 2009 23:26:59 -0000</lastBuildDate><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-8362898</link><description>&lt;p&gt;Python and Ruby are dynamic languages.  Most dynamic languages have interpreters.&lt;br&gt;C# is not a dynamic language, and don't have a REPL.&lt;/p&gt;&lt;p&gt;And .NET have IronPython, IronRuby and PowerShell, all have REPL's.&lt;/p&gt;&lt;p&gt;So you can't say that .NET sucks.&lt;/p&gt;&lt;p&gt;And yes, Microsoft sucks.&lt;br&gt;But Mono isn't Microsoft.&lt;/p&gt;&lt;p&gt;Troll.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sun, 19 Apr 2009 23:26:59 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-5519542</link><description>&lt;p&gt;Don't do that... it's not C#&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">blah lar</dc:creator><pubDate>Sat, 24 Jan 2009 14:47:41 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2379739</link><description>&lt;p&gt;keep yourself anonymous...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">psantosl</dc:creator><pubDate>Tue, 16 Sep 2008 05:26:53 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2379737</link><description>&lt;p&gt;I was going to propose something like that! Didn't know about pash&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">psantosl</dc:creator><pubDate>Tue, 16 Sep 2008 05:26:13 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2379724</link><description>&lt;p&gt;I'd love to have #!/usr/bin/csharp scripts!!&lt;/p&gt;&lt;p&gt;Ok, maybe something like /usr/bin/monoscript (or better name) so that it supports F# and the rest of the family too!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">psantosl</dc:creator><pubDate>Tue, 16 Sep 2008 05:22:48 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2364950</link><description>&lt;p&gt;Python, Ruby interpreters and others had this for years, you are just catching up now.  .NET sucks.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous Coward</dc:creator><pubDate>Mon, 15 Sep 2008 17:35:32 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2278584</link><description>&lt;p&gt;We are on schedule, give or take a week or two.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">migueldeicaza</dc:creator><pubDate>Thu, 11 Sep 2008 00:54:54 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2278570</link><description>&lt;p&gt;I would love to see this happen!&lt;/p&gt;&lt;p&gt;I refactored the C# shell into an Evaluator class, and it should now be easier to integrate in other applications, hopefully with the DLR as well.&lt;/p&gt;&lt;p&gt;At this point, the real question is: which features do we need in the CSharpEvaluator class to make it useful for the above scenario?&lt;br&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">migueldeicaza</dc:creator><pubDate>Thu, 11 Sep 2008 00:54:05 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2260738</link><description>&lt;p&gt;That's pretty darn neat. I can see a lot of similarities to what you are doing with what a guy is doing with Pash, which is a mono-based version of PowerShell: &lt;a href="http://pash.sourceforge.net/" rel="nofollow noopener" target="_blank" title="http://pash.sourceforge.net/"&gt;http://pash.sourceforge.net/&lt;/a&gt;.  You guys should join forces or something. :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">halr9000</dc:creator><pubDate>Wed, 10 Sep 2008 11:46:45 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2258755</link><description>&lt;p&gt;How accurate is the roadmap from:&lt;br&gt;&lt;a href="http://www.mono-project.com/Mono_Project_Roadmap" rel="nofollow noopener" target="_blank" title="http://www.mono-project.com/Mono_Project_Roadmap"&gt;http://www.mono-project.com...&lt;/a&gt;&lt;br&gt;? Is there a chance that Mono 2.2. will be released in November?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Aleks</dc:creator><pubDate>Wed, 10 Sep 2008 09:03:18 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2258270</link><description>&lt;p&gt;Lovely! What I'd love to do is connect this to the Dynamic Language Runtime (DLR) and make it so that it could share data with IronPython, IronRuby, and the rest. This would be a great step in the classroom. Let me know if I can help.&lt;/p&gt;&lt;p&gt;-Doug&lt;br&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Doug</dc:creator><pubDate>Wed, 10 Sep 2008 08:02:18 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2249631</link><description>&lt;p&gt;In Python, we have a __repr__ method to go along with __str__ - our rough equivalent of ToString, which are typically invoked by str(obj) or repr(obj).  Also just printing a value typically gets repr.&lt;/p&gt;&lt;p&gt;An Inspect() method is not a bad idear at all.  You might look at some of the enhancements people have created for Python, which behaves like this by default, in the iPython shell.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Justin Alan Ryan</dc:creator><pubDate>Tue, 09 Sep 2008 15:14:23 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2248047</link><description>&lt;p&gt;Even though I don't do much C#, having used Ruby's irb, THIS ROCKS. I hope Java guys are watching this (as I have a few projects in Java).&lt;/p&gt;&lt;p&gt;I'm intrigued about Joe's comment about Twisted's "manhole", as I never tried it...&lt;/p&gt;&lt;p&gt;Keep the good work,&lt;/p&gt;&lt;p&gt;-- nachokb&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">nachokb</dc:creator><pubDate>Tue, 09 Sep 2008 13:31:26 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2246795</link><description>&lt;p&gt;This msdn link will also help&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa347685(VS.85).aspx" rel="nofollow noopener" target="_blank" title="http://msdn.microsoft.com/en-us/library/aa347685(VS.85).aspx"&gt;http://msdn.microsoft.com/e...&lt;/a&gt;&lt;br&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anthony</dc:creator><pubDate>Tue, 09 Sep 2008 11:58:28 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2246261</link><description>&lt;p&gt;Miguel&lt;/p&gt;&lt;p&gt;This blog starts to sheds some light on PowerShell's Adaptive Type System (ATS) and its use of adapters to .NET types&lt;/p&gt;&lt;p&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2008/09/06/hate-add-member-powershell-s-adaptive-type-system.aspx" rel="nofollow noopener" target="_blank" title="http://blogs.msdn.com/powershell/archive/2008/09/06/hate-add-member-powershell-s-adaptive-type-system.aspx"&gt;http://blogs.msdn.com/power...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;this one shows more of the underlying type adaptor relationships&lt;/p&gt;&lt;p&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2006/11/24/what-s-up-with-psbase-psextended-psadapted-and-psobject.aspx" rel="nofollow noopener" target="_blank" title="http://blogs.msdn.com/powershell/archive/2006/11/24/what-s-up-with-psbase-psextended-psadapted-and-psobject.aspx"&gt;http://blogs.msdn.com/power...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;And the free sample chapter 1 "Object and Object Types" from the Apress book "Pro Windows PowerShell" should finish off your questions&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.apress.com/book/view/1590599403" rel="nofollow noopener" target="_blank" title="http://www.apress.com/book/view/1590599403"&gt;http://www.apress.com/book/...&lt;/a&gt;&lt;br&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anthony</dc:creator><pubDate>Tue, 09 Sep 2008 11:22:52 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2244623</link><description>&lt;p&gt;Microsoft's C# compiler is proprietary, so we can not do the work of turning it into a shell;   Microsoft would have to do that.&lt;/p&gt;&lt;p&gt;Our compiler is dual-licensed MIT X11 or GPL (pick your choice).&lt;/p&gt;&lt;p&gt;But additionally, our compiler being written in C# significantly simplified the process of adding a REPL mode to it.&lt;/p&gt;&lt;p&gt;Making it run under the .NET framework is the subject of a separate post.&lt;/p&gt;&lt;p&gt;As for powershell: could you provide more information?   I am not familiar with it, and I am curious as to what you have in mind.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">migueldeicaza</dc:creator><pubDate>Tue, 09 Sep 2008 09:20:38 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2244599</link><description>&lt;p&gt;Do you have more details?   What is the way this is done there?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">migueldeicaza</dc:creator><pubDate>Tue, 09 Sep 2008 09:18:08 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2244596</link><description>&lt;p&gt;It would be possible, its a good idea.&lt;/p&gt;&lt;p&gt;Currently it executes as scripts all the files in ~/.config/csharp, but we should make it also run any scripts specified on the command line.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">migueldeicaza</dc:creator><pubDate>Tue, 09 Sep 2008 09:17:43 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2244526</link><description>&lt;p&gt;Would this be suitable for writing 'shell scripts' in C#?  #!/usr/bin/csharp style?&lt;/p&gt;&lt;p&gt;Remaining anonymous as I'm ashamed I don't know enough mono to know if this is already possible. :P&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous Coward</dc:creator><pubDate>Tue, 09 Sep 2008 09:09:16 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2243860</link><description>&lt;p&gt;nicely done!&lt;br&gt;i was missing a shell like in python,what you can add is things like auto-completion,and enumerating the properties of a object like in IPython &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Uriel Katz</dc:creator><pubDate>Tue, 09 Sep 2008 07:41:34 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2243771</link><description>&lt;p&gt;Auto completion (bash alike) would be nice, too.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Carlos Alberto</dc:creator><pubDate>Tue, 09 Sep 2008 07:25:02 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2243030</link><description>&lt;p&gt;Would be awesome if it would also be possible to use with Microsoft's csc compiler? Maybe using powershell's interactive type system. What do you think?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anthony</dc:creator><pubDate>Tue, 09 Sep 2008 03:44:17 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2242180</link><description>&lt;p&gt;This feature is already there, its the ShowVars method that you can invoke from the shell.&lt;/p&gt;&lt;p&gt;As for lifetime, standard .NET lifetime applies: if there is a reference to the object, it stays alive.   Any variables that you do not manually point to null will keep references to any objects you created.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">migueldeicaza</dc:creator><pubDate>Tue, 09 Sep 2008 00:43:01 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2242029</link><description>&lt;p&gt;intellisense and tab completion&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bruce</dc:creator><pubDate>Tue, 09 Sep 2008 00:17:24 -0000</pubDate></item><item><title>Re: Interactive C# Shell - Miguel de Icaza</title><link>http://tirania.org/blog/archive/2008/Sep-08.html#comment-2242008</link><description>&lt;p&gt;I've wanted this exact thing for over a year now.  Awesome.&lt;/p&gt;&lt;p&gt;Perhaps a method to list objects one has created in the shell would be useful in addition to an Inspect method.&lt;/p&gt;&lt;p&gt;What is the effect of GC on objects allocated in the shell?  Are they persistent for the session without fear of being reclaimed?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andrew</dc:creator><pubDate>Tue, 09 Sep 2008 00:14:18 -0000</pubDate></item></channel></rss>