Re: Determining @trusted-status

2020-05-28 Thread Johannes Loher via Digitalmars-d-learn

On Friday, 29 May 2020 at 00:09:56 UTC, Clarice wrote:
It seems that @safe will be de jure, whether by the current 
state of DIP1028 or otherwise. However, I'm unsure how to 
responsibly determine whether a FFI may be @trusted: the type 
signature and the body. Should I run, for example, a C library 
through valgrind to observe any memory leaks/corruption? Is it 
enough to trust the authors of a library (e.g. SDL and OpenAL) 
where applying @trusted is acceptable?
There's probably no one right answer, but I'd be very thankful 
for some clarity, regardless.


In theory, you should probably actually verify the code of the 
library you are using by any means. That can be very broad and 
range from looking at the code, using static analysis tools, 
valgrind to fuzzing.


In practice, it really depends on how certain you need to be that 
your code is free of memory corruption errors and how much you 
trust the authors of the library (however, if they don't claim to 
have a safe interface, don't assume anything ;)).


Determining @trusted-status

2020-05-28 Thread Clarice via Digitalmars-d-learn
It seems that @safe will be de jure, whether by the current state 
of DIP1028 or otherwise. However, I'm unsure how to responsibly 
determine whether a FFI may be @trusted: the type signature and 
the body. Should I run, for example, a C library through valgrind 
to observe any memory leaks/corruption? Is it enough to trust the 
authors of a library (e.g. SDL and OpenAL) where applying 
@trusted is acceptable?
There's probably no one right answer, but I'd be very thankful 
for some clarity, regardless.


Re: A custom name for variables

2020-05-28 Thread Steven Schveighoffer via Digitalmars-d-learn

On 5/28/20 4:26 PM, Quantium wrote:

I need to create a variable with custom name, like this
import std;
void main()
{
     string name;
     readf(" %s", );
     // some code that generates a variable of type integer and value 0

   int value = 0;

}
Could you help me with that?


If you are asking to have code that uses a runtime string as a variable 
name, you will not be able to do that in D. You have to know the name at 
compile time.


However, you can store data mapped to string names using an associative 
array:


int[string] variables;
variables[name] = 0;

// use like
writeln(variables[name])
variables[name] = 5;

-Steve


Re: A custom name for variables

2020-05-28 Thread Johannes Loher via Digitalmars-d-learn

On Thursday, 28 May 2020 at 20:26:55 UTC, Quantium wrote:

I need to create a variable with custom name, like this
import std;
void main()
{
string name;
readf(" %s", );
// some code that generates a variable of type integer and 
value 0

}
Could you help me with that?


Do you want to create a variable with the name read with readf? 
If yes, that is not possible. Variable names need to be known at 
compile time.


Re: Mir Slice Column or Row Major

2020-05-28 Thread welkam via Digitalmars-d-learn

On Wednesday, 27 May 2020 at 16:53:37 UTC, jmh530 wrote:
Not always true...many languages support column-major order 
(Fortran, most obviously).


if your column major matrix is implemented as
matrix[row_index][column_index]
then ok no puppies will be hurt. But I dont see much value in 
such implementations.


A custom name for variables

2020-05-28 Thread Quantium via Digitalmars-d-learn

I need to create a variable with custom name, like this
import std;
void main()
{
string name;
readf(" %s", );
// some code that generates a variable of type integer and 
value 0

}
Could you help me with that?