Re: GSoC 2016 Postmortem
On Friday, 13 January 2017 at 13:12:19 UTC, Mike Parker wrote: Craig Dillabaugh is ramping up for Google Summer of Code 2017. He took some time out to give a report on GSoC 2016 and recommendations for how to improve the process this year. Blog: https://dlang.org/blog/2017/01/13/the-d-language-foundation-google-summer-of-code-2016-postmortem/ Reddit: https://www.reddit.com/r/d_language/comments/5nqi54/the_d_language_foundation_google_summer_of_code/ Thanks Mike for getting this posted. Just noticed info on the 2017 GSoC has been posted now. Time to get back to work. https://developers.google.com/open-source/gsoc/ Note that the 2017 Ideas page has been set up, its a little light on content at the moment: https://wiki.dlang.org/GSOC_2017_Ideas
GSoC 2016 Postmortem
Craig Dillabaugh is ramping up for Google Summer of Code 2017. He took some time out to give a report on GSoC 2016 and recommendations for how to improve the process this year. Blog: https://dlang.org/blog/2017/01/13/the-d-language-foundation-google-summer-of-code-2016-postmortem/ Reddit: https://www.reddit.com/r/d_language/comments/5nqi54/the_d_language_foundation_google_summer_of_code/
Re: GSoC 2016 - std.experimental.xml after a month
On Wednesday, 29 June 2016 at 12:06:23 UTC, Lodovico Giaretta wrote: the idea is that if we have a good, modular, extendable XML library, then we can build everything on top of it as separate projects. This is because one person cannot maintain all the possible extensions (XPath, XSD, JAXB, XQuery, ...) Indeed, but maybe you would consider making it possible to either inject a user defined field into the Element node or make it possible to provide a custom Element node as generic parameter, for book-keeping. And some hooks for when the DOM is built/mutated.
Re: GSoC 2016 - std.experimental.xml after a month
On Tuesday, 28 June 2016 at 12:14:40 UTC, Nikolay wrote: DOM - Any plans for Xpath? DTD check - What about XSD? XSD is more popular now. Also it would be nice to have something like JAXB (automatically bind and map DLang struct/classes to/from XML). But it may be part of next iteration or project. PS I find https://github.com/lodo1995/experimental.xml/issues/11 so actually you already answer to my questions about XSD & XPath. About XPath and XSD, you already found the answer. About automatic binding (JAXB like), I wasn't planning it, but the idea is that if we have a good, modular, extendable XML library, then we can build everything on top of it as separate projects. This is because one person cannot maintain all the possible extensions (XPath, XSD, JAXB, XQuery, ...) and because most of these should be provided by external packages, not by the standard library (otherwise the std XML library would end up being half the entire size of Phobos). Thank you for your feedback.
Re: GSoC 2016 - std.experimental.xml after a month
On Thursday, 23 June 2016 at 20:04:26 UTC, Lodovico Giaretta wrote: -- Brace yourself: a very long post is coming -- What is planned for the near future? - When the DOM classes will be usable (even if not 100% complete) I will start working on a DOM parser to build them from the source; - DTD check and entity substitution have to be implemented, and they will (I hope) fit nicely as pluggable components for the validating cursor; DOM - Any plans for Xpath? DTD check - What about XSD? XSD is more popular now. Also it would be nice to have something like JAXB (automatically bind and map DLang struct/classes to/from XML). But it may be part of next iteration or project. PS I find https://github.com/lodo1995/experimental.xml/issues/11 so actually you already answer to my questions about XSD & XPath.
Re: GSoC 2016 - std.experimental.xml after a month
On 6/28/16 4:04 AM, Lodovico Giaretta wrote: On Monday, 27 June 2016 at 22:36:36 UTC, Martin Nowak wrote: On 06/25/2016 10:33 PM, Lodovico Giaretta wrote: But your idea about a stack keeping all the context informations is quite valuable, given that some validations need them (e.g. checking that all prefixes have been declared, and retrieving prefix/namespace associations). In any case it should be optional so that use cases that don't need parent information can avoid the overhead. I absolutely agree on this. In the case of ranges, front should be accessible, which means you have to cache it. It should be optional in the sense that if you are not parsing using nested ranges, but straight SAX, then you don't need to save state. -Steve
Re: GSoC 2016 - std.experimental.xml after a month
On Monday, 27 June 2016 at 22:36:36 UTC, Martin Nowak wrote: On 06/25/2016 10:33 PM, Lodovico Giaretta wrote: But your idea about a stack keeping all the context informations is quite valuable, given that some validations need them (e.g. checking that all prefixes have been declared, and retrieving prefix/namespace associations). In any case it should be optional so that use cases that don't need parent information can avoid the overhead. I absolutely agree on this.
Re: GSoC 2016 - std.experimental.xml after a month
On 06/25/2016 10:33 PM, Lodovico Giaretta wrote: > > But my implementation does not maintain the state of the parents, so you > can't get any info about the parent from the children, unless you use > exit() (in which case, you can get the parent's name from the closing tag). > > But your idea about a stack keeping all the context informations is > quite valuable, given that some validations need them (e.g. checking > that all prefixes have been declared, and retrieving prefix/namespace > associations). In any case it should be optional so that use cases that don't need parent information can avoid the overhead.
Re: GSoC 2016 - std.experimental.xml after a month
On Saturday, 25 June 2016 at 20:32:33 UTC, Walter Bright wrote: Thank you for your hard work on this important project. Please ensure that it has a range interface - a range is used as input. You mean that the document source may be a range? In that case, I already implemented a lexer that works with any InputRange, and another one that works with ForwardRanges (I hoped it to be way faster than the first, but it currently isn't). Both are way slower than the two lexers based on slices, of course.
Re: GSoC 2016 - std.experimental.xml after a month
On Saturday, 25 June 2016 at 20:16:09 UTC, Steven Schveighoffer wrote: When I had the gumption to try and make an XML parser range, the idea I had was to have the current element's tag and attributes, all parent elements' tags and attributes, and the currently parsed entity inside the element. If the entity you were parsing was an element, you could either popFront it, to get to the next element, or descend into it's children, and the element and it's attributes would be pushed onto the "element" stack. The idea is to keep all the context alive, but not have to keep the entire file in memory. Anyway, that's how I envisioned it. Haven't finished my i/o package yet, so it didn't materialize :) -Steve Thank you for your feedback. You idea is similar to my Cursor API, which has next() to reach the next element and enter()/exit() to descend to the first child or ascend to the closing tag of the parent. But my implementation does not maintain the state of the parents, so you can't get any info about the parent from the children, unless you use exit() (in which case, you can get the parent's name from the closing tag). But your idea about a stack keeping all the context informations is quite valuable, given that some validations need them (e.g. checking that all prefixes have been declared, and retrieving prefix/namespace associations).
Re: GSoC 2016 - std.experimental.xml after a month
On 6/23/2016 1:04 PM, Lodovico Giaretta wrote: One month after the official GSoC start, I want to share with you what's in std.experimental.xml and what will hopefully be there Thank you for your hard work on this important project. Please ensure that it has a range interface - a range is used as input.
Re: GSoC 2016 - std.experimental.xml after a month
On 6/25/16 12:26 PM, Lodovico Giaretta wrote: On Saturday, 25 June 2016 at 15:59:40 UTC, Jacob Carlborg wrote: Any range API, or plan for? Hi, I'm definitely going to provide a wrapper around the Cursor API, that will provide InputRange access to all the children of the current node (this way the tree structure is maintained). I plan to upload it in a couple of days. I'm still pondering if it's worth providing also a way to get a Range of the entire document tree, flattened; it's nodes would be in one-to-one correspondence with the events generated by a SAX parser (another API which does not preserve the tree structure). When I had the gumption to try and make an XML parser range, the idea I had was to have the current element's tag and attributes, all parent elements' tags and attributes, and the currently parsed entity inside the element. If the entity you were parsing was an element, you could either popFront it, to get to the next element, or descend into it's children, and the element and it's attributes would be pushed onto the "element" stack. The idea is to keep all the context alive, but not have to keep the entire file in memory. Anyway, that's how I envisioned it. Haven't finished my i/o package yet, so it didn't materialize :) -Steve
Re: GSoC 2016 - std.experimental.xml after a month
On Saturday, 25 June 2016 at 15:59:40 UTC, Jacob Carlborg wrote: Any range API, or plan for? Hi, I'm definitely going to provide a wrapper around the Cursor API, that will provide InputRange access to all the children of the current node (this way the tree structure is maintained). I plan to upload it in a couple of days. I'm still pondering if it's worth providing also a way to get a Range of the entire document tree, flattened; it's nodes would be in one-to-one correspondence with the events generated by a SAX parser (another API which does not preserve the tree structure).
Re: GSoC 2016 - std.experimental.xml after a month
On 23/06/16 22:04, Lodovico Giaretta wrote: What is working? - Four lexers are provided to abstract different kinds of input from the other layers, providing different speed characteristics; - The parser splits the document into nodes, doing most of the hard work; - A cursor sits on top of the parser, providing an API to advance in the document and get information about the current node; it supports string interning, which can drastically lower memory consumption (given that most nodes share names and attributes); - A validating cursor is the same as a cursor, but allows the user to plug custom validators, that are executed while advancing in the input; in the future the library will provide some predefined validators to use with it; - A very simple SAX API built on top of the cursor API is the last thing added and tested; - A partial reimplementation of std.xml is there; when completed it will allow a gradual code transition. Any range API, or plan for? -- /Jacob Carlborg
GSoC 2016 - std.experimental.xml after a month
-- Brace yourself: a very long post is coming -- Hi, One month after the official GSoC start, I want to share with you what's in std.experimental.xml and what will hopefully be there. If you have any question/improvement or anything to say, just leave a comment here or an issue on GitHub (https://github.com/lodo1995/experimental.xml). In particular, if you think there are problems with the current structure of the project, or major flaws in the APIs, that will be very difficult to solve at a later stage, please let me know. (Walter and Andrei, I'd really appreciate your feedback here). Thank you in advance to all who will take time to read this... What is working? - Four lexers are provided to abstract different kinds of input from the other layers, providing different speed characteristics; - The parser splits the document into nodes, doing most of the hard work; - A cursor sits on top of the parser, providing an API to advance in the document and get information about the current node; it supports string interning, which can drastically lower memory consumption (given that most nodes share names and attributes); - A validating cursor is the same as a cursor, but allows the user to plug custom validators, that are executed while advancing in the input; in the future the library will provide some predefined validators to use with it; - A very simple SAX API built on top of the cursor API is the last thing added and tested; - A partial reimplementation of std.xml is there; when completed it will allow a gradual code transition. What am I working on right now? I'm trying to implement the DOM level 3 API. The API per se is not that difficult, but the infrastructure I'm building around it is a hell. In fact, I'm trying to make the DOM nodes reference counted and allocated with a custom allocator, to allow their usage in @nogc code. This is quite painful (because the DOM has lots of circular references, and "normal" reference counting does not work with them), but with enough time I will probably manage to make it work. What is planned for the near future? - When the DOM classes will be usable (even if not 100% complete) I will start working on a DOM parser to build them from the source; - DTD check and entity substitution have to be implemented, and they will (I hope) fit nicely as pluggable components for the validating cursor; - And of course some APIs to output XML. What is (incidentally) inside the repository? - Along with the DOM classes comes a wrapper that allows to allocate classes with a custom allocator and reference count them (that is, a RefCounted!T that works only for classes); - A wonderful (or maybe not) benchmark driver that benchmarks the various components with various kinds of random generated files and prints some wonderful statistics and graphs; - Needed by the benchmarking code, a simple API to collect statistical infos (average, median, deviation) from a range of measures; - Needed by the cursor API, an Interner that can intern not only strings, but any array or class. Thank you again for your time and help. Lodovico Giaretta
Re: GSoC 2016 - Precise GC
On Sunday, 8 May 2016 at 11:16:56 UTC, deadalnix wrote: Ones that have only pointers are probably OK too. Though I'm not sure if a precise scanner takes into account the type of the pointer. I would expect it to use embedded typeinfo in target block. -Steve Because of void* and classes, the GC MUST be able to find out what type was actually allocated, or at least its pointer bitmask. Yep, and it does that by looking at metadata of the pointed object itself, it doesn't care about the type of pointer to that object. I mean if we have object x of class X in heap and pointers "X p1", "void* p2" and "Y p3" all having same value (pointing to the same address) then GC will have no problem in scanning x as long as it can access x's type info knowing the address of x in heap. Which means all p1, p2 and p3 might easily be just at one position in a union and that would not be a problem.
Re: GSoC 2016 - Precise GC
On Friday, 6 May 2016 at 09:06:59 UTC, Dmitry Olshansky wrote: On 06-May-2016 05:37, Jeremy DeHaan wrote: On Wednesday, 4 May 2016 at 12:42:30 UTC, jmh530 wrote: On Wednesday, 4 May 2016 at 02:50:08 UTC, Jeremy DeHaan wrote: You can identify safe functions with https://dlang.org/phobos/std_traits.html#isSafe or https://dlang.org/phobos/std_traits.html#functionAttributes All I meant was that I don't know enough about what the compiler does with built in types to make this work. It almost sounds like we would need a safe union and unsafe union type and do some extra stuff for the unsafe union, but I'm just starting to learn about this stuff. I'd note that a union without pointers doesn't hurt precise scanner, it's only the ones with pointers that are bad. Union is an user-defined-kind value and only user codes can tell the difference. I believe this will also effect the reference count implementation. I suggest that when a type has a union member, it should create a function such as gcValues with a parameter of output range of record (offset: size_t, type: typeid). the function should return that info based on whatever the actual value of those pointer types. If that function is missing, use conservative approach as before Cheers Pham
Re: GSoC 2016 - Precise GC
On Friday, 6 May 2016 at 09:31:08 UTC, Steven Schveighoffer wrote: On 5/6/16 11:06 AM, Dmitry Olshansky wrote: On 06-May-2016 05:37, Jeremy DeHaan wrote: On Wednesday, 4 May 2016 at 12:42:30 UTC, jmh530 wrote: On Wednesday, 4 May 2016 at 02:50:08 UTC, Jeremy DeHaan wrote: I'm not sure, but one would think that @safe code wouldn't need any extra information about the union. I wouldn't know how to differentiate between them though during runtime. Probably someone with more experience with the compiler would know more about that kind of thing. You can identify safe functions with https://dlang.org/phobos/std_traits.html#isSafe or https://dlang.org/phobos/std_traits.html#functionAttributes All I meant was that I don't know enough about what the compiler does with built in types to make this work. It almost sounds like we would need a safe union and unsafe union type and do some extra stuff for the unsafe union, but I'm just starting to learn about this stuff. I'd note that a union without pointers doesn't hurt precise scanner, it's only the ones with pointers that are bad. Ones that have only pointers are probably OK too. Though I'm not sure if a precise scanner takes into account the type of the pointer. I would expect it to use embedded typeinfo in target block. -Steve Because of void* and classes, the GC MUST be able to find out what type was actually allocated, or at least its pointer bitmask.
Re: GSoC 2016 - Precise GC
On Tuesday, 3 May 2016 at 18:15:20 UTC, Jeremy DeHaan wrote: Not sure if it is something I can get to in the course of my project though. Scanning only unions conservatively is still pretty good. And the stack, and the CPU registers, but yeah, it should be a minority.
Re: GSoC 2016 - Precise GC
On 5/6/16 11:06 AM, Dmitry Olshansky wrote: On 06-May-2016 05:37, Jeremy DeHaan wrote: On Wednesday, 4 May 2016 at 12:42:30 UTC, jmh530 wrote: On Wednesday, 4 May 2016 at 02:50:08 UTC, Jeremy DeHaan wrote: I'm not sure, but one would think that @safe code wouldn't need any extra information about the union. I wouldn't know how to differentiate between them though during runtime. Probably someone with more experience with the compiler would know more about that kind of thing. You can identify safe functions with https://dlang.org/phobos/std_traits.html#isSafe or https://dlang.org/phobos/std_traits.html#functionAttributes All I meant was that I don't know enough about what the compiler does with built in types to make this work. It almost sounds like we would need a safe union and unsafe union type and do some extra stuff for the unsafe union, but I'm just starting to learn about this stuff. I'd note that a union without pointers doesn't hurt precise scanner, it's only the ones with pointers that are bad. Ones that have only pointers are probably OK too. Though I'm not sure if a precise scanner takes into account the type of the pointer. I would expect it to use embedded typeinfo in target block. -Steve
Re: GSoC 2016 - Precise GC
On 06-May-2016 05:37, Jeremy DeHaan wrote: On Wednesday, 4 May 2016 at 12:42:30 UTC, jmh530 wrote: On Wednesday, 4 May 2016 at 02:50:08 UTC, Jeremy DeHaan wrote: I'm not sure, but one would think that @safe code wouldn't need any extra information about the union. I wouldn't know how to differentiate between them though during runtime. Probably someone with more experience with the compiler would know more about that kind of thing. You can identify safe functions with https://dlang.org/phobos/std_traits.html#isSafe or https://dlang.org/phobos/std_traits.html#functionAttributes All I meant was that I don't know enough about what the compiler does with built in types to make this work. It almost sounds like we would need a safe union and unsafe union type and do some extra stuff for the unsafe union, but I'm just starting to learn about this stuff. I'd note that a union without pointers doesn't hurt precise scanner, it's only the ones with pointers that are bad. -- Dmitry Olshansky
Re: GSoC 2016 - Precise GC
On Wednesday, 4 May 2016 at 12:42:30 UTC, jmh530 wrote: On Wednesday, 4 May 2016 at 02:50:08 UTC, Jeremy DeHaan wrote: I'm not sure, but one would think that @safe code wouldn't need any extra information about the union. I wouldn't know how to differentiate between them though during runtime. Probably someone with more experience with the compiler would know more about that kind of thing. You can identify safe functions with https://dlang.org/phobos/std_traits.html#isSafe or https://dlang.org/phobos/std_traits.html#functionAttributes All I meant was that I don't know enough about what the compiler does with built in types to make this work. It almost sounds like we would need a safe union and unsafe union type and do some extra stuff for the unsafe union, but I'm just starting to learn about this stuff.
Re: GSoC 2016 - Precise GC
On Wednesday, 4 May 2016 at 02:50:08 UTC, Jeremy DeHaan wrote: I'm not sure, but one would thing that @safe code wouldn't need any extra information about the union. I wouldn't know how to differentiate between them though during runtime. Probably someone with more experience with the compiler would know more about that kind of thing. You can identify safe functions with https://dlang.org/phobos/std_traits.html#isSafe or https://dlang.org/phobos/std_traits.html#functionAttributes
Re: GSoC 2016 - Precise GC
On Monday, 2 May 2016 at 15:29:15 UTC, Jeremy DeHaan wrote: Hi everyone! I'm a little late to the party as far as my announcement goes, but I have been busy reading code and doing research for my project. [...] Great!
Re: GSoC 2016 - Precise GC
On Tuesday, 3 May 2016 at 19:05:22 UTC, jmh530 wrote: On Tuesday, 3 May 2016 at 18:15:20 UTC, Jeremy DeHaan wrote: I am reading a paper on how one could use extra information about what was last assigned to a union in order to scan them precisely. I haven't read the whole thing yet, but it looks like it could be done. Not sure if it is something I can get to in the course of my project though. Scanning only unions conservatively is still pretty good. Does it matter that @safe code does not allow unions of pointers and non-pointers? I'm not sure, but one would thing that @safe code wouldn't need any extra information about the union. I wouldn't know how to differentiate between them though during runtime. Probably someone with more experience with the compiler would know more about that kind of thing.
Re: GSoC 2016 - Precise GC
On Tuesday, 3 May 2016 at 18:15:20 UTC, Jeremy DeHaan wrote: I am reading a paper on how one could use extra information about what was last assigned to a union in order to scan them precisely. I haven't read the whole thing yet, but it looks like it could be done. Not sure if it is something I can get to in the course of my project though. Scanning only unions conservatively is still pretty good. Does it matter that @safe code does not allow unions of pointers and non-pointers?
Re: GSoC 2016 - Precise GC
On Tuesday, 3 May 2016 at 16:44:32 UTC, Jack Stouffer wrote: On Tuesday, 3 May 2016 at 16:15:27 UTC, Jeremy DeHaan wrote: I agree, but a precise heap scan should be the easiest part of this project. Rainer Schuetze has already implemented this and presented it at a dconf a few years ago(2013?). My plan is to use that since I know it works, and that frees up my time to focus on pretty much everything else. I don't remember all the details, but I'm pretty sure that Rainer, or maybe someone else, was talking about how a precise GC is not completely possible in D because D has unions. I am reading a paper on how one could use extra information about what was last assigned to a union in order to scan them precisely. I haven't read the whole thing yet, but it looks like it could be done. Not sure if it is something I can get to in the course of my project though. Scanning only unions conservatively is still pretty good.
Re: GSoC 2016 - Precise GC
On Tuesday, 3 May 2016 at 16:44:32 UTC, Jack Stouffer wrote: I don't remember all the details, but I'm pretty sure that Rainer, or maybe someone else, was talking about how a precise GC is not completely possible in D because D has unions. Discussed in this thread (among others) http://forum.dlang.org/thread/bzcatcalqsxqvptxl...@forum.dlang.org
Re: GSoC 2016 - Precise GC
On Tuesday, 3 May 2016 at 16:15:27 UTC, Jeremy DeHaan wrote: I agree, but a precise heap scan should be the easiest part of this project. Rainer Schuetze has already implemented this and presented it at a dconf a few years ago(2013?). My plan is to use that since I know it works, and that frees up my time to focus on pretty much everything else. I don't remember all the details, but I'm pretty sure that Rainer, or maybe someone else, was talking about how a precise GC is not completely possible in D because D has unions.
Re: GSoC 2016 - Precise GC
On Tuesday, 3 May 2016 at 06:23:51 UTC, Yura Sokolov wrote: On Monday, 2 May 2016 at 15:29:15 UTC, Jeremy DeHaan wrote: Hi everyone! I'm a little late to the party as far as my announcement goes, but I have been busy reading code and doing research for my project. [...] Great! That is what should have been done long time ago. I'm pretty sure, if you implement just precise heap scan (and lock removal), it will be already huge win. I agree, but a precise heap scan should be the easiest part of this project. Rainer Schuetze has already implemented this and presented it at a dconf a few years ago(2013?). My plan is to use that since I know it works, and that frees up my time to focus on pretty much everything else.
Re: GSoC 2016 - Precise GC
On Monday, 2 May 2016 at 15:29:15 UTC, Jeremy DeHaan wrote: Hi everyone! I'm a little late to the party as far as my announcement goes, but I have been busy reading code and doing research for my project. [...] Great! That is what should have been done long time ago. I'm pretty sure, if you implement just precise heap scan (and lock removal), it will be already huge win.
GSoC 2016 - Precise GC
Hi everyone! I'm a little late to the party as far as my announcement goes, but I have been busy reading code and doing research for my project. I was selected for this year's GSoC to implement a Precise GC, but I'm also planning to remove the lock on allocations as outlined in my proposal: https://drive.google.com/file/d/0B-UTFTbYro4vV0ljMUlSTEc2eEU/view?usp=sharing My repository for the code can be found here: https://github.com/Jebbs/druntime I will be posting of my progress in this thread throughout the course of the summer, but right now I am mainly focusing on familiarizing myself with all of the GC code since there is quite a lot of it. You will probably see me pushing some updates to documentation between now and when GSoC officially starts, but I hope to have already started making progress before then. I'll do my best to not let you all down!
Re: GSoC 2016 - std.experimental.xml progress
On 5/2/16 8:25 AM, 9il wrote: On Monday, 2 May 2016 at 08:45:59 UTC, Lodovico Giaretta wrote: Hi, Just a little update about my project... After days of bugfixes, the first almost-high-level API (XMLCursor) is now quite usable. Now I can start working on other APIs (e.g. DOM) based on it. If you're interested you can find some usage examples in files benchmark.d and test.d . Any comment is highly appreciated. (If you missed it, the repo is https://github.com/lodo1995/experimental.xml ). Thank you in advance. Lodovico Giaretta Hello Lodovico, Thank you for working on new xml. Please use size_t and sizediff_t instead of uint and int in your loops: for (auto i = 0; i < t.length; i++) should be replaced with foreach (size_t i; 0 .. t.length) It's not obvious, but you identified 2 different things here. auto i = 0 -> typeof(i) == int size_t i = 0 -> typeof(i) == size_t AND use foreach instead of for loops for simple index traversal. Note: foreach(i; 0 .. t.length) should correctly type i as size_t, there is no need to force it. -Steve
Re: GSoC 2016 - std.experimental.xml progress
On Monday, 2 May 2016 at 12:25:03 UTC, 9il wrote: Hello Lodovico, Thank you for working on new xml. Please use size_t and sizediff_t instead of uint and int in your loops: for (auto i = 0; i < t.length; i++) should be replaced with foreach (size_t i; 0 .. t.length) Best regards, Ilya I'll fix this. Thank you very much.
Re: GSoC 2016 - std.experimental.xml progress
On Monday, 2 May 2016 at 08:45:59 UTC, Lodovico Giaretta wrote: Hi, Just a little update about my project... After days of bugfixes, the first almost-high-level API (XMLCursor) is now quite usable. Now I can start working on other APIs (e.g. DOM) based on it. If you're interested you can find some usage examples in files benchmark.d and test.d . Any comment is highly appreciated. (If you missed it, the repo is https://github.com/lodo1995/experimental.xml ). Thank you in advance. Lodovico Giaretta Hello Lodovico, Thank you for working on new xml. Please use size_t and sizediff_t instead of uint and int in your loops: for (auto i = 0; i < t.length; i++) should be replaced with foreach (size_t i; 0 .. t.length) Best regards, Ilya
GSoC 2016 - std.experimental.xml progress
Hi, Just a little update about my project... After days of bugfixes, the first almost-high-level API (XMLCursor) is now quite usable. Now I can start working on other APIs (e.g. DOM) based on it. If you're interested you can find some usage examples in files benchmark.d and test.d . Any comment is highly appreciated. (If you missed it, the repo is https://github.com/lodo1995/experimental.xml ). Thank you in advance. Lodovico Giaretta
Re: GSoC 2016 - A replacement of std.xml for the Phobos standard library
On Saturday, 23 April 2016 at 08:30:32 UTC, Lodovico Giaretta wrote: Hi, I'm Lodovico Giaretta and I've been selected by the D Foundation for GSoC 2016. First of all, I'd like to thank the D Foundation for this fantastic opportunity. In particular, I'd like to thank Craig Dillabaugh and Robert Schadek for their patience in helping me from my first contacts till now. I'll do my best to implement my proposal and make this experience really unique. My proposal is available online: https://drive.google.com/file/d/0B2_hnTCdWtH-eEplQ3hZdnY2Wlk/view?usp=sharing Also, while writing the proposal, I started implementing some small components. You can find my efforts here: https://github.com/lodo1995/experimental.xml I expect that I'll restart updating it in a couple of days. This is my first experience at GSoC and also my first collaboration with a big open source project, so if you have any suggestion about my proposal or my early implementation, feel free to tell me. Thank you very much to everybody. Lodovico Giaretta Great! We really need proper XML support in Phobos.
Re: GSoC 2016 - A replacement of std.xml for the Phobos standard library
On Saturday, 23 April 2016 at 18:49:00 UTC, Jack Stouffer wrote: If you want, you can get more feedback by submitting a work in progress PR to Phobos so people can see the development of the library and comment on it as you go. This would also allow you to test your code with the Phobos CI which has a 10 different platforms. This is a very good idea, but I think I'll not apply it now. In my opinion, the code is not mature enough to be integrated with Phobos. I hope that for May 23rd (when GSoC coding phase officially begins) my repository will have switched from the "sketch" phase to the "development towards an almost-well-defined design" phase. In that case, I'll submit a PR, so that the details of interfaces and implementation can be easily discussed.
Re: GSoC 2016 - A replacement of std.xml for the Phobos standard library
On Saturday, 23 April 2016 at 14:38:36 UTC, Seb wrote: Do you know about these two projects? https://github.com/jacob-carlborg/orange https://github.com/s-ludwig/std_data_json It would be great if your xml library could work with the proposed std.data specification. Ideally switching from Json output to xml output, should be changing one line. --- WARNING: NOOB QUESTION --- I've heard something about std.data, but I know almost nothing about it. Where can I find the proposed specification? --- END OF NOOB QUESTION --- By the way, I think that std.xml will end up having lots of compile-time configurations (via templates), so it will have a simple wrapper on top of it, which can of course obey the std.data specification. This will allow casual users to have the job done in a few lines without any pain.
Re: GSoC 2016 - A replacement of std.xml for the Phobos standard library
On Saturday, 23 April 2016 at 08:30:32 UTC, Lodovico Giaretta wrote: Hi, I'm Lodovico Giaretta and I've been selected by the D Foundation for GSoC 2016. First of all, I'd like to thank the D Foundation for this fantastic opportunity. In particular, I'd like to thank Craig Dillabaugh and Robert Schadek for their patience in helping me from my first contacts till now. I'll do my best to implement my proposal and make this experience really unique. My proposal is available online: https://drive.google.com/file/d/0B2_hnTCdWtH-eEplQ3hZdnY2Wlk/view?usp=sharing Also, while writing the proposal, I started implementing some small components. You can find my efforts here: https://github.com/lodo1995/experimental.xml I expect that I'll restart updating it in a couple of days. This is my first experience at GSoC and also my first collaboration with a big open source project, so if you have any suggestion about my proposal or my early implementation, feel free to tell me. Thank you very much to everybody. Lodovico Giaretta If you want, you can get more feedback by submitting a work in progress PR to Phobos so people can see the development of the library and comment on it as you go. This would also allow you to test your code with the Phobos CI which has a 10 different platforms.
Re: GSoC 2016 - A replacement of std.xml for the Phobos standard library
On Saturday, 23 April 2016 at 08:30:32 UTC, Lodovico Giaretta wrote: Hi, I'm Lodovico Giaretta and I've been selected by the D Foundation for GSoC 2016. First of all, I'd like to thank the D Foundation for this fantastic opportunity. In particular, I'd like to thank Craig Dillabaugh and Robert Schadek for their patience in helping me from my first contacts till now. I'll do my best to implement my proposal and make this experience really unique. My proposal is available online: https://drive.google.com/file/d/0B2_hnTCdWtH-eEplQ3hZdnY2Wlk/view?usp=sharing Also, while writing the proposal, I started implementing some small components. You can find my efforts here: https://github.com/lodo1995/experimental.xml I expect that I'll restart updating it in a couple of days. This is my first experience at GSoC and also my first collaboration with a big open source project, so if you have any suggestion about my proposal or my early implementation, feel free to tell me. Thank you very much to everybody. Lodovico Giaretta Do you know about these two projects? https://github.com/jacob-carlborg/orange https://github.com/s-ludwig/std_data_json It would be great if your xml library could work with the proposed std.data specification. Ideally switching from Json output to xml output, should be changing one line.
Re: GSoC 2016 - A replacement of std.xml for the Phobos standard library
On Saturday, 23 April 2016 at 11:03:03 UTC, Ed wrote: Your D style is 90% Phobos compatible. There are few details you need to fix before writing more: you tend to forget the space after "if", "foreach" and "while". You'll see that actually this space makes the things more beautiful because the identifier used after the opening parenthesis and the first identifier used after the indentation are aligned. if (wellAligned) wellAligned++; You can fix existing work with Dfmt if you dont want to process manually. Thank you for pointing this out. Lodovico Giaretta
Re: GSoC 2016 - A replacement of std.xml for the Phobos standard library
On Saturday, 23 April 2016 at 08:30:32 UTC, Lodovico Giaretta wrote: This is my first experience at GSoC and also my first collaboration with a big open source project, so if you have any suggestion about my proposal or my early implementation, feel free to tell me. Thank you very much to everybody. Lodovico Giaretta Your D style is 90% Phobos compatible. There are few details you need to fix before writing more: you tend to forget the space after "if", "foreach" and "while". You'll see that actually this space makes the things more beautiful because the identifier used after the opening parenthesis and the first identifier used after the indentation are aligned. if (wellAligned) wellAligned++; You can fix existing work with Dfmt if you dont want to process manually.
Re: GSoC 2016 - A replacement of std.xml for the Phobos standard library
On 23/04/2016 8:30 PM, Lodovico Giaretta wrote: Hi, I'm Lodovico Giaretta and I've been selected by the D Foundation for GSoC 2016. First of all, I'd like to thank the D Foundation for this fantastic opportunity. In particular, I'd like to thank Craig Dillabaugh and Robert Schadek for their patience in helping me from my first contacts till now. I'll do my best to implement my proposal and make this experience really unique. My proposal is available online: https://drive.google.com/file/d/0B2_hnTCdWtH-eEplQ3hZdnY2Wlk/view?usp=sharing Also, while writing the proposal, I started implementing some small components. You can find my efforts here: https://github.com/lodo1995/experimental.xml I expect that I'll restart updating it in a couple of days. This is my first experience at GSoC and also my first collaboration with a big open source project, so if you have any suggestion about my proposal or my early implementation, feel free to tell me. Thank you very much to everybody. Lodovico Giaretta Welcome! If you're able to a lot of us hang out on #d on Freenode, if you wish to join please do!
GSoC 2016 - A replacement of std.xml for the Phobos standard library
Hi, I'm Lodovico Giaretta and I've been selected by the D Foundation for GSoC 2016. First of all, I'd like to thank the D Foundation for this fantastic opportunity. In particular, I'd like to thank Craig Dillabaugh and Robert Schadek for their patience in helping me from my first contacts till now. I'll do my best to implement my proposal and make this experience really unique. My proposal is available online: https://drive.google.com/file/d/0B2_hnTCdWtH-eEplQ3hZdnY2Wlk/view?usp=sharing Also, while writing the proposal, I started implementing some small components. You can find my efforts here: https://github.com/lodo1995/experimental.xml I expect that I'll restart updating it in a couple of days. This is my first experience at GSoC and also my first collaboration with a big open source project, so if you have any suggestion about my proposal or my early implementation, feel free to tell me. Thank you very much to everybody. Lodovico Giaretta
Re: GSoC 2016
List of accepted projects : D: https://summerofcode.withgoogle.com/organizations/5078256051027968/#projects
Re: GSoC 2016
On Monday, 21 March 2016 at 21:12:30 UTC, Jacob Carlborg wrote: On 2016-03-21 14:54, Craig Dillabaugh wrote: Jacob Carlborg ... if you are reading this would you be able to lend a hand in advising on the proposals? I believe these projects a mostly related to C => D conversion tools. Maybe you can email russel or myself if you can: I'm not really sure what that would imply. I recall you said you didn't have time to mentor, but might be able to provide advice. I was wondering if you might be able to read over the proposals and provide some feedback (is the proposal achievable, helpful? Can you see any obvious improvements the student could make) From my experience most of the proposals are two or three pages long - so its not too much reading. If you think you have time then feel free to email me and I can try and work something out with Russel. If you are too busy then we will make due. Cheers, Craig
Re: GSoC 2016
On 2016-03-21 14:54, Craig Dillabaugh wrote: Jacob Carlborg ... if you are reading this would you be able to lend a hand in advising on the proposals? I believe these projects a mostly related to C => D conversion tools. Maybe you can email russel or myself if you can: I'm not really sure what that would imply. -- /Jacob Carlborg
Re: GSoC 2016
On Sunday, 20 March 2016 at 15:03:16 UTC, Russel Winder wrote: Due to unforseen circumstances, I am well behind dealing wit GSoC email, an I doubt I will beable to get on top of it till Thursday. There are at least five peopl I should be having conversations with but I fear it is unlikely to happen in the next three days :-( Russel. = Dr Russel Winder t:+44 20 7585 2200 voip:sip: russel.win...@ekiga.net 41 Buckmaster Road m:+44 7770 465 077 xmpp:rus...@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype:russel_winder Jacob Carlborg ... if you are reading this would you be able to lend a hand in advising on the proposals? I believe these projects a mostly related to C => D conversion tools. Maybe you can email russel or myself if you can: craig dot dillabaugh at gmail dot com Craig
Re: GSoC 2016
On 21/03/16 4:03 AM, Russel Winder via Digitalmars-d wrote: Due to unforseen circumstances, I am well behind dealing wit GSoC email, an I doubt I will beable to get on top of it till Thursday. There are at least five peopl I should be having conversations with but I fear it is unlikely to happen in the next three days :-( Russel. = Dr Russel Winder t:+44 20 7585 2200 voip:sip: russel.win...@ekiga.net 41 Buckmaster Road m:+44 7770 465 077 xmpp:rus...@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype:russel_winder No worries, just get well! --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus
GSoC 2016
Due to unforseen circumstances, I am well behind dealing wit GSoC email, an I doubt I will beable to get on top of it till Thursday. There are at least five peopl I should be having conversations with but I fear it is unlikely to happen in the next three days :-( Russel. = Dr Russel Winder t:+44 20 7585 2200 voip:sip: russel.win...@ekiga.net 41 Buckmaster Road m:+44 7770 465 077 xmpp:rus...@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype:russel_winder signature.asc Description: This is a digitally signed message part
Re: GSoC 2016 - std.xml rewrite
On Tuesday, 8 March 2016 at 18:01:25 UTC, Lodovico Giaretta wrote: - one accepting InputRanges, that can work with almost any data source and does not require the entire input to be available at the same time; it's cons are that it must allocate lots of small strings (one for each token) and grow them one char at a time, so it's not so fast; It could reuse its buffer though, and deal in `const(char)[]` instead of `string`. The consumer is responsible for copying if they need it. But I guess this will only be useful for the pull parser, or for one-pass filters/lookups. This is just an early sketch, but I'd love to get some feedback. Thank you for your time. You might also check out Steven Schveighoffer's experimental IO module for stream parsing: https://forum.dlang.org/thread/na14ul$30uo$1...@digitalmars.com
GSoC 2016 in social media
https://www.facebook.com/dlang.org/posts/1242909802389365 https://twitter.com/D_Programming/status/707315004056281088 I also noticed GSoC 2016 hasn't been announced on reddit, so: https://www.reddit.com/r/programming/comments/49knvu/google_summer_of_code_2016_accepted_organizations/ Andrei
Re: GSoC 2016 - std.xml rewrite
On Tuesday, 8 March 2016 at 16:20:00 UTC, CraigDillabaugh wrote: Also, if you have concrete ideas feel free to post those on here if you want feedback. I was thinking about the general structure of the parsing library, and I came up with this schema: Lexer -> Low Level Parser -> High Level API There should be various lexers feeding the low level parser, differing in the kind of input they accept: - one accepting InputRanges, that can work with almost any data source and does not require the entire input to be available at the same time; it's cons are that it must allocate lots of small strings (one for each token) and grow them one char at a time, so it's not so fast; - one accepting Slices, that benefits from fast searches and slicing, without needing any additional allocation; it's cons is that the entire input has to be loaded in RAM; - an hybrid lexer, that tries to get the pros of both and the cons of none. There should be various APIs feeded by the low level parser. Here I took inspiration from Java: - a DOM API; - a push parser (like SAX), conceptually similar to the actual std.xml.ElementParser; - a pull parser (somehow inspired by StAX), that provides a cursor to scroll the input and also an InputRange interface, for easy integration with other D libraries (like std.algorithm). Validating the input for well-formedness should probably be done between the parser and the high level API, so that structural issues (like missing close tags) are found and handled before affecting, for example, the building of the Document object. Checking the validity of the document (such as conformance to the DTD) should instead be done on top of the high level API, which gives easy access, for example, to namespaces and attributes (which the low level parser leaves unparsed). Both kinds of validators should be pluggable and configurable via template parameters, allowing to select which checks to perform and how to handle errors (throwing exceptions, calling registered callbacks or whatever). After all of this is done, the next step should be an XPath library (I don't know much about this). This is just an early sketch, but I'd love to get some feedback. Thank you for your time.
Re: GSoC 2016 - std.xml rewrite
On Tuesday, 8 March 2016 at 14:55:07 UTC, Lodovico Giaretta wrote: Hi! My name is Lodovico Giaretta and I'm a second year CS student at University of Trento, Italy. I saw on the D ideas page that std.xml needs a rewrite, and I also read a thread regarding this need (https://forum.dlang.org/thread/vsbsxfeciryrdsjhh...@forum.dlang.org). I'm willing to partecipate to this task (in fact, I'm already looking at some other xml APIs and sketching some ideas...), mainly because I find D to be a very good language and I think that a more complete standard library would surely help it to spread. What should I do to get in touch while waiting for the application period? Thanks in advance for your time (and your patience)! If you email me (craig dot dillabaugh at gmail dot com ) I can get you in touch with potential mentors (but I don't like posting other folks emails on here). Also, if you have concrete ideas feel free to post those on here if you want feedback.
GSoC 2016 - std.xml rewrite
Hi! My name is Lodovico Giaretta and I'm a second year CS student at University of Trento, Italy. I saw on the D ideas page that std.xml needs a rewrite, and I also read a thread regarding this need (https://forum.dlang.org/thread/vsbsxfeciryrdsjhh...@forum.dlang.org). I'm willing to partecipate to this task (in fact, I'm already looking at some other xml APIs and sketching some ideas...), mainly because I find D to be a very good language and I think that a more complete standard library would surely help it to spread. What should I do to get in touch while waiting for the application period? Thanks in advance for your time (and your patience)!
Re: GSoC 2016 "GDC Project - The GNU D Compiler" project
Hello I have fixed https://issues.dlang.org/show_bug.cgi?id=4509 and sent a PR.Please have a look.How should I discuss my GSoC proposal, what things I should work upon etc.? Thanks Abhishek Kumar
Re: GSoC 2016 "GDC Project - The GNU D Compiler" project
On Monday, 7 March 2016 at 12:46:51 UTC, Abhishek Kumar wrote: Hello While looking into D language I found few Phobos standard libraries very interesting to work upon during GSoC.I will like to work on std.i18n or xml parsing libraries.I looked into Phobos github repositories but there's no issues section that I can work upon.Can someone help me with some beginner tasks?I'm familiar with GNU gettext and D language.I saw Mr. Andrei Alexandrescu as prospective mentor.How can I contact him? Thanks Abhishek First off, read the following thread: http://forum.dlang.org/thread/vsbsxfeciryrdsjhh...@forum.dlang.org For contact info you can email me: craig dot dillabaugh at gmail dot com Cheers, Craig
Re: GSoC 2016 "GDC Project - The GNU D Compiler" project
On Monday, 7 March 2016 at 12:46:51 UTC, Abhishek Kumar wrote: Hello While looking into D language I found few Phobos standard libraries very interesting to work upon during GSoC.I will like to work on std.i18n or xml parsing libraries.I looked into Phobos github repositories but there's no issues section that I can work upon.Can someone help me with some beginner tasks?I'm familiar with GNU gettext and D language.I saw Mr. Andrei Alexandrescu as prospective mentor.How can I contact him? Thanks Abhishek Look into the issue tracker (issues.dlang.org), pick some tasks to get started and submit PRs - that is the best way to get in touch with him.
Re: GSoC 2016 "GDC Project - The GNU D Compiler" project
Hello While looking into D language I found few Phobos standard libraries very interesting to work upon during GSoC.I will like to work on std.i18n or xml parsing libraries.I looked into Phobos github repositories but there's no issues section that I can work upon.Can someone help me with some beginner tasks?I'm familiar with GNU gettext and D language.I saw Mr. Andrei Alexandrescu as prospective mentor.How can I contact him? Thanks Abhishek
Re: I guess this is good GSOC 2016 news?
On Monday, 29 February 2016 at 21:33:47 UTC, Wyatt wrote: On Monday, 29 February 2016 at 21:22:44 UTC, Jonas Drewsen wrote: https://summerofcode.withgoogle.com/organizations/?sp-category=languages Yes, that IS great news! Though it doesn't seem to say how many slots were given? Craig, any word? -Wyatt Sorry, missed this thread somehow. I am not sure how many slots we have. Perhaps Google hasn't decided that yet, but I am still familiarizing myself with the new GSoC site. When I find anything out I will be sure to post it on the Forum. Cheers, Craig
Re: GSoC 2016 "GDC Project - The GNU D Compiler" project
On Thursday, 3 March 2016 at 03:22:02 UTC, Andrei Alexandrescu wrote: On 03/02/2016 05:38 PM, tsbockman wrote: Once you've familiarized yourself with the basics of using D, you can read this: http://wiki.dlang.org/Starting_as_a_Contributor To help you get started contributing. I see each section in that document is still broken down by OS, instead of the entire document being broken down by OS, in spite of my repeated demands that that be changed. Somehow I doubt that "demands" will get you very far on an volunteer project... Also, of the eleven sections listed under "Contents", only two are broken down by OS. For the other nine, the content is shared across all platforms. I don't think your proposed re-org actually makes sense. This is likely part of why no one has done it for you yet.
Re: GSoC 2016 "GDC Project - The GNU D Compiler" project
On 03/02/2016 05:38 PM, tsbockman wrote: Once you've familiarized yourself with the basics of using D, you can read this: http://wiki.dlang.org/Starting_as_a_Contributor To help you get started contributing. I see each section in that document is still broken down by OS, instead of the entire document being broken down by OS, in spite of my repeated demands that that be changed. Could the contributor who added Windows and OSX change the document accordingly at their earliest convenience. Thanks. Andrei
Re: GSoC 2016 "GDC Project - The GNU D Compiler" project
On Wednesday, 2 March 2016 at 06:44:24 UTC, Abhishek Kumar wrote: On Tuesday, 1 March 2016 at 11:50:02 UTC, Abhishek Kumar wrote: Hello I am Abhishek Kumar,computer science student from India.I am interested in working on D language during GSoC 2016.I found "GDC Project - The GNU D Compiler" interesting. I have interest in programming languages and compilers.I have been working on a Python to C++ code converter,also I am writing a Javascript parser for code minification in Scala(Using scala fastparse). I have prior open source experience in Scala and good knowledge of C/C++. Can someone help me with how to start and get familiar with D? I'll be glad to have your help and suggestions. Thanks Abhishek Kumar Hello Thanks for your help.I am reading D and hope I'll get familiar shortly.Can you give me some beginner friendly task to get acquainted with the D compiler? Thanks Abhishek Kumar Once you've familiarized yourself with the basics of using D, you can read this: http://wiki.dlang.org/Starting_as_a_Contributor To help you get started contributing. You can also learn a lot just by going onto D's Github organization and reviewing some of the open pull requests: https://github.com/D-Programming-Language/dmd/pulls https://github.com/D-Programming-Language/druntime/pulls https://github.com/D-Programming-Language/phobos/pulls For GDC, specifically, you'll need to talk to Ian Buclaw, as that is mostly his project. (But it shares most of its D-specific code with Walter Bright's DMD compiler, so you should still checkout the links I gave above.)
Re: GSoC 2016 "GDC Project - The GNU D Compiler" project
On Wednesday, 2 March 2016 at 06:44:24 UTC, Abhishek Kumar wrote: On Tuesday, 1 March 2016 at 11:50:02 UTC, Abhishek Kumar wrote: Hello I am Abhishek Kumar,computer science student from India.I am interested in working on D language during GSoC 2016.I found "GDC Project - The GNU D Compiler" interesting. I have interest in programming languages and compilers.I have been working on a Python to C++ code converter,also I am writing a Javascript parser for code minification in Scala(Using scala fastparse). I have prior open source experience in Scala and good knowledge of C/C++. Can someone help me with how to start and get familiar with D? I'll be glad to have your help and suggestions. Thanks Abhishek Kumar Hello Thanks for your help.I am reading D and hope I'll get familiar shortly.Can you give me some beginner friendly task to get acquainted with the D compiler? Thanks Abhishek Kumar Hi First I would suggest getting familiar with the langauge. Ali's book is a great starting point: http://ddili.org/ders/d.en/index.html Next would suggest git cloning and building the source code the get some familiarity with the development process and then reading the open or closed (merged) pull requests to get an idea what is currently worked on. The source code is here: https://github.com/D-Programming-GDC/GDC Also if your not familiar with git and github, these articles maybe helpful: http://readwrite.com/2013/09/30/understanding-github-a-journey-for-beginners-part-1 https://guides.github.com/introduction/flow/ = Some background information A D implementation generally consists of 3 to 5 parts: 1) compiler - reads source files and generates object files. 2) Linker - D is compatible with the platform liknker (ld.bfd, ld.gold, lld, MSVC) however on Windows we also distribute the OptLink linker (which part of an older compiler project named DMC) for linking 32-bit OMF object files. 3) DRuntime - library that implements the language featutes that require run-time support and overall provides platform abstraction. This what you need to port when you want to expand the D support to another platform. (e.g. ARM/iOS, ARM/Android, PPC, etc.) See here for more info: https://github.com/D-Programming-Language/druntime 4) Phobos - the D standard library. Builds on top DRuntime to provide high-level features for the users of the language. See http://dlang.org/phobos/ and https://github.com/D-Programming-Language/phobos/ for more info. 5) Dub - the D package manager and build system. Initially developed independently, but recently gained enough popularity to be regarded as part of the D ecosystem. See http://code.dlang.org/getting_started and https://github.com/D-Programming-Language/dub. 3), 4) and 5) are written completely in D. 1) was initially C++ only, but now DMD's frontend is translated in D. For 2) we rely on the developer's platform, but we still distribute OptLink on Windows for legacy reasons. 1), 3) and 4) are currently bundled together, and in the future the installation package will also include 5). There are 3 major D compilers currently - DMD, GDC and LDC. They all share the same frontend, which is responsible for lexing (converting source files into a stream of tokens), parsing (creating AST from the token stream) and semantic analysis (verfying the correctness of AST, template instantiation, overload resolution, compile-time function evaluation (CTFE), ... all the language rules are here). GDC uses the GCC backend and LDC uses the LLVM backend. Initially there was only DMD, which was developed by the creator of the language (Walter Bright) and so it is currently the reference implementation. DMD is based Walter Bright's older DMC C/C++ compiler and currently DMC and DMD share the same backend. It provides fast compilation times and ok code generation. GDC and LDC on the other hand have slighly slower compilation time, however they produce much faster machine code than DMD. As DMD is the reference implementation, it uses the newest version of the frontend and GDC and LDC are lagging behind. I think that the most important thing that you can help with is giving Iain Buclaw (the main maintainer of GDC) a hand in porting GDC to the newest frontend version. Currently GDC is at version 2.067 while DMD uses 2.070. This is very important because it would allow users of GDC to uses newer features of language or the standard library that are currently only available on DMD. And it would also make possible the use of newer D libraries on other platforms that DMD doesn't support.
Re: GSoC 2016 "GDC Project - The GNU D Compiler" project
On Tuesday, 1 March 2016 at 11:50:02 UTC, Abhishek Kumar wrote: Hello I am Abhishek Kumar,computer science student from India.I am interested in working on D language during GSoC 2016.I found "GDC Project - The GNU D Compiler" interesting. I have interest in programming languages and compilers.I have been working on a Python to C++ code converter,also I am writing a Javascript parser for code minification in Scala(Using scala fastparse). I have prior open source experience in Scala and good knowledge of C/C++. Can someone help me with how to start and get familiar with D? I'll be glad to have your help and suggestions. Thanks Abhishek Kumar Hello Thanks for your help.I am reading D and hope I'll get familiar shortly.Can you give me some beginner friendly task to get acquainted with the D compiler? Thanks Abhishek Kumar
Re: GSoC 2016 - D Foundation was accepted!
On 3/1/2016 5:57 AM, Andrei Alexandrescu wrote: Congratulations to everyone who helped, and especially to Craig for driving this! Craig, you should be really proud - this is a great accomplishment. -- Andrei I agree, thank you Craig!
Re: GSoC 2016 - D Foundation was accepted!
On Tuesday, 1 March 2016 at 15:30:26 UTC, Gary Willoughby wrote: On Tuesday, 1 March 2016 at 01:55:09 UTC, Jeremy DeHaan wrote: Hello everyone! I didn't see mention of this yet, but earlier today Google released their list of accepted Organizations for this year's GSoC. Guess what! The D Foundation made the cut! Thank you to everyone that worked on the proposals and application. This is awesome and you all are awesome! Now to get started on my own application... There's someone already here asking for help to get started with D. http://forum.dlang.org/thread/unjwimupfbeoopknq...@forum.dlang.org Thanks all for the kind words. Nice to see we got in, and hopefully we can make some positive strides for D out of this.
Re: GSoC 2016 "GDC Project - The GNU D Compiler" project
On Tuesday, 1 March 2016 at 11:50:02 UTC, Abhishek Kumar wrote: Hello I am Abhishek Kumar,computer science student from India.I am interested in working on D language during GSoC 2016.I found "GDC Project - The GNU D Compiler" interesting. I have interest in programming languages and compilers.I have been working on a Python to C++ code converter,also I am writing a Javascript parser for code minification in Scala(Using scala fastparse). I have prior open source experience in Scala and good knowledge of C/C++. Can someone help me with how to start and get familiar with D? I'll be glad to have your help and suggestions. Presumably you've looked at the Getting Started link from the front page? http://dlang.org/getstarted.html It is difficult to answer the question more fully without knowing what aspects you want to start off with. If you're unfamiliar with D itself, those links should get you going. If you're already somewhat familiar and want to know more about some aspect, let us know what that is.
Re: GSoC 2016 "GDC Project - The GNU D Compiler" project
On Tuesday, 1 March 2016 at 11:50:02 UTC, Abhishek Kumar wrote: Hello I am Abhishek Kumar,computer science student from India.I am interested in working on D language during GSoC 2016.I found "GDC Project - The GNU D Compiler" interesting. I have interest in programming languages and compilers.I have been working on a Python to C++ code converter,also I am writing a Javascript parser for code minification in Scala(Using scala fastparse). I have prior open source experience in Scala and good knowledge of C/C++. Can someone help me with how to start and get familiar with D? I'll be glad to have your help and suggestions. Thanks Abhishek Kumar I had good C/C++ experience before learning D, thus to learn D I simply read the entire language reference at http://dlang.org/spec/intro.html; though you may find it a bit boring.
Re: GSoC 2016 - D Foundation was accepted!
On Tuesday, 1 March 2016 at 01:55:09 UTC, Jeremy DeHaan wrote: Hello everyone! I didn't see mention of this yet, but earlier today Google released their list of accepted Organizations for this year's GSoC. Guess what! The D Foundation made the cut! Thank you to everyone that worked on the proposals and application. This is awesome and you all are awesome! Now to get started on my own application... There's someone already here asking for help to get started with D. http://forum.dlang.org/thread/unjwimupfbeoopknq...@forum.dlang.org
Re: GSoC 2016 - D Foundation was accepted!
On Tuesday, 1 March 2016 at 13:57:00 UTC, Andrei Alexandrescu wrote: Congratulations to everyone who helped, and especially to Craig for driving this! Craig, you should be really proud - this is a great accomplishment. -- Andrei Agree. Craig did a great job. BTW. It is also good news in terms of marketing. The D foundation logo looks awesome along other cool projects. Piotrek
Re: GSoC 2016 - D Foundation was accepted!
Congratulations to everyone who helped, and especially to Craig for driving this! Craig, you should be really proud - this is a great accomplishment. -- Andrei
Re: GSoC 2016 - D Foundation was accepted!
On Tuesday, 1 March 2016 at 05:13:44 UTC, Jeremy DeHaan wrote: On Tuesday, 1 March 2016 at 03:21:14 UTC, mate wrote: On Tuesday, 1 March 2016 at 01:55:09 UTC, Jeremy DeHaan wrote: Hello everyone! I didn't see mention of this yet, but earlier today Google released their list of accepted Organizations for this year's GSoC. Guess what! The D Foundation made the cut! Thank you to everyone that worked on the proposals and application. This is awesome and you all are awesome! Now to get started on my own application... I think it would have been polite and safe to wait for Craig’s announcement. This was posted on the GSoC site for almost 6 hours when I posted it here and there was no announcement yet. Forgive me if I was overly excited. No worries at all. I was out skiing yesterday and when I got home my internet connection was down, so I couldn't check/post anything. I am always happy when others do my work for me :o) I guess the real work begins now! Thanks to all who have contributed ideas. Cheers, Craig
GSoC 2016 "GDC Project - The GNU D Compiler" project
Hello I am Abhishek Kumar,computer science student from India.I am interested in working on D language during GSoC 2016.I found "GDC Project - The GNU D Compiler" interesting. I have interest in programming languages and compilers.I have been working on a Python to C++ code converter,also I am writing a Javascript parser for code minification in Scala(Using scala fastparse). I have prior open source experience in Scala and good knowledge of C/C++. Can someone help me with how to start and get familiar with D? I'll be glad to have your help and suggestions. Thanks Abhishek Kumar
Re: GSoC 2016 - D Foundation was accepted!
On Tuesday, 1 March 2016 at 03:21:14 UTC, mate wrote: On Tuesday, 1 March 2016 at 01:55:09 UTC, Jeremy DeHaan wrote: Hello everyone! I didn't see mention of this yet, but earlier today Google released their list of accepted Organizations for this year's GSoC. Guess what! The D Foundation made the cut! Thank you to everyone that worked on the proposals and application. This is awesome and you all are awesome! Now to get started on my own application... I think it would have been polite and safe to wait for Craig’s announcement. This was posted on the GSoC site for almost 6 hours when I posted it here and there was no announcement yet. Forgive me if I was overly excited.
Re: GSoC 2016 - D Foundation was accepted!
On Tuesday, 1 March 2016 at 01:55:09 UTC, Jeremy DeHaan wrote: Hello everyone! I didn't see mention of this yet, but earlier today Google released their list of accepted Organizations for this year's GSoC. Guess what! The D Foundation made the cut! Thank you to everyone that worked on the proposals and application. This is awesome and you all are awesome! Now to get started on my own application... I think it would have been polite and safe to wait for Craig’s announcement.
Re: GSoC 2016 - D Foundation was accepted!
On Tuesday, 1 March 2016 at 01:55:09 UTC, Jeremy DeHaan wrote: Hello everyone! I didn't see mention of this yet, but earlier today Google released their list of accepted Organizations for this year's GSoC. Guess what! The D Foundation made the cut! Thank you to everyone that worked on the proposals and application. This is awesome and you all are awesome! Now to get started on my own application... Particularly Craig Dillabaugh, who pushed and pushed to get this done.
GSoC 2016 - D Foundation was accepted!
Hello everyone! I didn't see mention of this yet, but earlier today Google released their list of accepted Organizations for this year's GSoC. Guess what! The D Foundation made the cut! Thank you to everyone that worked on the proposals and application. This is awesome and you all are awesome! Now to get started on my own application...
Re: I guess this is good GSOC 2016 news?
On 01/03/16 10:22 AM, Jonas Drewsen wrote: https://summerofcode.withgoogle.com/organizations/?sp-category=languages Oh yeah, congrats to all who help get it there this year!
Re: I guess this is good GSOC 2016 news?
On 02/29/2016 04:22 PM, Jonas Drewsen wrote: > https://summerofcode.withgoogle.com/organizations/?sp-category=languages > >From there, clicking on the "D Foundation" block and then "Learn More" brings you to a more detailed page. On that new page, clicking the "IRC Channel" link brings the user to the wiki... Other organizations have the same problem, though. -- Paul O'Neil Github / IRC: todayman
Re: I guess this is good GSOC 2016 news?
On Monday, 29 February 2016 at 21:22:44 UTC, Jonas Drewsen wrote: https://summerofcode.withgoogle.com/organizations/?sp-category=languages Yes, that IS great news! Though it doesn't seem to say how many slots were given? Craig, any word? -Wyatt
I guess this is good GSOC 2016 news?
https://summerofcode.withgoogle.com/organizations/?sp-category=languages
Re: GSoC 2016 announced - time to put things in motion!
On 10/15/15 6:01 PM, CraigDillabaugh wrote: On Thursday, 15 October 2015 at 09:01:54 UTC, Andrei Alexandrescu wrote: Hi folks, I recall we've had good pent-up work accumulating for GSoC 2016 and there was a lot of initiative from Craig Dillabaugh and others. Here it is! http://g.co/gsoc Andrei I will try and get the GSOC 2016 Idea's page up in the next few weeks. It will likely look a lot like the 2015 page. Then I will start harassing you all for ideas. Thank you! -- Andrei
GSoC 2016 announced - time to put things in motion!
Hi folks, I recall we've had good pent-up work accumulating for GSoC 2016 and there was a lot of initiative from Craig Dillabaugh and others. Here it is! http://g.co/gsoc Andrei
Re: GSoC 2016 announced - time to put things in motion!
On Thursday, 15 October 2015 at 09:01:54 UTC, Andrei Alexandrescu wrote: Hi folks, I recall we've had good pent-up work accumulating for GSoC 2016 and there was a lot of initiative from Craig Dillabaugh and others. Here it is! http://g.co/gsoc Andrei I will try and get the GSOC 2016 Idea's page up in the next few weeks. It will likely look a lot like the 2015 page. Then I will start harassing you all for ideas.