digitalmars.D - F# = D + reflection
- Hasan Aljudy (10/10) Jun 07 2007 I just found this language on a semi-random website ..
- Babele Dunnit (10/13) Jun 08 2007 from the "getting started":
- eao197 (8/10) Jun 08 2007 F# is not like D :)
- Sean Kelly (3/5) Jun 08 2007 And guaranteed to only work on Windows, count me in!
- Bent Rasmussen (5/10) Jun 08 2007 As a .NET language, how would it only work on Windows?
- Sean Kelly (4/5) Jun 08 2007 Does anyone actually use .NET on other OSes? So far I don't see Mono as...
- eao197 (5/9) Jun 08 2007 AFAIK, Nemerle language mainly developed on Mono under Linux.
- Bent Rasmussen (7/10) Jun 08 2007 That's a pretty bold statement. If mono can run all Windows Forms
- Leandro Lucarella (17/21) Jun 08 2007 There are many FLOSS applications using Mono (unfortunately).
- Jan Claeys (8/11) Jun 09 2007 Maybe Novell wants that, but others are using Python, C or C++ to
- nick (4/12) Jun 09 2007 Mono is used quite a bit to run in-house applications at some major
- Dejan Lekic (1/1) Jun 08 2007 Well, since there are two open-source implementations of the .NET platfo...
- Rowan (7/7) Sep 12 2008 Um - F# is basically a port of OCaml to .NET. OCaml (Caml generally) ha...
- bmeck (1/1) Sep 12 2008 The one big complaint for F#, OCAML etc is that they may have features b...
- bearophile (6/7) Sep 12 2008 I don't know how much OCaml is fit as system language, maybe it's not mu...
- bmeck (2/2) Sep 12 2008 F# says on its site its speed compares to C#
- Hasan Aljudy (8/25) Jun 08 2007 lol, sorry for my "stupid" title,
- BCS (3/14) Jun 08 2007 While you are giving it a try, keep an eye out for cool things that D mi...
- justsomeone (4/4) Jul 05 2007 f# maybe nice, but it got the same drawback like c#, it's built for .net...
- Robert Fraser (38/38) Jul 05 2007 jThe more I look into this, the more I realize that D already has most o...
I just found this language on a semi-random website .. A Link to a new language from Microsoft! It's said to combine the best of staticly-typed languages and functional languages and scripting languages. Two points grabbed my attention: * Supports Reflection * Integrates with .NET I didn't try it out yet, I jumped here right away to share this http://research.microsoft.com/fsharp/fsharp.aspx It seems like it's D with Reflection and a good library!
Jun 07 2007
Hi Hasan,Hasan Aljudy Wrote: A Link to a new language from Microsoft!we needed it! :)It seems like it's D with Reflection and a good library!from the "getting started": ------- let res = (if x = 23 then "correct" else "incorrect") ------- uh? "let"?? It was since Sinclair BASIC I dont see a "let" instruction. And uses the same operator ("=") for assignment and test, which could be nice, but means the parser will be more complex than needed.. and then... guess what? conditional compilation! #ifdef!! I stop here. thumbs down. No way. D is not another planet, is another GALAXY. And if you need something like that, go Python. Bab.
Jun 08 2007
On Fri, 08 Jun 2007 10:51:33 +0400, Hasan Aljudy <hasan.aljudy gmail.com> wrote:http://research.microsoft.com/fsharp/fsharp.aspx It seems like it's D with Reflection and a good library!AFAIK, it is yet another incarnation of ML [1], now for .NET platform [1] http://en.wikipedia.org/wiki/ML_programming_language -- Regards, Yauheni Akhotnikau
Jun 08 2007
Hasan Aljudy wrote:It seems like it's D with Reflection and a good library!And guaranteed to only work on Windows, count me in! Sean
Jun 08 2007
As a .NET language, how would it only work on Windows? alike) "Sean Kelly" <sean f4.ca> wrote in message news:f4bss6$1obn$1 digitalmars.com...Hasan Aljudy wrote:It seems like it's D with Reflection and a good library!And guaranteed to only work on Windows, count me in! Sean
Jun 08 2007
Bent Rasmussen wrote:As a .NET language, how would it only work on Windows?Does anyone actually use .NET on other OSes? So far I don't see Mono as more than an intellectual curiosity. Sean
Jun 08 2007
On Fri, 08 Jun 2007 20:32:29 +0400, Sean Kelly <sean f4.ca> wrote:Bent Rasmussen wrote:AFAIK, Nemerle language mainly developed on Mono under Linux. -- Regards, Yauheni AkhotnikauAs a .NET language, how would it only work on Windows?Does anyone actually use .NET on other OSes? So far I don't see Mono as more than an intellectual curiosity.
Jun 08 2007
That's a pretty bold statement. If mono can run all Windows Forms applications that don't use any special namespaces (designed for Vista), it's a bit more than an intellectual curiosity for many people. :-) Besides that... http://www.mono-project.com/Software "Sean Kelly" <sean f4.ca> wrote in message news:f4c0at$1um7$1 digitalmars.com...Does anyone actually use .NET on other OSes? So far I don't see Mono as more than an intellectual curiosity. Sean
Jun 08 2007
Sean Kelly, el 8 de junio a las 09:32 me escribiste:Bent Rasmussen wrote:There are many FLOSS applications using Mono (unfortunately). AFAIK there is some intention to migrate all the GNOME project to Mono (unfortunately, again). -- LUCA - Leandro Lucarella - Usando Debian GNU/Linux Sid - GNU Generation ------------------------------------------------------------------------ E-Mail / JID: luca lugmen.org.ar GPG Fingerprint: D9E1 4545 0F4B 7928 E82C 375D 4B02 0FE0 B08B 4FB2 GPG Key: gpg --keyserver pks.lugmen.org.ar --recv-keys B08B4FB2 ------------------------------------------------------------------------ When I was a child I had a fever My hands felt just like two balloons. Now I've got that feeling once again I can't explain you would not understand This is not how I am. I have become comfortably numb.As a .NET language, how would it only work on Windows?Does anyone actually use .NET on other OSes? So far I don't see Mono as more than an intellectual curiosity.
Jun 08 2007
Op Fri, 8 Jun 2007 16:15:25 -0300 schreef Leandro Lucarella <llucax gmail.com>:There are many FLOSS applications using Mono (unfortunately). AFAIK there is some intention to migrate all the GNOME project to Mono (unfortunately, again).Maybe Novell wants that, but others are using Python, C or C++ to develop GNOME applications. Most of the core GNOME stuff is either C or Python (and also some C++). That said, there are several great Mono-based applications for GNOME too. -- Jan Claeys
Jun 09 2007
Sean Kelly wrote:Bent Rasmussen wrote:Mono is used quite a bit to run in-house applications at some major companies. I don't know about commercial apps, but it's certainly not at all just an intellectual curiosity.As a .NET language, how would it only work on Windows?Does anyone actually use .NET on other OSes? So far I don't see Mono as more than an intellectual curiosity. Sean
Jun 09 2007
Well, since there are two open-source implementations of the .NET platform I think it could work on various unices as well.
Jun 08 2007
around a lot longer than D, and in my opinion reflection is pretty minor compared And, OCaml certainly works on many platforms - I believe the compiler can target wrong. Those of us that know are still waiting for a language called E to come out that
Sep 12 2008
and a lot of meta programming using templates which I could use in other languages but it would be done at run time rather than compile time and require a large user installed library.
Sep 12 2008
bmeck Wrote:I don't know how much OCaml is fit as system language, maybe it's not much fit. But regarding speed, good OCaml code isn't that far from C-like languages: http://shootout.alioth.debian.org/debian/benchmark.php?test=all&lang=dlang&lang2=ocaml Bye, bearophile
Sep 12 2008
lol, sorry for my "stupid" title, I just felt excited when I was reading the description of the language and I jumped to conclusions before even trying the language. Yes, the syntax seems to differ, but as for me, I still would like to give it a try. Anyways, in my opinon, D needs these two things .. reflection and .net integration. Hasan Aljudy wrote:I just found this language on a semi-random website .. A Link to a new language from Microsoft! It's said to combine the best of staticly-typed languages and functional languages and scripting languages. Two points grabbed my attention: * Supports Reflection * Integrates with .NET I didn't try it out yet, I jumped here right away to share this http://research.microsoft.com/fsharp/fsharp.aspx It seems like it's D with Reflection and a good library!
Jun 08 2007
Reply to Hasan,lol, sorry for my "stupid" title, I just felt excited when I was reading the description of the language and I jumped to conclusions before even trying the language. Yes, the syntax seems to differ, but as for me, I still would like to give it a try. Anyways, in my opinon, D needs these two things .. reflection and .net integration.While you are giving it a try, keep an eye out for cool things that D might want to shamelessly steal.Hasan Aljudy wrote:
Jun 08 2007
just satisfy the needs of ms-programmers (yeah, i know mono... nothing more to say). but i fully agree with you in one point - d needs a reflection api and dynamic class loading like java...
Jul 05 2007
jThe more I look into this, the more I realize that D already has most of the reflection capabilities it needs. Flectioned: The syntax could be easier to use (not Thomas's fault, D just isn't that flexible with regards to runtime type info), but traced exceptions, etc. make this a VERY viable option. Better Windows support would be nice, but I tend to compile the .map file in as a resource and load it from there, so no harm done. The main problem is that while reflection is possible, introspection (getting the list of methods/fields a class/module has, etc.) is more difficult. It's inability to create a class with an arbitrary constructor is a problem, too. drefgen/rodin: Haven't used it yet, but this looks like it fixes a lot of the shortcomings of runtime info (Flectioned), but requires that the coder run the tool on their code and compile extra stuff in, which makes it ineffective for generalized reflection on arbitrary code. DDL: Not technically for reflection, but its dynamic loading facilities are impressive, to say the least, so for plugins, etc., it definitely beats out trying to work around D's DLL incompatibilities. I haven't used it in a while (since the old days when it was Mango-based), but I think Pragma is working on it again, which is great news (since it means my D project is no longer blocked...). For 99% of the uses of dynamic classloading, this is perfect. As far as relection goes in general, it's somewhat of an anti-pattern in most cases it's used, anyway. See: http://www.informit.com/isapi/product_id~%7B7DE69993-3EF5-4354-9E10-9F8A535909F1%7D/content/images/0201310058/samplechapter/blochch7.pdf My summary of it: - You lose all the benefits of compile-time type checking - The code required to perform reflective access is clumsy and verbose (IMO, less so in D than in Java, Flectioned and DDL have pretty interfaces) - Performance suffers The main uses are RPC systems, component-based application builder tools, code analysis tools, interpreted embedded systems, etc. He suggests you use interfaces and only use reflection to instantiate instances of classes, which is totally possible in D: // Warning: Totally untested module example; import object.ClassInfo; import tango.io.Stdout; interface IFriendlyPerson { void sayHello(); } class Fraser : IFriendlyPerson { void sayHello() { Stdout("Why hello there, world!"); } } void main() { IFriendlyPerson me = cast(IFriendlyPerson) ClassInfo.find("example.Fraser").create(); me.sayHello(); } While I think better language support for reflection is a good idea, I'm starting to think it's probably less important than: - Fixing/working more with const stuff - Struct constructors - Macro syntax (All which are supposedly in the works right now), and anything else coming in the 2.0 branch.
Jul 05 2007