-libpath?

2018-02-06 Thread Jonathan Marler via Digitalmars-d
What do people think of adding an argument to DMD to add library search paths? Currently the only way I know how to do this would be via linker-specific flags, i.e. GCC: -L-L/usr/lib MSVC: -L-libpath:C:\mylibs OPTLINK: -L+C:\mylibs\ NOTE: the optlink version only works if no .def file is

Re: NES emulator written in D

2018-02-03 Thread Jonathan Marler via Digitalmars-d-announce
On Saturday, 3 February 2018 at 13:52:17 UTC, blahness wrote: Hi everyone, Not sure how interested people here will be with this but I've ported https://github.com/fogleman/nes from Go to D [1]. I should point out that I'm not the author of the original Go version. The emulator code itself

Re: How programmers transition between languages

2018-01-26 Thread Jonathan Marler via Digitalmars-d
Very cool stuff, thanks for sharing.

Re: [theory] What is a type?

2018-01-15 Thread Jonathan Marler via Digitalmars-d
On Monday, 15 January 2018 at 19:34:23 UTC, Ali Çehreli wrote: On 01/15/2018 10:58 AM, Jonathan Marler wrote: > On Sunday, 10 October 2010 at 12:28:32 UTC, Justin Johansson wrote: > I'm getting "nostalgia" from all the math terminology :) Just the date of the post you're responding to is

Re: [theory] What is a type?

2018-01-15 Thread Jonathan Marler via Digitalmars-d
On Sunday, 10 October 2010 at 12:28:32 UTC, Justin Johansson wrote: Specifically I have a problem in trying to implement a functional language translator in D. My target language has a rather non-conventional type system, in which, superficially at least, types can be described as being

Re: Bump the minimal version required to compile DMD to 2.076.1

2018-01-12 Thread Jonathan Marler via Digitalmars-d
On Friday, 12 January 2018 at 16:50:21 UTC, Joakim wrote: On Friday, 12 January 2018 at 16:13:39 UTC, Seb wrote: 2) We start to run into random failures lately, e.g. https://github.com/braddr/d-tester/issues/63 https://github.com/dlang/dmd/pull/7569#issuecomment-356992048 Seem like issues

Re: Answers needed from those using D for Web Development, Web APIs and Services

2017-12-21 Thread Jonathan Marler via Digitalmars-d
On Friday, 15 December 2017 at 08:13:25 UTC, aberba wrote: I'm going to do a writeup on the state of D in Web Development, APIs and Services for 2017. I need the perspective of the community too along with my personal experience. Please help out. More details the better. 0. Since when did

DMD Test Suite Windows

2017-12-18 Thread Jonathan Marler via Digitalmars-d-learn
Trying to run the dmd test suite on windows, looks like Digital Mars "make" doesn't work with the Makefile, I tried Gnu Make 3.81 but no luck with that either. Anyone know which version of make it is supposed to work with on windows? Is it supposed to work on windows at all?

Re: classes by value

2017-12-14 Thread Jonathan Marler via Digitalmars-d
On Thursday, 14 December 2017 at 16:40:33 UTC, Petar Kirov [ZombineDev] wrote: I think what Dgame meant was: https://dlang.org/phobos-prerelease/std_typecons#scoped. For the built-in scoped classes, the keyword is 'scope', not 'scoped': https://dlang.org/spec/class.html#auto. So you can have

Re: classes by value

2017-12-14 Thread Jonathan Marler via Digitalmars-d
On Thursday, 14 December 2017 at 14:45:51 UTC, Dgame wrote: Strongly reminds me of scoped Declaring a variable as `scoped` prevents that variable from escaping the scope it is declared in. This restriction allows the compiler certain optimizations, such as allocating classes on the stack,

classes by value

2017-12-14 Thread Jonathan Marler via Digitalmars-d
Thought I would share this little nugget. It's a simple module to enable "classes by value". A good demonstration of the power of "alias this". I had originally implemented this using "opDispatch" and only after I was done did I realize I could have made my life much simpler if I had gone

Re: is private broken?

2017-10-10 Thread Jonathan Marler via Digitalmars-d
On Tuesday, 10 October 2017 at 19:33:30 UTC, Steven Schveighoffer wrote: On 10/10/17 3:20 PM, Jonathan Marler wrote: On windows I was able to compile the following using both dmd.2.075.1 and dmd.2.076.1 From what I understand, you shouldn't be able to access private fields/methods like

is private broken?

2017-10-10 Thread Jonathan Marler via Digitalmars-d
On windows I was able to compile the following using both dmd.2.075.1 and dmd.2.076.1 From what I understand, you shouldn't be able to access private fields/methods like this...am I missing something? I find it hard to believe that a bug of this magnitudue could have been introduced and not

Re: Alternatives to extern(delegate) (DIP 1011)

2017-10-03 Thread Jonathan Marler via Digitalmars-d
On Monday, 2 October 2017 at 07:48:54 UTC, Jonathan Marler wrote: Andrei suggests we take a closer look at alternatives to DIP 1011 (extern(delegate)) that can be implemented in a library. In the past I've failed to come up with anything good, however, my last attempt seemed to be less

Alternatives to extern(delegate) (DIP 1011)

2017-10-02 Thread Jonathan Marler via Digitalmars-d
Andrei suggests we take a closer look at alternatives to DIP 1011 (extern(delegate)) that can be implemented in a library. In the past I've failed to come up with anything good, however, my last attempt seemed to be less horrible than before. I'm inviting anyone to view/modify my feeble

Re: DIP88 Named Parameters, Status?

2017-09-30 Thread Jonathan Marler via Digitalmars-d
On Saturday, 30 September 2017 at 22:37:31 UTC, Jonathan M Davis wrote: On Saturday, September 30, 2017 16:57:09 solidstate1991 via Digitalmars-d wrote: On Saturday, 30 September 2017 at 16:22:37 UTC, Jonathan M Davis wrote: > [...] What about DIP45, or making export an attribute? That would

DIP88 Named Parameters, Status?

2017-09-30 Thread Jonathan Marler via Digitalmars-d
https://wiki.dlang.org/DIP88 I'd like to see DIP88 (Named Parameters) revived. Was this proposal rejected or is it just stale and needs a refresh? Named parameters can be implemented in a library, however, in my opinion they are useful enough to warrant a clean syntax with language

Re: Custom Attributes for Function Parameters?

2017-09-23 Thread Jonathan Marler via Digitalmars-d
On Saturday, 23 September 2017 at 23:13:33 UTC, Jerry wrote: Is there any reason why custom attributes aren't allowed for function parameters? It'd be useful for my situation to give the parameter some more information. Seems it is allowed in some other languages that have attributes, so was

Re: Awesome: asserts turn into writeln for ddoc'd unit tests

2017-09-17 Thread Jonathan Marler via Digitalmars-d
On Sunday, 17 September 2017 at 21:36:51 UTC, Seb wrote: On Sunday, 17 September 2017 at 18:30:51 UTC, Steven Schveighoffer wrote: This is something I didn't realize happened (I remember discussing it a while back). Awesome work whoever did it, and works great! Yeah we even had a short post

Re: lazy import, an alternative to DIP 1005

2017-09-15 Thread Jonathan Marler via Digitalmars-d
On Friday, 15 September 2017 at 15:45:56 UTC, jmh530 wrote: On Friday, 15 September 2017 at 14:45:01 UTC, Jonathan Marler wrote: Note that instead of introducing the "lazy" modifier here, we could just modify static imports to be lazy which would mean no new syntax and every benefits from

Re: lazy import, an alternative to DIP 1005

2017-09-15 Thread Jonathan Marler via Digitalmars-d
On Friday, 15 September 2017 at 14:45:01 UTC, Jonathan Marler wrote: ... Wanted to add that I believe we could also make "selective imports" lazy, either be default or possibly by adding a modifier like "lazy" if non-lazy imports are still useful. lazy import std.stdio : File; lazy import

lazy import, an alternative to DIP 1005

2017-09-15 Thread Jonathan Marler via Digitalmars-d
DIP 1005 proposes a solution to prevent loading in modules that don't need to be loaded, thereby decreasing the overall compile time. Here's an example taken from the DIP: with (import std.stdio) void process(File input) ; with (import std.range) struct Buffered(Range) if (isInputRange!Range)

Re: Deimos X11 bindings license question

2017-09-05 Thread Jonathan Marler via Digitalmars-d
On Tuesday, 5 September 2017 at 18:12:23 UTC, bachmeier wrote: ...the GPL does not in any way restrict users. Using GPL code means you promise *not* to impose restrictions... Reading things like this is much more humorous when you have a solid background in logic and contradiction. As for

Re: Deimos X11 bindings license question

2017-09-05 Thread Jonathan Marler via Digitalmars-d
On Sunday, 3 September 2017 at 16:10:11 UTC, Gary Willoughby wrote: Hi, A few years ago I forked the Deimos X11 bindings[1] repo to add dub support. Since then my repo[2] has received bug fixes and as such it's being used in many projects. (Also, in the following years dub support was added

Re: Function pointer from mangled name at runtime?

2017-09-01 Thread Jonathan Marler via Digitalmars-d
On Friday, 1 September 2017 at 19:49:46 UTC, bitwise wrote: If I have the mangled name of a module-scoped D template function as a string, is there a way to check for it's presence in the symbol table, and retrieve the function pointer at runtime? Example: ` module mine; class Test { } `

Re: Events in D

2017-08-29 Thread Jonathan Marler via Digitalmars-d
On Tuesday, 29 August 2017 at 05:10:25 UTC, bitwise wrote: I needed some C# style events, so I rolled my own. Long story short, the result was unsatisfactory. Library based events are inadequate for basically the same reasons as library based properties (often suggested/attempted in C++).

Re: Compile Imported Modules

2017-08-26 Thread Jonathan Marler via Digitalmars-d
On Saturday, 26 August 2017 at 06:31:11 UTC, user1234 wrote: On Friday, 25 August 2017 at 19:20:15 UTC, Jonathan Marler wrote: On Friday, 25 August 2017 at 13:15:35 UTC, Daniel N wrote: On Friday, 25 August 2017 at 13:03:11 UTC, Jonathan Marler wrote: I can do: dmd -ci prog.d -Isomelib

Re: Compile Imported Modules

2017-08-25 Thread Jonathan Marler via Digitalmars-d
On Friday, 25 August 2017 at 13:15:35 UTC, Daniel N wrote: On Friday, 25 August 2017 at 13:03:11 UTC, Jonathan Marler wrote: I can do: dmd -ci prog.d -Isomelib -Ianotherlib I love it, thanks for doing this! Thanks, I think this is a really nice feature. I've uploaded my build so that

Re: Compile Imported Modules

2017-08-25 Thread Jonathan Marler via Digitalmars-d
On Friday, 25 August 2017 at 01:50:00 UTC, Jonathan Marler wrote: On Thursday, 24 August 2017 at 17:37:12 UTC, Jonathan Marler wrote: On Thursday, 24 August 2017 at 16:49:08 UTC, Seb wrote: On Thursday, 24 August 2017 at 16:32:32 UTC, Jonathan Marler wrote: [...] rdmd is really bad in terms

Re: Compile Imported Modules

2017-08-24 Thread Jonathan Marler via Digitalmars-d
+, Jonathan Marler via Digitalmars-d wrote: Wanted to get peoples thoughts on this. The idea is to have a way to tell the compiler (probably with a command line option) that you'd like to "compile imported modules". [...] Isn't this what rdmd already does? T That is one thing

Re: Compile Imported Modules

2017-08-24 Thread Jonathan Marler via Digitalmars-d
On Thursday, 24 August 2017 at 18:12:03 UTC, H. S. Teoh wrote: On Thu, Aug 24, 2017 at 06:00:15PM +, Jonathan Marler via Digitalmars-d wrote: On Thursday, 24 August 2017 at 17:49:27 UTC, H. S. Teoh wrote: > Uh, no. This will definitely break separate compilation, > and some

Re: Compile Imported Modules

2017-08-24 Thread Jonathan Marler via Digitalmars-d
On Thursday, 24 August 2017 at 17:49:27 UTC, H. S. Teoh wrote: Uh, no. This will definitely break separate compilation, and some people will be very unhappy about that. I couldn't think of a case that it would break. Can you share the cases you thought of?

Re: Compile Imported Modules

2017-08-24 Thread Jonathan Marler via Digitalmars-d
On Thursday, 24 August 2017 at 16:49:08 UTC, Seb wrote: On Thursday, 24 August 2017 at 16:32:32 UTC, Jonathan Marler wrote: On Thursday, 24 August 2017 at 15:56:32 UTC, H. S. Teoh wrote: On Thu, Aug 24, 2017 at 03:53:05PM +, Jonathan Marler via Digitalmars-d wrote: Wanted to get peoples

Re: Compile Imported Modules

2017-08-24 Thread Jonathan Marler via Digitalmars-d
On Thursday, 24 August 2017 at 15:56:32 UTC, H. S. Teoh wrote: On Thu, Aug 24, 2017 at 03:53:05PM +, Jonathan Marler via Digitalmars-d wrote: Wanted to get peoples thoughts on this. The idea is to have a way to tell the compiler (probably with a command line option) that you'd like

Compile Imported Modules

2017-08-24 Thread Jonathan Marler via Digitalmars-d
Wanted to get peoples thoughts on this. The idea is to have a way to tell the compiler (probably with a command line option) that you'd like to "compile imported modules". Say you have a program "prog" that depends on modules "foo" and "bar". import foo; import bar; Compilation

Re: C++17 Init statement for if/switch

2017-08-15 Thread Jonathan Marler via Digitalmars-d
On Tuesday, 15 August 2017 at 20:17:40 UTC, ag0aep6g wrote: On 08/15/2017 08:55 PM, Daniel Kozak wrote: C++17 will have this feature: https://tech.io/playgrounds/2205/7-features-of-c17-that-will-simplify-your-code/init-statement-for-ifswitch What do you think about it, can we have something

Re: If Statement with Declaration

2017-07-19 Thread Jonathan Marler via Digitalmars-d
On Wednesday, 19 July 2017 at 16:13:28 UTC, Swoorup Joshi wrote: On Wednesday, 19 July 2017 at 15:31:08 UTC, ag0aep6g wrote: On 07/19/2017 03:30 PM, sontung wrote: So I was thinking of some sort of syntax like this: if(int i = someFunc(); i >= 0) { // use i } Thoughts

Re: If Statement with Declaration

2017-07-19 Thread Jonathan Marler via Digitalmars-d
On Wednesday, 19 July 2017 at 15:39:02 UTC, Steven Schveighoffer wrote: On 7/19/17 9:30 AM, sontung wrote: So I was thinking of a way of extending if statements that have declarations. The following being as example of the current use of if statements with declarations: if(int*

Re: If Statement with Declaration

2017-07-19 Thread Jonathan Marler via Digitalmars-d
On Wednesday, 19 July 2017 at 13:30:56 UTC, sontung wrote: So I was thinking of a way of extending if statements that have declarations. The following being as example of the current use of if statements with declarations: if(int* weDontPollute = someFunc()) { // use

Re: Error: -o no longer supported, use -of or -od

2017-07-17 Thread Jonathan Marler via Digitalmars-d
On Monday, 17 July 2017 at 16:08:30 UTC, Zaheer Ahmed wrote: When Compiling kernel.d with makefile I get Error: -o no longer supported, use -of or -od and my Makefile Commands to do this is following. DMDPARAMS = -m32 //...some objects %.o: %.d dmd $(DMDPARAMS) -o $@ -c $< dmd

Re: DIP 1011--extern(delegate)--Preliminary Review Round 1

2017-07-17 Thread Jonathan Marler via Digitalmars-d
On Sunday, 16 July 2017 at 11:45:09 UTC, Nicholas Wilson wrote: On Friday, 14 July 2017 at 10:43:05 UTC, Mike Parker wrote: DIP 1011 is titled "extern(delegate)". https://github.com/dlang/DIPs/blob/master/DIPs/DIP1011.md All review-related feedback on and discussion of the DIP should occur

Re: DIP 1011--extern(delegate)--Preliminary Review Round 1

2017-07-14 Thread Jonathan Marler via Digitalmars-d
On Friday, 14 July 2017 at 17:02:37 UTC, Dmitry Olshansky wrote: ...The dance with making an ABI wrapper can be left to compiler proper. This proposal doesn't make ABI wrappers, it changes the ABI of the function itself.

Re: DIP 1011--extern(delegate)--Preliminary Review Round 1

2017-07-14 Thread Jonathan Marler via Digitalmars-d
On Friday, 14 July 2017 at 12:52:56 UTC, Steven Schveighoffer wrote: On 7/14/17 6:43 AM, Mike Parker wrote: DIP 1011 is titled "extern(delegate)". https://github.com/dlang/DIPs/blob/master/DIPs/DIP1011.md All review-related feedback on and discussion of the DIP should occur in this thread.

Re: proposed @noreturn attribute

2017-07-08 Thread Jonathan Marler via Digitalmars-d
On Saturday, 8 July 2017 at 10:15:39 UTC, Walter Bright wrote: C compilers (and by extension C++ compilers) usually have an extension which allows a function to be marked as one that never returns. The point of this is it enables improved data flow analysis and better code being generated.

Re: Graph rendering on dlang.org

2017-07-01 Thread Jonathan Marler via Digitalmars-d
On Saturday, 1 July 2017 at 20:53:07 UTC, Cym13 wrote: On Saturday, 1 July 2017 at 19:19:09 UTC, Jonathan Marler wrote: On Friday, 30 June 2017 at 21:40:05 UTC, Andrei Alexandrescu wrote: [...] There's also mermaid. They have a live editor here: https://knsv.github.io/mermaid/live_editor/

Re: Graph rendering on dlang.org

2017-07-01 Thread Jonathan Marler via Digitalmars-d
On Friday, 30 June 2017 at 21:40:05 UTC, Andrei Alexandrescu wrote: Currently we have a nice table at https://dlang.org/spec/const3.html#implicit_conversions documenting how implicit conversions work across qualifiers. While complete and informative, it doesn't quickly give an intuition. A

Re: range of ranges into one range?

2017-06-26 Thread Jonathan Marler via Digitalmars-d-learn
On Monday, 26 June 2017 at 06:19:07 UTC, rikki cattermole wrote: Perhaps? http://dlang.org/phobos/std_algorithm_iteration.html#.joiner Thank you.

range of ranges into one range?

2017-06-26 Thread Jonathan Marler via Digitalmars-d-learn
I'm using the phobos "chain" function to iterate over a set of string arrays. However, one of the variables is actually an array of structs that each contain a string array. So I use "map" to get a range of string arrays, but "chain" expects each variable to be a string array, not a range of

Re: gdc is in

2017-06-21 Thread Jonathan Marler via Digitalmars-d
On Wednesday, 21 June 2017 at 15:11:39 UTC, Joakim wrote: the gcc tree: https://gcc.gnu.org/ml/gcc/2017-06/msg00111.html Congratulations to Iain and the gdc team. :) I found out because it's on the front page of HN right now, where commenters are asking questions about D. Terrific news,

Re: qualified type names for mixins

2017-06-16 Thread Jonathan Marler via Digitalmars-d
On Friday, 16 June 2017 at 03:57:17 UTC, Adam D. Ruppe wrote: On Friday, 16 June 2017 at 03:26:28 UTC, Jonathan Marler wrote: [...] The real WTF is that it returns a string in the first place. It should return a struct. [...] PR Here: https://github.com/dlang/phobos/pull/5490 Currently

Re: qualified type names for mixins

2017-06-15 Thread Jonathan Marler via Digitalmars-d
On Friday, 16 June 2017 at 03:57:17 UTC, Adam D. Ruppe wrote: On Friday, 16 June 2017 at 03:26:28 UTC, Jonathan Marler wrote: If you have a better idea on how to implement the bitfields template that would be great. The real WTF is that it returns a string in the first place. It should

Re: qualified type names for mixins

2017-06-15 Thread Jonathan Marler via Digitalmars-d
On Thursday, 15 June 2017 at 22:59:23 UTC, Adam D. Ruppe wrote: On Thursday, 15 June 2017 at 22:36:56 UTC, Jonathan Marler wrote: Doesn't work with eponymous templates, like std.traits.Flag. For example, make this code work: That uses `.stringof` which means it is useless for anything

Re: qualified type names for mixins

2017-06-15 Thread Jonathan Marler via Digitalmars-d
On Thursday, 15 June 2017 at 21:54:44 UTC, Adam D. Ruppe wrote: On Thursday, 15 June 2017 at 21:26:38 UTC, Jonathan Marler wrote: The common use case is when you'd like to mixin a type when it is passed to a template. That's also the most common wrong case. If it is passed to a template, you

Re: qualified type names for mixins

2017-06-15 Thread Jonathan Marler via Digitalmars-d
On Thursday, 15 June 2017 at 20:34:39 UTC, Adam D. Ruppe wrote: On Thursday, 15 June 2017 at 19:15:55 UTC, Jonathan Marler wrote: I've found that the fullyQualifiedName template in std.traits is a good tool for creating mixin code, however, it doesn't always work. Why is it useful? I suggest

qualified type names for mixins

2017-06-15 Thread Jonathan Marler via Digitalmars-d
I've found that the fullyQualifiedName template in std.traits is a good tool for creating mixin code, however, it doesn't always work. - import std.traits; struct GlobalFoo { int x; } // WORKS mixin(fullyQualifiedName!GlobalFoo ~ " globalFoo;"); unittest { static struct Foo

Re: Makefile experts, unite!

2017-06-12 Thread Jonathan Marler via Digitalmars-d
On Sunday, 11 June 2017 at 19:17:36 UTC, Andrei Alexandrescu wrote: Phobos' posix.mak offers the ability to only run unittests for one module: make std/range/primitives.test BUILD=debug -j8 ... or package: make std/range.test BUILD=debug -j8 It runs module tests in parallel and everything.

Re: Relative Aliases?

2017-05-28 Thread Jonathan Marler via Digitalmars-d
On Sunday, 28 May 2017 at 15:07:55 UTC, Timon Gehr wrote: On 28.05.2017 17:04, Jonathan Marler wrote: Is there a way to get an alias to a symbol relative to the current location? I'm looking for a general solution but I'll show an example to demonstrate one use case. Say we want to access

Relative Aliases?

2017-05-28 Thread Jonathan Marler via Digitalmars-d
Is there a way to get an alias to a symbol relative to the current location? I'm looking for a general solution but I'll show an example to demonstrate one use case. Say we want to access the alias to the current function symbol. Obviously we can use the name of the current function, i.e.

Re: simple ABI change to enable implicit conversion of functions to delegates?

2017-05-15 Thread Jonathan Marler via Digitalmars-d
On Monday, 15 May 2017 at 23:10:00 UTC, ag0aep6g wrote: On 05/15/2017 11:56 PM, Jonathan Marler wrote: your proposal would require every function to use the same ABI as it's delegate counterpart, which includes the code to unwind the stack if the context pointer was passed in there or any

Re: simple ABI change to enable implicit conversion of functions to delegates?

2017-05-15 Thread Jonathan Marler via Digitalmars-d
On Monday, 15 May 2017 at 21:06:57 UTC, ag0aep6g wrote: On 05/15/2017 10:34 PM, kinke wrote: If you just want to append an extra context arg by passing it as last actual arg, it'll end up in the stack sooner or later, and that, I guess, is where bad things may happen by just pushing an

Re: simple ABI change to enable implicit conversion of functions to delegates?

2017-05-15 Thread Jonathan Marler via Digitalmars-d
On Monday, 15 May 2017 at 17:06:34 UTC, ag0aep6g wrote: On 05/15/2017 05:44 PM, Jonathan Marler wrote: Not sure if members in this conversation were aware of my DIP to address this issue: https://github.com/dlang/DIPs/pull/61 The DIP uses a different approach to solve this same problem. It

Re: simple ABI change to enable implicit conversion of functions to delegates?

2017-05-15 Thread Jonathan Marler via Digitalmars-d
On Monday, 15 May 2017 at 12:27:10 UTC, kinke wrote: On Monday, 15 May 2017 at 10:41:55 UTC, ag0aep6g wrote: TL;DR: Changing the ABI of delegates so that the context pointer is passed last would make functions implicitly convertible to delegates, no? In the discussion of issue 17156 [1],

Re: alias this on module

2017-05-01 Thread Jonathan Marler via Digitalmars-d
On Monday, 1 May 2017 at 23:06:00 UTC, Petar Kirov [ZombineDev] wrote: The common thing between modules and the other aggregate types (classes, interfaces, unions and structs) is that members of the former behave as if they were static members of the later. The difference, of course, is that

Re: alias this on module

2017-05-01 Thread Jonathan Marler via Digitalmars-d
On Monday, 1 May 2017 at 12:41:19 UTC, Steven Schveighoffer wrote: On 4/30/17 7:59 PM, Jonathan Marler wrote: On Sunday, 30 April 2017 at 23:44:32 UTC, Steven Schveighoffer wrote: On 4/30/17 7:35 PM, Jonathan Marler wrote: Any reason why "alias this" doesn't work at the module level? If I

Re: alias this on module

2017-04-30 Thread Jonathan Marler via Digitalmars-d
On Sunday, 30 April 2017 at 23:44:32 UTC, Steven Schveighoffer wrote: On 4/30/17 7:35 PM, Jonathan Marler wrote: Any reason why "alias this" doesn't work at the module level? If I recall correctly, a module is really just a "class" under the hood, but when I tried to use it I got: Error:

alias this on module

2017-04-30 Thread Jonathan Marler via Digitalmars-d
Any reason why "alias this" doesn't work at the module level? If I recall correctly, a module is really just a "class" under the hood, but when I tried to use it I got: Error: alias this can only be a member of aggregate, not module

std.dlang?

2017-04-27 Thread Jonathan Marler via Digitalmars-d
I was reading the ddmd code and 2 thoughts came to mind: 1. ddmd is much simpler than I imagined. 2. how has the front end not been integrated into the standard library? Is someone working on this? I had some ideas on how this could be done.

Re: Address of UFCS call implicity converts to Delegate

2017-04-24 Thread Jonathan Marler via Digitalmars-d
On Monday, 24 April 2017 at 19:19:27 UTC, Meta wrote: On Monday, 24 April 2017 at 15:47:14 UTC, Jonathan Marler wrote: I've added a DIP for this (https://github.com/dlang/DIPs/pull/61). At first I first thought that all we needed was to add semantics to take the address of a UFCS-style call,

Re: Address of UFCS call implicity converts to Delegate

2017-04-24 Thread Jonathan Marler via Digitalmars-d
On Monday, 24 April 2017 at 15:47:14 UTC, Jonathan Marler wrote: On Sunday, 23 April 2017 at 17:13:31 UTC, Basile B. wrote: [...] I've added a DIP for this (https://github.com/dlang/DIPs/pull/61). At first I first thought that all we needed was to add semantics to take the address of a

Re: {OT} Youtube Video: newCTFE: Starting to write the x86 JIT

2017-04-24 Thread Jonathan Marler via Digitalmars-d
On Monday, 24 April 2017 at 14:41:44 UTC, jmh530 wrote: On Monday, 24 April 2017 at 12:59:55 UTC, Jonathan Marler wrote: Have you considered using the LLVM jit compiler for CTFE? We already have an LLVM front end. This would mean that CTFE would depend on LLVM, which is a large dependency,

Re: Address of UFCS call implicity converts to Delegate

2017-04-24 Thread Jonathan Marler via Digitalmars-d
On Sunday, 23 April 2017 at 17:13:31 UTC, Basile B. wrote: On Sunday, 23 April 2017 at 17:07:51 UTC, Jonathan Marler wrote: On Sunday, 23 April 2017 at 17:00:59 UTC, Basile B. wrote: 2/ Why not just a member function ? For the same reason that UFCS exists. You can't add "member functions"

Re: {OT} Youtube Video: newCTFE: Starting to write the x86 JIT

2017-04-24 Thread Jonathan Marler via Digitalmars-d
On Thursday, 20 April 2017 at 12:56:11 UTC, Stefan Koch wrote: Hi Guys, I just begun work on the x86 jit backend. Because right now I am at a stage where further design decisions need to be made and those decisions need to be informed by how a _fast_ jit-compatible x86-codegen is

Re: Binding a udp socket to a port(on the local machine)

2017-04-23 Thread Jonathan Marler via Digitalmars-d-learn
On Saturday, 22 April 2017 at 21:24:33 UTC, Chainingsolid wrote: I couldn't figure out how to make a udp socket bound to a port of my choosing on the local machine, to use for listening for incoming connections. I assume you meant "incoming datagrams" and not "incoming connections". import

Re: Output-Range and char

2017-04-23 Thread Jonathan Marler via Digitalmars-d-learn
On Sunday, 23 April 2017 at 11:17:37 UTC, Mafi wrote: Hi there, every time I want to use output-ranges again they seem to be broken in a different way (e.g. value/reference semantics). This time it is char types and encoding. [...] Use sformat: import std.format, std.stdio; void main() {

Re: Address of UFCS call implicity converts to Delegate

2017-04-23 Thread Jonathan Marler via Digitalmars-d
On Sunday, 23 April 2017 at 17:00:59 UTC, Basile B. wrote: 2/ Why not just a member function ? For the same reason that UFCS exists. You can't add "member functions" to external library types.

Address of UFCS call implicity converts to Delegate

2017-04-23 Thread Jonathan Marler via Digitalmars-d
This feels like a natural extension to existing semantics. It doesn't require new syntax and serves as a solution to some issues when working with delegates. Say some API wants a delegate like this: void delegate(string arg) With this feature, you could take a function like this: void

Re: Interpolated strings

2017-04-19 Thread Jonathan Marler via Digitalmars-d
On Wednesday, 19 April 2017 at 12:03:47 UTC, Stefan Koch wrote: On Wednesday, 19 April 2017 at 11:59:51 UTC, Jonas Drewsen wrote: What about supporting an optional prefix inside the {} like: int year = 2017; format($"The date is {%04d year}"); so if there is a % immediately following the {

Re: Interpolated strings

2017-04-18 Thread Jonathan Marler via Digitalmars-d
On Tuesday, 18 April 2017 at 08:50:07 UTC, Walter Bright wrote: On 4/15/2017 4:51 PM, cym13 wrote: Removing imports is a good point, the first concrete one to be mentionned. I'm not sure it matters that much though as I think those imports are generic enough that I believe they would be

Re: Proposal 2: Exceptions and @nogc

2017-04-10 Thread Jonathan Marler via Digitalmars-d
On Monday, 10 April 2017 at 20:52:21 UTC, Lurker wrote: Everything looks good except this one line: On Sunday, 9 April 2017 at 03:26:14 UTC, Walter Bright wrote: throw new E(string); I don't like it for 2 reasons: a) E e = new E(string); throw e; Should be *exactly* the same as

Re: Proposal 2: Exceptions and @nogc

2017-04-10 Thread Jonathan Marler via Digitalmars-d
On Monday, 10 April 2017 at 13:00:52 UTC, Jacob Carlborg wrote: On 2017-04-09 05:26, Walter Bright wrote: My previous version did not survive implementation. Here's the revised version. I have submitted it as a DIP, and there's a trial implementation up: What exactly does the user have to do

Re: std.socket classes

2017-04-10 Thread Jonathan Marler via Digitalmars-d-learn
On Monday, 10 April 2017 at 18:57:13 UTC, Adam D. Ruppe wrote: On Monday, 10 April 2017 at 16:18:20 UTC, Jonathan Marler wrote: An interesting benefit. However, I don't think this is the ideal way to support such a use case. If I was doing it myself, I'd probably do an interface / final

Re: std.socket classes

2017-04-10 Thread Jonathan Marler via Digitalmars-d-learn
On Monday, 10 April 2017 at 04:32:20 UTC, Adam D. Ruppe wrote: On Sunday, 9 April 2017 at 14:47:39 UTC, Jonathan Marler wrote: Does anyone know why Socket and Address in phobos were created as classes instead of structs? It is probably just the historical evolution, but I find it pretty

Re: std.socket classes

2017-04-09 Thread Jonathan Marler via Digitalmars-d-learn
On Sunday, 9 April 2017 at 15:04:29 UTC, rikki cattermole wrote: On 09/04/2017 3:56 PM, Jonathan Marler wrote: On Sunday, 9 April 2017 at 14:49:14 UTC, rikki cattermole wrote: Don't think too hard, times have changed since std.socket was written. It certainly isn't designed for high

Re: std.socket classes

2017-04-09 Thread Jonathan Marler via Digitalmars-d-learn
On Sunday, 9 April 2017 at 14:49:14 UTC, rikki cattermole wrote: Don't think too hard, times have changed since std.socket was written. It certainly isn't designed for high performance hence e.g. libasync. What an odd response... You don't think I should ask questions about why decisions

std.socket classes

2017-04-09 Thread Jonathan Marler via Digitalmars-d-learn
Does anyone know why Socket and Address in phobos were created as classes instead of structs? My guess is that making Socket a class prevents socket handle leaks because you can clean up the handle in the destructor when the memory gets freed if no one closes it. Is this the reason it is a

Re: Big Oversight with readln?

2017-02-23 Thread Jonathan Marler via Digitalmars-d-learn
On Friday, 24 February 2017 at 03:45:35 UTC, Nick Sabalausky (Abscissa) wrote: On 02/23/2017 09:43 PM, Jonathan Marler wrote: I can't figure out how to make use of the full capacity of buffers that are allocated by readln. Take the example code from the documentation: // Read lines

Big Oversight with readln?

2017-02-23 Thread Jonathan Marler via Digitalmars-d-learn
I can't figure out how to make use of the full capacity of buffers that are allocated by readln. Take the example code from the documentation: // Read lines from $(D stdin) and count words void main() { char[] buf; size_t words = 0; while (!stdin.eof)

Re: __DIR__ trait (return getcwd at compile time), replacing __FILE_FULL_PATH__

2017-01-10 Thread Jonathan Marler via Digitalmars-d
other scenarios easier Please name a single one. __FILE_FULL_PATH__ should be deprecated if __DIR__ is added. It has all the advantages I listed in original post. On Mon, Jan 9, 2017 at 10:11 AM, Jonathan Marler via Digitalmars-d < digitalmars-d@puremagic.com> wrote: On Monday, 9 J

Re: __DIR__ trait (return getcwd at compile time), replacing __FILE_FULL_PATH__

2017-01-09 Thread Jonathan Marler via Digitalmars-d
On Monday, 9 January 2017 at 17:47:27 UTC, Timothee Cour wrote: * smaller binaries (no need to store redundant path information in __FILE_FULL_PATH__ when __DIR__ + __FILE__ is enough) __DIR__ + __FILE__ is not equivalent to __FILE_FULL_PATH__. __FILE__ really has no restriction, it could be

Appender bug, or impossible?

2016-11-13 Thread Jonathan Marler via Digitalmars-d
It looks like an Appender field of a struct doesn't work when its element type is the containing struct, i.e. struct Foo { Appender!(Foo[]) fooAppender; } My guess is the problem is that the Appender needs to know how big "Foo" is since it would be storing each element by value, but since

Re: Namespace for a module defined by its import path

2016-10-26 Thread Jonathan Marler via Digitalmars-d
On Wednesday, 26 October 2016 at 09:53:35 UTC, Jeff Thompson wrote: On Wednesday, 26 October 2016 at 07:57:57 UTC, Mike Parker wrote: On Wednesday, 26 October 2016 at 07:14:30 UTC, Jeff Thompson wrote: dmd -I/commit_b3bf5c7725c98ee3e49dfc4e47318162f138fe94/version/ main.d dmd

Re: Namespace for a module defined by its import path

2016-10-25 Thread Jonathan Marler via Digitalmars-d
On Tuesday, 25 October 2016 at 06:47:14 UTC, Jeff Thompson wrote: On Tuesday, 25 October 2016 at 00:42:59 UTC, Adam D. Ruppe wrote: [...] A variant of this is where the version name is the Git commit hash. Instead of "version1" and "version2" it is:

Re: Communication between 2 Socket listener on 2 different port with one program and server.

2016-10-11 Thread Jonathan Marler via Digitalmars-d
On Tuesday, 11 October 2016 at 16:59:56 UTC, vino wrote: Hi All, Need your help, on the below request. Requirement: Server: 2 socket listening to 2 different ports with one main program Socket1 Port1 (Used for receiving user request(user data)) Socket2 Port2 (Used for system

Re: Examples Wanted: Usages of "body" as a Symbol Name

2016-10-05 Thread Jonathan Marler via Digitalmars-d
On Wednesday, 5 October 2016 at 19:02:02 UTC, Basile B. wrote: On Wednesday, 5 October 2016 at 18:41:02 UTC, Jacob Carlborg wrote: On 2016-10-05 19:14, Matthias Klumpp wrote: Agreed - I have exactly the same problem with "version", which is also really common for, well, to hold a version

Re: Examples Wanted: Usages of "body" as a Symbol Name

2016-10-05 Thread Jonathan Marler via Digitalmars-d
On Wednesday, 5 October 2016 at 18:41:02 UTC, Jacob Carlborg wrote: On 2016-10-05 19:14, Matthias Klumpp wrote: Agreed - I have exactly the same problem with "version", which is also really common for, well, to hold a version number of a component. Body is annoying too. But, can keywords

Re: Examples Wanted: Usages of "body" as a Symbol Name

2016-10-05 Thread Jonathan Marler via Digitalmars-d
On Wednesday, 5 October 2016 at 17:17:32 UTC, default0 wrote: On Wednesday, 5 October 2016 at 17:14:04 UTC, Matthias Klumpp wrote: On Wednesday, 5 October 2016 at 16:57:42 UTC, Rory McGuire wrote: On Wed, Oct 5, 2016 at 5:32 PM, angel via Digitalmars-d < digitalmars-d@puremagic.com> wrote:

Re: debugging mixins

2016-10-03 Thread Jonathan Marler via Digitalmars-d
On Sunday, 2 October 2016 at 03:36:31 UTC, Manu wrote: This comes up a lot. As far as I know, it's not solved. What shall we do? I feel like a simple solution would be to have the compiler emit a _mixin.d file populated with all the mixin expansions beside the .obj files, and have the

Re: Module Clarification

2016-09-27 Thread Jonathan Marler via Digitalmars-d-learn
On Tuesday, 27 September 2016 at 13:48:39 UTC, Steven Schveighoffer wrote: On 9/22/16 4:16 PM, Jonathan Marler wrote: On Thursday, 22 September 2016 at 20:09:41 UTC, Steven Schveighoffer wrote: Before package.d support, you could not do any importing of packages. You could only import

Re: Should #line create a new namespace ?

2016-09-26 Thread Jonathan Marler via Digitalmars-d
On Sunday, 25 September 2016 at 07:30:49 UTC, Basile B. wrote: On Saturday, 24 September 2016 at 09:23:38 UTC, Dicebot wrote: On 09/24/2016 10:14 AM, Basile B. wrote: When the file is specified, Shouldn't #line create a new module ? [...] Currently this is not allowed, but what's the value

Re: DMD Access Violation

2016-09-26 Thread Jonathan Marler via Digitalmars-d
On Monday, 26 September 2016 at 18:49:58 UTC, ag0aep6g wrote: On 09/26/2016 08:07 PM, Jonathan Marler wrote: My dmd compiler gets an Access Violation when compiling this code: public template TemplateWrapper(T) { alias ToAlias = T; Should probably be `alias TemplateWrapper =

<    1   2   3   4   5   >