diff options
author | David Terei <davidterei@gmail.com> | 2012-03-23 12:32:24 -0700 |
---|---|---|
committer | David Terei <davidterei@gmail.com> | 2012-03-23 12:32:24 -0700 |
commit | c1bd2e5a59accec64f87a07bb5e565a428f9db2d (patch) | |
tree | b56f9219c85d75d57225a67daedf736e3af8b477 /docs/vh | |
parent | d8a30633a60ee9f1e8cf6ffe48bbd672331f9096 (diff) | |
download | haskell-c1bd2e5a59accec64f87a07bb5e565a428f9db2d.tar.gz |
clean to some docs
Diffstat (limited to 'docs/vh')
-rw-r--r-- | docs/vh/vh.xml | 593 |
1 files changed, 293 insertions, 300 deletions
diff --git a/docs/vh/vh.xml b/docs/vh/vh.xml index 0e0f8f55a0..5c25e3109c 100644 --- a/docs/vh/vh.xml +++ b/docs/vh/vh.xml @@ -2,318 +2,311 @@ <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> - - <article id="visual-haskell"> - - <articleinfo> - - <title>Visual Haskell User's Guide</title> - <author> - <firstname>Simon</firstname> - <surname>Marlow</surname> - <email>simonmar@microsoft.com</email> - </author> - <author> - <firstname>Krasimir</firstname> - <surname>Angelov</surname> - <email>kr.angelov@gmail.com</email> - </author> - -<!-- - <abstract> - <para></para> - </abstract> ---> - - </articleinfo> - - <section id="sec-introduction"> - <title>Introduction</title> - - <para>Visual Haskell is a plugin for Microsoft's Visual Studio - development environment to support development of Haskell software. - Like the other Visual languages, Visual Haskell integrates with the - Visual Studio editor to provide interactive features to aid Haskell - development, and it enables the construction of projects consisting of - multiple Haskell modules.</para> - - <section id="sec-obtaining"> - <title>Installing Visual Haskell</title> - - <para>In order to use Visual Haskell, you need <ulink url="http://msdn.microsoft.com/vstudio/productinfo/">Visual Studio .NET - 2003</ulink>. Right now, this is the only supported version of Visual - Studio - unfortunately we haven't yet added support for the 2005 - Beta. The Express languages (Visual C++ Express etc.) also will not - work, because they don't have support for plugins.</para> - - <para>You don't need to install GHC separately: Visual Haskell - is bundled with a complete GHC distribution, and various other tools - (Happy, Alex, Haddock).</para> - - <para>The latest Visual Haskell installer can be obtained from - here:</para> - - <para><ulink - url="http://www.haskell.org/visualhaskell/"><literal>http://www.haskell.org/visualhaskell/</literal></ulink></para> - </section> - - <section id="release-notes"> - <title>Release Notes</title> - - <section> - <title>Version 0.0, first release</title> - - <para>This release is a technology preview, and should be considered - alpha quality. It works for us, but you are fairly likely to - encounter problems. If you're willing to try it out and report - bugs, we'd be grateful for the feedback.</para> - - <itemizedlist> - <listitem> - <para>This release of Visual Haskell is bundled with a - development snapshot of GHC, version 6.5 from around 14 - September 2005. This version of GHC is used to provide the - interactive editing features, and will be used to compile all - code inside Visual Haskell. It is possible that in future - releases we may be able to relax this tight coupling between - Visual Haskell and the bundled GHC.</para> - - <para>Please note that future releases of Visual - Haskell will update the compiler, and hence the - packages, and so may break your code. Also note that because - the bundled GHC is not a released version, it may have bugs and - quirks itself: please report them as usual to - <email>glasgow-haskell-bugs@haskell.org</email>.</para> - </listitem> - - <listitem> - <para>We're not making source code for the plugin generally - available at this time, due to licensing restrictions on the - Visual Studio APIs that the plugin uses (for more - information see <ulink - url="http://msdn.microsoft.com/vstudio/extend/">Visual Studio - Extensibility Center</ulink>). If you're interested in - contributing to Visual Haskell, please get in touch with the - authors.</para> - </listitem> - </itemizedlist> - </section> +<article id="visual-haskell"> + + <articleinfo> + + <title>Visual Haskell User's Guide</title> + <author> + <firstname>Simon</firstname> + <surname>Marlow</surname> + <email>simonmar@microsoft.com</email> + </author> + <author> + <firstname>Krasimir</firstname> + <surname>Angelov</surname> + <email>kr.angelov@gmail.com</email> + </author> + + </articleinfo> + + <section id="sec-introduction"> + <title>Introduction</title> + + <para>Visual Haskell is a plugin for Microsoft's Visual Studio + development environment to support development of Haskell software. + Like the other Visual languages, Visual Haskell integrates with the + Visual Studio editor to provide interactive features to aid Haskell + development, and it enables the construction of projects consisting of + multiple Haskell modules.</para> + + <section id="sec-obtaining"> + <title>Installing Visual Haskell</title> + + <para>In order to use Visual Haskell, you need <ulink url="http://msdn.microsoft.com/vstudio/productinfo/">Visual Studio .NET + 2003</ulink>. Right now, this is the only supported version of Visual + Studio - unfortunately we haven't yet added support for the 2005 + Beta. The Express languages (Visual C++ Express etc.) also will not + work, because they don't have support for plugins.</para> + + <para>You don't need to install GHC separately: Visual Haskell + is bundled with a complete GHC distribution, and various other tools + (Happy, Alex, Haddock).</para> + + <para>The latest Visual Haskell installer can be obtained from + here:</para> + + <para><ulink + url="http://www.haskell.org/visualhaskell/"><literal>http://www.haskell.org/visualhaskell/</literal></ulink></para> </section> - <section id="sec-bugs"> - <title>Getting support, reporting bugs</title> - <para>Please report bugs to - <email>glasgow-haskell-bugs@haskell.org</email> (subscribe <ulink url="http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs">here</ulink>), clearly indicating - that your bug report relates to Visual Haskell, and giving as much - information as possible so that we can reproduce the bug. Even if - you can't reproduce the bug reliably, it is still useful to report - what you've seen.</para> - - <para>For help and support, use the - <email>glasgow-haskell-users@haskell.org</email> (subscribe <ulink - url="http://www.haskell.org/mailman/listinfo/glasgow-haskell-users">here</ulink>) mailing list.</para> - </section> - - <section id="sec-license"> - <title>License</title> - - <blockquote> - <para>Copyright © Microsoft Corporation. All rights reserved.</para> - <para>Copyright © The University of Glasgow. All rights reserved.</para> - <para>Copyright © Krasimir Angelov. All rights reserved.</para> - - <para>Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met:</para> - - <itemizedlist> - <listitem> - <para>Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer.</para> - </listitem> - - <listitem> - <para>Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution.</para> - </listitem> - - <listitem> - <para>The names of the copyright holders may not be used to endorse - or promote products derived from this software without specific - prior written permission.</para> - </listitem> - </itemizedlist> - - <para>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE.</para> - </blockquote> - </section> + <section id="release-notes"> + <title>Release Notes</title> + <section> + <title>Version 0.0, first release</title> + + <para>This release is a technology preview, and should be considered + alpha quality. It works for us, but you are fairly likely to + encounter problems. If you're willing to try it out and report + bugs, we'd be grateful for the feedback.</para> + + <itemizedlist> + <listitem> + <para>This release of Visual Haskell is bundled with a + development snapshot of GHC, version 6.5 from around 14 + September 2005. This version of GHC is used to provide the + interactive editing features, and will be used to compile all + code inside Visual Haskell. It is possible that in future + releases we may be able to relax this tight coupling between + Visual Haskell and the bundled GHC.</para> + + <para>Please note that future releases of Visual + Haskell will update the compiler, and hence the + packages, and so may break your code. Also note that because + the bundled GHC is not a released version, it may have bugs and + quirks itself: please report them as usual to + <email>glasgow-haskell-bugs@haskell.org</email>.</para> + </listitem> + + <listitem> + <para>We're not making source code for the plugin generally + available at this time, due to licensing restrictions on the + Visual Studio APIs that the plugin uses (for more + information see <ulink + url="http://msdn.microsoft.com/vstudio/extend/">Visual Studio + Extensibility Center</ulink>). If you're interested in + contributing to Visual Haskell, please get in touch with the + authors.</para> + </listitem> + </itemizedlist> + </section> + </section> + + <section id="sec-bugs"> + <title>Getting support, reporting bugs</title> + <para>Please report bugs to + <email>glasgow-haskell-bugs@haskell.org</email> (subscribe <ulink url="http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs">here</ulink>), clearly indicating + that your bug report relates to Visual Haskell, and giving as much + information as possible so that we can reproduce the bug. Even if + you can't reproduce the bug reliably, it is still useful to report + what you've seen.</para> + + <para>For help and support, use the + <email>glasgow-haskell-users@haskell.org</email> (subscribe <ulink + url="http://www.haskell.org/mailman/listinfo/glasgow-haskell-users">here</ulink>) mailing list.</para> </section> - <section id="sec-using"> - <title>Using Visual Haskell</title> + <section id="sec-license"> + <title>License</title> - <section> - <title>Overview of features</title> - - <para>The following features are provided in the Visual Studio editor - when editing Haskell code:</para> - - <itemizedlist> - <listitem> - <para>Automatic checking of code as you type, and visual indication - of parse errors, scoping errors and type errors.</para> - </listitem> - - <listitem> - <para>Quick info: hovering the mouse over an identifier pops up - an information box, including the type of the identifier.</para> - </listitem> - - <listitem> - <para>A drop-down bar at the top of the editing window lists the - top-level declarations in the module, and allows quick navigation - to a declaration.</para> - </listitem> - - <listitem> - <para>Name completion for identifiers in scope: press Ctrl+Space - after a partial identifier to see the completions.</para> - </listitem> - - <listitem> - <para>Go to declaration: right clicking on an identifier and - selecting "Go to declaration" will jump the cursor to the - declaration of the identifier. This works for locally-defined - identifiers and those defined in another module of the project; it - does not work for library functions currently.</para> - </listitem> - </itemizedlist> - - <para>The following features are provided by the project system for - constructing Haskell projects:</para> + <blockquote> + <para>Copyright © Microsoft Corporation. All rights reserved.</para> + <para>Copyright © The University of Glasgow. All rights reserved.</para> + <para>Copyright © Krasimir Angelov. All rights reserved.</para> - <itemizedlist> - <listitem> - <para>Multi-module Haskell projects are fully supported, based on the - <ulink url="http://www.haskell.org/cabal">Cabal</ulink> - infrastructure. A project in Visual Haskell <emphasis>is</emphasis> - a Cabal package, and vice-versa. A Visual Studio project can be - taken to a machine without Visual Haskell and built/installed as a - normal Cabal package, and an existing Cabal package can be edited - directly in Visual Haskell<footnote><para>This works as long as the - Cabal package is using Cabal's simple build system; Cabal - packages using their own build systems cannot be edited in Visual - Haskell.</para> - </footnote>.</para> - </listitem> - - <listitem> - <para>Editing of most of the package meta-data is supported through - the project property pages.</para> - </listitem> - - <listitem> - <para>The interactive editing features work across multiple modules in - a project. When one module is edited, changes are automatically - propagated to dependent modules, even if the edited module has not yet - been saved.</para> - </listitem> - - <listitem> - <para>Building is supported through the Cabal build system, and build - errors are communicated back to the editor and placed in the task - list. Use any of the Visual Studio build commands (e.g. Build - Project from the context menu on the project, or Ctrl-Shift-B to - build the whole solution).</para> - </listitem> + <para>Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met:</para> + <itemizedlist> + <listitem> + <para>Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer.</para> + </listitem> + + <listitem> + <para>Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution.</para> + </listitem> + + <listitem> + <para>The names of the copyright holders may not be used to endorse + or promote products derived from this software without specific + prior written permission.</para> + </listitem> </itemizedlist> - - <para>Additionally, Visual Haskell is bundled with a large collection of - documentation: the GHC manual, the hierarchical libraries reference, and - other material all of which can be browsed within Visual Studio - itself.</para> - </section> - <section> - <title>Getting Started</title> - - <para>After installing Visual Haskell, start up Visual Studio as you - would normally, and observe that on the splash screen where it lists - the supported languages you should now see an icon for Visual - Haskell (if you don't see this, something has gone wrong... please let - us know).</para> - - <para>Firstly, take a look at the bundled documentation. Go to - Help->Contents, and you should see the “Visual Haskell Help - Collection”, which contains a large collection of GHC and - Haskell-related documentaiton, including this document.</para> - - <para>To start using Visual Haskell right away, create a new - project (File->New->Project...). Select one of the Haskell - project types (Console Application or Library Package), and hit Ok. - The project will be created for you, and an example module - added: <literal>Main.hs</literal> for an application, or - <literal>Module1.hs</literal> for a library.</para> - - <para>You can now start adding code to - <literal>Main.hs</literal>, or adding new modules. To add a new - module, right-click on the <literal>src</literal> directory, and - select Add->New Item. Visual Haskell supports hierarchical - modules too: you can add new folders using the same Add menu to - create new nodes in the hierarchy.</para> - - <para>If you have any errors in your code, they will be underlined with - a red squiggly line. Select the Tasks window (usually a tab near the - bottom of the Visual Studio window) to see the error messages, and - click on an error message to jump to it in the editor.</para> - - <para>To build the program, hit Ctrl-Shift-B, or select one of the - options from the Build menu.</para> - </section> + <para>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE.</para> + </blockquote> + </section> + + </section> + + <section id="sec-using"> + <title>Using Visual Haskell</title> <section> - <title>Editing Haskell code</title> - - <para>(ToDo: more detail here)</para> - - <para>Your module must be plain Haskell (<literal>.hs</literal>) for the interactive features to - fully work. If your module is pre-processed with CPP or Literate - Haskell, then Visual Haskell will only check the module when it is - saved; between saves the source will not be checked for errors and - the type information will not be updated. If the source file is - pre-processed with Happy or another pre-processor, then you may have - to build the project before the type information will be updated - (because the pre-processor is only run as part of the build - process). Pre-processed source files work fine in a multi-module - setting; you can have modules which depend on a pre-processed module - and full interactive checking will still be available in those - modules.</para> - - <para>Because Visual Haskell is using GHC as a backend for its - interactive editing features, it supports the full GHC language, - including all extensions.</para> - </section> + <title>Overview of features</title> - <section> - <title>Using Projects</title> - <para>(ToDo: more detail here)</para> - </section> + <para>The following features are provided in the Visual Studio editor + when editing Haskell code:</para> + + <itemizedlist> + <listitem> + <para>Automatic checking of code as you type, and visual indication + of parse errors, scoping errors and type errors.</para> + </listitem> + + <listitem> + <para>Quick info: hovering the mouse over an identifier pops up + an information box, including the type of the identifier.</para> + </listitem> + + <listitem> + <para>A drop-down bar at the top of the editing window lists the + top-level declarations in the module, and allows quick navigation + to a declaration.</para> + </listitem> + + <listitem> + <para>Name completion for identifiers in scope: press Ctrl+Space + after a partial identifier to see the completions.</para> + </listitem> + + <listitem> + <para>Go to declaration: right clicking on an identifier and + selecting "Go to declaration" will jump the cursor to the + declaration of the identifier. This works for locally-defined + identifiers and those defined in another module of the project; it + does not work for library functions currently.</para> + </listitem> + </itemizedlist> + <para>The following features are provided by the project system for + constructing Haskell projects:</para> + + <itemizedlist> + <listitem> + <para>Multi-module Haskell projects are fully supported, based on the + <ulink url="http://www.haskell.org/cabal">Cabal</ulink> + infrastructure. A project in Visual Haskell <emphasis>is</emphasis> + a Cabal package, and vice-versa. A Visual Studio project can be + taken to a machine without Visual Haskell and built/installed as a + normal Cabal package, and an existing Cabal package can be edited + directly in Visual Haskell<footnote><para>This works as long as the + Cabal package is using Cabal's simple build system; Cabal + packages using their own build systems cannot be edited in Visual + Haskell.</para> + </footnote>.</para> + </listitem> + + <listitem> + <para>Editing of most of the package meta-data is supported through + the project property pages.</para> + </listitem> + + <listitem> + <para>The interactive editing features work across multiple modules in + a project. When one module is edited, changes are automatically + propagated to dependent modules, even if the edited module has not yet + been saved.</para> + </listitem> + + <listitem> + <para>Building is supported through the Cabal build system, and build + errors are communicated back to the editor and placed in the task + list. Use any of the Visual Studio build commands (e.g. Build + Project from the context menu on the project, or Ctrl-Shift-B to + build the whole solution).</para> + </listitem> + + </itemizedlist> + + <para>Additionally, Visual Haskell is bundled with a large collection of + documentation: the GHC manual, the hierarchical libraries reference, and + other material all of which can be browsed within Visual Studio + itself.</para> + </section> + + <section> + <title>Getting Started</title> + + <para>After installing Visual Haskell, start up Visual Studio as you + would normally, and observe that on the splash screen where it lists + the supported languages you should now see an icon for Visual + Haskell (if you don't see this, something has gone wrong... please let + us know).</para> + + <para>Firstly, take a look at the bundled documentation. Go to + Help->Contents, and you should see the “Visual Haskell Help + Collection”, which contains a large collection of GHC and + Haskell-related documentaiton, including this document.</para> + + <para>To start using Visual Haskell right away, create a new + project (File->New->Project...). Select one of the Haskell + project types (Console Application or Library Package), and hit Ok. + The project will be created for you, and an example module + added: <literal>Main.hs</literal> for an application, or + <literal>Module1.hs</literal> for a library.</para> + + <para>You can now start adding code to + <literal>Main.hs</literal>, or adding new modules. To add a new + module, right-click on the <literal>src</literal> directory, and + select Add->New Item. Visual Haskell supports hierarchical + modules too: you can add new folders using the same Add menu to + create new nodes in the hierarchy.</para> + + <para>If you have any errors in your code, they will be underlined with + a red squiggly line. Select the Tasks window (usually a tab near the + bottom of the Visual Studio window) to see the error messages, and + click on an error message to jump to it in the editor.</para> + + <para>To build the program, hit Ctrl-Shift-B, or select one of the + options from the Build menu.</para> + </section> + + <section> + <title>Editing Haskell code</title> + + <para>(ToDo: more detail here)</para> + + <para>Your module must be plain Haskell (<literal>.hs</literal>) for + the interactive features to fully work. If your module is + pre-processed with CPP or Literate Haskell, then Visual Haskell will + only check the module when it is saved; between saves the source will + not be checked for errors and the type information will not be + updated. If the source file is + pre-processed with Happy or another pre-processor, then you may have + to build the project before the type information will be updated + (because the pre-processor is only run as part of the build process). + Pre-processed source files work fine in a multi-module setting; you + can have modules which depend on a pre-processed module and full + interactive checking will still be available in those modules.</para> + + <para>Because Visual Haskell is using GHC as a backend for its + interactive editing features, it supports the full GHC language, + including all extensions.</para> </section> - </article> + + <section> + <title>Using Projects</title> + <para>(ToDo: more detail here)</para> + </section> + + </section> +</article> |