On Monday, 17 December 2012 at 01:11:22 UTC, Jonathan M Davis
wrote:
On Sunday, December 16, 2012 16:57:31 Walter Bright wrote:
I've done such (precompiled headers for C++), I've done .di
files, and I've
done Java bytecode. .di files are superior in nearly every way.
Given that .di don't work
On Sunday, 16 December 2012 at 23:07:04 UTC, Jonathan M Davis
wrote:
On Sunday, December 16, 2012 23:32:38 Andrej Mitrovic wrote:
On 12/16/12, Paulo Pinto wrote:
> If modules are used correctly, a .di should be created with
> the public
> interface and everything else is already in binary form
On Sun, 16 Dec 2012 23:08:49 -0800, Jonathan M Davis
wrote:
On Sunday, December 16, 2012 22:58:26 Walter Bright wrote:
On 12/16/2012 10:27 PM, Jonathan M Davis wrote:
> If the entire .d file is there in binary form, then I don't see why it
> wouldn't work. .di files fail because they strip o
On Monday, 17 December 2012 at 07:39:57 UTC, deadalnix wrote:
On Monday, 17 December 2012 at 07:27:49 UTC, Jonathan M Davis
wrote:
On Monday, December 17, 2012 08:24:27 deadalnix wrote:
On Monday, 17 December 2012 at 00:57:30 UTC, Walter Bright
wrote:
> It doesn't hide the source in any effect
On Monday, 17 December 2012 at 07:56:26 UTC, Jonathan M Davis
wrote:
On Monday, December 17, 2012 08:39:56 deadalnix wrote:
On Monday, 17 December 2012 at 07:27:49 UTC, Jonathan M Davis
wrote:
> On Monday, December 17, 2012 08:24:27 deadalnix wrote:
>> On Monday, 17 December 2012 at 00:57:30 UT
On Monday, 17 December 2012 at 08:07:10 UTC, Paulo Pinto wrote:
As for not being used in companies, well my employer does
consulting work for Fortune 500 companies. You only have JVM
and .NET everywhere, with anything else considered legacy or
stuff that kids play with.
That can't be true,
On Monday, 17 December 2012 at 08:02:12 UTC, Adam Wilson wrote:
On Sun, 16 Dec 2012 23:08:49 -0800, Jonathan M Davis
wrote:
On Sunday, December 16, 2012 22:58:26 Walter Bright wrote:
On 12/16/2012 10:27 PM, Jonathan M Davis wrote:
> If the entire .d file is there in binary form, then I don't
On Monday, 17 December 2012 at 08:02:12 UTC, Adam Wilson wrote:
With respect to those who hold one ideology above others,
trying to impose those ideals on another is a great way to
ensure animosity. What a business does with their code is
entirely up to them, and I would guess that even Richard
On Monday, 17 December 2012 at 07:56:01 UTC, Paulo Pinto wrote:
Similar solutions work for Ada, Modula-3, F#, Haskell, OCaml,
just
to cite a few languages with generic types and modules.
So the issue is how .di files are implemented, not the general
concept.
--
Paulo
If we want to allow
On 12/16/2012 11:08 PM, Jonathan M Davis wrote:
The concept of .di files and their ilk is fundamentally broken precisely
because they're trying to strip what's in the file. That's what causes the
problems.
What is and what isn't in a .di is entirely under the user's control.
Object files are
On 12/16/2012 11:00 PM, H. S. Teoh wrote:
Of course, that provide zero theoretical security, because anyone who's
desperate enough to reverse-engineer your library will do it even if
they only have the final executable. But the casual onlooker factor is
not to be dismissed when dealing with manag
On 12/16/2012 11:24 PM, deadalnix wrote:
On Monday, 17 December 2012 at 00:57:30 UTC, Walter Bright wrote:
It doesn't hide the source in any effective way. There are enough Java byte
code => source translators around to prove that. It only takes one such tool
to exist (and it's especially easy t
On 12/16/2012 11:36 PM, Jacob Carlborg wrote:
If a function needs to be template, inline or CTFE it can be manually put in the
.di file. I assume that will work.
Of course it will. In fact, you can:
copy foo.d foo.di
and it will always work. .di is really nothing more than a naming convent
On 12/16/2012 11:27 PM, Jacob Carlborg wrote:
On 2012-12-16 22:34, Walter Bright wrote:
No "seem" about it!
Ok, I see. I'm just taking some precautions since I don't know what you're
thinking.
I know. I was just taking the opportunity to clarify.
On 12/17/2012 12:24 AM, Rob T wrote:
If we want to allow D to fit into various niche markets overlooked by C++, for
added security, encryption could be added, where the person compiling encrypted
.di files would have to supply a key. That would work only for certain
situations, not for mass distr
On 12/16/2012 2:52 PM, deadalnix wrote:
How much performances are sacrificed compared to a looser integer semantic (I
frankly don't know), and how much programs benefit from it (I suspect very
little, but I may be wrong) ?
Recall that C is standardized to work on 1's complement machines, which
On Monday, 17 December 2012 at 08:34:26 UTC, Walter Bright wrote:
On 12/16/2012 11:24 PM, deadalnix wrote:
On Monday, 17 December 2012 at 00:57:30 UTC, Walter Bright
wrote:
It doesn't hide the source in any effective way. There are
enough Java byte
code => source translators around to prove tha
On Monday, 17 December 2012 at 08:11:18 UTC, deadalnix wrote:
On Monday, 17 December 2012 at 08:07:10 UTC, Paulo Pinto wrote:
As for not being used in companies, well my employer does
consulting work for Fortune 500 companies. You only have JVM
and .NET everywhere, with anything else considered
On Monday, 17 December 2012 at 07:09:46 UTC, Jonathan M Davis
wrote:
On Sunday, December 16, 2012 22:58:26 Walter Bright wrote:
On 12/16/2012 10:27 PM, Jonathan M Davis wrote:
> If the entire .d file is there in binary form, then I don't
> see why it
> wouldn't work. .di files fail because they
On Monday, 17 December 2012 at 08:21:43 UTC, Walter Bright wrote:
On 12/16/2012 11:08 PM, Jonathan M Davis wrote:
The concept of .di files and their ilk is fundamentally broken
precisely
because they're trying to strip what's in the file. That's
what causes the
problems.
What is and what isn
I had a discussion a little while ago, regarding the validation
of predicates.
Basically, fearing that someone may write a predicate that
returned some weird user-defined type that wasn't bool-able, I
wrote:
//
void foo(Range, S)(Range r, S s)
if (isForwardRange!Range && is(typeof(r.f
On 12/17/2012 1:15 AM, Paulo Pinto wrote:
http://www.hopperapp.com/
I really like the way it generates pseudo-code and basic block graphs out of
instruction sequences.
I looked at their examples. Sorry, that's just step one of reverse engineering
an object file. It's a loong way from turn
On 12/17/2012 12:55 AM, Paulo Pinto wrote:
Assembly is no different than reversing any other type of bytecode:
This is simply not true for Java bytecode.
About the only thing you lose with Java bytecode are local variable names. Full
type information and the variables themselves are intact.
On Monday, 17 December 2012 at 09:29:28 UTC, Walter Bright wrote:
On 12/17/2012 1:15 AM, Paulo Pinto wrote:
http://www.hopperapp.com/
I really like the way it generates pseudo-code and basic block
graphs out of
instruction sequences.
I looked at their examples. Sorry, that's just step one o
On 12/17/2012 12:54 AM, deadalnix wrote:
More seriously, I understand that in some cases, di are interesting. Mostly if
you want to provide a closed source library to be used by 3rd party devs.
You're missing another major use - encapsulation and isolation, reducing the
dependencies between pa
On Monday, 17 December 2012 at 09:37:48 UTC, Walter Bright wrote:
On 12/17/2012 12:55 AM, Paulo Pinto wrote:
Assembly is no different than reversing any other type of
bytecode:
This is simply not true for Java bytecode.
About the only thing you lose with Java bytecode are local
variable name
On 12/17/2012 1:45 AM, Paulo Pinto wrote:
Pencil and paper?
Yes, as I wrote, you can reverse engineer object files, instruction by
instruction, by an expert with pencil and paper.
You can't make a tool to do it automatically.
You *can* make such a tool for Java bytecode files, and such free
On 2012-12-17 09:19, deadalnix wrote:
I can't stop myself laughing at people that may think any business can
be based on java, PHP or C#. That is a mere dream ! Such technology will
simply never get used in companies, because bytecode can be decoded !
Yet there are a lot of business that are b
On 12/17/2012 1:35 AM, Paulo Pinto wrote:
It suffices to get the general algorithm behind the code, and that is impossible
to hide, unless the developer resorts to cryptography.
I'll say again, with enough effort, an expert *can* decompile object files by
hand. You can't make a tool to do that
On 2012-12-17 09:21, Walter Bright wrote:
I know what I'm talking about with this. The only time they get reverse
engineered is when somebody really really REALLY wants to do it, an
expert is necessary to do the job, and it's completely impractical for
larger sets of files. You cannot build a to
On 17 December 2012 09:29, Walter Bright wrote:
> On 12/17/2012 1:15 AM, Paulo Pinto wrote:
>
>> http://www.hopperapp.com/
>>
>> I really like the way it generates pseudo-code and basic block graphs out
>> of
>> instruction sequences.
>>
>
> I looked at their examples. Sorry, that's just step one
On 2012-12-17 10:13, eles wrote:
WRT to all opinions above (ie: binary vs text, what to put etc.)
I had some reflection on that some time ago: how about bundling a
"header" file (that would be the .di file) and a binary file (the
compiled .d file, that is the .obj file) into a single .zip (albe
Either I do not understand the work of this feature or it is an
obvious bug:
import std.stdio;
import std.conv;
void main()
{
enum string expr = "DMD compiles this garbage ... i - \"
$$$";
enum bool bTest = __traits(compiles, expr);
enum bool bTest2 = __traits(compi
Argument is supposed to be not a string but plain D code. And it
is pretty logical that string literal is a valid compiling D
code, as well as an existing variable name.
On Monday, 17 December 2012 at 10:42:38 UTC, Pavel wrote:
Either I do not understand the work of this feature or it is an
ob
On 2012-42-17 11:12, Pavel wrote:
Either I do not understand the work of this feature or it is an obvious
bug:
import std.stdio;
import std.conv;
void main()
{
enum string expr = "DMD compiles this garbage ... i - \"
$$$";
enum bool bTest = __traits(compiles, ex
On Monday, 17 December 2012 at 10:42:38 UTC, Pavel wrote:
Either I do not understand the work of this feature or it is an
obvious bug:
import std.stdio;
import std.conv;
void main()
{
enum string expr = "DMD compiles this garbage ... i - \"
$$$";
enum bool bTest = __t
AFAIK those are more like Windows API & ABI reverse engineered
and reimplemented and that is a huge difference.
On Monday, 17 December 2012 at 10:01:35 UTC, Jacob Carlborg wrote:
On 2012-12-17 09:21, Walter Bright wrote:
I know what I'm talking about with this. The only time they
get reverse
On Monday, 17 December 2012 at 10:59:38 UTC, mist wrote:
Argument is supposed to be not a string but plain D code. And
it is pretty logical that string literal is a valid compiling D
code, as well as an existing variable name.
On Monday, 17 December 2012 at 10:42:38 UTC, Pavel wrote:
Either I
Hi,
I am trying to log into a web application using curl. The web app
sends a 302 redirect after posting the data (successful log in -
I can see the successful login in the web apps log files).
Maybe I am doing something wrong - but I have just copied the
code of _basicHTTP form curl.d to my own
Sounds a lot like frameworks and other type of bundles on Mac
OS X. A framework is a folder, with the .framework extension,
containing a dynamic library, header files and all other
necessary resource files like images and so on.
I don't know about such frameworks, but the idea that these kind
On Monday, 17 December 2012 at 09:58:28 UTC, Walter Bright wrote:
On 12/17/2012 1:35 AM, Paulo Pinto wrote:
It suffices to get the general algorithm behind the code, and
that is impossible
to hide, unless the developer resorts to cryptography.
I'll say again, with enough effort, an expert *ca
On Monday, 17 December 2012 at 11:03:01 UTC, Simen Kjaeraas wrote:
On 2012-42-17 11:12, Pavel wrote:
Either I do not understand the work of this feature or it is
an obvious bug:
import std.stdio;
import std.conv;
void main()
{
enum string expr = "DMD compiles this garbage ... i -
\"
On Monday, 17 December 2012 at 12:04:30 UTC, Pavel wrote:
On Monday, 17 December 2012 at 11:03:01 UTC, Simen Kjaeraas
wrote:
On 2012-42-17 11:12, Pavel wrote:
Either I do not understand the work of this feature or it is
an obvious bug:
import std.stdio;
import std.conv;
void main()
{
enu
On 2012-12-17 10:58, Walter Bright wrote:
Google "convert object file to C"
A few seconds on Google resulted in this:
http://www.hex-rays.com/products/decompiler/index.shtml
--
/Jacob Carlborg
If we want to allow D to fit into various niche markets
overlooked by C++, for added security, encryption could be
added, where the person compiling encrypted .di files would
have to supply a key. That would work only for certain
situations, not for mass distribution, but it may be useful to
e
On 17 December 2012 12:54, jerro wrote:
> If we want to allow D to fit into various niche markets overlooked by C++,
>> for added security, encryption could be added, where the person compiling
>> encrypted .di files would have to supply a key. That would work only for
>> certain situations, not
It's not as if phobos would be distributed that way. And even
it if was,
then there'd be an uproar and a fork of the project.
I don't think that the FSF would be to happy about adding a front
end with DRM support to GCC, even if no encrypted libraries would
be added along with it. Of course
Ok. It seems to work with allMembers/getMember traits combination.
But should it work with tupleof or not?
Regards
- Puneet
On 2012-12-17 12:20, eles wrote:
I don't know about such frameworks, but the idea that these kind of
files should be handled by the compiler, not by the operating system.
They are not meant to be applications, but libraries.
They are handled by the compiler. GCC has the -framework flag.
https
On 2012-12-17 12:55, d coder wrote:
template Tuple(T...) {
alias T Tuple;
}
enum Bar;
class Foo {
@Bar int a;
int b;
}
void main() {
Foo foo = new Foo;
foreach(ref l; foo.tupleof) {
alias Tuple!(__traits(getAttributes, l)) tp;
pragma(msg, tp);// prints nothing
}
On 2012-12-17 12:24, Chris wrote:
Hi,
I am trying to log into a web application using curl. The web app
sends a 302 redirect after posting the data (successful log in -
I can see the successful login in the web apps log files).
Maybe I am doing something wrong - but I have just copied the
code
On Monday, 17 December 2012 at 14:15:42 UTC, Pavel wrote:
It seems to me handier to use it from templates manipulating
code as strings than usage of __traits(compiles,...) directly.
I'm not quite sure how this is nicer to use than »enum foo =
__traits(compiles, { mixin(bar); });«, but tastes d
On Monday, 17 December 2012 at 12:20:23 UTC, Pavel wrote:
Oops, bad idea - it will work only for self-contained code but
will not work when code references some variables from current
scope.
Template mixin helps to solve the issue, so the utility template
can be:
mixin template Compiles(st
On Monday, 17 December 2012 at 14:18:25 UTC, David Nadlinger
wrote:
On Monday, 17 December 2012 at 14:15:42 UTC, Pavel wrote:
It seems to me handier to use it from templates manipulating
code as strings than usage of __traits(compiles,...) directly.
I'm not quite sure how this is nicer to use
> Try something like this:
>
> foreach (i, dummy; foo.tupleof)
> {
> alias Tuple!(__traits(getAttributes, foo.tupleof[i])) tp;
> pragma(msg, tp);
> }
>
>
Ok so that is because ref does not work with foreach on tuples. Somehow I
thought that got fixed.
Anyways, with your suggestion I get a s
On Monday, 17 December 2012 at 14:29:49 UTC, Pavel wrote:
Yup, it is only IMHO :) Useful for forgetful people as me:
because without the utility template it is easy to forget to
use 'mixin' and to put the statements in the block.
Corrected template to work with expressions too:
mixin template
On 12/17/2012 4:38 AM, Jacob Carlborg wrote:> On 2012-12-17 10:58, Walter Bright
wrote:
>
>> Google "convert object file to C"
>
> A few seconds on Google resulted in this:
>
> http://www.hex-rays.com/products/decompiler/index.shtml
>
hex-rays is an interactive tool. It's "decompile" to things l
On 12/17/2012 3:02 AM, mist wrote:
AFAIK those are more like Windows API & ABI reverse engineered and reimplemented
and that is a huge difference.
Yup. I'd be very surprised if they were based on decompiled Windows executables.
Not only that, I didn't say decompiling by hand was impossible. I
On 2012-12-17 15:44, d coder wrote:
Error: first argument is not a symbol
tuple(false)
Regards
- Puneet
Then I don't know.
--
/Jacob Carlborg
On 2012-12-17 16:01, Walter Bright wrote:
Yup. I'd be very surprised if they were based on decompiled Windows
executables.
Not only that, I didn't say decompiling by hand was impossible. I
repeatedly said that it can be done by an expert with a lot of patience.
But not automatically. Java .cla
Regarding the recent Phobos improvements that introduce a Timsort:
http://forum.dlang.org/thread/50c8a4e67f79_3fdd19b7ae8146...@sh3.rs.github.com.mail
I have found a blog post that compares the performance of
Timsort, Smoothsort, and std::stable_sort:
http://www.altdevblogaday.com/2012/06/15/
Hi Jacob,
thanks for your quick response,
On Monday, 17 December 2012 at 14:12:26 UTC, Jacob Carlborg wrote:
A guess: when using the command line tool one needs to explicit
enable redirects, is there something similar in the API?
I haven't found one - also redirects do work with get reques
On Monday, 17 December 2012 at 07:04:29 UTC, deadalnix wrote:
This is exactly to handle this kind of grunt work that computer
and software were invented.
Yep, and why Git handles merging so well. But it doesn't know
which branches you are merging into until you tell it. So you can
go ahead a
On 12/17/2012 3:55 AM, d coder wrote:
So my question is: Is this a bug in DMD, or am I doing something plainly wrong?
You're doing something wrong. Consider:
@Bar int i = 3;
int x = i;
The UDA does not get transferred to x. This is why your loop:
foreach(ref l; foo.tupleof)
does not transfe
On Mon, Dec 17, 2012 at 9:56 PM, Walter Bright
wrote:
> On 12/17/2012 3:55 AM, d coder wrote:
>
>> So my question is: Is this a bug in DMD, or am I doing something plainly
>> wrong?
>>
>
> You're doing something wrong. Consider:
>
> @Bar int i = 3;
> int x = i;
>
> The UDA does not get transferred
On Sunday, 16 December 2012 at 22:43:13 UTC, David Nadlinger
wrote:
On Sunday, 16 December 2012 at 22:18:14 UTC, SomeDude wrote:
This sounds to me like a bad idea. And indeed, I haven't heard
of any other project doing this.
Having release branches is a common practice for many open
source pr
On Sunday, 16 December 2012 at 23:18:20 UTC, Jonathan M Davis
wrote:
On Sunday, December 16, 2012 11:23:57 Andrei Alexandrescu wrote:
Right now we're using a tagging system for releases, implying
releases
are just snapshots of a continuum. But what we need is e.g. to
be able
to patch 2.065 to f
On Monday, 17 December 2012 at 17:31:45 UTC, foobar wrote:
Huh?
Both LLVM and KDE are developed on *subversion* and as such
their work-flows are not applicable. Not to mention that KDE is
vastly different in concept and goals than a programming
language.
Subversion is conceptually very diffe
On Monday, 17 December 2012 at 17:45:12 UTC, David Nadlinger
wrote:
On Monday, 17 December 2012 at 17:31:45 UTC, foobar wrote:
Huh?
Both LLVM and KDE are developed on *subversion* and as such
their work-flows are not applicable. Not to mention that KDE
is vastly different in concept and goals
On Sat, 2012-12-15 at 11:19 -0800, H. S. Teoh wrote:
[…]
> But I have trouble when I try to link to it. For some reason, the dmd
> link command isn't picking up the value of LIBPATH, so the linker can't
> find the library. Here's a reduced test case:
>
> #!/usr/src/scons/russel/scons_d_tooli
On Monday, 17 December 2012 at 11:24:41 UTC, Chris wrote:
std.net.curl.CurlException@std/net/curl.d(3348): Send failed
since rewinding of the data stream failed on handle 7FCABA819400
I believe I've fixed this problem in this pull request:
https://github.com/D-Programming-Language/phobos/pull/8
On Mon, Dec 17, 2012 at 06:32:57PM +, Russel Winder wrote:
> On Sat, 2012-12-15 at 11:19 -0800, H. S. Teoh wrote:
> […]
> > But I have trouble when I try to link to it. For some reason, the dmd
> > link command isn't picking up the value of LIBPATH, so the linker can't
> > find the library. Her
On Mon, Dec 17, 2012 at 11:08:00AM -0800, H. S. Teoh wrote:
[...]
> Anyway. The command is missing a "-L-L." option. It should read:
>
> /usr/src/d/dmd/src/dmd -ofprog prog.o -L-L. -L-lmylib
>
> which passes a "-L." option to the linker to make it search the current
> directory for the lib
On Mon, 2012-12-17 at 11:08 -0800, H. S. Teoh wrote:
[…]
> I'm a GDC/GCC person as well. :-) Except that GDC for my platform is
> horribly outdated, so I've had to resort to DMD for my newer projects.
> Plus, sometimes I'm testing fixes for Phobos, which often requires the
> latest git dmd to even
On Mon, Dec 17, 2012 at 07:28:53PM +, Russel Winder wrote:
> On Mon, 2012-12-17 at 11:08 -0800, H. S. Teoh wrote:
> […]
>
> > I'm a GDC/GCC person as well. :-) Except that GDC for my platform is
> > horribly outdated, so I've had to resort to DMD for my newer
> > projects. Plus, sometimes I'm
On Monday, 17 December 2012 at 19:29:04 UTC, Russel Winder wrote:
I tried this on spec earlier and got:
|> dmd -ofprog prog.o -L-L. -L-lmylib
/usr/lib/x86_64-linux-gnu/libphobos2.a(dmain2_45f_1a5.o): In
function `_D2rt6dmain24mainUiPPaZi7runMainMFZv':
src/rt/dmain2.d:(.text._D2rt6dmain24mainUiP
On Mon, 2012-12-17 at 11:37 -0800, H. S. Teoh wrote:
[…]
> I haven't tried LDC yet, though I've heard good things about it. Maybe I
> should check it out sometime.
I checked out the Git repository and build master/HEAD, but then I am an
unstable, bleeding-edge kind of person.
> Did you define ma
On Mon, 2012-12-17 at 20:37 +0100, David Nadlinger wrote:
> On Monday, 17 December 2012 at 19:29:04 UTC, Russel Winder wrote:
[…]
> Your program seems to be missing a main() function, the rest is
> just noise (DMD emits certain symbols to the main module only).
Indeed. I guess I just failed to re
On Monday, 17 December 2012 at 04:49:46 UTC, Michel Fortin wrote:
On 2012-12-17 03:18:45 +, Walter Bright
said:
Whether the file format is text or binary does not make any
fundamental difference.
I too expect the difference in performance to be negligible in
binary form if you maintain
Am 17.12.2012 21:09, schrieb foobar:
On Monday, 17 December 2012 at 04:49:46 UTC, Michel Fortin wrote:
On 2012-12-17 03:18:45 +, Walter Bright
said:
Whether the file format is text or binary does not make any
fundamental difference.
I too expect the difference in performance to be negli
Am 16.12.2012 23:32, schrieb Andrej Mitrovic:
On 12/16/12, Paulo Pinto wrote:
If modules are used correctly, a .di should be created with the public
interface and everything else is already in binary format, thus the
compiler is not really parsing everything all the time.
A lot of D code tend
On Monday, 17 December 2012 at 09:37:48 UTC, Walter Bright wrote:
On 12/17/2012 12:55 AM, Paulo Pinto wrote:
Assembly is no different than reversing any other type of
bytecode:
This is simply not true for Java bytecode.
About the only thing you lose with Java bytecode are local
variable name
On Monday, 17 December 2012 at 09:40:22 UTC, Walter Bright wrote:
On 12/17/2012 12:54 AM, deadalnix wrote:
More seriously, I understand that in some cases, di are
interesting. Mostly if
you want to provide a closed source library to be used by 3rd
party devs.
You're missing another major use
On Monday, 17 December 2012 at 18:14:54 UTC, foobar wrote:
At the moment we may use git commands but really we are still
developing on mostly a subversion model. Walter used to accept
patches and those were simply replaced by pull requests. There
isn't any change in the mental model required to
On Monday, 17 December 2012 at 20:09:01 UTC, Russel Winder wrote:
Indeed. I guess I just failed to read the message on the
grounds it was
mentioning stuff I had no interest in. My problem I guess.
DMD from Git master should emit an explicit error for this now
(by parsing the linker output).
On 12/17/2012 8:40 AM, d coder wrote:
But Walter, even the code below does not work.
Error: first argument is not a symbol
tuple(false)
That's right, msg is undefined!!
template Tuple(T...) {
alias T Tuple;
}
enum Bar;
class Foo {
@Bar int a;
}
void main()
{
Foo foo = new Foo;
On Monday, 17 December 2012 at 20:31:08 UTC, Paulo Pinto wrote:
But if there was interest, I am sure there could be a way to
store the
template information in the compiled module, while exposing the
required type parameters for the template in the .di file, a la
Ada.
--
Paulo
Maybe the focu
On 12/17/2012 12:49 PM, deadalnix wrote:
Granted, this is still easier than assembly, but you neglected the fact that
java is rather simple, where D isn't. It is unlikely that an optimized D
bytecode can ever be decompiled in a satisfying way.
Please listen to me.
You have FULL TYPE INFORMATIO
On 12/17/2012 12:51 PM, deadalnix wrote:
On Monday, 17 December 2012 at 09:40:22 UTC, Walter Bright wrote:
On 12/17/2012 12:54 AM, deadalnix wrote:
More seriously, I understand that in some cases, di are interesting. Mostly if
you want to provide a closed source library to be used by 3rd party
On Monday, 17 December 2012 at 12:54:46 UTC, jerro wrote:
If we want to allow D to fit into various niche markets
overlooked by C++, for added security, encryption could be
added, where the person compiling encrypted .di files would
have to supply a key. That would work only for certain
situat
On Monday, 17 December 2012 at 21:47:36 UTC, Walter Bright wrote:
There is no substantive difference between bytecode and source
code, as I've been trying to explain. It is not superior in any
way, (other than being shorter, and hence less costly to
transmit over the internet).
I mentione
On Monday, 17 December 2012 at 21:03:04 UTC, Rob T wrote:
On Monday, 17 December 2012 at 18:14:54 UTC, foobar wrote:
At the moment we may use git commands but really we are still
developing on mostly a subversion model. Walter used to accept
patches and those were simply replaced by pull reques
12/18/2012 12:34 AM, Paulo Pinto пишет:
Am 17.12.2012 21:09, schrieb foobar:
On Monday, 17 December 2012 at 04:49:46 UTC, Michel Fortin wrote:
On 2012-12-17 03:18:45 +, Walter Bright
said:
Whether the file format is text or binary does not make any
fundamental difference.
I too expect
On Monday, 17 December 2012 at 22:02:45 UTC, foobar wrote:
On Monday, 17 December 2012 at 21:03:04 UTC, Rob T wrote:
On Monday, 17 December 2012 at 18:14:54 UTC, foobar wrote:
At the moment we may use git commands but really we are still
developing on mostly a subversion model. Walter used to
On 12/17/2012 1:53 PM, Rob T wrote:
I mentioned in a previous post that we should perhaps focus on making the .di
concept more efficient rather than focus on obfuscation.
We're not going to do obfuscation, because as I explained such cannot work, and
we shouldn't do a disservice to users by pr
On 12/17/12, Walter Bright wrote:
> I have toyed with the idea many times, however, of having dmd support zip
> files.
I think such a feature is better suited for RDMD. Then many other
compilers would benefit, since RDMD can be used with GDC and LDC.
Walter Bright:
dmd foo.zip
or:
dmd myfile ThirdPartyLib.zip
and have it work. The advantage here is simply that everything
can be contained in one simple file.
This was discussed a lot of time ago (even using a "rock" suffix
for those zip files) and it seems a nice idea.
Bye,
bear
On 12/17/2012 2:08 PM, Dmitry Olshansky wrote:
I really loved the way Turbo Pascal units were made. I wish D go the same
route. Object files would then be looked at as minimal and stupid variation of
module where symbols are identified by mangling (not plain meta data as (would
be) in module) an
On Monday, 17 December 2012 at 22:12:01 UTC, Walter Bright wrote:
On 12/17/2012 1:53 PM, Rob T wrote:
I mentioned in a previous post that we should perhaps focus on
making the .di
concept more efficient rather than focus on obfuscation.
We're not going to do obfuscation, because as I explaine
On Monday, 17 December 2012 at 22:10:12 UTC, foobar wrote:
I forgot to explain that the multiple roots is applicable to D
as well in that we have there fully working compilers - LDC,
GDC and DMD. They currently share the same front-end - GDC and
LDC merge DMD's code. This situation is also sub
1 - 100 of 133 matches
Mail list logo