Re: GNU License warning:
On Saturday, 14 January 2017 at 01:40:58 UTC, Chris M. wrote: On Friday, 13 January 2017 at 21:53:29 UTC, Ignacious wrote: On Friday, 13 January 2017 at 19:30:40 UTC, Chris Wright wrote: On Fri, 13 Jan 2017 15:19:57 +, Ignacious wrote: [...] LGPL is much more common, and LGPL isn't a problem when you distribute by source. It *is* a problem with static linking with binary distributions (which is the default for D). This is not a new issue. Software licensing is a well understood, well publicized concern. It doesn't merit alarmism. Sure it does! Stop being a Nazi war criminal wanna be! Do you work for the FOSSF? Otherwise known as the F-OSS-F = Future - Office of Strategic Services - Foundation. What is this thread accomplishing other than ranting about GPL and calling others Nazis? Quite a bit! I has solved the mysteries of the universe and shown that you are a Hitler sympathizer and progressteron.
Re: [your code here]
On Friday, 13 January 2017 at 20:40:32 UTC, mustafa wrote: dfdsfsd afdsaaf?
Re: Error deducing function
On Friday, 13 January 2017 at 22:57:09 UTC, Adam D. Ruppe wrote: On Friday, 13 January 2017 at 22:22:12 UTC, Ignacious wrote: Like, which arguments actually pass and which ones fail, etc. Yes, I agree entirely. This would be a HUGE usability bonus, far better than most the other things people work on... And it should be very simple to do. as the compiler checks the arguments it reaches the argument that it finds invalid and it simply has to calculate the length in to the string to put something like a >> in front of the argument in the error string. Or simply give the index in to the argument or template list. Probably take a good programmer less than an hour to do.
Error deducing function
It would be EXTREMELY helpful if dmd would give a better result than main.d(30): Error: template main.Do cannot deduce function from argument types !(1, string, int)(2, "adf"), candidates are: main.d(6):main.Do(int x, string y, alias Q)(int z, string q) Like, which arguments actually pass and which ones fail, etc. I know we are all suppose to be geniuses here but I flunked out of that class. Seems like the compiler knows where the error is so why can't it inform me a bit better than basically telling me there is an error and which lines it occurred on(cause that is all it really does in practice).
Re: GNU License warning:
On Friday, 13 January 2017 at 19:30:40 UTC, Chris Wright wrote: On Fri, 13 Jan 2017 15:19:57 +, Ignacious wrote: Yes, but D uses mostly bindings and if any of those bindings use it then It effects the D program that uses it. Since many of the bindings are written in C/C++ one can expect that many of them use the GPL license. LGPL is much more common, and LGPL isn't a problem when you distribute by source. It *is* a problem with static linking with binary distributions (which is the default for D). This is not a new issue. Software licensing is a well understood, well publicized concern. It doesn't merit alarmism. Sure it does! Stop being a Nazi war criminal wanna be! Do you work for the FOSSF? Otherwise known as the F-OSS-F = Future - Office of Strategic Services - Foundation.
Re: GNU License warning:
On Friday, 13 January 2017 at 15:56:40 UTC, Claude wrote: On Friday, 13 January 2017 at 15:15:14 UTC, Ignacious wrote: On Friday, 13 January 2017 at 12:01:22 UTC, bachmeier wrote: This is not the proper place to blog about software license preferences or to make unsubstantiated accusations against an organization you don't like. There are other sites for that. So, what is up with all the wanna be Nazi's running around today? Did Hitler come out of retirement?? Retirement?? I thought he commited suicide... Of course that is what *they* want you to believe. He was simply biding his time while his little Nazi army infiltrated every aspect of human life. The goal is obfuscation and negativity. They realized they couldn't win on firepower so they moved on to more powerful psychological warfare tactics.
Re: GNU License warning:
On Friday, 13 January 2017 at 06:37:42 UTC, Joakim wrote: On Friday, 13 January 2017 at 02:25:03 UTC, Ignacious wrote: On Friday, 13 January 2017 at 01:27:02 UTC, Chris Wright wrote: [...] That makes no sense(it's obvious by the definition of derivative so you are not saying anything meaningful/useful). Obviously if you build an independent work you are free to chose a license and no one building any work off of yours or not can cause you problems. [...] I agree with you that the GPL is badly written, but we mostly don't use it, basically only for the gdc compiler itself, so not a big deal here. Yes, but D uses mostly bindings and if any of those bindings use it then It effects the D program that uses it. Since many of the bindings are written in C/C++ one can expect that many of them use the GPL license. The boost license seems acceptable but who knows? Look how many were "swindled" by GPL.
Re: GNU License warning:
On Friday, 13 January 2017 at 12:01:22 UTC, bachmeier wrote: On Friday, 13 January 2017 at 02:25:03 UTC, Ignacious wrote: [...] This is not the proper place to blog about software license preferences or to make unsubstantiated accusations against an organization you don't like. There are other sites for that. So, what is up with all the wanna be Nazi's running around today? Did Hitler come out of retirement??
Re: GNU License warning:
On Friday, 13 January 2017 at 01:27:02 UTC, Chris Wright wrote: You offer an API and someone decides to build on it using the GPL -- no trouble there; your work is not a derivative of theirs, so their copyright cannot place restrictions on your work. That makes no sense(it's obvious by the definition of derivative so you are not saying anything meaningful/useful). Obviously if you build an independent work you are free to chose a license and no one building any work off of yours or not can cause you problems. You build against an open standard and the only implementation is GPL -- your work is a derivative of the standard, not necessarily the GPL'd work. That depends. The standard could be GPL's too. Anything can be copyrighted and licensed how the creator wants as long as it is legal. In any case, that says nothing about a single work. You build against an open standard with an MIT licensed implementation and someone else builds a GPL implementation -- no trouble there; your work is not a derivative of theirs, so their copyright cannot place restrictions on your work. You haven't really said anything relevant to the post. The issue is with how the GPL defines proper use of pre-existing works. The ultimately point is that they arbitrarily decide how a work uses another based on "fork and exec" and "library". My point is that those are ultimately artificial because whether we call a function/app through a library or through a command line, they are effectively the same(the difference being performance/convenience, which is the whole point of loading a library vs using the command line). They admit this in the gpl FAQ(if you read it you will see) but the fact that they still create arbitrary division suggests the license is somewhat meaningless/incompetent. Licenses should be more specific in their terminology and their behaviors and effects rather than using arbitrary divisions. Also, while not proof, the fact that the majority of donations to the foundation go to the lawyers(if true) also suggest that it is somewhat of a scam(at the very least, something is fishy).
GNU License warning:
https://www.gnu.org/licenses/gpl-3.0.en.html https://www.gnu.org/licenses/gpl-faq.html http://z505.com/cgi-bin/qkcont/qkcont.cgi?p=Please%20Stop%20Using%20GNU%20Licenses http://gng.z505.com/cult.htm And, I should point out: "If I write a plug-in to use with a GPL-covered program, what requirements does that impose on the licenses I can use for distributing my plug-in? (#GPLAndPlugins) It depends on how the program invokes its plug-ins. If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them. If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means you must license the plug-in under the GPL or a GPL-compatible free software license and distribute it with source code in a GPL-compliant way. If the program dynamically links plug-ins, but the communication between them is limited to invoking the ‘main’ function of the plug-in with some options and waiting for it to return, that is a borderline case. Can I apply the GPL when writing a plug-in for a non-free program? (#GPLPluginsInNF) If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them. So you can use the GPL for a plug-in, and there are no special requirements. If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means that combination of the GPL-covered plug-in with the non-free main program would violate the GPL. However, you can resolve that legal problem by adding an exception to your plug-in's license, giving permission to link it with the non-free main program. See also the question I am writing free software that uses a non-free library. Can I release a non-free program that's designed to load a GPL-covered plug-in? (#NFUseGPLPlugins) It depends on how the program invokes its plug-ins. For instance, if the program uses only simple fork and exec to invoke and communicate with plug-ins, then the plug-ins are separate programs, so the license of the plug-in makes no requirements about the main program. If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. In order to use the GPL-covered plug-ins, the main program must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when the main program is distributed for use with these plug-ins. If the program dynamically links plug-ins, but the communication between them is limited to invoking the ‘main’ function of the plug-in with some options and waiting for it to return, that is a borderline case. Using shared memory to communicate with complex data structures is pretty much equivalent to dynamic linking. See also the question I am writing free software that uses a non-free library." Essentially they draw an imaginary line between using "fork and exec" vs linking. "If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins" And so we are in the realm of belief. As we all know here that every computer program ran on a computer is connected by nested "data structures"... so fork and exec are just dereferencing linking by an extra step. What happens, when in the future, OS's use some other mechanism for execution? Is there really any difference between exec("app.exe") and LoadLibrary("app.dll")? (I don't mean an imginary difference created in the mind by obfuscated data structures. I'm talking about a fundamental difference(besides performance)) There is a lot of arbitrary language in the GNU license and the fact that it was created by lawyers for lawyers(see http://gng.z505.com/cult.htm. I realize the link looks a bit crackpotish but it has a lot of relevant points and if the numbers are right, shows more than enough proof). As usual, it comes down to who has the biggest bank roll and smartest lawyers to obfuscate the issues. The push for free software is becoming a nonsensical pursuit like most other human behaviors. I think a license should exist that EXPLICITLY states what one can do with the source code and binary and what they are.
Re: D Spam filter ridiculous/broke
It would be nice, also, if when we click on a link in the forum that it takes us to the last page/message(Scrolls down to it) rather than forcing us to do this. Most of the time we don't want to have to either read through all the messages or click on the last page in the first place. If we are following a thread most likely we have already read the front of the it. If not, which generally only happens once(the first time), it won't be a big deal to click on the first page.
Re: D Spam filter ridiculous/broke
On Tuesday, 10 January 2017 at 02:05:34 UTC, Adam D. Ruppe wrote: On Monday, 9 January 2017 at 23:08:49 UTC, Ignacious wrote: I try to post something, thinks it's spam, asks me to solve the captcha, then when I do, says I have to wait to post... which I do, then asks me to solve the captcha, then wait to post, then asks me to solve the captcha, etc... ad infinitum. Yeah, no kidding. The captchas are so trivial that I can usually solve them in about three seconds... then get stuck in this same loop. Drives me nuts. Don't say that! Next thing you know we'll have to solve a hyperbolic PDE or Schrodinger's wave equation for the carbon atom just to post!
Re: D Spam filter ridiculous/broke
On Monday, 9 January 2017 at 23:08:49 UTC, Ignacious wrote: I try to post something, thinks it's spam, asks me to solve the captcha, then when I do, says I have to wait to post... which I do, then asks me to solve the captcha, then wait to post, then asks me to solve the captcha, etc... ad infinitum. The issue seems that one has to wait to solve the captcha. If you solve it within 15 seconds or so then the web site think's you are flooding. The time measuring should start after we solve the captcha successfully not before as it results in preventing quick solves from actually sending any messages. It will still prevent flooding because it will be in play for the next message, but it shouldn't be in play for the first message one sends since it prevents real users from posting normally.
D Spam filter ridiculous/broke
I try to post something, thinks it's spam, asks me to solve the captcha, then when I do, says I have to wait to post... which I do, then asks me to solve the captcha, then wait to post, then asks me to solve the captcha, etc... ad infinitum.
Re: D in MPLAB FOR PIC32
On Friday, 6 January 2017 at 15:47:21 UTC, Igor Myronov wrote: Hi there comunity !!! Im an beginner in programming MCU ,but i'm already programming in D and also here im an absolute beginner. So ,my question is : Is possible to program in D micro*-controllers like the PIC32 ? Thanks to all. It would be nice, but I seriously doubt it. There used to be a c++ compiler for the PIC16/24 that worked well but was discontinued. There are, of course, C compilers so maybe there is a way to hijack the toolset to do it(IIRC they convert the c (to obj) to assembly then run the assembler on that to create the binary http://www.microchip.com/forums/m793665.aspx) If that is the case, then maybe D could used somehow. I doubt it though, probably require adding the pic instruction set to the D compiler.
Re: It's a Christmas miracle: main no longer runs after unittests
On Sunday, 25 December 2016 at 09:44:07 UTC, Doug wrote: On Sunday, 25 December 2016 at 07:30:39 UTC, Ignacious wrote: Given that Christmas is one of the hugest fabrications in human history, I find this very difficult to believe! (or simply to cover all bases, quite easy to believe) xmas is an old tradition related to the winter solstice. But we all know those druids were insane... worshiping false gods and drinking the blood of virgins!
Re: It's a Christmas miracle: main no longer runs after unittests
On Saturday, 24 December 2016 at 22:14:08 UTC, Andrei Alexandrescu wrote: https://github.com/dlang/druntime/pull/1724 Ho-ho-ho! Andrei Given that Christmas is one of the hugest fabrications in human history, I find this very difficult to believe! (or simply to cover all bases, quite easy to believe)
Compiler concept
Would it be difficult to implement the following, or something with similar capabilities, as a patch to dmd? Create a compiler that lets one use actual code as templates. e.g., a text block of a function can be referenced by in the code using a "dom" to modify that code similar to how we can modify html. int foo(x) if x > 1 return 3; return 4; int :foo(x) bar(x) [ _dom[return][0] = 8; /* _dom is a keyword representing the code block, in a dom format, of the function foo. The rh expression is checked for validity just as if it were used in the function. Here we set the first return to the express 8. This gives the same function but returns 8 instead of 3 at this point. !_dom[return][1]; /* The bang kills the 2nd return statement removing it from the body as if it were never typed, at this point, bar would be invalid ] { static if _dom.Lines == 3 && _dom.#x <= 6 return 1; /* We have added back a valid return statement, Now bar returns 1 when x <=1 else 3. Not a very useful function, but it demonstrates how a dom like typesafe syntax might be used } The main problem such a model is consistency as changing foo would generally break any dependencies quite easily. An IDE can remedy this quite well by simply checking if any of the corresponding _dom based functions of a function that has been modified are still consistent. Unfortunately there is no real way to keep consistency in behavior in general is this is even a problem with function overloading.