Re: Evolving the D Language

2023-07-08 Thread Jesse Phillips via Digitalmars-d-announce

On Friday, 7 July 2023 at 22:41:38 UTC, Walter Bright wrote:
The problem has a lot to do with people wanting to use 3rd 
party libraries, and it being impractical to upgrade those 
libraries when the maintainer of those libraries is no longer 
active. If a user's project depends on several such libraries, 
it places an undue burden on the user.


The third party import is the biggest pain, and compiler 
versions/deprecations add to it. As another mentioned it is sort 
of a dub problem.


As a user of the third party library I want my code strict, but I 
just want the third party to build as it was written. This has 
two main implication, does the compiler I'm using even know about 
the features the library uses, and if the library author 
instructed the compiler to be strict (I don't care)


If the library is built with a newer compiler version their isn't 
much to be done but upgrade the compiler. This has the 
implications where I would now want to compile my code without 
strictness (hopefully for a short period).


If the compiler has removed features then the library can't be 
built. This is were keeping functionality is beneficial.


If the compiler depricates functionality then I don't want to 
hear about. Though it would be good to know "library x is using 
deprecated functionality". This is where the compiler and dub 
need to work together. Dub can build my code with strict error 
and the the compiler provides a flag dub uses to build the third 
party libraries.


Re: [i18n] Gettext 1.0.1 released

2022-07-21 Thread Jesse Phillips via Digitalmars-d-announce
Nice. I've really enjoyed gettext in C# in my verification of an 
application without gettext usage.


Re: Release D 2.096.0

2021-03-13 Thread Jesse Phillips via Digitalmars-d-announce

On Saturday, 13 March 2021 at 21:33:20 UTC, Meta wrote:


// these 2 are equivalent
int foo() { return 1; }
int foo() => 1;
The syntax allows the form => expr to replace the function body 
{ return expr; }


Amazing! I had no idea this got in. I love the syntax.


Yeah, c# added this syntax awhile back and is nice to use at 
times, usually because I stumble on the property syntax.


https://www.google.com/amp/s/csharp.christiannagel.com/2017/01/25/expressionbodiedmembers/amp/


Re: Article: the feature that makes D my favorite programming language

2020-07-25 Thread Jesse Phillips via Digitalmars-d-announce

On Saturday, 25 July 2020 at 14:47:01 UTC, aberba wrote:

On Saturday, 25 July 2020 at 13:28:34 UTC, Adam D. Ruppe wrote:

On Saturday, 25 July 2020 at 11:12:16 UTC, aberba wrote:
Oop! Chaining the writeln too could have increased the wow 
factor. I didn't see that.


oh I hate it when people do that though, it just looks off to 
me at that point.


Ha ha. If you're writing idiomatic D code, why not not all in 
on it?


It bugs me too, though I have done it.

I think the right answer of why it is odd is because writeln is 
void. As soon as it is placed on the end the chain is broken and 
you can't expand on it.


Re: Talk by Herb Sutter: Bridge to NewThingia

2020-06-28 Thread Jesse Phillips via Digitalmars-d-announce
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.


He touches on, why we should have @safe by default and the 
importance of the C++ call support.


The challenges in this community is that everyone has their own 
market they would like to see D displace. C, C++, web, .Net, 
gnome gui...


Re: Dev.to article puller: devtoarticlator 0.1.0

2020-02-09 Thread Jesse Phillips via Digitalmars-d-announce
On Monday, 10 February 2020 at 02:30:35 UTC, Steven Schveighoffer 
wrote:
This makes me sad: 
https://gitlab.com/jessephillips/devarticlator/-/blob/6e791751c17490ebf4930af428bdd2fafa7e9a34/source/util/file.d#L16


I also feel bad because I feel like I'm skipping out on all of 
the benefit of iopipe.


Dev.to article puller: devtoarticlator 0.1.0

2020-02-09 Thread Jesse Phillips via Digitalmars-d-announce
I would like to announce a project started with the intention of 
moving my articles into git. I've been writing[1] about the 
progress and today I got through pulling all of user articles.


devtoarticlator 0.1.0[2] will write out you dev.to articles and 
their Metadata into a folder. The meta is in a separate file 
allowing for markdown views to format the articles without the 
Metadata.


I will be continuing to make progress to publishing and updating 
articles.


1. https://dev.to/jessekphillips/hobby-project-dev-to-api-59ln
2. https://code.dlang.org/packages/devarticlator


Mini Tutorials on D and basic tools

2019-09-10 Thread Jesse Phillips via Digitalmars-d-announce
I came across this dev related article/blog platform through 
Google's news feed.


Recently I started building out little how to articles for D 
based on my recent Python searches.


https://dev.to/t/dlang

I have a number in my backlog to be released. Currently most 
everything in that tag I authored.


Nothing too special, but enjoy as you desire.


Re: optional 1.0.0 beta with "or/frontOr/Throw" range utilities

2019-07-31 Thread Jesse Phillips via Digitalmars-d-announce

On Tuesday, 30 July 2019 at 14:34:19 UTC, aliak wrote:

On Tuesday, 30 July 2019 at 12:58:08 UTC, Jesse Phillips wrote:

On Monday, 29 July 2019 at 22:17:20 UTC, aliak wrote:

* NotNull has been removed


Why was it removed. It seems like this would be nice to have 
for class and pointers.


I personally didn't find use for it, too much friction to use. 
I have not gotten the impression that it's useful form others 
either? If people were using it I'll gladly put it back in as a 
subpackage or something (or just make another package).


Don't worry at this point. I still need to try out this library 
with my own code, appears much nicer than nullible.


Re: optional 1.0.0 beta with "or/frontOr/Throw" range utilities

2019-07-30 Thread Jesse Phillips via Digitalmars-d-announce

On Monday, 29 July 2019 at 22:17:20 UTC, aliak wrote:

* NotNull has been removed


Why was it removed. It seems like this would be nice to have for 
class and pointers.


Re: argument parsing into structure

2019-06-26 Thread Jesse Phillips via Digitalmars-d-announce

On Wednesday, 26 June 2019 at 14:58:08 UTC, Basile B. wrote:

On Wednesday, 26 June 2019 at 09:40:06 UTC, JN wrote:
On Wednesday, 26 June 2019 at 05:38:32 UTC, Jesse Phillips 
wrote:
Sometimes a good API isn't the right answer. I like getopt as 
it is but I wanted a little different control. So I wrote up 
an article on my work around.


https://dev.to/jessekphillips/argument-parsing-into-structure-4p4n

I have another technique for sub commands I should write 
about too.


http://code.dlang.org/packages/argsd


I think we are several having written alternative getopt() 
systems.

I made one too last year, it allows to write tools very nicely.
Recent example for a device flasher:


The thing is, I didn't write an alternative, mine utilizes getopt 
which was the point of the article. I could build out new 
functionality onto a standard API which didn't support it. It 
isn't as robust as it could be.


Re: argument parsing into structure

2019-06-26 Thread Jesse Phillips via Digitalmars-d-announce

On Wednesday, 26 June 2019 at 09:40:06 UTC, JN wrote:
On Wednesday, 26 June 2019 at 05:38:32 UTC, Jesse Phillips 
wrote:
Sometimes a good API isn't the right answer. I like getopt as 
it is but I wanted a little different control. So I wrote up 
an article on my work around.


https://dev.to/jessekphillips/argument-parsing-into-structure-4p4n

I have another technique for sub commands I should write about 
too.


http://code.dlang.org/packages/argsd


http://code.dlang.org/packages/darg


argument parsing into structure

2019-06-25 Thread Jesse Phillips via Digitalmars-d-announce
Sometimes a good API isn't the right answer. I like getopt as it 
is but I wanted a little different control. So I wrote up an 
article on my work around.


https://dev.to/jessekphillips/argument-parsing-into-structure-4p4n

I have another technique for sub commands I should write about 
too.


Re: Phobos now compiling with -dip1000

2019-03-23 Thread Jesse Phillips via Digitalmars-d-announce

On Saturday, 23 March 2019 at 03:06:37 UTC, Walter Bright wrote:
Many thanks to Sebastian Wilzbach, Nicholas Wilson, Mike 
Franklin, and others!


It's been a long and often frustrating endeavor, but we made it 
and I'm very pleased with the results.


Status: Superseded

https://github.com/dlang/DIPs/blob/master/DIPs/other/DIP1000.md

Maybe this needs updated?


Re: Beta 2.082.0

2018-10-17 Thread Jesse Phillips via Digitalmars-d-announce
On Wednesday, 17 October 2018 at 16:14:14 UTC, Neia Neutuladh 
wrote:
On Wednesday, 17 October 2018 at 14:02:20 UTC, Jesse Phillips 
wrote:
Wait, why does each get a special bailout? Doesn't until full 
that role?


`until` is lazy. We could have `doUntil` instead, which would 
be eager and would return a boolean indicating whether to 
continue. We could all write 
`someRange.until!condition.each!func`. That's going to be 
clearer sometimes and less clear other times. So now we have 
options.


auto arr = [10, 20, 30];
arr.until!(x=>n==20).each!(n => arr ~= n);

Ok, I can see why that doesn't work.


Re: Beta 2.082.0

2018-10-17 Thread Jesse Phillips via Digitalmars-d-announce

On Wednesday, 17 October 2018 at 12:14:55 UTC, Martin Nowak wrote:
Glad to announce the first beta for the 2.083.0 release, ♥ to 
the 48 contributors for this release.


http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.083.0.html


Wait, why does each get a special bailout? Doesn't until full 
that role?


Re: Spasm - webassembly libary for single page applications

2018-10-15 Thread Jesse Phillips via Digitalmars-d-announce
On Friday, 12 October 2018 at 19:43:25 UTC, Sebastiaan Koppe 
wrote:

I like to announce Spasm https://github.com/skoppe/spasm

It is a webassembly library to develop single page applications 
and builds on my previous work


This is really interesting. I don't do web development myself and 
haven't been doing hobby programming, but I like the idea of of 
webasm.


It would be cool if D provided the easiest way to develop webasm 
first to see if it could claim that market.


Re: iopipe v0.1.0 - now with Windows support!

2018-06-12 Thread Jesse Phillips via Digitalmars-d-announce
I plan to eventually finish the JSON parser for a releasable 
state, and eventually tackle XML and a few other things.


-Steve


You should definitely tackle xml by branching dxml. I'm really 
liking the api.


Re: dxml 0.3.0 released

2018-04-20 Thread Jesse Phillips via Digitalmars-d-announce

On Friday, 20 April 2018 at 00:46:38 UTC, Jonathan M Davis wrote:

Yes. I would have thought that that was clear. It throws if any 
of the characters or sequence of characters in the argument 
aren't legal in the text portion of an XML document. Those 
characters that can be legally present in encoded form but not 
in their literal form can be encoded first with encodeText. 
I'll try to make the documentation clearer.


- Jonathan M Davis


I think I just feel it is a little hidden under the exception 
list. A note in the general description about utilizing 
encodeText on text which needs encoding would be good.


Re: dxml 0.3.0 released

2018-04-19 Thread Jesse Phillips via Digitalmars-d-announce
On Thursday, 19 April 2018 at 14:40:58 UTC, Jonathan M Davis 
wrote:


I won't repeat everything that's in the changelog, but the 
biggest changes are that writer support has now been added, and 
it's now possible to configure how the parser handles 
non-standard entity references.


In reference to 
http://jmdavisprog.com/docs/dxml/0.3.0/dxml_writer.html#.XMLWriter.writeText


"XMLWritingException if the given text is not legal in the text 
portion of an XML document."


Is this to say that the text must be encoded 
(dxml.util.encodeText) prior to calling this or it will throw if 
the text contains "<"?


This should be clearer in the documentation.


Re: Documentation for any* dub package, any version

2018-02-26 Thread Jesse Phillips via Digitalmars-d-announce

On Monday, 26 February 2018 at 14:59:07 UTC, Adam D. Ruppe wrote:

I'd like to get the code.dlang.org folks to add the correct 
link to the main package site so people can easily discover 
this just put nofollow on it plz so google doesn't trigger 
generation of pages people don't actually need (the lazy 
generation + caching allows me to host this on a cheap VPS)


It also would be good for you to like to the Dub page and Git 
Repo.


Couldn't you provide a robots.txt file which Google should honor 
so that 'nofollow' isn't required?


Re: dxml 0.2.0 released

2018-02-23 Thread Jesse Phillips via Digitalmars-d-announce
On Monday, 12 February 2018 at 05:36:51 UTC, Jonathan M Davis 
wrote:

dxml 0.2.0 has now been released.
Documentation: http://jmdavisprog.com/docs/dxml/0.2.0/
Github: https://github.com/jmdavis/dxml/tree/v0.2.0
Dub: http://code.dlang.org/packages/dxml

- Jonathan M Davis


This is absolutely awesome. It is a little low level (compared to 
SAX) so there is more to deal with, but having this provide a 
range (and flat) makes it so much clearer the ordering of 
elements. If I need to handle nesting then I can build that out, 
but if I don't I can just fly by the seat of my pants and grab 
the elements I want.


This will definitely be my goto for XML parsing.


Re: Official Dub package for DWT

2018-02-22 Thread Jesse Phillips via Digitalmars-d-announce

On Sunday, 11 February 2018 at 11:04:52 UTC, JN wrote:


[1] 
https://tldrlegal.com/license/eclipse-public-license-1.0-%28epl-1.0%29


This doesn't really explain much. It's confusing. It's similar 
to GPL. So if I release an app using DWT, I need to release the 
sourcecode for my app? Or do I only need to release the code 
for DWT (if I did any changes to the sourcecode).


Not a lawyer, but it doesn't appear to really target libraries 
and is more directed to a complete application. The way it is 
written suggest that DWT would be a derived work and any changes 
to it will also be derived and need to forward the EPL license.


However it makes no specific statements about using libraries as 
part of your code, which would suggest that the code outside the 
EPL library is not considered "the EPL Program" and thus not a 
derived work.


Re: Official Dub package for DWT

2018-02-22 Thread Jesse Phillips via Digitalmars-d-announce
On Wednesday, 7 February 2018 at 21:33:22 UTC, Jacob Carlborg 
wrote:
This has been long overdue but I would like to announce that 
I've just released an official Dub package for the DWT library 
[1]. For a usage example, please see the GitHub page [2].


This is awesome. I don't use GUI too much with my D programs, but 
I've had one lingering with DFL for a while now.


It took a little bit to get familiar with this framework again, 
but I think the conversion has been totally worth it (even seems 
to have made my application faster).


I'll point out that this is definitely a lower level library than 
I usually see/use.


I also hit only one documentation issue due to this being 3.4 and 
not 3.7 or later, but that didn't look like it would be a normal 
hiccup.


Anyway, thank you for getting this to work with DUB as that 
simplifies my build.


Re: dxml 0.1.0 released

2018-02-10 Thread Jesse Phillips via Digitalmars-d-announce
On Friday, 9 February 2018 at 21:15:33 UTC, Jonathan M Davis 
wrote:


Hopefully, the documentation is clear enough, but obviously, 
I'm not the best judge of that. So, have at it.


Documentation: http://jmdavisprog.com/docs/dxml/0.1.0/
Github: https://github.com/jmdavis/dxml
Dub: http://code.dlang.org/packages/dxml

- Jonathan M Davis


This looks so nice.

I can understand the concerns of the DTD, and it doesn't look 
like you needed to do anything special for namespaces with this 
parser.


Re: dmd Backend converted to Boost License

2017-04-07 Thread Jesse Phillips via Digitalmars-d-announce

On Friday, 7 April 2017 at 19:37:14 UTC, Jonathan M Davis wrote:
On Friday, April 07, 2017 08:14:40 Walter Bright via 
Digitalmars-d-announce wrote:

https://github.com/dlang/dmd/pull/6680

Yes, this is for real! Symantec has given their permission to 
relicense it. Thank you, Symantec!


Well, this is certainly great news.

Does this make dmd the only compiler that's fully 
boost-licensed? Usually, licenses like the GPL or BSD license 
get used. I don't get the impression that the boost license is 
all that common - at least not for actual programs as opposed 
to libraries. From what I've seen, the fact that we use it so 
heavily in the D community is abnormal, though it's as 
hassle-free as you can get with an open source license, which 
is great.


- Jonathan M Davis


I was thinking the same thing. Its probably the most permissive 
compiler out there now. MIT almost equal though.


Re: Codebuilder with line info insertion

2016-07-24 Thread Jesse Phillips via Digitalmars-d-announce

On Sunday, 24 July 2016 at 19:36:50 UTC, Dicebot wrote:
How much of compile-time overhead does it add compared to naive 
string concatenation?


I would expect fairly large, It only increases the amount of 
memory used and concatenation operations. It stores each 
requested string into array of structures, that later are used 
for concatenating together.


I don't have any performance numbers, nor do I have a large 
amount of code generation to try and tax compile-time work. I ran 
ProtocolBuffer with -profile and it should the call to 
finalize(), ~9000 microseconds per call (runtime).


I'd be happy to accept performance improvements (including 
breaking changes), but if you've already got long compile times 
due to CTFE I can't recommend using it.


Re: Codebuilder with line info insertion

2016-07-24 Thread Jesse Phillips via Digitalmars-d-announce

On Tuesday, 10 May 2016 at 15:42:00 UTC, Jesse Phillips wrote:


1. http://code.dlang.org/packages/protocolbuffer
2. http://code.dlang.org/packages/codebuilder
3. 
https://github.com/JesseKPhillips/ProtocolBuffer/blob/master/conversion/dlang.d


I wish to announce version 1.0.0 of CodeBuilder. As the code 
originally came from ProtocolBuffer I've now eat some dog food by 
utilizing the library within ProtocolBuffer. I've also put in 
unittests and a readme.


The Dub package provides two configurations, one for mixins and 
one as a file writer. When using the file writer it is of no 
interest to modify the line numbers as you'll actually have a D 
source file to look at.


http://code.dlang.org/packages/codebuilder

Change Highlights

* Reduced complexity. Originally I was trying to store generated 
code in to many different places, There was the current state, 
the stack that held items which would later be popped into the 
current state, a build so code could be structured before putting 
it on the stack, and the current state could be returned by 
asking for it's memory. All that goes away and instead another 
CodeBuilder can be put or pushed into another.


* The string used for indentation can be specified (but is global 
for all code builders.


* The code string isn't created while putting the string into the 
builder. Instead it is stored as an operation that is used to 
generate the string when calling finalize(). This makes 
indentation consistent when putting one CodeBuilder into another.


I'd also like to note that Google's Protocol Buffer source has a 
similar need, but I like my API better :)



https://github.com/google/protobuf/blob/master/src/google/protobuf/io/printer.cc

https://github.com/google/protobuf/blob/master/src/google/protobuf/compiler/cpp/cpp_file.cc


Re: D-Man culture

2016-06-22 Thread Jesse Phillips via Digitalmars-d-announce
On Monday, 20 June 2016 at 14:14:06 UTC, Martin Tschierschke 
wrote:

On Sunday, 19 June 2016 at 15:01:33 UTC, Seb wrote:

Hi,

I am not sure how much you have heard about the D-Man, but in 
Japan there is an entire culture based on the D-Man!
As I learned about this by accident (and even Walter didn't 
know about it), I thought I share this great movement with the 
DLang community!

[...]
Funny stuff!

I found this link useful: http://dlangcomicstrips.tumblr.com/


These are awesome, recommend the read.


Re: The Official D Blog is Live

2016-06-07 Thread Jesse Phillips via Digitalmars-d-announce

On Friday, 3 June 2016 at 19:33:31 UTC, Mike Parker wrote:
The D Blog was born at DConf this year. With help from Jack 
Stouffer, it is now live at:


http://dlang.org/blog/


I think each post should have an author displayed. While this 
likely will be the same person, I think it is good to have it 
called out repeatedly so one doesn't have to find the first post 
to see who is posting.


It will also make it very clear when there is a guest poster.


Re: My ACCU 2016 keynote video available online

2016-05-17 Thread Jesse Phillips via Digitalmars-d-announce

On Tuesday, 17 May 2016 at 08:42:42 UTC, Bill Hicks wrote:
And here you go again with your borderline racist jokes.  Not 
very cool.  If you honestly want to find out if it's "confusing 
to Africans", I suggest you go to a black neighborhood and ask 
them.


Haha, that is probably the most racist statement. When you say 
"black neighborhood" are you talking about in Africa or Americans 
in the US?


Codebuilder with line info insertion

2016-05-10 Thread Jesse Phillips via Digitalmars-d-announce
One of the things that can be really annoying about using string 
mixin's, especially when there is a lot of code, is that the 
compile complains about syntax errors on a line within the mixin 
that doesn't exist in the code.


While at the D Conference this issue was mention along with the 
file/line feature of function calls. It got me thinking about a 
code builder I had been using in ProtocolBuffer[1]. I just 
checked and found that the use of the #line language feature 
combined with the file/line feature allowed for providing better 
information about where a mixin went wrong. So I pulled out the 
code and packaged it for dub[2].


Documentation is lacking in examples, but is used with 
ProtocolBuffer[3]. It uses a put/push/pop approach to provide 
some freedom in organizing the code; but I'll admit doesn't help 
readability (the call to finalize will pop all code elements push 
to the stack).


This package doesn't do too much to help with building code, one 
of the main parts it provides is pretty printing (indenting) 
which isn't important for a mixin. So please feel free to send of 
suggestions from experience trying to use it, I won't consider 
the API stable at this point.


Since ProtocolBuffer support D1 and D2, so does this library.

Instead of -- test.d-mixin-4(4): Error: semicolon expected, not 
'}'


I get -- test.d(11): Error: semicolon expected, not '}'

-
   import codebuilder.structure;

   void main() {
  mixin(genCode); // Line 4
   }

   auto genCode() {
  auto cb = CodeBuilder(1);

  cb.put("struct m {");
  cb.push("}"); // Line 11
  cb.put("int a"); // Missing semicolon

  return cb.finalize;
   }
-

1. https://github.com/JesseKPhillips/ProtocolBuffer/
2. http://code.dlang.org/packages/codebuilder
3. 
https://github.com/JesseKPhillips/ProtocolBuffer/blob/master/conversion/dlang.d


Re: D-Day for DMD is today!

2015-09-04 Thread Jesse Phillips via Digitalmars-d-announce

On Sunday, 23 August 2015 at 05:17:33 UTC, Walter Bright wrote:

https://github.com/D-Programming-Language/dmd/pull/4923

We have made the switch from C++ DMD to D DMD!

Many, many thanks to Daniel Murphy for slaving away for 2.5 
years to make this happen. More thanks to Martin Nowak for 
helping shepherd it through the final stages, and to several 
others who have pitched in on this.


This is a HUGE milestone for us.

Much work remains to be done, such as rebasing existing dmd 
pull requests. Thanks in advance for the submitters who'll be 
doing that. I hope you aren't too unhappy about the extra work 
- it's in a good cause!


Should we be looking to put out a DMD 2.069 beta to get more 
hands on testing it early?




Re: Scriptlike v0.8.0

2015-06-18 Thread Jesse Phillips via Digitalmars-d-announce

On Sunday, 14 June 2015 at 01:28:18 UTC, Nick Sabalausky wrote:
A bunch of new updates to Scriptlike: A library to aid in 
writing script-like programs in D.


Home: https://github.com/Abscissa/scriptlike
Dub: http://code.dlang.org/packages/scriptlike
Full changelog:
https://github.com/Abscissa/scriptlike/blob/master/CHANGELOG.md


I've begun utilizing this in scripts I'm building, to help get 
things done faster and more consistently. I've combined it with 
dub because dub will grab the build off the web, but it also 
makes scripts a little heavier.


I really like having the bulk of Phobos imported.

I'm very fond of the new std.process, so much better than 
powershell


Re: Martin Nowak is our new release czar

2015-02-04 Thread Jesse Phillips via Digitalmars-d-announce
On Thursday, 5 February 2015 at 00:07:37 UTC, Andrei Alexandrescu 
wrote:
Andrew Edwards, our former release czar, declined his czardom 
because he went to college. Thanks and good luck!


He left a void of power. After a period of turmoil and 
intestine political fights, we have a new, ruthless czar: 
Martin Nowak. He plans to put us on a path of regular, 
predictable 6-week releases, thus ending the D Middle Ages.


Please throw your hat in the air with me to hail the new czar! 
:o)



Andrei


Martin, thank you for stepping up.


Re: This Week in D: Issue #4

2015-02-02 Thread Jesse Phillips via Digitalmars-d-announce

On Monday, 2 February 2015 at 04:57:10 UTC, Adam D. Ruppe wrote:
I can't believe it, but yet another week has already passed, so 
up late to release this again!


http://arsdnet.net/this-week-in-d/feb-01.html

Early bird registration open for DConf, 2015 Vision released, 
GUI and Windows development on the forums.


Today's tip is about class destructors, and Project Spotlight 
makes a return to introduce simpledisplay.d, in the first in 
what will become a series that walks us through making a bit of 
a little game in D. (Expect this to not be each week, it takes 
me a long time to write the project spotlight and I've been 
very busy lately and expect to continue being busy in the 
coming weeks. I'll probably try to do it every other week 
rather than every week.)


http://www.reddit.com/r/programming/comments/2uhgzr/this_week_in_d_2015_vision_released_tip_on/

https://twitter.com/adamdruppe/status/562112301248290816


I'm not sure if every week needs a post to reddit. You're likely 
to increase the number of people who feel it is spam:

https://www.reddit.com/r/programming/comments/2uhgzr/this_week_in_d_2015_vision_released_tip_on/co8v9y5

Besides, there may be weeks we want to obtain more attraction and 
that can be hard to do if every week is always posted.


Remember, those who have found this week interested are either 
following it with RSS, this forum, or /r/d_language


Re: 2015 H1 Vision

2015-02-02 Thread Jesse Phillips via Digitalmars-d-announce
On Sunday, 1 February 2015 at 01:17:41 UTC, Andrei Alexandrescu 
wrote:

Hello,


Walter and I have been mulling for a while on a vision for the 
first six months of 2015.


http://wiki.dlang.org/Vision/2015H1

This is stuff we consider important for D going forward and 
plan to work actively on. We encourage the D community to focus 
contributions along the same lines.


While a don't see the content as disagreeable, I do find it to be 
a lot to focus on for the next 6 months.


* Improve language stability
* Memory Management
* Safety
* C++ integration

These all seem like that could deserve their own 6 months of 
focus. These should all get work, but it just seems that if 
you're going to take priority on something it shouldn't be spread 
across so many large tasks. Or maybe there just needs to be a 
list of things not taking priority.


Re: Multiple alias this is coming.

2014-09-19 Thread Jesse Phillips via Digitalmars-d-announce
On Thursday, 18 September 2014 at 20:11:12 UTC, IgorStepanov 
wrote:
Do you ask about alias this or about it multiple usage. 
Multiple usage is similar to single, but multiple:)


Just an FYI, bearophile is very knowledgeable about D and one of 
the oldest community members, he holds the record for most bugs 
opened.


This doesn't mean he knows everything, but it certainly makes it 
clear he was asking, why would you want to use multiple alias 
this. As others mention kind of like why would you want to use 
multiple inheritance.


Re: dmd front end now switched to Boost license

2014-06-13 Thread Jesse Phillips via Digitalmars-d-announce

On Friday, 13 June 2014 at 00:31:32 UTC, Walter Bright wrote:

https://github.com/D-Programming-Language/dmd/pull/3655


Glad to hear it. Boost is such a simple license.


Re: Pushing D's mixin to the limits: Project Euler Problem 61 from Ruby to D by David Oftedal

2014-06-13 Thread Jesse Phillips via Digitalmars-d-announce

On Thursday, 12 June 2014 at 20:35:39 UTC, Rounin wrote:

Hey there!

Yeah, to expect people to register on LiveJournal in this age 
of Facebook... Sorry about that; It must have been to deter the 
spammers.


I don't leave comments if it is run through facebook, maybe one 
day.


There should be settings in LJ to allow anonymous comments. Its 
what I've done (I also turned off approval since I've had good 
comments come in and no spam).


Re: Embarrassment of riches: another talk came online today

2014-06-11 Thread Jesse Phillips via Digitalmars-d-announce

On Wednesday, 11 June 2014 at 18:06:03 UTC, justme wrote:

I cannot accept

10. .iota; // The space here is unacceptable.

Please have the programmer change 10. to 10.0 so that we have

10.0.iota;  // Cleaner, obvious, and doesn't look like a typo.

Thank you.


The point wasn't about how best to fix the problem, it was about 
grammar parsing and what was legal/illegal.


10..iota doesn't parse
10. .ioat does

10.0.iota or 10F.iota are proper solutions for readability.


Re: Offtopic: AMA (Was: Interview at Lang.NEXT)

2014-06-06 Thread Jesse Phillips via Digitalmars-d-announce

On Friday, 6 June 2014 at 20:27:45 UTC, Ary Borenszweig wrote:

On 6/6/14, 5:25 PM, Tourist wrote:

On Friday, 6 June 2014 at 19:27:35 UTC, Ary Borenszweig wrote:
AMA is kinda reddit thing.
http://www.reddit.com/r/IAmA/comments/1nl9at/i_am_a_member_of_facebooks_hhvm_team_a_c_and_d/


Interesting, I didn't know that. Thanks!


What gets me is that there are two acronyms to learn.

IAMA = I Am A
AMA = Ask Me Anything

So: I'm doing an IAMA, AMA.

For a while, I thought people were just lazy and AMA was just the 
'am a part.


Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs

2014-06-01 Thread Jesse Phillips via Digitalmars-d-announce

On Saturday, 31 May 2014 at 18:12:12 UTC, John Colvin wrote:
I think you've misunderstood him. You say in the article D 
does not provide decltype, he is saying that this is 
misleading: D does but it's just called typeof instead.


No, I understood and had adjusted the article with D does not 
provide a decltype as typeof already does the same thing; I 
think this is ok since I'd already made use of typeof to assert 
expected types without explanation.


Anyway, I've got Part 6 out there and it looks like I'll have 2 
more short parts which follow.


Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs

2014-05-31 Thread Jesse Phillips via Digitalmars-d-announce

On Saturday, 31 May 2014 at 07:32:22 UTC, Kagamin wrote:

What do you mean D does not provide a decltype?

typeof(cx) my_cx2 = cx;


I'll blame this on my poor knowledge of C++, at this time typeof 
in C++ does not appear to compile, in the way I'm trying to use 
it. I thought using typeof in C++ would result in the same answer 
as the deduction auto provides.


From that point of view, there is no need for decltype, because 
typeof already gives you the actual type in D (which will be the 
same as the type at declaration).


Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs

2014-05-30 Thread Jesse Phillips via Digitalmars-d-announce

On Friday, 30 May 2014 at 10:56:30 UTC, Andrei Alexandrescu wrote:
Nice! I'll post it tomorrow on reddit and friends. You have an 
unmatched

brace after assert(a2[].all!(x = x == 0));.

Andrei


Actually a bunch of unmatched braces (formatter eats the 
closing one?) and at least one ;; instead of ;. -- Andrei


It is not unmatched, the whole article is one big program (with 
the exception of the conclusion), the final brace is at the end:


static int[100] a3;
assert(a3[].all!(x = x == 0));
}

Though the ;; is just an accident.


Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs

2014-05-30 Thread Jesse Phillips via Digitalmars-d-announce

On Friday, 30 May 2014 at 11:31:18 UTC, safety0ff wrote:

On Friday, 30 May 2014 at 04:21:18 UTC, Jesse Phillips wrote:


1. http://he-the-great.livejournal.com/52333.html


Note that in the following code:
import core.memory : GC;
int* pxprime = cast(int*)GC.malloc(int.sizeof);
version(none) assert(pxprime); // possibly zero

GC.malloc currently doesn't initialize the memory if NO_SCAN is 
specified as attribute.


I expect malloc to not initialize ever, that was the point. 
Initialization can be done with calloc.


Also, I don't understand why half of your asserts have 
version(none) (it's distracting.)


I can't guarantee the assert to pass, as the comment mentions it 
is possibly zero, which would cause failure.


Also note that you're not dereferencing pxprime, I'm not sure 
if its intentional.


Thanks,  was intending to dereference.

Thank you for feedback.


Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs

2014-05-29 Thread Jesse Phillips via Digitalmars-d-announce
On Thursday, 29 May 2014 at 13:11:52 UTC, Steven Schveighoffer 
wrote:
IIRC, the entire section of global TLS data is initialized, and 
is all contiguous memory, so it would be anti-performant to 
initialize all but 4 bytes.


int x2;
float f2;

These are both TLS and they init to different values, I suppose:

float f2prime = void;

would mean f2prime is 0 and not float.init. Otherwise what you 
state is kind of what I was expecting.



Note:

struct X
{
  int a;
  int b = void; // also initialized to 0.
}

This is because X must blit an init for a, and it would be 
silly to go through the trouble of blitting X.init to a, but 
not b. Especially, for instance, if you had an array of X 
(you'd have to blit every other int!)


-Steve


Thanks for the bonus example.


Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs

2014-05-29 Thread Jesse Phillips via Digitalmars-d-announce

On Thursday, 29 May 2014 at 10:41:59 UTC, Kagamin wrote:

On Wednesday, 28 May 2014 at 05:40:26 UTC, Jesse Phillips wrote:
When he explained why C++ inferred a const int type as int, he 
tripped me up because D does drop const for value types.


Hmm, this bit me (doesn't compile):
void f(in char[] s)
{
  auto s1=s;
  s1=s;
}


I suppose at this point you know:

void f(const(char)[] s);

I understanding that expected may not be the same as simple. But 
you did ask for s1 to be const then tried to modify it.


Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs

2014-05-29 Thread Jesse Phillips via Digitalmars-d-announce

On Thursday, 29 May 2014 at 11:08:03 UTC, Leandro Lucarella wrote:

I think void means you don't know what the
value is, not is a random value or a value different from 
the
default (which is impossible for stack values, at least if the 
idea

behind void is to avoid the extra runtime cost ;).


The language docs state, If the Initializer is void, however, 
the variable is not initialized. Which I suspect is false in the 
case of module scope and as Steven pointed out, other times doing 
special don't init is costly.


Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs

2014-05-29 Thread Jesse Phillips via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 07:21:56 UTC, dennis luehring wrote:

woudl be nice to have some sort of example by example comparison
or as an extension to the page http://dlang.org/cpptod.html


I've got two posts complete[1]. Since C++ and D are exactly the 
same for the majority of the code I'm only showing D and talk of 
C++'s choice. While the rules governing D's behavior are fairly 
simple I feel that I've expanded on the content enough to provide 
useful information beyond fixing C++'s problems.


1. http://he-the-great.livejournal.com/52333.html


Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs

2014-05-28 Thread Jesse Phillips via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 14:39:53 UTC, anonymous_me wrote:

The first line:

  int x2; // (at global scope)

The x2 resides in Thread Local Storage (TLS). A __gshared would 
put it in global scope.

Still initialized to int.init which is zero.


D doesn't have global scope. C++ does not do TLS but that isn't 
relevant to the no cost position that C++ is taking.


Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs

2014-05-28 Thread Jesse Phillips via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 22:42:03 UTC, Ali Çehreli wrote:
However, those expectations are based on the inside-out syntax 
of C. Naturally, wanting to be consistent, especially compared 
to C, D should deviate from that syntax.


I don't get to read the original email, but I agree with the 
examples you pull out. D's array declaration syntax is so nice. 
The support for C style syntax is unfortunate though.


Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs

2014-05-28 Thread Jesse Phillips via Digitalmars-d-announce

On Wednesday, 28 May 2014 at 04:48:11 UTC, Jesse Phillips wrote:

I did a translation of most of the code in the slides.

http://dpaste.dzfl.pl/72b5cfcb72e4

I'm planning to transform it into blog post (or series). Right 
now it just has some scratch notes. Feel free to let me know 
everything I got wrong.


Hoping someone can confirm or deny this thought.

int x2prime = void; // (at global scope)

Since x2prime is module variable, I would expect that the 
compiler will always initialize this to 0 since there isn't 
really a performance hit. Or is using void guarantee it won't get 
initialized (so much value in that guarantee)?


Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs

2014-05-27 Thread Jesse Phillips via Digitalmars-d-announce
On Tuesday, 27 May 2014 at 16:42:35 UTC, Andrei Alexandrescu 
wrote:

http://www.reddit.com/r/programming/comments/26m8hy/scott_meyers_dconf_2014_keynote_the_last_thing_d/

https://news.ycombinator.com/newest (search that page, if not 
found click More and search again)


https://www.facebook.com/dlang.org/posts/855022447844771

https://twitter.com/D_Programming/status/471330026168651777


Andrei


I did a translation of most of the code in the slides.

http://dpaste.dzfl.pl/72b5cfcb72e4

I'm planning to transform it into blog post (or series). Right 
now it just has some scratch notes. Feel free to let me know 
everything I got wrong.


Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs

2014-05-27 Thread Jesse Phillips via Digitalmars-d-announce
On Wednesday, 28 May 2014 at 05:30:18 UTC, Philippe Sigaud via 
Digitalmars-d-announce wrote:

I did a translation of most of the code in the slides.

http://dpaste.dzfl.pl/72b5cfcb72e4

I'm planning to transform it into blog post (or series). Right 
now it just
has some scratch notes. Feel free to let me know everything I 
got wrong.


That's a good idea. I think most of us did that while listening 
to the
talk. I kept telling myself: 'oh wait, that'd simpler in D' or 
'that

does not exist in D'.

As for the class inheritance problem, I'd also be interested in 
an answer.


When he explained why C++ inferred a const int type as int, he 
tripped me up because D does drop const for value types. But D 
does the simple to explain thing, may not be the expected thing 
(seen questions about it in D.learn), but it is simple to explain.


Re: Livestreaming DConf?

2014-05-15 Thread Jesse Phillips via Digitalmars-d-announce

On Saturday, 10 May 2014 at 17:06:47 UTC, Joakim wrote:

I demand a telehuman stream:

http://youtube.com/watch?v=06tV60K-npw

Facebook has one of those, right? ;)


Haha, I'm disappointed they didn't go all the way back to 
landline.


Re: D Breaks on to the TIOBE Top 20 List.

2014-04-25 Thread Jesse Phillips via Digitalmars-d-announce

On Friday, 25 April 2014 at 19:51:22 UTC, Adam Wilson wrote:

I know we don't place much value in TIOBE


What do you mean, we're in the top 20! Now's the time to put 
value in TIOBE :)


Re: Interesting rant about Scala's issues

2014-04-04 Thread Jesse Phillips

On Friday, 4 April 2014 at 09:16:26 UTC, Walter Bright wrote:
It's supposed to be by adding your own opImplicitCast overload, 
but that isn't implemented yet.


Wait, this is back? What else did the community get wrong when 
trying to interpret discussions?


http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel#FutureDirections

Previously proposed, but now dropped:

* opImplicitCast
* Separating arrays and slices (T[new]) (see 
NG:digitalmars.D/95225)

Demise of T[new] NG:digitalmars.D/98602
* Make references and arrays library types (see NG discussion)
* this() for structs.
* Make array literals immutable.
* Remove 'new'.
* Remove C-style struct initializers.


Re: DFL can be used by D2.065

2014-04-02 Thread Jesse Phillips

On Wednesday, 26 March 2014 at 06:35:56 UTC, FrankLike wrote:

If you are programming on  win32,now,DFL can be used by D2.065.
Please git clone http://github.com/FrankLike/dfl
Open the folder w32 -dflexe  double click the 'makedflexe.bat'
file,after some seconds ,press the 'Enter key' ,after some
seconds,dfl.lib,dfl.exe are all in you  d install folders('lib'
and 'bin')  ,that's all ok.

Thanks Christopher E. Miller.


You should make your changes into a pull request. Most people 
using DFL are tracking Rayerd's repo.


Re: DFL can be used by D2.065

2014-04-02 Thread Jesse Phillips

On Thursday, 27 March 2014 at 07:39:47 UTC, Jordi Sayol wrote:

Is there somebody maintaining the GTK branch of DFL?


No.


Re: My D book is now officially coming soon

2014-03-04 Thread Jesse Phillips

On Monday, 3 March 2014 at 18:39:34 UTC, bearophile wrote:

Adam D. Ruppe:

My goal is to act as a nice complement to Andrei's book, not 
to repeat it, so while I do cover a lot of language features, 
I try to do them in the context of bigger picture tasks. So 
hopefully, the books can go together and reinforce each other.


Congratulations Adam :-)

Now among the printed books about D there's Andrei book, the 
book about Tango, and your one. Plus there's Ali Çehreli online 
book, and probably more. Compared to other new languages like 
Scala there are far less books about D, but the situation is 
improving :-)


Bye,
bearophile


I believe there is a Japanese book for ~0.110

http://www.prowiki.org/wiki4d/wiki.cgi?DevelopmentWithD#OtherLanguagesnon-English

But the link is dead and I really couldn't/can't confirm that the 
book was print.


Re: Scriptlike: New lib to aid in writing script-like programs

2014-02-11 Thread Jesse Phillips
On Tuesday, 11 February 2014 at 11:38:06 UTC, Nick Sabalausky 
wrote:
I've released a little one-module utility, Scriptlike, to help 
simplify writing shell script-like programs in D:


  https://github.com/Abscissa/scriptlike


It looks like you've covered a lot of the short comings for doing 
some cmdln scripting. It also sounds like it would fit right into 
what I was doing (I hand only covered the user input portion) 
https://github.com/JesseKPhillips/JPDLibs/tree/cmdln (I really 
probably should move it into its own project, maybe I should 
instead submit mine to yours? Though I use Boost License).


[OT] I also want to thank those behind std.process, std.path, and 
std.algorithms these things have been really awesome and I use 
heavily (great improvements).



Current Features:

- A thin wrapper over std.path and std.file that provides a 
dedicated Path type specifically designed for managing file 
paths in a simple, reliable, cross-platform way. No more 
dealing with slashes, paths-with-spaces, calling buildPath, 
normalizing, or getting paths mixed up with ordinary strings.


Personally I've found the new std.path makes this much easier, 
I'm not user how you can address paths-with-spaces as this 
depends on who you call, internally I don't need to worry. But 
maybe this simplifies it more and is still worth it.


- Optionally enable automatic command echoing (including shell 
commands, changing/creating directories and 
deleting/copying/moving/linking/renaming both directories and 
files) by setting one simple flag: bool scriptlikeTraceCommands


Command echoing, and dry run are both valuable.

- Most typical Phobos modules automatically imported. Who needs 
rows and rows of standard lib imports for a mere script?


- Less-pedantic filesystem operations for when you don't care 
whether it exists or not: existsAsFile, existsAsDir, 
existsAsSymlink, tryRename, trySymlink, tryCopy, tryMkdir, 
tryMkdirRecurse, tryRmdir, tryRmdirRecurse, tryRemove: All 
check whether the source path exists and return WITHOUT 
throwing if there's nothing to do.


This is my biggest gripe with the current available functions!

- One simple call, runShell, to run a shell command 
script-style (ie, synchronously with forwarded stdout/in/err) 
from any working directory. (Also automatically works around 
DMD #10863 without waiting for v2.066 - BTW, thanks all 
involved who fixed that.)


Aside from the bug, I don't understand what this provides over 
execute.


- One simple function, fail(string msg), to help you exit with 
an error message in an exception-safe way. (Does require some 
minor boilerplate added to your main().)


I've just been using exceptions, Fail should take a return code 
too.


Re: Scriptlike: New lib to aid in writing script-like programs

2014-02-11 Thread Jesse Phillips
On Wednesday, 12 February 2014 at 00:07:42 UTC, Nick Sabalausky 
wrote:
As for the license, if you don't mind switching to zlib then 
great, just go ahead and submit a pull request if you'd like 
to. But I'm not married to zlib license or anything. My reasons 
for using zlib license are relatively minor, and I'm not 
opposed to switching to Boost, especially since it's already 
the Phobos license after all. What are your thoughts?


I've been using Boost to be compatible Phobos. I haven't released 
anything which I feel needs a more restrictive license (zlib I 
think is permissive).


So with Scriptlike, I'm hoping to avoid the need to ever deal 
with slashes at all, because all the clutter and meticulous 
care of always doing it the proper std.path-way is (hopefully) 
hidden behind-the-scenes via the Path type.


Any hard coded paths I'll use / and buildPath for everything 
else. My experience so far has been positive on Windows (but 
maybe I still have some legacy conversions from the old days).


Path.toString() automatically quotes paths correctly when they 
contain spaces. So you can just pass it off to spawnShell or 
whatever and it's automatically all ready-to-go. Don't even 
need to call the std.path.escape*() funcs (which I've had 
trouble with on windows anyway, although DMD #10863 is 
apparently fixed in master now, so that should at least help).


Of course, if for any reason you need to keep the path 
un-quoted, there's Path.toRawString() for that.


Ah, I use execute(char[][]) and pipeProcess(char[][]) these 
bypass the shell (it seems) and require that the arguments aren't 
quoted. I prefer these because:


auto cmd = [dmd];
cmd ~= file.d;//...

Is just a nice way to build a command.

Do you think enabling dry run should automatically enable 
command echoing?


Yes, I can't think of a reason I wouldn't want it to.


 - Less-pedantic filesystem operations for when you don't
care whether
 it exists or not: existsAsFile, existsAsDir, existsAsSymlink,
 tryRename, trySymlink, tryCopy, tryMkdir, tryMkdirRecurse,
tryRmdir,
 tryRmdirRecurse, tryRemove: All check whether the source
path exists
 and return WITHOUT throwing if there's nothing to do.

 This is my biggest gripe with the current available functions!

Yea, I'm constantly making wrappers for those things in my 
scripts. Finally decided to just toss them into a common lib.


I *do* think std.file's pedantic behavior with those does make 
a lot of sense in the general case. I'm not sure that I'd even 
want std.file to relax those checks by default. But for simple 
shell-script-like stuff, it does tend to be more bother than 
benefit.


Yeah, going back to being strict is harder.


 - One simple call, runShell, to run a shell command
script-style (ie,
 synchronously with forwarded stdout/in/err) from any working
 directory. (Also automatically works around DMD #10863
without waiting
 for v2.066 - BTW, thanks all involved who fixed that.)

 Aside from the bug, I don't understand what this provides
over execute.

First of all, spawn(Process|Shell)().wait() is a better 
comparison for runShell than execute(Process|Shell). The 
execute functions, at least by default, hide the child's 
stdout/stderr. Granted, execute does capture the child's 
stdout, so you *could* output it yourself afterwords, but then 
the user doesn't see the output in real-time (and forget about 
anything interactive), so that's not a good solution.


Hmm, I've been needing to retain the output and do things with it 
quite a bit. Haven't played with it, but you may be able to get 
interaction by using pipeProcess, but then there is just more 
work to make it act like spawn.


- runShell optionally takes a Path to use as the initial 
working directory to launch the process from (and then uses 
scope(exit) to automatically chdir back when the process 
finishes). Nothing in std.process does that right now, although 
there is a request in bugzilla for it: 
http://d.puremagic.com/issues/show_bug.cgi?id=11363


That is likely quite useful.

Plus there's the automatic command echoing (not that I couldn't 
do that in some more direct std.process wrappers, like I do for 
certain std.file functions).


I wonder if a generic wrapper could be created to handle this.


Re: Scriptlike: New lib to aid in writing script-like programs

2014-02-11 Thread Jesse Phillips
On Wednesday, 12 February 2014 at 00:07:42 UTC, Nick Sabalausky 
wrote:
I think that would fit very well into Scriptlike, as long as 
you don't mind it all being in the same module as the rest of 
scriptlike, and preferably using same formatting style (not 
that that's strictly important, but consistency is nice of 
course).


Forgot that I wanted to say, I think considering the goals of the 
files it may be reasonable to have them separate. Solving the 
extra import can be done with something like package.d, but maybe 
you also want to reduce file count for some reason?


Re: Scriptlike: New lib to aid in writing script-like programs

2014-02-11 Thread Jesse Phillips
Personally the biggest problem I have are libraries which depend 
on other libraries. A few of my scripts ended up growing a 
library I chopped off, but I haven't come up with a way to 
segregate it from needing XML/ini/cmdln libraries too.


On Wednesday, 12 February 2014 at 02:15:38 UTC, Nick Sabalausky 
wrote:
1. If you download the source files manually (maybe someone who 
isn't onboard with git or dub yet?), there's more to do: Either 
download more than one file, or download one file and unzip. 
Versus just download this file and use it.


Personally pulling in one file or many is the same to me. If it 
comes in a zip, that seems reasonable for those not gitting (git 
provides zipping a folder, not subfolders).


2. You still have to either pass all the files to DMD, or add 
an extra -Ipath to your RDMD call.


That is true with the single file, so I don't see why this would 
be relevant.


What is nice about keeping them separate is that people will be 
able to choose what type of script they will write. And I doubt 
there will be any common helper functions between these to 
modules.


Re: Scriptlike: New lib to aid in writing script-like programs

2014-02-11 Thread Jesse Phillips
On Wednesday, 12 February 2014 at 04:59:11 UTC, Nick Sabalausky 
wrote:
But I may well just be paranoid about multiple files being a 
problem. Unless there's objections (don't seem to be so far) I 
may go ahead and split it up with a package.d. If it turns out 
to be an issue, I could just deal with it then.


Ok, I'll work on a pull request following your formatting as a 
separate file. You can take the merging/not merging from there.


Re: dmd 2.064.2

2013-11-07 Thread Jesse Phillips
On Thursday, 7 November 2013 at 01:12:14 UTC, Jonathan M Davis 
wrote:
I had assumed that there was a 2.063.1 prior to 2.063.2 but 
clearly wasn't

paying enough attention.

- Jonathan M Davis


Found the explanation:

http://lists.puremagic.com/pipermail/dmd-internals/2013-June/006569.html

The v2.063 was an aborted 'release'. 2.063.1 is what was 
released. (The compiler
 libraries are unchanged, what happened was the documentation 
was fixed.)


Re: Funny coverage of the recent reddit/hackernews chatter

2013-10-15 Thread Jesse Phillips

On Tuesday, 15 October 2013 at 17:59:38 UTC, Tourist wrote:
On Tuesday, 15 October 2013 at 17:47:54 UTC, Andrei 
Alexandrescu wrote:

http://www.fastcolabs.com/3019948/more-about-d-language-and-why-facebook-is-experimenting-with-it

Andrei


Google shows a rise in interest as well:
http://www.google.com/trends/explore?q=d+language#q=d%20languagecmpt=q


And the dlang search:
http://www.google.com/trends/explore?q=d+language#q=dlangcmpt=q

Great article!


Re: Start of dmd 2.064 beta program

2013-10-14 Thread Jesse Phillips

On Monday, 14 October 2013 at 10:00:01 UTC, Rory McGuire wrote:
On Mon, Oct 14, 2013 at 11:35 AM, Benjamin Thaut 
c...@benjamin-thaut.dewrote:


My bad. German dates... We write the the day first then the 
month and then

the year.



Americans seem to read dates as October 14th, 2013 which is 
way they

write numeric dates in such an odd way :D.

Since I realized that is the reason for it I've been much 
better at

noticing the location of a person who wrote a date down.


I've chosen to try writing dates using the ISO

2013-10-14

Always causes confusion, thus leading people to actually figure 
out the numbers. :) Of course programmers don't have an issue 
with it. Sadly, it can't be shortened:


13-10-14 or 10-14

I'm also ok with 2013/10/14 even though ISO isn't.


Re: Facebook is using D in production starting today

2013-10-10 Thread Jesse Phillips
On Friday, 11 October 2013 at 00:36:12 UTC, Andrei Alexandrescu 
wrote:
Today I committed the first 5112 lines of D code to Facebook's 
repository. The project is in heavy daily use at Facebook. 
Compared to the original version (written in C++) we've 
measured massive wins in all of source code size, build speed, 
and running speed.


In all likelihood we'll follow up with a blog post describing 
the process.



Andrei


This is fantastic news! And also the time when having an upvote 
button would be awesome. They can be placed here though:


http://www.reddit.com/r/d_language/comments/1o6p55/first_d_language_commit_at_facebook/


Re: [Library Release] dproto

2013-10-09 Thread Jesse Phillips

On Tuesday, 8 October 2013 at 08:11:34 UTC, Kagamin wrote:

On Saturday, 5 October 2013 at 20:56:21 UTC, Matt Soucy wrote:

message Point {
optional int32 x = 1 [default=166];
required int32 y = 2;
optional string label = 3;
message Coord {
required int32 a = 1;
required int32 b = 2;
}
}

You can get a structure that behaves as:

struct Point {
int x=166;
int y;
string label;
struct Coord {
int a,b;
}
}


Should it be really like that? If you just declare Coord 
struct, it doesn't place a Coord instance in Point.


It is correct. A message defined in another is just namespacing 
as it is in D. If you want to include the type then the message 
needs a field of that type. Groups are a way to combine this, but 
they are deprecated so who'd want to support that.


Re: [Library Release] dproto

2013-10-09 Thread Jesse Phillips

On Tuesday, 8 October 2013 at 20:50:22 UTC, Matt Soucy wrote:
Thanks for the tip - I actually did find this one when I 
started using
this, however I found it on another page that hadn't been 
updated (that
I ironically can't find now), so I wrongfully assumed that it 
was
abandoned. I did find the github page, but I wasn't thrilled by 
it.


You're thinking: 
https://256.makerslocal.org/wiki/index.php/ProtocolBuffer

I've been updating it from that



Pros for opticron's:
Much more idiomatic code
Supports D1
Much better unit tests
Pros for mine (highly based on opinion):
Exposes slightly more convenient helpers
(In my opinion) slightly easier to read
	Generated code looks like a POD struct, though with some 
hidden
attributes (optional variables support .clean(), .exists(), 
instead of

looking like myStruct.foo_exists())


For the D2 output I've got it really close to POD. It declares 
fields as Nullable!T meaning myStruct.foo.isNull would check 
availability. I was intending to distinguish required/optional 
with this, but that would remove error checking (which I don't 
think is there yet).


Basically, mine is much more simplistic, which is both good and 
bad. I'd
like to improve mine a bit more, and the one you pointed me at 
is pretty

good. It gave me some things to improve on.


Go for it, have fun.


Re: [Library Release] dproto

2013-10-05 Thread Jesse Phillips

This is more of an FYI. I've been using/updating
https://github.com/opticron/ProtocolBuffer

Boost License
And while it doesn't have any helper functions, it can generate 
source at compile time.

Generates D1 code if requested

Been using it to walk OSM data for no particular reason
https://gist.github.com/JesseKPhillips/6051600


Re: I'm porting some go code to D

2013-08-23 Thread Jesse Phillips

On Friday, 23 August 2013 at 23:54:55 UTC, Rory McGuire wrote:
So I'm porting so #golang code to #dlang and there is all these 
blasted
go statements.So I thought I'd give implmenting it in D a 
shot. What do

you guys think?
Fire away :).


I'd suggest posting long snippets of code to 
https://gist.github.com/ or http://dpaste.dzfl.pl/


A couple lines is fine but whole implementations, definitely want 
a more color friendly solution.


Re: A new blog article detailing the alternative function syntax

2013-08-08 Thread Jesse Phillips

On Thursday, 8 August 2013 at 18:53:47 UTC, Gary Willoughby wrote:
I've just finished a new blog article on the subject of 
alternative function syntax in D. I guess this is pretty 
straightforward stuff to all the people here but was a major 
source of confusion to me (and others?) when first learning D.


I personally think this is more confusing than many people 
think. Hopefully this will quickly arm a developer with 
knowledge to be able to read and understand most D code. Let me 
know if i've missed anything important.


http://nomad.so/2013/08/alternative-function-syntax-in-d/

I'll post to reddit in the morning.


The second non-member function example is part of the -property 
controversy.


foo = 123;  // called as foo(123)

Not sure if you'd want that mentioned.



Re: echo: -n, the next installment

2013-07-26 Thread Jesse Phillips

On Friday, 26 July 2013 at 00:38:46 UTC, John Colvin wrote:
After a few weeks of not getting around to it, here's my second 
post:


http://foreach-hour-life.blogspot.co.uk/2013/07/the-first-corner-n-for-echo.html


BTW, std.getopt is a good way to parse arguments. Not sure if it 
is relevant to what you want to teach, but should generally be 
preferred over handwritten.


Re: Article series about patterns idioms in D

2013-07-12 Thread Jesse Phillips


This statement kind of worries me:

It seems like every minor release of D works different than 
previous ones.


Why would you release a version if it wasn't different from the 
previous?


It would be nice if one could give the oldest known working 
compiler, but there are still changes to old behavior which means 
some code would have more specific compiler versions needed.


Work is being done, but the issue will exist for some time so 
process to make it less painful is being put in place.


Re: Started: Formal Review of std.serialization

2013-06-11 Thread Jesse Phillips

On Monday, 10 June 2013 at 16:14:32 UTC, Jesse Phillips wrote:

Please discuss on official thread:

http://forum.dlang.org/post/adyanbsdsxsfdpvoo...@forum.dlang.org

This library is authored by Jacob Carlborg and has been around
through the D1/Tango days.


Review is being suspended while we work out requirements for 
reviewing.


If another member wishes to step up and be a review manager for 
another project, you are welcome to and begin a review. I'll 
being working on documenting the review process itself.


http://wiki.dlang.org/Review_Queue


Re: DConf 2013 Day 3 Talk 1: Metaprogramming in the Real World by Don Clugston

2013-06-11 Thread Jesse Phillips

On Tuesday, 11 June 2013 at 21:55:48 UTC, Adam D. Ruppe wrote:
...and if you sell it, unless you own multiple houses, you're 
now homeless. And housing prices are up, so getting a new house 
will erase the gains you got from selling the old house! So I 
don't think raising property values makes me wealthier at all.


But when housing cost goes up the government can take more from 
you on anything based on your wealth. Just because you can't 
pay because your wealth is all chewed up in material things like 
a house, who cares!


Started: Formal Review of std.serialization

2013-06-10 Thread Jesse Phillips

Please discuss on official thread:

http://forum.dlang.org/post/adyanbsdsxsfdpvoo...@forum.dlang.org

This library is authored by Jacob Carlborg and has been around
through the D1/Tango days.


Re: dmd 2.063 released with 260 bugfixes and enhancements

2013-05-30 Thread Jesse Phillips

On Thursday, 30 May 2013 at 15:31:36 UTC, F i L wrote:

Steven Schveighoffer wrote:

Holy changelog!  That is awesome.

Please send kudos to whoever took the time to create that.


+1, excellent work on that changelog.


This is a really nice changelog. The change and rational section 
is perfect!


Re: dmd 2.063 released with 260 bugfixes and enhancements

2013-05-30 Thread Jesse Phillips

On Thursday, 30 May 2013 at 22:04:07 UTC, Andrej Mitrovic wrote:
On 5/30/13, Andrei Alexandrescu seewebsiteforem...@erdani.org 
wrote:

Hello,


We seem to have a regression affecting the zipped release:
http://d.puremagic.com/issues/show_bug.cgi?id=10215

But I can't recreate this in git-head. It must have been a 
specific
commit the release is based on that introduced this behavior. I 
don't
know how it went through the autotester unnoticed, this is a 
pretty

major bug.


Perfect chance to try out the new release process. Patch 2.063 
and release 2.063.1.


New std.uni Approved

2013-05-27 Thread Jesse Phillips
With a vote 15/0 the new standard std.uni is approved to replace 
the existing module.


Several people were in favor of the name changing to std.unicode 
others opposed unless it was part of a Phobos restructure. Such 
is up to the core devs to decide.


Congrads Dmitry.


Re: DConf 2013 Day 1 Talk 7: Panel with Walter Bright and Andrei Alexandrescu

2013-05-22 Thread Jesse Phillips
On Wednesday, 22 May 2013 at 13:08:50 UTC, Andrei Alexandrescu 
wrote:

Destroy:

http://www.reddit.com/r/programming/comments/1etxqy/dconf_2013_day_1_talk_7_panel_with_walter_bright/

Andrei


I'm still not sure what the plan is on this, but Kickstarter 
backers should be informed that these videos are posted from the 
Kickstarter update system:


http://www.kickstarter.com/projects/2083649206/the-d-programming-language-conference-2013-0/posts


Vote started for std.uni

2013-05-20 Thread Jesse Phillips

Please cast your vote for std.uni at:
http://forum.dlang.org/post/zczqphzzqnxvjflle...@forum.dlang.org


Re: Vote started for std.uni

2013-05-20 Thread Jesse Phillips

On Monday, 20 May 2013 at 08:15:48 UTC, deadalnix wrote:

On Monday, 20 May 2013 at 06:19:29 UTC, Jesse Phillips wrote:

Please cast your vote for std.uni at:
http://forum.dlang.org/post/zczqphzzqnxvjflle...@forum.dlang.org


Overall it looks great. I have one question l is it possible to 
build tries at runtime using CTFE ? Anyway, as long as this is 
implementable, this have my vote.


Second thing, it is probably too late, but let's ask anyway. Is 
that possible to rename the thing as std.unicode ?


Please place this in the vote thread, or it will not be counted 
when I get to tallying.


Re: DConf 2013 Day 1 Talk 5: Using D Alongside a Game Engine by Manu Evans

2013-05-17 Thread Jesse Phillips

On Friday, 17 May 2013 at 13:28:20 UTC, Andrei Alexandrescu wrote:

Great talk. Vote up!

http://www.reddit.com/r/programming/comments/1eiku4/dconf_2013_day_1_talk_5_using_d_alongside_a_game/


Andrei


These announcements should also be an update through the 
Kickstarter system.


Re: DConf 2013 Day 1 Talk 2: Copy and Move Semantics in D by Ali Cehreli

2013-05-10 Thread Jesse Phillips

On Friday, 10 May 2013 at 12:08:10 UTC, Andrei Alexandrescu wrote:

Enjoy!

https://www.youtube.com/watch?v=mPr2UspS0fE

Andrei


These need to be updates on Kickstarter too.


Re: Shameless autopromotion : type safe tagged union in D

2013-05-10 Thread Jesse Phillips

On Friday, 10 May 2013 at 17:56:14 UTC, Andrei Alexandrescu wrote:
A general note about posting to reddit: it often happens that 
posts from infrequent posters go to spam by means of some 
automatic rule. When that happens you need to message the 
moderators and politely ask them to manually instate the post 
because it's legit. Once you accumulate karma and all, your 
posts will be auto-approved.


Well that is stupid. It would be like StackOverflow closing 
questions of new users and waiting for people to vote to open.


Re: Formal Review of std.uni

2013-05-08 Thread Jesse Phillips

On Sunday, 28 April 2013 at 16:59:18 UTC, Jesse Phillips wrote:
Dmitry is attending Dconf, so this review will be 3 weeks (this 
first week being bonus). All review material should be posted 
to the review thread.


The std.uni module provides an implementation of fundamental 
Unicode algorithms and data structures.


http://forum.dlang.org/post/xbuphdghoyymjajpf...@forum.dlang.org


Just a reminder now that the conference is over. std.uni is under 
review.


Formal Review of std.uni

2013-04-28 Thread Jesse Phillips
Dmitry is attending Dconf, so this review will be 3 weeks (this 
first week being bonus). All review material should be posted to 
the review thread.


The std.uni module provides an implementation of fundamental 
Unicode algorithms and data structures.


http://forum.dlang.org/post/xbuphdghoyymjajpf...@forum.dlang.org


std.process Accepted!

2013-04-20 Thread Jesse Phillips
The new std.process by Lars Kyllingstad and Steven Schveighoffer 
has been accepted with a final count


18/0

On a related note, the voting broke of into several discussions 
related to how to bring proposed libraries into Phobos. 
Specifically the issue being that a Phobos module frozen to 
prevent breaking changes yet these are new modules not getting 
the most thorough testing before inclusion.


Several suggested solutions to this were made; exp/std.exp, 
warning the module is exp when importing, and a combination of 
both (place the module in exp without a warning, also place in 
std publicly importing and placing a warning).


I'm not here to change how things are done. It didn't seem there 
was a consensus, but the hybrid seemed to be fairly appealing.


For now I say we continue as before, and work toward this new 
approach.


Voting thread: 
http://forum.dlang.org/thread/mgstnugckomjpvdgp...@forum.dlang.org


Vote started for std.process

2013-04-12 Thread Jesse Phillips
Go here: 
http://forum.dlang.org/post/mgstnugckomjpvdgp...@forum.dlang.org


Re: Starting Formal Review of std.process

2013-04-11 Thread Jesse Phillips

On Thursday, 11 April 2013 at 08:27:24 UTC, Rory McGuire wrote:

Hi Jesse,

Is there any example code that uses it?


The docs provide examples
http://www.kyllingen.net/code/std-process2/phobos-prerelease/std_process.html

is there something insufficient about them?


Re: Starting Formal Review of std.process

2013-04-09 Thread Jesse Phillips

On Thursday, 4 April 2013 at 14:31:43 UTC, Jesse Phillips wrote:

The changes for std.process are under review at:
http://forum.dlang.org/thread/gclsbrghhjitnfder...@forum.dlang.org

std.process is improvements to the existing std.process and is a
complete change to the API. The original API remains but these
will be going through deprecation.

The major change is support for redirecting stdin/stdout/stderr

As review has been going for a month, I'm proposing we do a 
formal review for 1 week followed by a 1 week vote.


As there has been no objection, Thursday PST will be the last 
Review day. Voting will start Friday/Thursday night.


Starting Formal Review of std.process

2013-04-04 Thread Jesse Phillips

The changes for std.process are under review at:
http://forum.dlang.org/thread/gclsbrghhjitnfder...@forum.dlang.org

std.process is improvements to the existing std.process and is a
complete change to the API. The original API remains but these
will be going through deprecation.

The major change is support for redirecting stdin/stdout/stderr

As review has been going for a month, I'm proposing we do a 
formal review for 1 week followed by a 1 week vote.


Re: Crystal

2013-02-21 Thread Jesse Phillips
On Sunday, 17 February 2013 at 06:28:09 UTC, Ary Borenszweig 
wrote:



I'd also like to ask you:

1. Do you know whether a similar language exists?


Not sure how similar all the goals are (dynamic with static 
benefits) but there is Magpie: http://magpie.stuffwithstuff.com/


Re: Crystal

2013-02-21 Thread Jesse Phillips
On Thursday, 21 February 2013 at 21:59:06 UTC, Jesse Phillips 
wrote:

Doesn't that run on the JVM?


I couldn't find what it generates to. It has an interpreter in 
Java and C++ though.


Ok, that sounds really stupid. I thought it had a compiled 
component, but I don't see that, just looks to be interpreted.


Re: Registration now open on dconf.org

2013-02-14 Thread Jesse Phillips
On Thursday, 14 February 2013 at 20:08:48 UTC, Walter Bright 
wrote:

On 2/14/2013 3:25 AM, Dejan Lekic wrote:


Andrei, just to confirm, Kickstarter donors do not have to 
register?


For the first 20 at the $250 level and all those above $375 
(which includes you), you still have to register (so we know 
you're coming), but there's no charge. Registering in that 
case is just letting me know.


Probably should clarify for the Kickstarter announcement:

Those of you who contributed at the early bird level and above 
are already registered - looking forward to seeing you there!


Re: DIP22 : Private symbol visibility

2013-02-01 Thread Jesse Phillips

On Friday, 1 February 2013 at 09:36:19 UTC, Dicebot wrote:
Sorry, did not understand this part. Can you give a more 
code-ish example?


Sorry I can't. If you see code where function is defined, and the 
compiler complains it is not defined, it can lead to checking 
imports and supplied files instead of the cause, not accessible.


  1   2   >