Cliff Click is famous for writing the original hot-spot JIT
compiler for the Java programming language. He is a compiler
guru, and conducts a weekly compiler club that is open to anyone
who wants to join.
I think this is a great forum for would be language designers to
learn from compiler
On Wednesday, 25 November 2020 at 00:20:54 UTC, Paul Backus wrote:
The exact memory layout and ABI of SumType is deliberately left
unspecified. It's an implementation detail that client code
isn't supposed to rely on. If you want to pass a SumType's
value to a C function, you will first have
On Tuesday, 24 November 2020 at 22:26:34 UTC, Paul Backus wrote:
Nice. Is it possible to describe how these types are
represented in memory? Anyone who uses unions and wants to use
these would want to know whether these types are laid out like
unions or not. What is the size of the type - is
On Sunday, 15 November 2020 at 20:05:16 UTC, Paul Backus wrote:
SumType is a generic discriminated union type for modern D. It
is designed to
be an improved alternative to `std.variant.Algebraic`.
Nice. Is it possible to describe how these types are represented
in memory? Anyone who uses
On Thursday, 19 November 2020 at 14:34:38 UTC, Adam D. Ruppe
wrote:
On Thursday, 19 November 2020 at 00:20:50 UTC, Dibyendu
Majumdar wrote:
Okay thanks. Bad idea IMO.
That's kinda how I see C taking the address of various things
implicitly.
To be honest it seems irrelevant what C does.
On Thursday, 19 November 2020 at 09:23:25 UTC, Jacob Carlborg
wrote:
Yes, calling `writeln` like that is a bad idea. That was a bad
example.
But the actual reason is, this is how D implements properties
[1]. Any function that doesn't take an argument can be called
without parentheses. Any
On Thursday, 19 November 2020 at 01:42:16 UTC, Mike Parker wrote:
On Thursday, 19 November 2020 at 00:20:50 UTC, Dibyendu
Majumdar wrote:
On Thursday, 19 November 2020 at 00:18:54 UTC, rikki
cattermole wrote:
You don't need the brackets to call a function (and with a
little help from
On Thursday, 19 November 2020 at 00:18:54 UTC, rikki cattermole
wrote:
You don't need the brackets to call a function (and with a
little help from UFCS):
void main() {
import std.stdio;
"Hello!".writeln;
writeln;
}
Okay thanks. Bad idea IMO.
On Thursday, 19 November 2020 at 00:08:59 UTC, Adam D. Ruppe
wrote:
On Thursday, 19 November 2020 at 00:07:12 UTC, Dibyendu
Majumdar wrote:
int function() fp = test;
You want to get the address.
Okay that works. Thanks
On Thursday, 19 November 2020 at 00:08:59 UTC, Adam D. Ruppe
wrote:
On Thursday, 19 November 2020 at 00:07:12 UTC, Dibyendu
Majumdar wrote:
int function() fp = test;
This tries to *call* the function test and assign its return
value to fp.
Really? why does it do that?
You want to get
I have simple test program:
import core.stdc.stdio : printf;
void test() {
int* a;
printf("a == null %d\n", a == null);
}
int function() fp = test;
extern (C) void main() {
fp();
}
Why do I get:
\d\dmd-2.092.1\windows\bin64\dmd.exe -betterC tests.d
tests.d(5): Error: printf
On Tuesday, 17 November 2020 at 05:50:27 UTC, dangbinghoo wrote:
people want betterC, and if we can add Interface to current D's
(betterC) struct (which works like Rust's trait), it would be
more attractive! ^_^
Yes, right now Better C is not a match for Rust because Rust has
traits and
On Thursday, 12 November 2020 at 15:08:55 UTC, Dibyendu Majumdar
wrote:
I am starting a project to create a new language based on D.
The name I have chosen is Laser-D.
It is supposed to be Lesser D - rather than Better C. This
follows from my post about better branding for Better-C.
On Saturday, 14 November 2020 at 16:03:31 UTC, Jack wrote:
are you going to cut features only not change anything else?
Indeed. Less is sometimes more.
On Friday, 13 November 2020 at 16:18:32 UTC, Paul Backus wrote:
Why is it a waste of time? If I understand your proposal
correctly, you will be doing more or less the same work either
way--that is, figuring out which features and libraries still
work with certain language features disabled.
On Friday, 13 November 2020 at 13:41:50 UTC, Paul Backus wrote:
It sounds like maybe your time would be better spent improving
the official D documentation to say which features and
libraries are compatible with betterC and which are not.
Not really. It is a waste of time trying to do that.
On Thursday, 12 November 2020 at 15:28:44 UTC, Faux Amis wrote:
I was thinking about something similar: Basic-D, a subset of D
which would be a perfect starting language with appropriate
docs and tutorials.
Maybe these type of subset languages could be integrated in the
D frontpage.
I
I am starting a project to create a new language based on D.
The name I have chosen is Laser-D.
It is supposed to be Lesser D - rather than Better C. This
follows from my post about better branding for Better-C.
The project will basically be about turning off certain features
in D - the
On Tuesday, 7 July 2020 at 07:49:02 UTC, Walter Bright wrote:
That's right, it's not about the licensing. It's that the DLF
should control the code it distributes.
Businesses will not want to commit to a balkanized project.
The proposal is for Mir to become a central required component
of
On Thursday, 2 July 2020 at 10:21:19 UTC, Joseph Rushton Wakeling
wrote:
On Sunday, 28 June 2020 at 21:00:09 UTC, Dibyendu Majumdar
wrote:
To be honest the analysis doesn't quite stack up. Because
compatibility is not the reason for the success of Go, or Rust.
I think that's a
On Saturday, 27 June 2020 at 15:48:33 UTC, Andrei Alexandrescu
wrote:
How to answer "why will yours succeed, when X, Y, and Z have
failed?"
https://www.youtube.com/watch?v=wIHfaH9Kffs
Very insightful talk.
To be honest the analysis doesn't quite stack up. Because
compatibility is not the
On Saturday, 13 June 2020 at 03:16:05 UTC, Walter Bright wrote:
https://dl.acm.org/doi/abs/10.1145/3386323
Many, many thanks to Mike Parker and Andrei Alexandrescu for
their endless hours spent fixing the mess I originally wrote.
Read the paper. D is a huge achievement by any account.
On Saturday, 30 May 2020 at 20:03:30 UTC, Andrei Alexandrescu
wrote:
https://www.phoronix.com/scan.php?page=news_item=Alpine-Linux-3.12-Released
I recently installed Ubuntu 20.04 LTS on Windows 10.
$sudo apt info gdc
Package: gdc
Version: 4:10.0-1ubuntu2
Priority: optional
Section:
On Saturday, 7 March 2020 at 14:33:29 UTC, Steven Schveighoffer
wrote:
It's D's version of implicit conversion.
You can make the alias this a no-arg function and it will try
calling that function.
Okay thank you.
On Saturday, 7 March 2020 at 12:26:32 UTC, drug wrote:
I am trying to understand
https://github.com/dlang/dmd/blob/master/src/dmd/backend/barray.d.
Two questions:
1. What does this mean and why is it needed?
line 95: alias array this;
This means that `array` can be used instead of `this`
Hi,
I am trying to understand
https://github.com/dlang/dmd/blob/master/src/dmd/backend/barray.d.
Two questions:
1. What does this mean and why is it needed?
line 95: alias array this;
2. The struct has no property called length - but this is
referenced. Where does this come from?
Thank
On Wednesday, 4 March 2020 at 19:07:21 UTC, Mike Parker wrote:
It’s possible I didn’t see it. I replied to someone over the
weekend. It was a presentation with a duration of something
like “30 minutes plus time for questions”. If that wasn’t
yours, then I haven’t seen it yet. I’m on the road
On Tuesday, 3 March 2020 at 03:59:30 UTC, Mike Parker wrote:
I submitted a talk proposal but did not receive an
acknowledgement. Please let me know if you have received the
submission.
I’m pretty sure I replied to your email. Sometimes emails from
soc...@dlang.org get marked as spam. But
On Thursday, 6 February 2020 at 14:19:13 UTC, Mike Parker wrote:
I've just published the blog post that serves as the public
launch (outside of this community) of early-bird registration
and the call for submissions. I'm also very happy that I was
able to include the announcement that our
On Wednesday, 8 May 2019 at 12:13:18 UTC, Mike Parker wrote:
On Wednesday, 8 May 2019 at 10:13:35 UTC, Ethan wrote:
Sorry for those of you having difficulties with WebEx.
I am able to watch on Webex but I can't rewind back to the
morning presentations. Webex allows the recordings to be
On Wednesday, 8 May 2019 at 07:57:40 UTC, Mike Parker wrote:
The venue uses WebEx for livestreaming. All the information is
available in this PDF:
https://drive.google.com/open?id=1yekllbfOmxHqJNuuWIVeP9vNeROmfp1I
Hi, I missed the morning two talks, is there a way to rewind the
Webe video?
On Monday, 29 October 2018 at 03:43:49 UTC, Mike Parker wrote:
Congratulations are in order for Iain Buclaw. His efforts have
been rewarded in a big way. Last Friday, he got the greenlight
to move forward with submitting his changes into GCC:
On Tuesday, 31 July 2018 at 08:47:21 UTC, Iain Buclaw wrote:
Noticed that there is a GDC talk by Iain Buclaw at the GNU
Cauldron 2018. Apologies if this is old news.
https://gcc.gnu.org/wiki/cauldron2018
It's happening in Manchester UK, and attendance is free (just
send an email ahead of
On Tuesday, 31 July 2018 at 08:47:21 UTC, Iain Buclaw wrote:
Noticed that there is a GDC talk by Iain Buclaw at the GNU
Cauldron 2018. Apologies if this is old news.
https://gcc.gnu.org/wiki/cauldron2018
It's happening in Manchester UK, and attendance is free (just
send an email ahead of
Hi,
Noticed that there is a GDC talk by Iain Buclaw at the GNU
Cauldron 2018. Apologies if this is old news.
https://gcc.gnu.org/wiki/cauldron2018
Regards
Dibyendu
https://sqlite.org/whyc.html
Personally I think D team should try to convince some well known
project to switch from C to D. Not many projects are written in C
these days though ... but SQLite is amongst the few.
On Wednesday, 30 May 2018 at 00:05:52 UTC, rikki cattermole wrote:
https://github.com/dlang/dmd/blob/master/src/dmd/glue.d
Hi - not really as I don't know what this does. In any case my
understanding is the interface between the front-end and
GDC/LDC is at the level of ASTs.
The input is
On Monday, 28 May 2018 at 19:24:58 UTC, MrSmith wrote:
You may like the project of a compiler I am doing
https://github.com/MrSmith33/tiny_jit
TLDR: fully in D. No dependencies. Currently for amd64 + Win64
calling convension.
Cool - I will keep an eye on it.
Regards
On Thursday, 24 May 2018 at 22:14:50 UTC, Jonathan Marler wrote:
Sad to hear. Was interested to see if this was feasible. I
don't have much experience with the backend but if you're still
up for the task, take a look at `dmd/glue.d`. I don't know how
much of the glue layer this includes but
On Wednesday, 23 May 2018 at 18:49:05 UTC, Dibyendu Majumdar
wrote:
The ultimate goal is to have JIT library that is small, has
fast compilation, and generates reasonable code (i.e. some form
of global register allocation). The options I am looking at are
a) start from scratch, b) hack LLVM,
On Thursday, 24 May 2018 at 02:39:18 UTC, Joakim wrote:
I don't know if this does exactly what you want, but have you
seen it?
https://forum.dlang.org/thread/bskpxhrqyfkvaqzoo...@forum.dlang.org
Hi - thanks I hadn't seen it. It is based on LLVM - I already use
LLVM and it isn't a small /
On Wednesday, 23 May 2018 at 20:08:53 UTC, Jonathan Marler wrote:
I've recently been looking into how QEMU works and it uses
something called TCG (Tiny Code Generator). QEMU works by
taking code from another platform/cpu and translates it to TCG,
which then gets "jitted" to the instructions
Now that D has a better C option I was wondering if it is
possible to create a small subset of D that can be used as
embedded JIT library. I would like to trim the language to a
small subset of D/C - only primitive types and pointers - and
remove everything else. The idea is to have a high
On Saturday, 23 December 2017 at 09:10:25 UTC, Walter Bright
wrote:
On 12/22/2017 7:23 AM, Russel Winder wrote:
I think we are now in a world where Rust is the zero cost
abstraction
language to replace C and C++, except for those who are
determined to
stay with C++ and evolve it.
Maybe it
On Monday, 13 November 2017 at 18:40:42 UTC, Basile B. wrote:
TBH I wonder if this is not worth a enhancement (or even a DIP)
to have in asm blocks a special alias syntax...
{
asm
{
version(...)
{
alias First = RDI;
alias Second = RSI;
On Sunday, 12 November 2017 at 22:40:06 UTC, Dibyendu Majumdar
wrote:
On Sunday, 12 November 2017 at 22:00:58 UTC, Basile B. wrote:
no in naked mode you have to save and restore by hand.
So how does one manually generate the .pdata and .xdata
sections?
Are you saying that this is what I
On Sunday, 12 November 2017 at 22:24:08 UTC, Basile B. wrote:
On Sunday, 12 November 2017 at 22:20:46 UTC, Dibyendu Majumdar
wrote:
On Sunday, 12 November 2017 at 22:00:58 UTC, Basile B. wrote:
On Sunday, 12 November 2017 at 21:27:28 UTC, Dibyendu Majumdar
I am not sure I have understood
On Sunday, 12 November 2017 at 22:00:58 UTC, Basile B. wrote:
On Sunday, 12 November 2017 at 21:27:28 UTC, Dibyendu Majumdar
Does the compiler generate appropriate unwind information on
Win64? Prsumably if a function is marked 'naked' then it
doesn't?
yeah about stack frame..., also don't
On Sunday, 12 November 2017 at 18:48:02 UTC, Eugene Wissner wrote:
https://dlang.org/spec/iasm.html#agregate_member_offsets
aggregate.member.offsetof[someregister]
Sorry I didn't phrase my question accurately. Presumably to
use above with the mnemonics I would need additional mixin
On Sunday, 12 November 2017 at 12:32:09 UTC, Basile B. wrote:
On Sunday, 12 November 2017 at 12:17:51 UTC, Dibyendu Majumdar
wrote:
On Sunday, 12 November 2017 at 11:55:23 UTC, Eugene Wissner
wrote:
[...]
Thank you - I probably could use something like this. It is
uglier than the simpler
On Sunday, 12 November 2017 at 11:55:23 UTC, Eugene Wissner wrote:
On Sunday, 12 November 2017 at 11:01:39 UTC, Dibyendu Majumdar
wrote:
I have recently started work on building a VM for Lua
(actually a derivative of Lua) in X86-64 assembly. I am using
the dynasm tool that is part of LuaJIT. I
On Sunday, 12 November 2017 at 12:00:00 UTC, Basile B. wrote:
On Sunday, 12 November 2017 at 11:01:39 UTC, Dibyendu Majumdar
wrote:
[...]
The assembly code uses static allocation of registers, but
because of the differences in how registers are used in Win64
versus Unix X64 - different
Hi,
I have recently started work on building a VM for Lua (actually a
derivative of Lua) in X86-64 assembly. I am using the dynasm tool
that is part of LuaJIT. I was wondering whether I could also
write this in D's inline assembly perhaps, but there is one
aspect that I am not sure how to
On Sunday, 14 May 2017 at 21:01:40 UTC, Jack Stouffer wrote:
On Sunday, 14 May 2017 at 10:10:41 UTC, Dibyendu Majumdar wrote:
b) If you want to do things that C allows you to do, then Rust
is no more safer than C.
That's the entire bloody point isn't it? Maybe you shouldn't be
doing a lot of
On Sunday, 14 May 2017 at 01:30:47 UTC, Jack Stouffer wrote:
On Sunday, 14 May 2017 at 00:05:56 UTC, Dibyendu Majumdar wrote:
(a) Trust the programmer.
That's the first and most deadly mistake. Buffer overflows and
null pointers alone have caused hundreds of millions of dollars
of damages.
On Sunday, 14 May 2017 at 02:11:36 UTC, bachmeier wrote:
On Sunday, 14 May 2017 at 00:05:56 UTC, Dibyendu Majumdar wrote:
(a) Trust the programmer.
I don't understand this point. C doesn't offer the programmer
much to work with. If you trust the programmer, shouldn't that
mean you provide
On Saturday, 6 May 2017 at 06:26:29 UTC, Joakim wrote:
Walter: I believe memory safety will kill C.
Hi,
I think that comparing languages like D to C is not appropriate.
C is a high level assembler and has different design goals. A
useful document to refer to is:
On Thursday, 6 April 2017 at 07:24:28 UTC, Nick B wrote:
But, it seems that while Walter and Andrei are prepared to put
a proposal out on the newsgroup, and then discuss it with the
community, and then LATER, if its any good,
state they will formally document it into a DIP.
For the community,
On Saturday, 7 January 2017 at 15:58:43 UTC, Andrei Alexandrescu
wrote:
On 01/04/2017 08:06 PM, Dibyendu Majumdar wrote:
C++ integration has disappeared? Is this now "done"?
We have a student on that. I've added a line for that to the
doc. -- Andrei
Cool. C++ integration would be a big
On Wednesday, 4 January 2017 at 19:22:33 UTC, Andrei Alexandrescu
wrote:
We release a brief Vision document summarizing the main goals
we plan to pursue in the coming six months. This half we are
focusing on three things: safety, lifetime management, and
static introspection.
On Tuesday, 20 December 2016 at 12:43:38 UTC, Andrei Alexandrescu
wrote:
On 12/20/16 3:41 AM, Benjiro wrote:
[snip]
Thanks for the rant. Though it was pretty awesome, I too feel
the focus was missing in the sense that I'm unclear on what
steps we can take to alleviate your pain points. Do
On Saturday, 3 December 2016 at 02:23:13 UTC, Dibyendu Majumdar
wrote:
IBM has open sourced the J9 Garbage Collector as part of
Eclipse OMR project. Perhaps D could use this. It is claimed
that the GC implementation is relatively straight forward to
reuse.
https://github.com/eclipse/omr
On Saturday, 3 December 2016 at 10:29:02 UTC, Dibyendu Majumdar
wrote:
That said, let's look at the API:
omrobjectptr_t OMR_GC_Allocate(OMR_VMThread * omrVMThread,
uintptr_t allocationCategory, uintptr_t size, uintptr_t
allocateFlags);
omrobjectptr_t OMR_GC_AllocateNoGC(OMR_VMThread *
On Saturday, 3 December 2016 at 06:26:22 UTC, Chris Wright wrote:
On Sat, 03 Dec 2016 02:23:13 +, Dibyendu Majumdar wrote:
IBM has open sourced the J9 Garbage Collector as part of
Eclipse OMR project. Perhaps D could use this. It is claimed
that the GC implementation is relatively straight
On Saturday, 3 December 2016 at 02:23:13 UTC, Dibyendu Majumdar
wrote:
IBM has open sourced the J9 Garbage Collector as part of
Eclipse OMR project. Perhaps D could use this. It is claimed
that the GC implementation is relatively straight forward to
reuse.
https://github.com/eclipse/omr
Hi
Not sure if I am repeating information already known here - if so
I do apologise!
IBM has open sourced the J9 Garbage Collector as part of Eclipse
OMR project. Perhaps D could use this. It is claimed that the GC
implementation is relatively straight forward to reuse.
On Friday, 26 February 2016 at 22:20:09 UTC, Walter Bright wrote:
I am referring to this thread:
http://lists.llvm.org/pipermail/llvm-dev/2015-October/091536.html
Thanks for the pointer. If anyone wants to chip in on that
thread, feel free!
Hi Walter,
Should LLVM move to an Apache License
On Friday, 26 February 2016 at 11:37:32 UTC, BBasile wrote:
Erratum! Actually you can, example:
import std.stdio;
string foo(double a)()
{
return "auto value = " ~ a.stringof ~ ";";
}
void main(string[] args)
{
mixin(foo!0.1);
writeln(value); // 0.1
On Friday, 26 February 2016 at 11:35:04 UTC, Dibyendu Majumdar
wrote:
On Friday, 26 February 2016 at 06:19:27 UTC, Walter Bright
wrote:
[...]
I recall there was a thread in the LLVM mailing list last year
about moving to a different license. So maybe that is on the
cards, and the D
On Friday, 26 February 2016 at 06:19:27 UTC, Walter Bright wrote:
I wish LLVM would switch to the Boost license, in particular
removing this clause:
"Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimers in the
On Friday, 26 February 2016 at 11:07:28 UTC, BBasile wrote:
On Friday, 26 February 2016 at 11:03:43 UTC, Dibyendu Majumdar
wrote:
How do I use a double value in a mixin template that is
generating string?
Have you an example of what's failing right now to show ?
I am trying something like
Hi,
How do I use a double value in a mixin template that is
generating string?
Thanks and Regards
Dibyendu
Hi,
I am looking for example of types where memory management is
manual, and the type supports operator overloading, etc. Grateful
if someone could point me to sample example code.
Thanks and Regards
Dibyendu
On Monday, 25 January 2016 at 02:37:40 UTC, Andrei Alexandrescu
wrote:
Hot off the press! http://wiki.dlang.org/Vision/2016H1 -- Andrei
Hi,
I am new to D, and having my own language implementation (based
off Lua) - therefore I think I can appreciate some of the
difficulties around getting
On Thursday, 14 January 2016 at 13:47:39 UTC, Dibyendu Majumdar
wrote:
I wrote recently that I am looking at an alternative to C++ for
a project currently being coded in C++. I am pleased to say
based on preliminary investigations I have chosen D over Go,
Rust, and Swift.
1. D appears to
On Friday, 22 January 2016 at 05:15:13 UTC, Mike Parker wrote:
On Thursday, 21 January 2016 at 23:06:55 UTC, Dibyendu Majumdar
wrote:
On Thursday, 21 January 2016 at 22:44:14 UTC, H. S. Teoh wrote:
Hi - I want to be sure that my code is not allocating memory
via the GC allocator; but when
Hi
I am trying to create a simple shared library that exports a D
function, but when I try to link to it I get errors such as:
error LNK2001: unresolved external symbol _D7xxx12__ModuleInfoZ
Here xxx is the module inside the shared library.
I am using DMD and MS LINKER (Windows 64-bit) to
On Friday, 22 January 2016 at 01:53:53 UTC, Chris Wright wrote:
On Thu, 21 Jan 2016 21:52:06 +, Dibyendu Majumdar wrote:
Hi
I have C code where the struct has a trailing array member:
struct matrix {
int rows;
int cols;
double data[1];
};
D has bounds checking, which makes this
On Friday, 22 January 2016 at 22:06:35 UTC, Dibyendu Majumdar
wrote:
Hi
I am trying to create a simple shared library that exports a D
function, but when I try to link to it I get errors such as:
error LNK2001: unresolved external symbol _D7xxx12__ModuleInfoZ
I have uploaded my small
On Thursday, 21 January 2016 at 16:14:40 UTC, jmh530 wrote:
I'm trying to understand calling C libraries from D on Windows
with DMD. I made a simple example and compiled it with a static
library fine (so I've converted the .h file correctly). Then, I
compiled with gcc to a shared library
On Thursday, 21 January 2016 at 22:09:47 UTC, jmh530 wrote:
The -L/LIBPATH:c:\lib gives me an error that
OPTLINK : Warning 9: Unknown Option : LIBPATH
and then gives the path I put is not found.
At least when it's outputting the text, it's combining
:C:\lib\yourlib.lib
so it seemingly is
I am puzzled as to why there is @nogc on the one hand and simply
nothrow on the other? Why are some attributes prefixed with '@'
while others aren't?
Regards
On Thursday, 21 January 2016 at 22:44:14 UTC, H. S. Teoh wrote:
Hi - I want to be sure that my code is not allocating memory
via the GC allocator; but when shipping I don't need to
disable GC - it is mostly a development check.
I want to manage all memory allocation manually via
malloc/free.
Hi
I have C code where the struct has a trailing array member:
struct matrix {
int rows;
int cols;
double data[1];
};
In C code this is allocated dynamically to be variable size. The
array is used just as normal.
How should this be translated to D? Will D's array access allow
data
Is there a way to disable GC in D?
I am aware of the @nogc qualifier but I would like to completely
disable GC for the whole app/library.
Regards
Dibyendu
On Thursday, 21 January 2016 at 22:34:43 UTC, cym13 wrote:
Out of curiosity, why would you force not being able to
allocate memory?
Hi - I want to be sure that my code is not allocating memory via
the GC allocator; but when shipping I don't need to disable GC -
it is mostly a development
On Thursday, 21 January 2016 at 23:08:07 UTC, Brad Anderson wrote:
On Thursday, 21 January 2016 at 23:05:51 UTC, Dibyendu Majumdar
wrote:
I am puzzled as to why there is @nogc on the one hand and
simply nothrow on the other? Why are some attributes prefixed
with '@' while others aren't?
On Thursday, 21 January 2016 at 22:23:36 UTC, jmh530 wrote:
Thanks. I had been trying to get 32bit code to work. I don't
think I did anything special with gcc to compile the dll as
64bit. Anyway, this is what I get when I try it again (stuff in
brackets I replaced).
C:>dmd -m64 .d
On Thursday, 21 January 2016 at 22:49:06 UTC, jmh530 wrote:
I'm not trying to created a shared library in D. My goal is to
use a shared library from C in D. Right now, I'm working with a
simple test case to make sure I could understand it before
working with the actual shared library I want
On Thursday, 21 January 2016 at 21:55:10 UTC, jmh530 wrote:
For the latter - on Windows 10 b64-bit - I am using following
options for example:
-shared -L/LIBPATH:c:\\lib -L//IMPLIB:mylib.lib
I'm not having any luck using your options with dmd either
(excluding -shared because I don't
On Thursday, 21 January 2016 at 22:15:13 UTC, Chris Wright wrote:
Finally, you can use gc_setProxy() with a a GC proxy you
create. Have it throw an exception instead of allocating. That
means you will get crashes instead of memory leaks if something
uses the GC when it shouldn't.
On Thursday, 21 January 2016 at 23:18:16 UTC, tsbockman wrote:
A revision of D that wasn't constrained by backwards
compatibility would almost certainly either require all
attributes to be prefixed by @, or change the grammar such that
attribute names could be reused as identifier names
On Friday, 22 January 2016 at 00:52:59 UTC, W.J. wrote:
Counter question: What's so bad about the D std library ?
I am trying to create bindings for existing C library so I was
trying to use htod for that.
I tried using htod but got errors as it could not handle the std
C header files (Visual C++). How do people work around this?
Thanks and Regards
Dibyendu
On Friday, 22 January 2016 at 01:03:09 UTC, Dibyendu Majumdar
wrote:
On Friday, 22 January 2016 at 00:52:59 UTC, W.J. wrote:
Counter question: What's so bad about the D std library ?
I am trying to create bindings for existing C library so I was
trying to use htod for that.
The library
Hi,
I am trying to understand the options for distributing a D app to
users. My assumption is that only the shared libraries and
binaries need to be distributed, and I need to include the D
libraries. Is this correct?
Thanks and Regards
Dibyendu
On Monday, 18 January 2016 at 05:58:38 UTC, bitwise wrote:
On Sunday, 17 January 2016 at 22:12:44 UTC, Dibyendu Majumdar
wrote:
Presumably there is no compiler flag to auto generate this?
There's no compiler flag, but you can use this:
On Monday, 18 January 2016 at 23:53:45 UTC, Dibyendu Majumdar
wrote:
Thanks - that worked, but I had to write it this way:
import std.c.windows.windows;
import core.sys.windows.dll;
mixin SimpleDllMain;
I noticed that above modules are documented in the library
reference so I assume
On Sunday, 17 January 2016 at 03:07:39 UTC, Mike Parker wrote:
Have you verified that this is the only DMD installation on
your path?
Looks like the problem is not in dub - but the fact that a shared
library in D requires a DllMain - as described in:
On Sunday, 17 January 2016 at 19:10:16 UTC, bitwise wrote:
On Sunday, 17 January 2016 at 16:10:01 UTC, Dibyendu Majumdar
wrote:
LINK : error LNK2001: unresolved external symbol
_DllMainCRTStartup
_DllMainCRTStartup:
D shared libs on windows still require a DllMain. If you follow
this post
1 - 100 of 122 matches
Mail list logo