F# bindings for MonoDevelop 3.0.x

1,110 views
Skip to first unread message

Paul Blair

unread,
May 29, 2012, 12:59:18 PM5/29/12
to fsharp-o...@googlegroups.com
I've been fooling around with F# on Mono and went and downloaded MonoDevelop 3.0.2 without knowing that the bindings are several versions behind. Compilation of the version from https://github.com/karthikvishnu/fsharpbinding.git fails -- it appears that the MonoDevelop Project Dom has been removed in recent versions.

I'd like to see if I can help bring the F# bindings up to work with the latest MonoDevelop. Can anyone point me to some sort of primer on the MonoDevelop architecture and APIs? (Ideally it would be nice to have one for 2.x and one for 3.x but I imagine that's asking too much.) It would also be helpful to get some sort of overview of what's in the code before I dig in.

Also, is there some git repository that is in general use as the furthest along in development? The page at http://functional-variations.net/monodevelop/ points to  https://github.com/fsharp/fsharpbinding but it looks like that branch is not the most up-to-date.

Thanks!

Paul Blair

Sega Able

unread,
May 29, 2012, 2:52:06 PM5/29/12
to fsharp-o...@googlegroups.com
Hello Paul and welcome :)
Yes, you are right. As far as I know, CodeDom class has been replaced by the classes from NRefactory.
Currently, I am working with 2.9.6 version.
The articles may be out of date but here:
- API overview
- Architecture overview
- Addin extension tree reference

The git repository you mentioned is in general use of development but many devs use their own branches. The most stable at this time is at https://github.com/scottstephens/fsharpbinding.

Ihor.

2012/5/29 Paul Blair <pbl...@cyrusinnovation.com>

Paul Blair

--
You received this message because you are subscribed to the Google
Groups "FSharp Open Source Community" group.
To post to this group, send email to fsharp-o...@googlegroups.com
To unsubscribe from this group, send email to
fsharp-opensou...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/fsharp-opensource?hl=en

Paul Blair

unread,
May 29, 2012, 11:46:41 PM5/29/12
to fsharp-o...@googlegroups.com
Thanks! A couple more things:
  • Any advice on the best place to start reading the fsharpbinding code, and/or an order in which to read it, in order to understand what's going on?
  • With regard to the replacement of Dom, based on what you say I'm already a little lost. According to the API doc you pointed me to, it looks like MonoDevelop.Projects.Dom.Parser classes were for "Management of Project and Solution Policies." I would imagine that this is now being handled in the MonoDevelop.Projects.Policies classes, but I'm not entirely sure I know what it means to manage project and solution policies. At any rate, might you be able to tell me how NRefactory is supposed to fit into all this?  (It looks like commit  e4d0233abe14e785d46383d991cd30a04b29ee32 by Mike Krüger on June 15, 2011--"Removed the Monodevelop DOM" -- went into the newresolver branch that ultimately wound up in 2.9.0. Does this sound right?)

On Tuesday, May 29, 2012 2:52:06 PM UTC-4, sega wrote:
Hello Paul and welcome :)
Yes, you are right. As far as I know, CodeDom class has been replaced by the classes from NRefactory.
Currently, I am working with 2.9.6 version.
The articles may be out of date but here:
- API overview
- Architecture overview
- Addin extension tree reference

The git repository you mentioned is in general use of development but many devs use their own branches. The most stable at this time is at https://github.com/scottstephens/fsharpbinding.

Ihor.

2012/5/29 Paul Blair
I've been fooling around with F# on Mono and went and downloaded MonoDevelop 3.0.2 without knowing that the bindings are several versions behind. Compilation of the version from https://github.com/karthikvishnu/fsharpbinding.git fails -- it appears that the MonoDevelop Project Dom has been removed in recent versions.

Jason McCampbell

unread,
Jun 23, 2012, 4:39:32 PM6/23/12
to fsharp-o...@googlegroups.com
Hey Paul,

Have you found any more information on this?  I have been playing with updating the binding to work w/ MonoDevelop 3.0.x today and have gotten at least parts past the DOM issue but now I'm hitting issues with the parsed files.  It seems that section was also heavily refactored but not yet documented.  

I really want to get the F# binding running in MonoDevelop again, but really I just want to use  F# not mess with fixing tool (as I'm sure most are...) :)

Jason

Paul Blair

unread,
Jun 23, 2012, 5:14:32 PM6/23/12
to fsharp-o...@googlegroups.com
I regret I haven't had a chance to move forward with this. Do you have a repository with the work you've done so far that I might fork? I should be able to look at it a bit this weekend, at least.
--
Paul Blair
pbl...@cyrusinnovation.com

Cyrus Innovation LLC
200 Varick Street, Suite 902
New York, NY 10014
phone: (212) 647-7186
fax: (212) 591-6043
http://cyrusinnovation.com

Agile Software Development and Consulting
3 straight years on the Inc 5000: http://bit.ly/cyrus_inc_5000


Jason McCampbell

unread,
Jun 24, 2012, 4:36:15 PM6/24/12
to fsharp-o...@googlegroups.com
Yes, my fork is here: https://github.com/jasonmccampbell/fsharpbinding/tree/monodev-3.x-support

I pushed my changes to the monodev-3.x-support branch. Fork away.

I have plucked what appear to be the low-hanging fruit thus far.  The big question I have is how the AbstractParser-related code translates to the new API.  I see IParsedFile but haven't looked into it a lot.  I'm not sure yet if this will involve a port or a re-write. :)

With a little luck I'll play more with it tonight.

Jason

Paul Blair

unread,
Jun 26, 2012, 9:22:55 PM6/26/12
to fsharp-o...@googlegroups.com
I now have a version that compiles against 3.0.2, installs properly, and can open F# projects. There's syntax highlighting, "Send to F# Interactive" works, and the F# Settings, Compiler Options, and Build Order panes all seem to work. The templates for new F# projects and files generally work, though the source has a template for an F# Tutorial project that doesn't seem to be working. One other thing that I know doesn't work is tooltips; I don't know if they worked before.


Please sound off if there are things that have been working in previous versions that are broken.


On Sunday, June 24, 2012 4:36:15 PM UTC-4, Jason McCampbell wrote:
Yes, my fork is here: https://github.com/jasonmccampbell/fsharpbinding/tree/monodev-3.x-support

I pushed my changes to the monodev-3.x-support branch. Fork away.

I have plucked what appear to be the low-hanging fruit thus far.  The big question I have is how the AbstractParser-related code translates to the new API.  I see IParsedFile but haven't looked into it a lot.  I'm not sure yet if this will involve a port or a re-write. :)

With a little luck I'll play more with it tonight.

Jason

Tomas Petricek

unread,
Jun 27, 2012, 10:05:51 AM6/27/12
to fsharp-o...@googlegroups.com, Sega Able

Hi guys,

There is a GSoC project this summer that aims to improve the integration & get it working with 3.0. Ihor (cc’ed) is working on it, so it would be great if you could collaborate – Ihor, could you please send a brief update of what you did so far? The repository is available here: https://github.com/mono-soc-2012/fsharpbinding

 

Thanks!

Tomas

--

Paul Blair

unread,
Jun 27, 2012, 10:53:03 PM6/27/12
to fsharp-o...@googlegroups.com, Sega Able
We've been communicating behind the scenes, and my repo has been tracking Ihor's latest changes. However, the version in my repository has maintained the makefile infrastructure so that the binding project can still be compiled and installed from the command line.

As I mentioned, it would be good to hear from people about what features aren't working in 3.0.2 that were working in earlier versions. I made a few quick hacks to get things into a state where the bindings compile, install, and are basically usable in 3.0.2, but that doesn't mean everything is fully functional.

To post to this group, send email to fsharp-opensource@googlegroups.com


To unsubscribe from this group, send email to

Robin Neatherway

unread,
Jun 28, 2012, 5:40:45 AM6/28/12
to fsharp-o...@googlegroups.com, Sega Able
I'd like to get up to date, so a few questions. Are you compiling
monodevelop from source from the git tag? Are the 3.0X series broadly
compatible (I notice there are some further point releases after
3.02)?

There was another line of work in May from Scott Stephens
https://github.com/scottstephens/fsharpbinding - I wonder if any of
that is transferable here.
>> To post to this group, send email to fsharp-o...@googlegroups.com
>> To unsubscribe from this group, send email to
>> fsharp-opensou...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/fsharp-opensource?hl=en
>
> --
> You received this message because you are subscribed to the Google
> Groups "FSharp Open Source Community" group.
> To post to this group, send email to fsharp-o...@googlegroups.com
> To unsubscribe from this group, send email to
> fsharp-opensou...@googlegroups.com

Robin Neatherway

unread,
Jun 28, 2012, 6:24:55 AM6/28/12
to fsharp-o...@googlegroups.com, Sega Able
Here's my report. I compiled monodevelop-3.0.2 from the tag on github.
I then compiled the F# bindings from psfblair on github. The
compilation and installation was smooth and monodevelop loaded with
the bindings without issues. In monodevelop itself I created a new F#
solution and had a quick look at what was working:

1. FSI worked, I can send stuff to the REPL and interact with it correctly.
2. Code completion did not work. It seemed it was trying to do
something (there was a pause after a '.'), but no options came up.
3. Compilation of the project failed. `Error: Framework 'Mono / .NET
3.5' not installed. (test8)' I further found that in the project
options under "General", the selected framework was "Mono/.NET 3.5"
and this was greyed out so I couldn't change it to 2.0/4.0.
4. The following exception was emitted to the console where I ran monodevelop:

ERROR [2012-06-28 11:15:58Z]: Error loading template id
FSharpTutorialProject in addin MonoDevelop.FSharpBinding:
System.ApplicationException: Template FSharpTutorialProject.xpt.xml not found
at MonoDevelop.Ide.Codons.ProjectTemplateCodon.GetTemplate ()
[0x0009d] in /home/scratch/robin/build/monodevelop-git/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Codons/ProjectTemplateCodon.cs:66
at MonoDevelop.Ide.Templates.ProjectTemplate..ctor
(Mono.Addins.RuntimeAddin addin, System.String id,
MonoDevelop.Ide.Codons.ProjectTemplateCodon codon, System.String
overrideLanguage) [0x00011] in
/home/scratch/robin/build/monodevelop-git/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/ProjectTemplate.cs:136
at MonoDevelop.Ide.Templates.ProjectTemplate.OnExtensionChanged
(System.Object s, Mono.Addins.ExtensionNodeEventArgs args) [0x00017]
in /home/scratch/robin/build/monodevelop-git/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/ProjectTemplate.cs:260

Thanks for the work you have put into improving the bindings. Have you
seen any of these problems on your system?

Cheers,
Robin

Paul Blair

unread,
Jun 28, 2012, 9:10:09 AM6/28/12
to fsharp-o...@googlegroups.com
Scott Stephens' code line was picked up by the Summer of Code project, which I've been tracking.

My installation of MonoDevelop is via the 3.0.2 installer; it recently updated itself to 3.0.3. I had a brief success with the F# bindings on 3.0.2 before the update. My impression is that the point releases are not likely to cause significant breakage.


On Thursday, June 28, 2012 5:40:45 AM UTC-4, Robin Neatherway wrote:
I'd like to get up to date, so a few questions. Are you compiling
monodevelop from source from the git tag? Are the 3.0X series broadly
compatible (I notice there are some further point releases after
3.02)?

There was another line of work in May from Scott Stephens
https://github.com/scottstephens/fsharpbinding - I wonder if any of
that is transferable here.

>> To post to this group, send email to fsharp-opensource@googlegroups.com
>> To unsubscribe from this group, send email to
>> For more options, visit this group at
>> http://groups.google.com/group/fsharp-opensource?hl=en
>
> --
> You received this message because you are subscribed to the Google
> Groups "FSharp Open Source Community" group.
> To post to this group, send email to fsharp-opensource@googlegroups.com
> To unsubscribe from this group, send email to

Paul Blair

unread,
Jun 28, 2012, 9:16:43 AM6/28/12
to fsharp-o...@googlegroups.com
I can attest that the tutorial project template doesn't load. I'll look into that.

Code completion is working for me, at least mostly. (Sometimes it seems as though it should be working but I don't get any completions.) Can you provide the examples you're using to test completion? If I type "Array." I do get a pulldown of the Array functions.

With regard to the "selected framework" issue I'm not sure that this is an issue with the bindings, or how to help with it. At first blush it sounds like a MonoDevelop issue.
>>> To post to this group, send email to fsharp-opensource@googlegroups.com
>>> To unsubscribe from this group, send email to
>>> For more options, visit this group at
>>> http://groups.google.com/group/fsharp-opensource?hl=en
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "FSharp Open Source Community" group.
>> To post to this group, send email to fsharp-opensource@googlegroups.com
>> To unsubscribe from this group, send email to

Robin Neatherway

unread,
Jun 28, 2012, 10:04:27 AM6/28/12
to fsharp-o...@googlegroups.com
On Thu, Jun 28, 2012 at 2:16 PM, Paul Blair <pbl...@cyrusinnovation.com> wrote:
> I can attest that the tutorial project template doesn't load. I'll look into
> that.

Great thanks. I will too if I solve the more pressing concerns.

> Code completion is working for me, at least mostly. (Sometimes it seems as
> though it should be working but I don't get any completions.) Can you
> provide the examples you're using to test completion? If I type "Array." I
> do get a pulldown of the Array functions.

System.Console. or List. both yield no completions.

> With regard to the "selected framework" issue I'm not sure that this is an
> issue with the bindings, or how to help with it. At first blush it sounds
> like a MonoDevelop issue.

I seem to have the same problem with C# projects, so looks like I need
to sort this first. How tedious.

What platform are you running on? Sounds like Windows with that
mention of an installer.
>> >>> fsharp-o...@googlegroups.com
>> >>> To unsubscribe from this group, send email to
>> >>> fsharp-opensou...@googlegroups.com
>> >>> For more options, visit this group at
>> >>> http://groups.google.com/group/fsharp-opensource?hl=en
>> >>
>> >> --
>> >> You received this message because you are subscribed to the Google
>> >> Groups "FSharp Open Source Community" group.
>> >> To post to this group, send email to fsharp-o...@googlegroups.com
>> >> To unsubscribe from this group, send email to
>> >> fsharp-opensou...@googlegroups.com
>> >> For more options, visit this group at
>> >> http://groups.google.com/group/fsharp-opensource?hl=en
>
> --
> You received this message because you are subscribed to the Google
> Groups "FSharp Open Source Community" group.
> To post to this group, send email to fsharp-o...@googlegroups.com
> To unsubscribe from this group, send email to
> fsharp-opensou...@googlegroups.com

Paul Blair

unread,
Jun 28, 2012, 10:09:56 PM6/28/12
to fsharp-o...@googlegroups.com
With regard to autocomplete, if I create a new project and go into Program.fs, its code is:

open System

do

  Console.WriteLine("Hello world!")


If I type "Console." I don't get completions. However, if I type "System.Console." I get completions. "List." also gives me completions. Do you get the completions in C#?

I'm actually on Mac OSX. There's a .dmg installer for MonoDevelop.

On Thursday, June 28, 2012 10:04:27 AM UTC-4, Robin Neatherway wrote:
>> >>> To unsubscribe from this group, send email to
>> >>> For more options, visit this group at
>> >>> http://groups.google.com/group/fsharp-opensource?hl=en
>> >>
>> >> --
>> >> You received this message because you are subscribed to the Google
>> >> Groups "FSharp Open Source Community" group.
>> >> To post to this group, send email to fsharp-opensource@googlegroups.com
>> >> To unsubscribe from this group, send email to
>> >> For more options, visit this group at
>> >> http://groups.google.com/group/fsharp-opensource?hl=en
>
> --
> You received this message because you are subscribed to the Google
> Groups "FSharp Open Source Community" group.
> To post to this group, send email to fsharp-opensource@googlegroups.com
> To unsubscribe from this group, send email to

Sega Able

unread,
Jun 30, 2012, 4:05:55 AM6/30/12
to fsharp-o...@googlegroups.com
Hi guys, Hi Tomas,
I have been updating mono-soc-repo constantly :) 
Completion is not working on my MD 3.0.3.2 on Linux at all, however, on Windows everything works fine (except tooltips). These all seems strange for me so I am developing addin under Windows :) 
I have fixed one line in FSharpTutorialProject.xpt.xml and it works for me. Please grab the latest commits ;-)
F# addin sources have been at addins repo for over a week or more though it can`t be built since repo`s server hasn`t installed F# and its MSBuild implementation yet so that I need to assist Lluis in order to make F# sources build and become available.

Thanks,
Ihor.

2012/6/29 Paul Blair <pbl...@cyrusinnovation.com>
To post to this group, send email to fsharp-o...@googlegroups.com

To unsubscribe from this group, send email to

Paul Blair

unread,
Jun 30, 2012, 9:36:38 PM6/30/12
to fsharp-o...@googlegroups.com
Thanks Ihor! I've merged your latest changes into my code branch. A few things:
  • Ihor, the first character of the tutorial project template file you checked in appears to be a space. This causes my MonoDevelop to throw an error at startup and ignore the template. My code branch has a version without the space that compiles and successfully can create a tutorial project from the template.
  • I may have more on the mystery of autocomplete. It appears that the completions take some time to load. For the first few minutes after I open a project, I don't get any solutions, but after a little while they become available. This appears to happen whether or not I build the project.
  • Question: Would you folks and anyone else on the Summer of Code project like to use a Trello board for tracking tasks? This might make it convenient to coordinate work among various contributors. I've already created a public board and would be happy to add anyone as members if you like the idea. (It's at https://trello.com/board/f-bindings-for-monodevelop/4fef9e9b7406c22c7a42c81b .) I've added a few cards there for to-do items that I know about, but I imagine there are many more.
  • I'm planning to do some work in figuring out if I can add a suite of tests to the project. I'm thinking of using TickSpec, which could be used to serve as an executable specification for the project. I'm not sure how this is going to turn out, since the code has lots of fingers into MonoDevelop code, but it will be an interesting experiment. I'm doing this on my own code branch.

On Saturday, June 30, 2012 4:05:55 AM UTC-4, sega wrote:
Hi guys, Hi Tomas,
I have been updating mono-soc-repo constantly :) 
Completion is not working on my MD 3.0.3.2 on Linux at all, however, on Windows everything works fine (except tooltips). These all seems strange for me so I am developing addin under Windows :) 
I have fixed one line in FSharpTutorialProject.xpt.xml and it works for me. Please grab the latest commits ;-)
F# addin sources have been at addins repo for over a week or more though it can`t be built since repo`s server hasn`t installed F# and its MSBuild implementation yet so that I need to assist Lluis in order to make F# sources build and become available.

Thanks,
Ihor.

2012/6/29 Paul Blair
With regard to autocomplete, if I create a new project and go into Program.fs, its code is:

Robin Neatherway

unread,
Jul 4, 2012, 5:04:45 AM7/4/12
to fsharp-o...@googlegroups.com
Trello looks interesting, haven't seen that before. I have an update
on my experience with the plugin:

I set up a parallel mono environment again with 2.11. Running
monodevelop 3.0.3 using this mono installation things are working
better:

1. FSI -- works perfectly
2. Compilation of C#/F# projects -- works perfectly
3. Auto-complete in C# projects -- works perfectly
4. Auto-complete in F# projects -- still does not work
5. Debugging C#/F# projects -- no terminal window displayed

When I go to debug/run a project, I would expect a terminal window to
pop up for a Console Application so that I can see the output, but
this doesn't happen. This isn't a big issue, but is this one other
people have seen?

So I am still not seeing the auto-complete information. The first time
I enter a dot e.g. 'List.' there is a delay, but nothing comes up.
After that nothing. Is there a way to get an idea of what the plugin
is trying so I can track down the issue?

I'm keen to get this working so that I can help contribute to getting
the plugin properly supported.

Cheers,
Robin

Paul Blair

unread,
Jul 4, 2012, 12:42:13 PM7/4/12
to fsharp-o...@googlegroups.com
Robin, maybe I missed this earlier in the thread, but what platform are you running on?


On Wednesday, July 4, 2012 5:04:45 AM UTC-4, Robin Neatherway wrote:
Trello looks interesting, haven't seen that before. I have an update
on my experience with the plugin:

I set up a parallel mono environment again with 2.11. Running
monodevelop 3.0.3 using this mono installation things are working
better:

1. FSI -- works perfectly
2. Compilation of C#/F# projects -- works perfectly
3. Auto-complete in C# projects -- works perfectly
4. Auto-complete in F# projects -- still does not work
5. Debugging C#/F# projects -- no terminal window displayed

When I go to debug/run a project, I would expect a terminal window to
pop up for a Console Application so that I can see the output, but
this doesn't happen. This isn't a big issue, but is this one other
people have seen?

So I am still not seeing the auto-complete information. The first time
I enter a dot e.g. 'List.' there is a delay, but nothing comes up.
After that nothing. Is there a way to get an idea of what the plugin
is trying so I can track down the issue?

I'm keen to get this working so that I can help contribute to getting
the plugin properly supported.

Cheers,
Robin

> To post to this group, send email to fsharp-opensource@googlegroups.com
> To unsubscribe from this group, send email to
> fsharp-opensource+unsubscribe@googlegroups.com

Robin Neatherway

unread,
Jul 4, 2012, 12:49:51 PM7/4/12
to fsharp-o...@googlegroups.com
I'm using Fedora 16.
>> > To post to this group, send email to fsharp-o...@googlegroups.com
>> > To unsubscribe from this group, send email to
>> > fsharp-opensou...@googlegroups.com
>> > For more options, visit this group at
>> > http://groups.google.com/group/fsharp-opensource?hl=en
>
> --
> You received this message because you are subscribed to the Google
> Groups "FSharp Open Source Community" group.
> To post to this group, send email to fsharp-o...@googlegroups.com
> To unsubscribe from this group, send email to
> fsharp-opensou...@googlegroups.com

Sega Able

unread,
Jul 5, 2012, 2:28:06 AM7/5/12
to fsharp-o...@googlegroups.com
As I mentioned earlier, there is some mistery around completion in MD 3.0 ( I don`t have one for any language and project under Linux). Personally for me, completion works great under Windows :) But we need to track down why it doesn`t work on Linux.

2012/7/4 Robin Neatherway <neath...@gmail.com>

Robin Neatherway

unread,
Jul 6, 2012, 5:54:41 AM7/6/12
to fsharp-o...@googlegroups.com
Right OK. I find the completion to be very good and fast on C#, so I
feel I am in a good position to debug the F# completion. I am very
busy for the next few days, but I will try to dig into the F# addin
code later next week.

Ben

unread,
Jul 6, 2012, 7:48:01 PM7/6/12
to fsharp-o...@googlegroups.com
On Windows+MonoDevelop 3.0 I also get a long delay before completions are available (I don't think its just on Linux). It is because of the background agents - the way they are right now it takes at least 30 seconds before the first idle update of the background compiler kicks in. That's partly because of this 30 second delay:
 
   /// How often should we trigger the 'OnIdle' event and run
   /// background compilation of the current project?
   let idleTimeout = 30000
Reducing this to something small like 3 seconds makes things ok, but I think some other changes are needed because the first intellisense request should trigger a background update (it shouldn't wait for an idle call)
 
Ben

Ajit Dingankar

unread,
Aug 12, 2012, 11:16:38 AM8/12/12
to fsharp-o...@googlegroups.com, Sega Able
FIrst of all, thanks everybody for the excellent work! I think I'm very close to be able to use the plugin.
Wanted to report my experience with it so far.

Experiment 1:
MD 3.0.x on WIndows 7 (64 bit). All the features I tried work perfectly. Thanks!!!

Experiment 2:
MD 3.0.3.4 on OpenSUSE 11.4 (64-bit) as a guest OS running in VirtualBox on Windows 7 (64 bit) host.
(Don't ask why, it's my work machine. ;-) I installed plugin version 3.1.1 just now, and File -> Open gives
an error reported in the footer below. Disabling the plugin restores usual functionality.

Thanks,
Ajit
====
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeLoadException: A type load exception has occurred.
  at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0011e] in /usr/src/packages/BUILD/mono-2.10.9/mcs/class/corlib/System.Reflection/MonoMethod.cs:526
  --- End of inner exception stack trace ---
  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00131] in /usr/src/packages/BUILD/mono-2.10.9/mcs/class/corlib/System.Reflection/MonoMethod.cs:532
  at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in /usr/src/packages/BUILD/mono-2.10.9/mcs/class/corlib/System.Reflection/MonoMethod.cs:541
  at System.Reflection.ConstructorInfo.Invoke (System.Object[] parameters) [0x0000e] in /usr/src/packages/BUILD/mono-2.10.9/mcs/class/corlib/System.Reflection/ConstructorInfo.cs:62
  at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x000c7] in /usr/src/packages/BUILD/mono-2.10.9/mcs/class/corlib/System/Activator.cs:333
  at System.Activator.CreateInstance (System.Type type) [0x00000] in /usr/src/packages/BUILD/mono-2.10.9/mcs/class/corlib/System/Activator.cs:224
  at Mono.Addins.TypeExtensionNode.CreateInstance () [0x00000] in /usr/src/packages/BUILD/mono-addins-0.6.1/Mono.Addins/Mono.Addins/TypeExtensionNode.cs:93
  at Mono.Addins.InstanceExtensionNode.GetInstance () [0x0000b] in /usr/src/packages/BUILD/mono-addins-0.6.1/Mono.Addins/Mono.Addins/InstanceExtensionNode.cs:73
  at MonoDevelop.Projects.Extensions.LanguageBindingCodon.get_LanguageBinding () [0x00000] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Core/MonoDevelop.Projects.Extensions/LanguageBindingCodon.cs:55
  at MonoDevelop.Projects.LanguageBindingService.<CheckBindings>m__4A (MonoDevelop.Projects.Extensions.LanguageBindingCodon codon) [0x00000] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Core/MonoDevelop.Projects/LanguageBindingService.cs:75
  at System.Linq.Enumerable+<CreateSelectIterator>c__Iterator27`2[MonoDevelop.Projects.Extensions.LanguageBindingCodon,MonoDevelop.Projects.ILanguageBinding].MoveNext () [0x00059] in /usr/src/packages/BUILD/mono-2.10.9/mcs/class/System.Core/System.Linq/Enumerable.cs:2229
  at System.Collections.Generic.List`1[MonoDevelop.Projects.ILanguageBinding].AddEnumerable (IEnumerable`1 enumerable) [0x0001a] in /usr/src/packages/BUILD/mono-2.10.9/mcs/class/corlib/System.Collections.Generic/List.cs:126
  at System.Collections.Generic.List`1[MonoDevelop.Projects.ILanguageBinding]..ctor (IEnumerable`1 collection) [0x0002f] in /usr/src/packages/BUILD/mono-2.10.9/mcs/class/corlib/System.Collections.Generic/List.cs:63
  at MonoDevelop.Projects.LanguageBindingService.CheckBindings () [0x0000a] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Core/MonoDevelop.Projects/LanguageBindingService.cs:75
  at MonoDevelop.Projects.LanguageBindingService.get_LanguageBindings () [0x00000] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Core/MonoDevelop.Projects/LanguageBindingService.cs:67
  at MonoDevelop.Ide.Templates.FileTemplate.ExpandLanguageWildcards (System.Collections.Generic.List`1 list) [0x00010] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/FileTemplate.cs:490
  at MonoDevelop.Ide.Templates.FileTemplate.get_SupportedLanguages () [0x00041] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/FileTemplate.cs:452
  at MonoDevelop.Ide.Templates.FileTemplate.GetCompatibleLanguages (MonoDevelop.Projects.Project project, System.String projectPath) [0x00006] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/FileTemplate.cs:423
  at MonoDevelop.Ide.Projects.NewFileDialog.InitializeTemplates () [0x0006d] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewFileDialog.cs:272
  at MonoDevelop.Ide.Projects.NewFileDialog.InitializeDialog (Boolean update) [0x00032] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewFileDialog.cs:154
  at MonoDevelop.Ide.Projects.NewFileDialog.InitializeComponents () [0x0040e] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewFileDialog.cs:655
  at MonoDevelop.Ide.Projects.NewFileDialog..ctor (MonoDevelop.Projects.Project parentProject, System.String basePath) [0x00059] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewFileDialog.cs:83
  at MonoDevelop.Ide.Commands.NewFileHandler.Run () [0x00000] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/FileCommands.cs:110
  at MonoDevelop.Components.Commands.CommandHandler.Run (System.Object dataItem) [0x00000] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandHandler.cs:61
  at MonoDevelop.Components.Commands.CommandHandler.InternalRun (System.Object dataItem) [0x00000] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandHandler.cs:42
  at MonoDevelop.Components.Commands.CommandManager.DefaultDispatchCommand (MonoDevelop.Components.Commands.ActionCommand cmd, MonoDevelop.Components.Commands.CommandInfo info, System.Object dataItem, System.Object target, CommandSource source) [0x00064] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs:1096
  at MonoDevelop.Components.Commands.CommandManager.DispatchCommand (System.Object commandId, System.Object dataItem, System.Object initialTarget, CommandSource source) [0x002d1] in /usr/src/packages/BUILD/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs:1067

Ibrahim Hadad

unread,
Aug 12, 2012, 11:18:58 AM8/12/12
to fsharp-o...@googlegroups.com
I have a similar setup as yours except I used Ubuntu instead of SUSE.  You may want to look at my install steps.  Maybe there is something there which may be able to help you.

Regards,

Ibrahim L. Hadad - Abe



--
You received this message because you are subscribed to the Google
Groups "FSharp Open Source Community" group.
To post to this group, send email to fsharp-o...@googlegroups.com

To unsubscribe from this group, send email to

Ajit Dingankar

unread,
Aug 12, 2012, 11:37:08 AM8/12/12
to fsharp-o...@googlegroups.com
Hi Abe!
Sorry about the earlier message requesting your install steps. I found your earlier post

Thanks,
Ajit
====

Ibrahim Hadad

unread,
Aug 12, 2012, 11:49:58 AM8/12/12
to fsharp-o...@googlegroups.com
Monodevelop was crashing when I was opening an F# solution, however, after I created a C# project I could open an F# solution without it crashing.  See my instructions below:


I hope this the correct place to report my testing with the F# binding.  In summary:
FSC Version: 2.0
FSI Version:2.0
F Sharp Binding Version: 3.1.0
MonoDevelop 3.0.3.2
Installation UUID: e9a8056e-7616-47b9-a808-1c8d981ae1b3
Runtime:
Mono 2.10.8.1 (Debian 2.10.8.1-5ubuntu1) (64-bit)
GTK 2.24.11
GTK# (2.12.0.0)
Build information:
Git revision: 7bf6ac0ca43c1b12703176ad9933c3484c05c84c-dirty
Build date: 2012-06-23 10:08:14+0000
Operating System:
        OS Version: Ubuntu 12.10
Linux ubuntudevvm 3.5.0-8-generic #8-Ubuntu SMP Sat Aug 4 04:42:28 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

To get this to work I had to:

Install mono -> sudo apt-get install mono-complete
Installed Monodevelop -> sudo apt-get install monodevelop

I also had to download and compile F# but first I installed the following packages:
- sudo apt-get install libgdiplus
- sudo apt-get install git
- sudo  apt-get install autoconf
- get F# source and compile:
  - mkdir src
  - cd src
  - git clone git://github.com/fsharp/fsharp
  - cd fsharp/
  - autoreconf
  - ./configure
  - make
  - make install
Install in the GAC the following:
- gacutil -i /usr/local/lib/mono/4.0/FSharp.Compiler.Server.Shared.dll
- gacutil -i /usr/local/lib/mono/4.0/FSharp.Compiler.dll
- gacutil -i /usr/local/lib/mono/4.0/FSharp.Core.dll

Fired up Monodevelop and then installed via the add-ins F# Bindings.

So far these are the things that I see working:
- Intellisense works
- Tool tips works
F# interactive window works

Ran Monodevelop via the command line as such:
monodevelop --no-redirect > monodevelop.log

Got the following warning:
WARNING [2012-08-07 13:14:28Z]: Inotify watch limit is too low (8192).
MonoDevelop will switch to managed file watching.

Cleaned it up by following the instructions in the link above (which came from the applications logged output).

Opened Monodevelop again.  Open the tutorial project and crashed Mono develop.  It leaves the "mono" process pegging a core at 100%:
  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND           
 4904 ilhadad   20   0  395m  76m  13m R 100.4  3.8   3:06.63 mono

I am able to replicate this problem by:
1) opening the F# tutorial project.
2) Opening the tutorial source code file.
3) moving my mouse to the right edge of the screen -> crashes monodevelop.

Any pearls of wisdom on how to proceed?  Thanks for your effort.

Regards,

Abe


Ibrahim L. Hadad - Abe

Ajit Dingankar

unread,
Aug 12, 2012, 10:03:57 PM8/12/12
to fsharp-o...@googlegroups.com
Thanks, Abe! I installed mono and monodevelop and compiled F# on Ubuntu 12.04 (64-bit)
following your instructions, but I couldn't find the F# binding in the Add-In manager. Can you
please explain how you installed the F# binding?

So I tried to build it from sources from the git project at:
http://github.com/fsharp/fsharpbinding.git
but got the following error re ICSharpCode.NRefactory.CSharp.dll' during make, though configure.sh
was successful as can be seen from the excerpt below. (I also tried it from Chris Marinos' repo, but
got a lot more -- but different -- errors. ;-)
----
Successfully found MonoDevelop root directory. /usr/lib/monodevelop
Successfully found F# root directory. /usr/local/lib/mono/4.0
Successfully found Mono root directory. /usr/lib/mono/4.0
Successfully found Gtk# root directory. /usr/lib/cli/gtk-sharp-2.0
Successfully found Glib# root directory. /usr/lib/cli/glib-sharp-2.0
Successfully found Atk# root directory. /usr/lib/cli/atk-sharp-2.0
Successfully found Gdk# root directory. /usr/lib/cli/gdk-sharp-2.0
Successfully found Pango root directory. /usr/lib/cli/pango-sharp-2.0
Successfully found Mono.Addins directory. /usr/lib/cli/Mono.Addins-0.2
Successfully found MonoDevelop.SourceEditor2.dll directory. /usr/lib/monodevelop/AddIns
Using F# compiler :  /usr/local/bin/fsharpc
Using C# compiler :  /usr/bin/gmcs
ajit@ajit-Ubuntu64-12-04:~/Downloads/src/fsharpbinding$ make
/usr/local/bin/fsharpc --resident --noframework --debug --optimize- --target:library -r:bin/FSharpBinding.Gui.dll --out:bin/FSharpBinding.dll -r:/usr/lib/mono/4.0/mscorlib.dll -r:System.dll -r:System.Core.dll -r:System.Xml.dll -r:/usr/lib/mono/4.0/Mono.Posix.dll -r:/usr/lib/mono/4.0/Mono.Cairo.dll -r:/usr/lib/cli/Mono.Addins-0.2/Mono.Addins.dll -r:/usr/lib/monodevelop/bin/MonoDevelop.Core.dll -r:/usr/lib/monodevelop/bin/MonoDevelop.Ide.dll -r:/usr/lib/monodevelop/AddIns/MonoDevelop.Refactoring/MonoDevelop.Refactoring.dll -r:/usr/lib/monodevelop/AddIns/MonoDevelop.SourceEditor2.dll -r:/usr/lib/monodevelop/bin/Mono.TextEditor.dll -r:/usr/lib/monodevelop/bin/ICSharpCode.NRefactory.dll -r:/usr/lib/monodevelop/bin/ICSharpCode.NRefactory.CSharp.dll -r:/usr/local/lib/mono/4.0/FSharp.Core.dll -r:/usr/local/lib/mono/4.0/FSharp.Compiler.dll -r:/usr/local/lib/mono/4.0/FSharp.Compiler.Interactive.Settings.dll -r:/usr/local/lib/mono/4.0/FSharp.Compiler.Server.Shared.dll -r:/usr/lib/cli/atk-sharp-2.0/atk-sharp.dll -r:/usr/lib/cli/pango-sharp-2.0/pango-sharp.dll -r:/usr/lib/cli/gtk-sharp-2.0/gtk-sharp.dll -r:/usr/lib/cli/gdk-sharp-2.0/gdk-sharp.dll -r:/usr/lib/cli/glib-sharp-2.0/glib-sharp.dll --resource:MonoDevelop.FSharpBinding/FSharpBinding.addin.xml --resource:MonoDevelop.FSharpBinding/templates/EmptyFSharpSource.xft.xml --resource:MonoDevelop.FSharpBinding/templates/EmptyFSharpScript.xft.xml --resource:MonoDevelop.FSharpBinding/templates/FSharpConsoleProject.xpt.xml --resource:MonoDevelop.FSharpBinding/templates/FSharpLibraryProject.xpt.xml --resource:MonoDevelop.FSharpBinding/templates/FSharpTutorialProject.xpt.xml --resource:MonoDevelop.FSharpBinding/templates/FSharpSyntaxMode.xml --resource:MonoDevelop.FSharpBinding/icons/fsharp-icon-32.png --resource:MonoDevelop.FSharpBinding/icons/fsharp-script-32.png --resource:MonoDevelop.FSharpBinding/icons/fsharp-file-icon.png --resource:MonoDevelop.FSharpBinding/icons/fsharp-project-icon.png --resource:MonoDevelop.FSharpBinding/icons/fsharp-script-icon.png MonoDevelop.FSharpBinding/PowerPack/CodeDomVisitor.fs MonoDevelop.FSharpBinding/PowerPack/CodeDomGenerator.fs MonoDevelop.FSharpBinding/PowerPack/CodeProvider.fs MonoDevelop.FSharpBinding/PowerPack/LazyList.fsi MonoDevelop.FSharpBinding/PowerPack/LazyList.fs MonoDevelop.FSharpBinding/Services/Mailbox.fs MonoDevelop.FSharpBinding/Services/Parameters.fs MonoDevelop.FSharpBinding/Services/Common.fs MonoDevelop.FSharpBinding/Services/CompilerLocationUtils.fs MonoDevelop.FSharpBinding/Services/FSharpCompiler.fs MonoDevelop.FSharpBinding/Services/Parser.fs MonoDevelop.FSharpBinding/Services/CompilerArguments.fs MonoDevelop.FSharpBinding/Services/LanguageService.fs MonoDevelop.FSharpBinding/Services/CompilerService.fs MonoDevelop.FSharpBinding/Services/InteractiveSession.fs MonoDevelop.FSharpBinding/FSharpInteractivePad.fs MonoDevelop.FSharpBinding/FSharpOptionsPanels.fs MonoDevelop.FSharpBinding/FSharpSyntaxMode.fs MonoDevelop.FSharpBinding/FSharpResourceIdBuilder.fs MonoDevelop.FSharpBinding/FSharpLanguageBinding.fs MonoDevelop.FSharpBinding/FSharpProjectFileNodeExtension.fs MonoDevelop.FSharpBinding/FSharpProjectServiceExtension.fs MonoDevelop.FSharpBinding/FSharpParser.fs MonoDevelop.FSharpBinding/FSharpTextEditorCompletion.fs MonoDevelop.FSharpBinding/FSharpResolverProvider.fs 
Microsoft (R) F# 2.0 Compiler build 1.9.9.11
Copyright (c) 2002-2011 Microsoft Corporation. All Rights Reserved.

error FS0078: Unable to find the file '/usr/lib/monodevelop/bin/ICSharpCode.NRefactory.CSharp.dll' in any of
 /usr/lib/mono/4.0
 /home/ajit/Downloads/src/fsharpbinding
 /usr/local/lib/mono/4.0
make: *** [bin/FSharpBinding.dll] Error 1
----

Any help will be greatly appreciated!



Thanks,
Ajit
====

Sega Able

unread,
Aug 13, 2012, 4:21:54 AM8/13/12
to fsharp-o...@googlegroups.com
Hi Ajit,
What is the version of your MonoDevelop?

As far as your OS is 64-bit, maybe ICSharpCode.NRefactory.dll resides at 64-bit lib directory ?


2012/8/13 Ajit Dingankar <ajit.di...@gmail.com>

Ajit Dingankar

unread,
Aug 13, 2012, 1:40:23 PM8/13/12
to fsharp-o...@googlegroups.com
My MD version is 2.8.6.3 and I have /usr/lib/monodevelop/bin/ICSharpCode.NRefactory.dll
but not /usr/lib/monodevelop/bin/ICSharpCode.NRefactory.CSharp.dll so I have a feeling it's
not a 64-bit lib dir issue.

Thanks,
Ajit
====

Ibrahim Hadad

unread,
Aug 13, 2012, 2:12:08 PM8/13/12
to fsharp-o...@googlegroups.com
I opened Monodevelop and from within the tools menu I selected Add-In's.  In the add-in's dialog there is a way to download the plug-in directly.

Regards,

Ibrahim L. Hadad - Abe



Ajit Dingankar

unread,
Aug 13, 2012, 4:41:52 PM8/13/12
to fsharp-o...@googlegroups.com
Thanks for your patient help, Abe! The F# binding doesn't appear in my Add-In Manager (and I can't refresh the Gallery because of proxy issues).
The only bindings available in the repos are for MD v3.0+ so I installed pmono (parallel mono) from Iain Norton's excellent blog:
http://inorton.wordpress.com/pmono-parallel-mono-debian-pacakges/
and installed the F# binding 3.1.1 from local file after downloading it from
http://addins.monodevelop.com/Stable/Linux/3.0.3/MonoDevelop.FSharpBinding-3.1.1.mpack

Now I can at least run "Hello, F# World!" ;-)

Thanks,
Ajit
====

Ibrahim Hadad

unread,
Aug 13, 2012, 7:21:59 PM8/13/12
to fsharp-o...@googlegroups.com

Most excellent! Enjoy.

Reply all
Reply to author
Forward
0 new messages