Mono version

What Mono version is Unity 2.0 using?
I couldn’t find it in the doc, or the releases notes, and Google couldn’t find it in the whole unity3d.com

Could you guys just put it in the “about” box for next point release?

Snooping around in the Frameworks directory contained in the Unity 2.0 bundle, it looks like Mono 1.2.5…

MonoCompiler.framework: ./mono --version
Mono JIT compiler version 1.2.5 (tarball)
Copyright (C) 2002-2007 Novell, Inc and Contributors. [url]www.mono-project.com[/url]
        TLS:           normal
        GC:            Included Boehm (with typed GC)
        SIGSEGV:       normal
        Architecture:  x86
        Disabled:      com,ssa,aot,debug

Does that mean, that I could hack Unity to use (unsupported of course) additional languages (e.g. F#) supported by 1.2.5?

No hacking required. Unity can use a DLL generated by any CLR compiler - I wrote a bit of test code with Nemerle a while back. (I’ve never subsequently found a use for Nemerle code in Unity but at least I now know I have the option.) You have to link against Unity DLLs if you want to use Unity API functions, though. You noticed UnityEngine.dll while you were in the Frameworks folder, maybe?

I’ve always thought there was a place for a purpose-built language for graphics, but I’ve never found a solid example of such a thing. I considered F# as a possible substitute, but I understood it was basicallly like OCaml (Nemerle is much the same kind of thing and I wasn’t completely convinced by it). Have you tried F# for graphical work? If so, did you find it to be any good?

Thanks sleepyCat! (isn’t your nick a pleonasm :wink: ?)

Any idea if that means we can use C# 3.0 features?
=> http://go-mono.com/archive/1.2.5/

I didn’t know about F# either… I’ll keep an eye on it.

This is of no use for Unity, but Haskell might be of interest to you (especially the Book from Hudak).

I never did anything mentionable with F#. I just happen to like the ML family and my personal intuition 8) tells me, that Unity and F# somehow make sense :smile:

In what regard was Nemerle lacking for you?

More of a hendiadyoin, as I wanted to do huge things with Unity when they started and then completely disappeared (until now)… so I changed my nick :smile:

If I am forced to guess, I would say so. But I have no clue at all. It should be easy to test, though?

I’ve got Hudak’s book, actually. As you say, not much use for Unity, at least not until someone invents Haskell#…

I quite like Nemerle, but I’ve found that the array-handling abilities of this type of language tend to be overstated. I think what I am looking for, ideally, is array processing in the manner of APL or Fortran90. Having built-in types for colours, vectors and times with their own operators would be useful, too.

Of course, you can easily do without these things, but I think it would make for very expressive graphic code.

In which way differ APL’s or Fortran’s array processing capabilities from list comprehension? (I have no clue about APL/Fortran and understand if this is too complicated for a quick explanation)

I believe, “without all the things you can easily do without” is also called assembler programming :smile:

In these languages, you can write things like:-

a = b + c

…where a, b and c can all be arrays; it will sum corresponding elements of the arrays or add a scalar to each element of a single array, etc. You can also use an additional array of booleans as a mask to specify which elements you want to operate on, and there are various other goodies, too. It doesn’t sound all that special, but you seldom need to use a loop in APL and it’s surprisingly efficient in execution.

Too true! All I meant was that I’m not saying I expect Unity to provide a language like this in the future (a million cool points if they do, though).