On Saturday, 10 August 2024 at 11:10:01 UTC, IchorDev wrote:
Does any of this code happen to be open-source?
The initial code I'd like to convert isn't open-source yet,
though it will have to be soon. NASA is big on open source these
days. The logic being, the public paid for development, s
On Thursday, 8 August 2024 at 20:23:02 UTC, Sergey wrote:
On Thursday, 8 August 2024 at 20:20:11 UTC, Chris Piker wrote:
(the rest is D).
D in space when? :)
Unfortunately I'm only the ground segment, so D's not going to
space today. But you never know what the future hold
On Friday, 12 July 2024 at 18:07:50 UTC, mw wrote:
I have made basic py2many.pyd work at language/syntax level in
my dlang fork:
https://github.com/mw66/py2many/tree/dlang
The following examples works now:
https://github.com/mw66/py2many/tree/dlang/tests/expected
py2many/ 13:56:23$ ls ./test
Hi D
Import D is working quite well so far. One limitation is that
module definitions require a tiny *.c file which is often just:
```C
#include
```
Creating this file is trivial and has almost no knock-on effects,
except when dealing with single file programs. I have quite a few
small uti
On Thursday, 25 April 2024 at 16:57:53 UTC, mw wrote:
On Wednesday, 24 April 2024 at 22:07:41 UTC, Chris Piker wrote:
Python-AST to D source converter may already exist?
https://github.com/joortcom/eiffel_rename/tree/main/yi
A rudimentary converter from (extended) Python to D. Maybe you
On Thursday, 25 April 2024 at 07:04:13 UTC, Sergey wrote:
On Wednesday, 24 April 2024 at 22:07:41 UTC, Chris Piker wrote:
Python-AST to D source converter may already exist?
Another possible way maybe is using C :)
Python -> C -> D
https://wiki.python.org/moin/PythonImplementations#Com
On Wednesday, 24 April 2024 at 20:13:26 UTC, Lance Bachmeier
wrote:
I haven't used Python much in recent years, but my recollection
is that Python 2 had an ast module that would spit out the ast
for you.
Thanks for the pointer! So I ran one of my modules through and
generated an AST, and get
Hi D
I have a somewhat extensive CGI based web service written in
Python and I'd like to port it to D. I can do this manually of
course, and maybe that's the best way, but for a rough start, is
anyone aware of any tools that generate an abstract syntax tree
which could then be converted to s
On Monday, 1 April 2024 at 02:08:20 UTC, Lance Bachmeier wrote:
On Saturday, 30 March 2024 at 05:01:32 UTC, harakim wrote:
It works well if you only need to work with a header. There are
still a few rough edges that get in the way if you're compiling
the full C sources (I filed bugs for all of
On Saturday, 30 March 2024 at 07:11:49 UTC, Mike Parker wrote:
Though I appreciate the sentiment, it's much more effective and
efficient for people actually using the feature, and who
appreciate it, to write up a blog post about it somewhere and
share that on Twitter/Reddit/HN, etc.
I would,
On Tuesday, 26 March 2024 at 20:19:27 UTC, bachmeier wrote:
Should be able to just use it, as described here:
https://forum.dlang.org/post/qxctappnigkwvaqak...@forum.dlang.org Create a .c file that includes the header files and then call the functions you need.
Wow. **That just worked the fir
Hi D
I have a C library I use for work, it's maintained by an external
organization that puts it through a very through test framework.
Though source code is supplied, the intended use is to include
the header files and link against pre-compiled code.
What is the best way, as of 2024 to use
On Friday, 2 February 2024 at 21:01:53 UTC, Paul Backus wrote:
No, D only does bottom-up type inference, not top down.
If you want to avoid repeating the type, use `auto` on the left
side:
```d
auto time = to!uint(data[1]);
auto priority = to!int(data[2]);
```
Okay thanks. It finally click
Is there some way to do:
```D
string[3] data; //strings from some file input, some are ints,
uints, etc.
auto into!(T)(T value){return to!???(value); } // ???
uint time = into!(data[1]); // We already know this is uint
int priority = into!(data[2]);
```
instead of:
```D
uint time = to!uint(da
I know that sounds stupid on the face of it. An interface
shouldn't change. But consider this:
A frame timer and a clock timer(seconds) that re-use
functionality from a parent class/interface.
```
class timerType
{
void start() = 0;
void stop() = 0;
void restar
Hi D
As suggested in other threads I've tried wrapping a SumType in a
structure to add functionality and used `alias ... this` to make
assignment, etc. easier. However the following code fails in dmd
2.105.2.
```d
import std.sumtype;
struct Item{
SumType!(void*, byte[3], ubyte[3], strin
We posted at the same time! Thanks for help nonetheless.
I do hope over time, SumTypes get the Ali Çehreli treatment. I
keep his book open on my desk all the time.
On Sunday, 1 October 2023 at 01:17:50 UTC, Chris Piker wrote:
```d
alias Vec3 = SumType!(void* /* invalid vector */, byte[3],
short[3], char[][3]);
```
I know it's bad form to reply to my own question, but I think I
found a reasonably simple way:
```d
string prnType(Vec3 vec){
r
Hi D
I've a simple question but it's bedeviling me anyway. How do I
get a string representation of the current type of a SumType?
I'm trying to avoid something like this:
```d
alias Vec3 = SumType!(void* /* invalid vector */, byte[3],
short[3], char[][3]);
string prnType(Vec3 vec){
re
Thanks for the both of the long replies. I've ready them twice
and will do so again. To focus in on one aspect of D package
support:
On Saturday, 22 July 2023 at 02:24:08 UTC, Greggor wrote:
In general whenever possible I think its better for everyone
that stuff is built from source. It ensu
On Friday, 21 July 2023 at 17:40:25 UTC, Greggor wrote:
Up to date versions of Windows 10 should have curl included and
dub can run commands before building, so you could try
downloading a prebuilt lib for windows via curl.
https://everything.curl.dev/get/windows
Hey, nice! This might be a
On Friday, 21 July 2023 at 06:15:10 UTC, Jonathan M Davis wrote:
On Thursday, July 20, 2023 10:57:22 PM MDT Chris Piker via
Digitalmars-d-learn wrote:
Regardless though, dub really isn't designed with packaging
anything in mind. Rather, it's designed to build your code as
well as
On Friday, 21 July 2023 at 02:40:10 UTC, harakim wrote:
On Thursday, 20 July 2023 at 02:37:54 UTC, Chris Piker wrote:
If you happen upon a basic charting library for D during this
hunt, please let me know! Last year, I rolled my own and it got
the job done, but I wasn't concerned abou
On Thursday, 20 July 2023 at 06:44:30 UTC, Jonathan M Davis wrote:
D has nothing equivalent to that. You compile your code with
whichever version of dmd (or ldc, gdc, etc.) that you want, and
it either compiles or it doesn't.
Thanks :)
As I developer that doesn't bother me too much, though I
Hi D
In my C code I used to typically put the line:
```
#define _POSIX_C_SOURCE 200112L
```
in the source before importing any standard library headers. Is
there something equivalent for phobos? Say
`version(phobos2.100)` or similar?
I don't particularly need this functionality, just checki
On Thursday, 20 July 2023 at 03:58:05 UTC, Andrew wrote:
If you're already using python, it's probably best to keep
using that.
Oh of course. Examples *have* to be provided in python, since
that's the default language of science these days. But extra
examples don't hurt, and it would be nic
Hi D
One of my jobs is to release and maintain public data archives
from long-running scientific instruments. In order to help
people understand how to process the data, sample code is often
included with the archive. Recently this has been in the form of
short programs that generate a plot
On Monday, 17 July 2023 at 03:43:04 UTC, Alain De Vos wrote:
Is it possible to print runtime memory usage of:
-The stack
-The heap
-The garbage collector ?
there's gc.stats for part of it:
https://dlang.org/library/core/memory/gc.stats.html
On Thursday, 6 July 2023 at 06:00:04 UTC, Cecil Ward wrote:
My program is instrumented with a load of writeflns. At one
point it looks as though it suddenly quits prematurely because
the expected writeflns are not seen in the output. It could be
that I am just reading the flow of control wrong
On Wednesday, 5 July 2023 at 22:27:46 UTC, Andrew wrote:
So, I've gotten the itch to have a go at game development in D,
after doing a bit of it in Java last year. I've previously used
LWJGL, which is a java wrapper for OpenGL, OpenAL, GLFW, and
some other useful libs.
The problem is, apparen
https://dlang.org/install.html#activate
I ran the two curl liners for grabbing DMD and LDC newest.
So now I have ~/dlang/ldc-1.32.2 and ~/dlang/dmd-2.104.0
How am I supposed to have both "activated"? Why does LDC have to
override DMD, and DMD have to override LDC in the PATH?
I have both ins
On Thursday, 29 June 2023 at 18:27:22 UTC, Cecil Ward wrote:
I’m trying to debug my D program with old-fashioned printfs
stuck in various strategic places, actually using writefln().
My problem is that the addition of printf fights with the
existing declarations for pure nothrow @nogc @safe and
On Tuesday, 27 June 2023 at 22:34:17 UTC, Adam D Ruppe wrote:
On Tuesday, 27 June 2023 at 22:20:22 UTC, Chris Katko wrote:
pragma(msg, t.stringof); // does not see any new fields!
D's declarations are all order-independent, in theory those
foreaches are done simultane
Does anyone know why the new variables don't show up after the
static foreach?
I have a struct, it has some marked fields. I want to note those
fields at compile time and make some similarly named fields like
myField becomes myField__replicated.
The code doesn't _have_ to be inside the struc
On Tuesday, 27 June 2023 at 04:56:19 UTC, Ali Çehreli wrote:
On 6/26/23 21:25, Chris Katko wrote:
> How do I get just the field name?
I know .tupleof, which you can typeof() as well:
class myObject{
int field1, field2, field3;
static foreach(field; typeof(this).tupl
inside a static foreach I can do
```
enum rep;
class myObject{
int field1, field2, field3;
static foreach(field; getSymbolsByUDA!(typeof(this), rep))
{
pragma(msg, field); // fails
pragma(msg, fullyQualifiedName!field); // works
}
}
```
error for pragma(msg, field)
```
source/
On Wednesday, 10 May 2023 at 20:25:48 UTC, H. S. Teoh wrote:
On Wed, May 10, 2023 at 07:56:10PM +, Chris Piker via
Digitalmars-d-learn wrote: [...]
I also suffer from left/right confusion, and always have to
pause to think about which is the right(!) word before uttering
it.
Oh, I though
On Wednesday, 10 May 2023 at 16:01:40 UTC, H. S. Teoh wrote:
x = y;
^ ^
| |
lvalue rvalue
...
// This is OK:
x = y + 1;
// This is not OK:
(y + 1) = x;
Thanks for the clear explanation.
My problem with the ter
On Wednesday, 10 May 2023 at 14:42:50 UTC, Inkrementator wrote:
On Sunday, 7 May 2023 at 21:12:22 UTC, Chris Piker wrote:
https://gist.github.com/run-dlang/9b7aec72710b1108fc8277789776962a
Thanks for posting that. Reading over the code I'm reminded that
I never cared whether somethin
On Sunday, 7 May 2023 at 21:04:05 UTC, Inkrementator wrote:
On Sunday, 7 May 2023 at 18:19:04 UTC, Ali Çehreli wrote:
alias this is for implicit type conversions, which can be
achieved explicitly as well.
Open question to everybody: What you're opinion on using opCast
for this? Since it's a t
On Sunday, 7 May 2023 at 18:19:04 UTC, Ali Çehreli wrote:
auto main() {
auto c = new C();
// The same type conversion is now explicit:
foo(c.asIntPtr);
}
Hi Ali
Ah, very clear explanation, thanks! So basically to fix the
problem I just delete the alias this line from dpq2, see w
Hi D
One of the dependencies for my project has a class that makes use
of the `alias x this` construct. According to dmd 2.103, alias
this is deprecated for classes, so I'd like to correct the
problem.
Is there a specific paragraph or two that I can read to find out
what is the appropriate
I'm trying to figure out how to return a reference to something
that may not be a reference type.
```D
struct stats
{
float[string] data=0;
float ref opIndex(string key)
{
return data[key]; // want a ref to a specific element
}
}
void test()
{
stats foo;
auto x = foo.bar(); // returns so
```D
class bitmapHandler
{
bitmap*[string] bmps;
void get(string name){return bmps[name]; /* plus other code */}
}
void usage()
{
bitmapHandler bh;
bitmap foo = bh.get("bar"); // works
bitmap foo2 = bh["bar"]; // desired
}
```
Should I be using opEquals? Or something different? The problem
wi
dscanner reports this as a warning:
```D
struct foo{
this()
{
/* some initial setup */
refresh();
}
void refresh() { /* setup some more stuff */}
// [warn] a virtual call inside a constructor may lead to
unexpected results in the derived classes
}
```
Firstly, are all calls virtual in
On Saturday, 18 March 2023 at 20:42:50 UTC, Nick Treleaven wrote:
On Saturday, 18 March 2023 at 19:22:07 UTC, Chris Katko wrote:
...
So there's multiple sub-problems to solve. I asked this years
ago, and got 90% of the way done and then lost the code and
cannot find the original forum
Given:
```D
struct pos {float x, y;}
draw(myBitmap, pos(320, 240), centered);
draw(pos(320, 240), myBitmap);
draw("text", myFont, pos(320, 240));
```
I'm writing a general "draw" template function that through
compile-time, calls an associated DAllegro/Allegro 5 function:
```
draw(myBitmap, p
On Saturday, 4 March 2023 at 21:31:09 UTC, Richard (Rikki) Andrew
Cattermole wrote:
Yes dub was setup to cover the most common cases, but ignores
when you have multiple outputs. Not ideal.
There is a PR to add build steps currently, which will help
improve things, so there is work to make dub
On Saturday, 4 March 2023 at 20:23:29 UTC, Steven Schveighoffer
wrote:
On 3/4/23 1:33 PM, Chris Piker wrote:
If you mean that you have multiple subprojects inside your main
dub project, my advice is to follow what other such projects
do. I always look at vibe for my example.
I have been
On Monday, 27 February 2023 at 12:09:50 UTC, Basile B. wrote:
At least this is what is done for the Dexed GDB widget, so that
gdb breaks automatically when an Error or an Exception is new'd
(https://gitlab.com/basile.b/dexed/-/blob/master/src/u_gdb.pas#L2072).
Glad you mentioned Dexed. I Had
Hi D
I normally work in a *nix environment, typically on server-side
code. For many projects I have gnu makefiles that build a small
lib along with command line utilities.
Up to now I've been creating a dub.json file for just the
sourceLibrary, and then putting embedded dub comments at the
On Friday, 17 February 2023 at 17:42:19 UTC, Ali Çehreli wrote:
// Two different steps
auto g1 = r.map!((int n) => n * n);
auto g2 = r.map!((int n) => n * 10);
// The rest of the algoritm
auto result = choose(condition, g1, g2)
.array;
Now that's a handy c
On Friday, 17 February 2023 at 17:44:20 UTC, H. S. Teoh wrote:
Here's an actual function taken from my own code, that returns
a different range type depending on a runtime condition, maybe
this will help you?
Thanks, this was helpful.
I keep forgetting to expand my horizons on what can be ret
Hi D
I have a main "loop" for a data processing program that looks
much as follows:
```d
sourceRange
.operatorA
.operatorB
.operatorC
.operatorD
.operatorE
.operatorF
.operatorG
.operatorH
.copy(destination);
```
Where all `operator` items above are InputRange structs that tak
On Monday, 2 January 2023 at 14:56:27 UTC, SealabJaster wrote:
Are you asking for a SAX-styled parser for JSON?
I have an upcoming project (about 3-6 months away) that could
make use of this as well. If you need someone to try it out
please let me know and I'll give it a spin. Good luck on
```D
struct pair
{
float x;
float y;
}
pair[10] values;
import std.conv;
auto valuesInCStyle = to!(const float*)(values);
```
Now that's not going to work because (I would imagine) to!
doesn't understand x, and y, can be placed in order to give an
array of:
valuesInCStyle = [values[
On Wednesday, 28 September 2022 at 06:04:36 UTC, zjh wrote:
On Wednesday, 28 September 2022 at 05:29:41 UTC, Chris Piker
wrote:
`Xmake` is indeed simpler.
`Xmake` is really nice!
zjh
Sorry to go off topic for a moment, but do you happen to know how
to tell xmake that my project is C
On Wednesday, 7 September 2022 at 00:31:53 UTC, zjh wrote:
`xmake` is simpler.
Thanks for the recommendation. Was struggling with cmake for a
dependent clib. Xmake is indeed simpler.
On Friday, 1 July 2022 at 13:28:26 UTC, Chris Katko wrote:
...wait, does "world" not 'exist' until after the constructor
finishes? Is that's what's going on? But then why does it
'exist' when I send it directly? Is it only "registered" with
On Friday, 1 July 2022 at 13:12:05 UTC, Adam D Ruppe wrote:
On Friday, 1 July 2022 at 12:57:01 UTC, Chris Katko wrote:
Cannot access memory at address 0x10
Looks like an ordinary null pointer. How did you create the
variable?
D
bool initialize() //called from main
Forgot the last line. That's important because world MUST exist
by time elf is called... because world... created and called elf.
So it's not a memory issue, but some sort of linkage issue.
To add, I cannot even access g.world from inside elf's
constructor.
... which is the function that called it.
D
Thread 1 "main" received signal SIGSEGV, Segmentation fault.
objects.elf.this(g.pair, objects.atlasHandler) (this=, atlas=,
_pos=...) at ./src/objects.d:320
(gdb) bt
#0 object
dmd (but I think LDC also is affected)
this bug has bit me multiple times now, to the point I can
recognize it. Accessing module variables, from inside a method,
causes a segfault. Even if the variable should be available by
then through the call order. Proving that its a bug, you can
directl
On Wednesday, 22 June 2022 at 12:42:48 UTC, Steven Schveighoffer
wrote:
On 6/22/22 2:05 AM, monkyyy wrote:
On Monday, 20 June 2022 at 13:20:51 UTC, Steven Schveighoffer
wrote:
And you can also use an inner struct to define overloaded
functions.
I believe templates make a better bandaid
```d
v
On Saturday, 18 June 2022 at 17:52:16 UTC, Adam D Ruppe wrote:
On Saturday, 18 June 2022 at 17:37:44 UTC, Chris Katko wrote:
D
struct pair { float x, y;}
pair p[] = [[0, 0], [255, 255], [25,-25]]; //nope
An array of pair is `pair[]`, keep the brackets with the type.
Then a struct
D
struct pair { float x, y;}
pair p[] = [[0, 0], [255, 255], [25,-25]]; //nope
I'm having difficulty figuring out exactly what signature D is
expecting.
D
enum DIR
{
UP = 0,
DOWN,
LEFT,
RIGHT,
UPLEFT,
UPRIGHT,
DOWNRIGHT,
DOWNLEFT,
On Friday, 17 June 2022 at 12:19:33 UTC, bauss wrote:
On Friday, 17 June 2022 at 12:09:33 UTC, Chris Katko wrote:
I don't need this functionality, but I wanted to be sure.
Does function overloading not work with nested functions? I
got a compiler error (something like "functi
I don't need this functionality, but I wanted to be sure.
Does function overloading not work with nested functions? I got a
compiler error (something like "function already defined") when I
tried it.
On Friday, 10 June 2022 at 17:26:48 UTC, Ali Çehreli wrote:
On 6/10/22 08:13, z wrote:
> arrays of arrays has different order for declaration and
addressing,
> and declaring array of arrays has different order depending
on how you
> declare it and wether it's static or dynamic array, *oof*)
>
>
On Friday, 10 June 2022 at 17:37:30 UTC, Chris Katko wrote:
I want to pipe in string data to a shell/commandline program,
then retrieve the output. But the documentation I read appears
to only show usage for 'Files' for stdin/stdout/stderr.
ala something like this:
D
string inpu
I want to pipe in string data to a shell/commandline program,
then retrieve the output. But the documentation I read appears to
only show usage for 'Files' for stdin/stdout/stderr.
ala something like this:
D
string input = "hello\nworld";
string output;
runProcess("grep hello", input, outpu
Is it somehow possible to use a struct as a [multidimensional]
array index:
D
struct indexedPair
{
size_t x, y;
}
bool isMapPassable[100][100];
auto p = indexedPair(50, 50);
if(isMapPassable[p]) return true;
Probably not, but I'm curious.
D
struct pair
{
float x,y;
}
myFunction(float taco, float x, float y, float burrito)
{
// stuff
}
myfunction(_taco, _x, _y, _burrito); // call function
// But can we do this?
pair p;
myfunction(_taco, p; _burrito); // p becomes (x,y) and satisfies
the two floats in the signature
On Sunday, 22 May 2022 at 20:11:12 UTC, rikki cattermole wrote:
On 23/05/2022 8:05 AM, Chris Piker wrote:
Vibe.d is well tested against the frontend.
Its part of dmd's test suite.
See: https://buildkite.com/dlang/dmd/builds/26775
Thanks, that's handy. Do you know where the equiv
On Sunday, 22 May 2022 at 19:33:21 UTC, rikki cattermole wrote:
I should probably jump back to another thread, but maybe one more
reply isn't too much off topic discussion...
DMD and LDC would have produced the same set of issues, because
its the same frontend.
Oh, the compile stage works o
On Sunday, 22 May 2022 at 19:01:41 UTC, rikki cattermole wrote:
On 23/05/2022 6:06 AM, Chris Piker wrote:
Iain's workload should be decreasing now that it is using the
up to date frontend. Rather than the older C++ version with
backports that he has been maintaining.
Hats off to Iai
On Wednesday, 11 May 2022 at 05:41:35 UTC, Ali Çehreli wrote:
What are you stuck at? What was the most difficult features to
understand? etc.
To make it more meaningful, what is your experience with other
languages?
Ali
Hi Ali, thanks for asking.
Coming from C background I had problems wi
On Thursday, 19 May 2022 at 10:35:30 UTC, ag0aep6g wrote:
On 19.05.22 12:15, Chris Katko wrote:
given
```D
struct COLOR
{
float r, g, b, a; // a is alpha (opposite of transparency)
}
auto red = COLOR(1,0,0,1);
auto green = COLOR(0,1,0,1);
auto blue = COLOR(0,0,1,1);
auto white = COLOR
given
```D
struct COLOR
{
float r, g, b, a; // a is alpha (opposite of transparency)
}
auto red = COLOR(1,0,0,1);
auto green = COLOR(0,1,0,1);
auto blue = COLOR(0,0,1,1);
auto white = COLOR(1,1,1,1);
//etc
```
is there a way to do:
```D
auto myColor = GREY!(0.5);
// where GREY!(0.5) becomes C
On Friday, 13 May 2022 at 07:05:36 UTC, vit wrote:
On Friday, 13 May 2022 at 06:43:39 UTC, Chris Katko wrote:
I have an intrinsicGraph(T) class that is given a pointer to a
T dataSource and automatically polls that variable every frame
to add it to the graph, whether it's a float, d
I have an intrinsicGraph(T) class that is given a pointer to a T
dataSource and automatically polls that variable every frame to
add it to the graph, whether it's a float, double, integer, and
maybe bool.
This all works fine if you have a single template type. But what
if I want ... multiple
On Thursday, 12 May 2022 at 16:04:09 UTC, Ali Çehreli wrote:
My view on private has changed over the years. I need to be
convinced that there is usage that needs to be protected. :) I
don't see people using types freely especially the ones that
are in the same module. The only argument for priv
I swear I asked something like this before years ago but it
doesn't show up in my previous forum posts.
I'm looking for a construct that mimics using(var)/with(var)
D
bitmap* b;
draw_with(b)
{
draw_pixel(red, 16, 16); //draw red pixel to bitmap b (b is
implied above)
}
But th
On Monday, 25 April 2022 at 12:53:14 UTC, Mike Parker wrote:
On Monday, 25 April 2022 at 08:54:52 UTC, Chris Katko wrote:
D
struct pair
{
float x,y;
}
alias sPair = Typedef!pair; // pair of xy in screen space
coordinates
alias vPair = Typedef!pair; // pair of xy in viewport space
D
struct pair
{
float x,y;
}
alias sPair = Typedef!pair; // pair of xy in screen space
coordinates
alias vPair = Typedef!pair; // pair of xy in viewport space
coordinates
//etc
void test()
{
pair v0 = pair(1f, 2f); // works fine, but what about the
typedefs?
vPair v1 = vPair(1f, 2f); /
y direct writing
a bunch of ubytes?
What is the 'smash' way to do it, and if better, what's the
elegant way to do it? (In case I need either going forward).
Thanks,
--Chris
Using DMD. v2.098-beta-2
Not sure if right terminology. But I just wrote a nested function
that uses a variable outside its body. The capture (right term?)
is obvious where the invocation is. However, I have to move the
declaration of the variable to above the nested function for it
to compil
On Thursday, 10 March 2022 at 17:59:33 UTC, H. S. Teoh wrote:
Probably what you're looking for is std.format.formattedWrite.
For example:
```d
import std;
void main() {
ubyte[65536] buf;
char[] usable_buf = cast(char[]) buf[];
usable_buf.formattedWrite!"Blah %d blah %s"(123, "Э
On Tuesday, 25 January 2022 at 20:04:04 UTC, Adam D Ruppe wrote:
Not surprising at all: gdc is excellent and underrated in the
community.
The performance metrics are just a bonus. Gdc is the main reason
I can get my worksite to take D seriously since we're a
traditional unix shop (solaris ->
Hi D
There are quite a few string, array and range functions in phobos
so I'm getting confused as to the right way to encode string data
as UTF-8 directly into a stack buffer while keeping track of the
write point.
I have some output packets I'm building up in a tight loop. For
speed I'm u
On Sunday, 27 February 2022 at 01:45:35 UTC, Adam D Ruppe wrote:
My dpldocs.info search engine is not great right now but it can
sometimes help find these things:
http://search.dpldocs.info/?q=listenTCP
Hi Adam
Your site has been super helpful given the state of the vibe.d
docs. It only ha
On Monday, 28 February 2022 at 08:03:24 UTC, Basile B. wrote:
That 's not exactly what you ask for but you can define the
path in the embedded recipe (targetPath)
```d
#!/usr/bin/env dub
/+ dub.sdl:
dependency "mypackage" version="*" path=".."
targetPath "./bin"
+/
```
Hey thanks! No
Hi D
Coming from a python background it's worked well to organize my D
projects as a dub `sourceLibrary` and then to put top level
programs in a directory named `scripts` that are just dub single
file projects. So the layout looks like this:
```
rootdir/
|
+- mypackage/
||
|
Hi D
I have bit of code that was tripping me up. I need to parse
small fields out of a big binary read, and it looks like some
operations just can't be composed when it comes to
using templates. So this works:
```d
import std.bitmanip, std.system;
ubyte[8192] data;
ubyte[] temp = data[4..6]
On Sunday, 27 February 2022 at 01:45:35 UTC, Adam D Ruppe wrote:
and my website also offers a "see implementation" link at the
bottom which has some inline code navigation jump links too to
help.
Yes! Freaking awesome!
This needs to be a link on the regular D pages, or at least in
the package
On Saturday, 26 February 2022 at 22:25:46 UTC, Chris Piker wrote:
Anyway if someone can just help me find the source code to
listenTCP inside vibe.d I'd be grateful.
Sorry to reply to myself, but I found the function. It was
separated
out into a separate package: https://github.com/v
Hi D
I'm trying out the vibe.d framework for the first time and it
looks like many of the functions mutate some hidden global state.
Take for example `listenTCP`. To help me build a mental
picuture of the framework I'd like to see what global state is
mutated, but for the life of me I can't
On Monday, 21 February 2022 at 07:00:52 UTC, eugene wrote:
On Monday, 21 February 2022 at 04:46:53 UTC, Chris Piker wrote:
On Sunday, 20 February 2022 at 18:00:26 UTC, eugene wrote:
I'm adverse to reading it closely since there was no license
file and don't want to accidental
On Sunday, 20 February 2022 at 18:36:21 UTC, eugene wrote:
I often use two connections, one for perform main task
(upload some data and alike) and the second for getting
notifications from PG, 'cause it very incovinient to
do both in a single connection.
Ah, a very handy tip. It would be conv
1 - 100 of 1001 matches
Mail list logo