3

I recently discovered Nemerle and F#, but I can't find any way to debug my applications. MonoDevelop 2.6 lacks support of Nemerle and F#, 2.4.2 and earlier crashes because of newer gnome-sharp lib is installed (I'm running up-to-date Arch Linux kernel-3.0 64-bit). Command-line mono debugger refuses to start saying "platform not supported". So few questions about this situation:

It is possible to debug mono applications using gdb without going on low-level (inside vm or so) ? How comfortable to use F# REPL for interactive development without debugger (compared to Common Lisp or Haskell's GHCi)?

gordon-quad
  • 734
  • 5
  • 15

4 Answers4

4

I use the F# Interactive environment to write F# code most of the time. Even with Visual Studio, the F# Interactive environment doesn't (reasonably) support debugger, so I mainly rely on the ability to easily run something interactively and see if it works - if it doesn't, it is usually easy to split into sub-components that can be tried interactively too. The great thing about F# Interactive, compared to for example GHCi, is that you can use it to evaluate pretty much anything - including type declarations.

The F# plugin for MonoDevelop 2.4 doesn't currently support debugging of compiled F# applications. I was able to use command line Mono debugger (mdb, I think), but that was on 32bit system.

I'm not sure why MonoDevelop doesn't correctly pick F# debug symbols, so this is most likely some basic bug. There are a few poeple working on F# plugin for MD 2.6, so that should hopefully be available soon. If anybody wanted to investigate why the debugging doesn't work, that would be great...

Tomas Petricek
  • 240,744
  • 19
  • 378
  • 553
  • "F# Interactive environment" - do you mean fsi.exe ? – gordon-quad Sep 12 '11 at 17:26
  • @argos - Yes, I mean `fsi.exe`. In an IDE like Visual Studio or MonoDevelop with F# plugin, it is also available as a tool window, so you can write code in a file in the IDE and send bits of it to the `fsi.exe` process that's visible in the IDE. This is what I usually call "F# Interactive Environment", but you can run `fsi.exe` as a standalone process too. – Tomas Petricek Sep 12 '11 at 17:33
  • For what it's worth, never underestimate the value of a well-placed `prinfn` statement. Also, fseye (http://code.google.com/p/fseye), may be an option, but I haven't tried it with Mono. – pblasucci Sep 12 '11 at 17:33
  • re: FsEye and Mono - I recently started exploring this (version 1.0.0 final works, and a recent issue fix makes it work for future versions), see http://code.google.com/p/fseye/issues/detail?id=37 – Stephen Swensen Dec 05 '12 at 10:33
3

Nemerle has great IDE support under Windows with Visual Studio and #Develop, better than F#, but there is nothing for Linux, as far as I know.

Don Reba
  • 13,814
  • 3
  • 48
  • 61
3

You can easily debug Nemerle in MonoDevelop. Just convert pdb to mono format using pdb2mdb tool: http://www.mono-project.com/Guide:Debugger Than just debug your application, and you get correct locations.

I even managed to debug Nemerle compiler using this trick.

NN_
  • 1,593
  • 1
  • 10
  • 26
0

About Linux and Nemerle : Nemerle got Vim bindings, Kwrite/Kate and some other editors got ntive Nemerle support. You can also add compiler option to any editors in Linux. Nemerle compiler is just works !

Nemerle MonoDevelop support in developing but really slow. F# got outdated MonodeVelop support as @Tomas said but what about new MonoDevelop ? PowerPack ? F# 3 ? That is complex task I think so.

Nemerle is OpenSource project. And I'm not sure about F# 3. I like F# but it's always behind the Microsoft hand. You are free to try both.

cnd
  • 32,616
  • 62
  • 183
  • 313