In November 2007 , MicrosoftCorporation released PowerShell CTP Version 2.0, an alternative to their ancient DOS command shell cmd.exe. It was code-named "Monad" during development, reflecting its exposure of FunctionalProgramming constructs to the user. To use the graphic version, one must have installed dotNetFramework 3.0. It will run in Microsoft XP Command-Line mode with dotNetFramework 2.0. The syntax ditches most of the relics of .BAT file syntax for the UnixShell equivalents ( '-' for flags, '$' for variables, '|' to connect commands). Unlike UnixShell, the pipe operator doesn't pass data between processes via untyped byte streams, instead it passes COM objects between "commandlets", possibly running in the same process. Example: Get-Process WINWORD | Get-Member -Member''''''Type Property | Format-List | Out-File Word''''''Props.txt which puts a list of process properties in the file, formatted like this: ... Type''''''Name : System.Diagnostics.Process Name : Machine''''''Name Member''''''Type : Property Definition : System.String Machine''''''Name {get;} Type''''''Name : System.Diagnostics.Process Name : Main''''''Module Member''''''Type : Property Definition : System.Diagnostics.Process''''''Module Main''''''Module {get;} ... ----- * Scripting with Windows PowerShell: http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx * MSDN documentation: http://msdn2.microsoft.com/en-us/library/aa139691.aspx * http://thepowershellguy.com/blogs/posh/pages/powershell-webcasts-and-videos.aspx ---- Wish list for features (cmdlets) still needed: * Provider(s) for database access. (The tool is just begging to have some way to get and manipulate SQL result sets!!!) * Providers for source control access. This would enable improved automation of build processes and other source control related tasks. * "Format-GUI" cmdlet(s), to display the object stream in a GUI with IDE debugger-like ability to drill down into the detailed elements. Like, who thinks that output should be limited to just colored monospace text in an MS-DOS-like window?!? * PowerShell-like tool for the Java environment. ** [I'd call it ObjectPipe. I'd probably have its "directory structure" based on URLs -- so you could 'cd' to a web page and then do processing on its attributes and content. (Maybe even "cd" into the DOM structure of web pages...)] ---- I perused briefly some of the documentation that was linked to, but didn't study it in depth -- I just don't have the time. However, I'm interested in knowing what aspects of PowerShell make it "functional?" So far as I could tell, I couldn't see anything which amounted to traditional "functional" concepts. Thanks. --SamuelFalvo ''Seems more "pipe-oriented" than "functional." Individual commands seem to work as function calls -- but that wouldn't make it a FunctionalProgramming language. Maybe they mean "functional," in the dictionary sense of "this product is capable of working correctly."! ;-> -- JeffGrigg http://dictionary.reference.com/browse/functional It extends to Objects the management options which formerly existed only for fileSystemObjects. ---- PowerShell CTP Preview 2.0 Released 20071107 * Starting PowerShell ** http://www.microsoft.com/technet/scriptcenter/topics/winpsh/v2start.mspx * Microsoft PowerShell (formerly Monad) Third Party Software ** questPowerGui freeWareTool channelNineVideo *** http://channel9.msdn.com/Showpost.aspx?postid=336098 ---- CategoryFunctionalProgramming CategoryScripting