Re: sumtype 0.3.0
On Sunday, 6 May 2018 at 19:18:02 UTC, Paul Backus wrote: SumType is a generic sum type for modern D. It is meant as an alternative to `std.variant.Algebraic`. Features: - Pattern matching, including support for structural matching (*) - Self-referential types, using `This` - Works with `pure`, `@safe`, `@nogc`, and `immutable` (*) - Zero runtime overhead compared to hand-written C - No heap allocation - Does not rely on runtime type information (`TypeInfo`) (*) Starred features (*) are those that are missing from `Algebraic`. Code examples are available in the documentation (linked below). New in this release: - The list of types allowed in a sum type is now public - Implicit qualifier conversions are now allowed in pattern matching - Better code examples in the documentation This library is a work in progress. If you have a use case you'd like to see supported, or an API you'd like to see implemented, please get in touch! Documentation: https://pbackus.github.io/sumtype/sumtype.html DUB: https://code.dlang.org/packages/sumtype Github: https://github.com/pbackus/sumtype I spent several hours trying to get this working with a non-trivial AST, and I think that it just isn't going to work until the compiler front-end gets better about handling recursive definitions. It fails in more-or-less the same way that my attempts at using std.variant did, and this is not the fault of your library. It's too bad, because the visitor pattern is not very good when you want to support visitors that should not accidentally modify the tree (i.e. arguments to `visit` are `const`), and other visitors whose job is to re-write the tree.
My D tool projects have moved
I moved DCD, D-Scanner, dfmt, and other D tool projects to the dlang-community organization on Github: https://github.com/dlang-community This should make things more convenient if I get hit by a bus, decide that Malbolge* is the one true programming language, or just take too long to review a pull request. * https://en.wikipedia.org/wiki/Malbolge
V0.5.2 of Emsi's containers library is released
https://github.com/economicmodeling/containers/releases/tag/v0.5.2 This is a containers library built on top of std.experimental.allocator. Version 0.5.2 fixes several bugs in the UnrolledList and HashMap containers.
Re: LDC 1.0.0-beta1 has been released! Please help testing!
On Monday, 25 April 2016 at 06:42:02 UTC, Kai Nacke wrote: LDC 1.0.0-beta1, the LLVM-based D compiler, is available for download! Using a recent build of LDC I was able to build EMSI's core data processing library and get it to pass all of its tests. It also seems to handle DCD and D-Scanner correctly now.
Re: Sublime Text 3 Gets Better D Support
On Wednesday, 27 January 2016 at 17:34:35 UTC, Jack Stouffer wrote: Sublime Text is a very popular text editor, and for a while now it's had marginal D support. What has changed recently is updated syntax highlighting to support all the new keywords that have come in the last couple of years and UDAs https://github.com/sublimehq/Packages/commit/b9026cf6ab8ccd05e3704d21b2d5d5cc21450aca. Syntax highlighting was mostly based on D1 before, but now it supports every thing to pure and nothrow to correctly highlighting number literals with underscores. In order to use this, you can either wait until a version of sublime is released with these changes, or you can download the dev version here https://www.sublimetext.com/3dev, and then install the new packages as described here https://github.com/sublimehq/Packages#installation. Bumping this thread because these new features are no longer in beta: build 3103 is out. https://www.sublimetext.com/3
Re: New DCD and dfmt betas
On Tuesday, 26 January 2016 at 13:37:45 UTC, Jacob Carlborg wrote: I'm asking because it doesn't manage to line break this code at all: Fixed: https://github.com/Hackerpilot/dfmt/issues/226
Re: New DCD and dfmt betas
On Tuesday, 26 January 2016 at 08:37:10 UTC, Jacob Carlborg wrote: On 2016-01-26 03:18, Brian Schott wrote: https://github.com/Hackerpilot/dfmt/releases/tag/v0.5.0-beta2 This version of dfmt includes several whitespace and indentation fixes. There is also some fine-tuning in the line wrap calculation algorithm and a new option to control the formatting of template constraints. In general, what can we assume of the line wrapping? What can we assume it will handle? I recently ran dfmt on itself. You can get a pretty good idea of its default output by looking at the source.
New DCD and dfmt betas
https://github.com/Hackerpilot/dfmt/releases/tag/v0.5.0-beta2 This version of dfmt includes several whitespace and indentation fixes. There is also some fine-tuning in the line wrap calculation algorithm and a new option to control the formatting of template constraints. Bash-completion scripts are also new in this release. https://github.com/Hackerpilot/DCD/releases/tag/v0.8.0-beta1 This version of DCD adds support for UNIX domain sockets to Mac/Linux/BSD builds. I also included some bash-completion scripts for the client and server commands. A reminder: the announce mailing list is not a bug tracker, please file problems you encounter on Github.
Re: blog post - "An illustrated guide to using Sublime Text 3 for D programming"
On Friday, 22 January 2016 at 04:39:00 UTC, Pradeep Gowda wrote: Comments are suggestions are welcome. You probably want to point DCD at the phobos and druntime import directories that DMD is actually using, not whatever is in git master. If you run `dmd` with no arguments it will tell you the location of its config file. From that you can determine the phobos and druntime import directories.
DCD and dfmt bugfix releases
DCD 0.7.5: https://github.com/Hackerpilot/DCD/releases/tag/v0.7.5 If you're on DCD 0.7.4, upgrade to 0.7.5 to avoid a crash. dfmt 0.4.4: github.com/Hackerpilot/dfmt/releases/tag/v0.4.4 The new dfmt release fixes some spacing and alignment bugs.
New D tool releases
Please see the Github links for a list of changes and issues resolved. You may notice that they're all in Dub now. The real Brian is in cryo-stasis in case we need him later. In order to not arouse too much suspicion about shape-shifters these projects can still be built with git and make. dfmt: Code formatter 0.4.2 http://code.dlang.org/packages/dfmt https://github.com/Hackerpilot/dfmt/releases/tag/v0.4.2 dfix: Code upgrader 0.3.1 http://code.dlang.org/packages/dfix https://github.com/Hackerpilot/dfix/releases/tag/v0.3.1 DCD: Auto-completion system 0.7.4 http://code.dlang.org/packages/dcd https://github.com/Hackerpilot/DCD/releases/tag/v0.7.4 D-Scanner: D Lint/analysis tool 0.3.0 http://code.dlang.org/packages/dscanner https://github.com/Hackerpilot/Dscanner/releases/tag/v0.3.0 libdparse: D Lexer/parser/AST library 0.3.0 http://code.dlang.org/packages/libdparse https://github.com/Hackerpilot/libdparse/releases/tag/v0.3.0 dsymbol: Symbol resolution code used by DCD and D-Scanner 0.1.0 http://code.dlang.org/packages/dsymbol https://github.com/Hackerpilot/dsymbol/releases
Re: New D tool releases
On Friday, 15 January 2016 at 06:27:23 UTC, Basile B. wrote: By chance it' has happend again while the console was opened: The announce newsgroup is not a bug tracker, but this is: https://github.com/Hackerpilot/DCD/issues
Re: Beta D 2.070.0-b1
On Sunday, 3 January 2016 at 19:24:57 UTC, Martin Nowak wrote: First beta for the 2.070.0 release. Still a few things missing from the changelog, there is a new package std.experimental.ndslice, and native (DWARF based) exception handling on linux. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.070.0.html Please report any bugs at https://issues.dlang.org -Martin Both my projects and EMSI's build and pass their tests with this beta.
DCD 0.7.3
From the README: "The D Completion Daemon is an auto-complete program for the D programming language." 0.7.3 is another bug-fix release. https://github.com/Hackerpilot/DCD/releases/tag/v0.7.3 Changes from 0.7.2: * #264 Updated manual pages * #263 Completing renamed imports is broken * #262 Properties missing for named enums * #238 Support specifying log level when starting the server
Re: Two new openings at EMSI (D experience a plus)
On Thursday, 22 October 2015 at 18:24:57 UTC, Justin Whear wrote: We've got two new openings at EMSI, one of which will work daily in D. For the other D experience is a big plus. Data Engineer: http://www.jobs.net/jobs/economic-modeling/en-us/job/United-States/ Software-Engineer-Data-Engineer/J3L7QF6LVRXC1MB0P34/ API Developer: http://www.jobs.net/jobs/economic-modeling/en-us/job/United-States/ Software-Engineer-API-Developer/J3L5SM6RCG373MYSR1Y/ I've added both to the wiki's Jobs page as well. Removing the whitespace from those links is part of the screening process and CERTAINLY NOT A MISTAKE ON OUR PART. WHY WOULD YOU EVEN ASK?
dfmt 0.4.1
dfmt is a formatter for D source code. Changes from 0.4.0: * #189: Better formatting for "in" expressions where the right side of the "in" operator is a function literal. * #190: Fix a bug where whitespace was removed from some ASM statements. * #191: Add "-i" as an alias for the "--inplace" option and document the existence of "-t" as an alias for the "indent_style" option. * #192: Fix a mistake in the README https://github.com/Hackerpilot/dfmt/releases/tag/v0.4.1
Re: DCD 0.7.1
On Tuesday, 20 October 2015 at 08:28:19 UTC, Dicebot wrote: Which LDC is it supposed to build with? Trying latest stable (0.15.1) I get: src/server/autocomplete.d(23): Error: module logger is in file 'std/experimental/logger.d' which cannot be read 0.16 beta. I'll add another mention of this to the release notes.
Re: DCD 0.7.1
On Monday, 19 October 2015 at 20:29:41 UTC, Brian Schott wrote: From the README: "The D Completion Daemon is an auto-complete program for the D programming language." 0.7.1 is a (boring) bug-fix release. https://github.com/Hackerpilot/DCD/releases/tag/v0.7.1 Skip that. Grab 0.7.2 because it's 0.7.1 that builds with LDC. https://github.com/Hackerpilot/DCD/releases/tag/v0.7.2
DCD 0.7.1
From the README: "The D Completion Daemon is an auto-complete program for the D programming language." 0.7.1 is a (boring) bug-fix release. https://github.com/Hackerpilot/DCD/releases/tag/v0.7.1
Re: Beta D 2.069.0-b2
On Wednesday, 14 October 2015 at 13:53:17 UTC, Martin Nowak wrote: Second beta for the 2.069.0 release. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.069.0.html Please report any bugs at https://issues.dlang.org -Martin Is there any reason that these fixes won't be merged for 2.069? https://github.com/D-Programming-Language/phobos/pull/3711 https://github.com/D-Programming-Language/phobos/pull/3688 https://github.com/D-Programming-Language/phobos/pull/3689 I'd prefer not having to maintain my own fork of the allocators code for another release.
dfmt 0.4.0
https://github.com/Hackerpilot/dfmt https://github.com/Hackerpilot/dfmt/releases/tag/v0.4.0 https://github.com/Hackerpilot/dfmt/issues?q=milestone%3A0.4.0+is%3Aclosed dfmt is a formatter for D source code. Version 0.4.0 includes a few minor features such as "//dfmt off" and "//dfmt on" comments as well as a lot of bug fixes.
Re: Beta D 2.068.2-b1
On Thursday, 10 September 2015 at 03:38:31 UTC, Martin Nowak wrote: Due to a regression in 2.068.1 we'll directly follow up with an unplanned point release 2.068.2. This is the beta for that point release. http://downloads.dlang.org/pre-releases/2.x/2.068.2/ Please test any of your code against this beta to help finding bugs. https://issues.dlang.org/ -Martin My personal projects as well as EMSI's code seem to work with this. There were some build failures, but I determined that they were caused by the beta correctly rejecting code that didn't make sense.
Re: DCD: Autocomplete without the IDE
On Wednesday, 9 September 2015 at 07:04:27 UTC, Ludovit Lucenic wrote: Hello yaz, how far did you get with Sublime Text autocomplete support for D? https://github.com/yazd/DKit/ There's a link to this on DCD's wiki.
Re: DCD 0.7.0
On Tuesday, 1 September 2015 at 21:36:46 UTC, Brian Schott wrote: https://github.com/Hackerpilot/DCD/tree/v0.7.0 After an alpha, a beta, and two release candidates DCD 0.7.0 is ready. And now in Homebrew: https://github.com/Homebrew/homebrew/pull/43490
DCD 0.7.0
https://github.com/Hackerpilot/DCD/tree/v0.7.0 After an alpha, a beta, and two release candidates DCD 0.7.0 is ready. The D Completion Daemon is an auto-complete program for the D programming language. Highlights: * A large portion of DCD's symbol resolution engine was removed and placed into the new dsymbol project. * Several design bugs with the cache invalidation process were fixed. (TLA+ was helpful with this) * Regression testing! DCD now has regression tests. This was long overdue... Information on the tests can be found on the testing wiki page * DCD now uses the latest version of std.experimental.allocator. * Added the ability to ask the client to list the paths that are registered with the server. * Removed all editor plugins from the DCD repository. All editor plugins were maintained outside of this repository anyways, so this was more-or-less a dead code removal. Links to editor plugins and IDEs can be found on the wiki * Support 2.068 syntax. The only thing that really changed is that "inline" and "mangle" are now on the list of "pragma" autocomplete suggestions. * Add "__LINE__", "__FILE__", and other built-in symbols to autocomplete suggestions. * Correctly expand the current working directory when starting the server with -I options specifying relative paths. * Fixed many bugs: https://github.com/Hackerpilot/DCD/issues?q=milestone%3A0.7.0
Re: v0.2.1 of EMSI's containers library
On Tuesday, 1 September 2015 at 13:51:45 UTC, jmh530 wrote: The link to documentation doesn't seem to have anything on it. The package name on the left is expandable.
v0.2.1 of EMSI's containers library
https://github.com/economicmodeling/containers This containers library is built on top of Andrei's std.experimental.allocator. It's currently used by libraries internal to EMSI, as well as the open-source DCD project. The containers are backed by malloc (Mallocator) by default, but you can specify any custom allocator that you want. The containers try to automatically call GC.addRange and GC.removeRange if they are templated on a reference type, so you should be able to safely store references to GC memory in these containers. If you want to disable this support, there is a template parameter for that. Please report bugs on Github here: https://github.com/economicmodeling/containers/issues
Re: DCD v0.7.0-rc1
On Thursday, 27 August 2015 at 22:18:25 UTC, Brian Schott wrote: On Thursday, 27 August 2015 at 10:13:38 UTC, BBasile wrote: I've seen some activity on your allocator fork and on the DCD submodules yesterday, is it ok to release the DCD binaries based on the current state ? Is the problem fixed ? Or would you recommend more to distribute latest stable 0.6 (for example just after A.Neves fixed a regression) ? No. I'll tag 0.7.0 when it's ready. There are still a few bugs. (Just for fun, run a build from master in Valgrind) I think I've nailed down all the bugs in the allocators and the memory leaks in my own code. I just need to fix https://github.com/Hackerpilot/DCD/issues/251 and 0.7.0 will be done.
Re: DCD v0.7.0-rc1
On Saturday, 29 August 2015 at 10:38:39 UTC, Brian Schott wrote: I think I've nailed down all the bugs in the allocators and the memory leaks in my own code. I just need to fix https://github.com/Hackerpilot/DCD/issues/251 and 0.7.0 will be done. One more RC: https://github.com/Hackerpilot/DCD/releases/tag/v0.7.0-rc2
Re: DCD v0.7.0-rc1
On Thursday, 27 August 2015 at 10:13:38 UTC, BBasile wrote: I've seen some activity on your allocator fork and on the DCD submodules yesterday, is it ok to release the DCD binaries based on the current state ? Is the problem fixed ? Or would you recommend more to distribute latest stable 0.6 (for example just after A.Neves fixed a regression) ? No. I'll tag 0.7.0 when it's ready. There are still a few bugs. (Just for fun, run a build from master in Valgrind)
Re: DCD v0.7.0-rc1
On Tuesday, 25 August 2015 at 08:46:18 UTC, BBasile wrote: On Friday, 21 August 2015 at 10:15:09 UTC, Brian Schott wrote: https://github.com/Hackerpilot/DCD/releases/tag/v0.7.0-rc1 If nothing else comes up I'll tag 0.7.0 Monday. DCD is an editor-independent auto-completion program for D code. Read more here: https://github.com/Hackerpilot/DCD Tuesday...what's going on, everything is fine ? I'm still tracking down some problems. http://forum.dlang.org/post/fgzvowtioiudjvvha...@forum.dlang.org
dfmt 0.4.0-rc1
https://github.com/Hackerpilot/dfmt/releases/tag/v0.4.0-rc1 dfmt is a formatter for D source code. Check the link above for a list of changes from beta2.
DCD v0.7.0-rc1
https://github.com/Hackerpilot/DCD/releases/tag/v0.7.0-rc1 If nothing else comes up I'll tag 0.7.0 Monday. DCD is an editor-independent auto-completion program for D code. Read more here: https://github.com/Hackerpilot/DCD
Re: DCD 0.7.0-alpha1
On Monday, 10 August 2015 at 07:24:20 UTC, anonymous wrote: let's say 16X per line, for 4000X lines and ಠ_ಠ
DCD 0.7.0-alpha1
https://github.com/Hackerpilot/DCD/releases/tag/v0.7.0-alpha1 DCD is an IDE and editor-independent autocompletion system for the D programming language. Release notes are available at the above link. 0.7.0 has some major changes to its internal structure, so please help me to test it.
Re: Changelog
On Wednesday, 5 August 2015 at 06:45:56 UTC, Martin Nowak wrote: On 08/05/2015 01:57 AM, Martin Nowak wrote: Release Candidate for 2.068.0 To make this a successful release we need to work on the changelog, so that the rest of the world can know what we actually did. Right now it only contains a few entries and the ugly bug list. Where does that changelog come from? I made some pull requests against a file that I thought was the changelog to document some Phobos changes that got merged, but now I don't see it on dlang.org. https://github.com/D-Programming-Language/dlang.org/pull/1028/files https://github.com/D-Programming-Language/dlang.org/pull/1027/files
Re: Changelog
On Wednesday, 5 August 2015 at 20:57:49 UTC, anonymous wrote: getUDAs and getSymbolsByUDA don't seem to have made it, so they're correctly commented out for now. That's annoying. Those three were meant to go together.
Re: Beta D 2.068.0-b2
On Sunday, 26 July 2015 at 21:13:07 UTC, anonymous wrote: On Saturday, 25 July 2015 at 12:21:19 UTC, Martin Nowak wrote: Second beta for the 2.068.0 release. Is std.expermimental.allocator planned for 2.068 ? I see it's still not merged and we already almost in August. That makes me disappointed. I spent many hours reviewing and debugging that package. I have several projects that depend on it and I'd rather not maintain my own copy any more.
Re: Voting for std.experimental.allocator
On Wednesday, 8 July 2015 at 11:33:03 UTC, Dicebot wrote: Please respond to this post with a comment starting with a single Yes/No and optional explanation after that. Yes.
Re: New D tool releases
On Saturday, 13 June 2015 at 07:19:45 UTC, Hans-Albert Maritz wrote: I'm integrating the dscanner analysis tools now, but for scanning an entire project it would be awesome to use DCD's existing cache. I'm relatively new to D but I think a possible solution would be to implement a plugin system for DCD where applications can instruct DCD to dynamically load and execute the plugin through an interface. This would avoid the need for the IDE and DCD to both maintain their own cache of the parsed modules. An example plugin would be a dscanner analysis plugin. Do you think this would be something of worth for me to pursue and possibly integrate with DCD? I'm working on pulling the symbol cache out of DCD for use in the next versions of several of my tools. Be warned that none of this work is stable yet, or as the old map makers used to say, Here be dragons: https://github.com/Hackerpilot/dsymbol
Re: Coedit 1 gold released
On Thursday, 11 June 2015 at 06:28:08 UTC, Jacob Carlborg wrote: On 2015-06-10 08:57, Andrei Alexandrescu wrote: I can haz OSX pliz pliz ok thx bye -- Andrei Having D/Objective-C merged [1] would make it a lot easier. [1] https://github.com/D-Programming-Language/dmd/pull/4321 Would it? Coedit is written in Pascal.
Re: New D tool releases
On Tuesday, 9 June 2015 at 14:49:38 UTC, Marco Leise wrote: Sounds like a big step forward! One question though, what's the rationale behind @properties not needing documentation? The same reason that I disable that check for methods like getTheThing and setTheThing.
New D tool releases
Dfix 0.2.2: https://github.com/Hackerpilot/dfix/releases/tag/v0.2.2 * Fixed a bug that caused the string concatenation fix to be applied inside of deprecated attributes. I plan to revert this fix if dmd starts accepting `deprecated(string1 ~ string2)` Dfmt 0.4.0-beta1 and 0.3.6 https://github.com/Hackerpilot/dfmt/releases/tag/v0.3.6 * Fix a spacing bug with function contracts https://github.com/Hackerpilot/dfmt/releases/tag/v0.4.0-beta1 * Introduced support for `// dfmt off` and `// dfmt on` comments * Added the ability to configure spacing around the `:` in selective imports. * Added the ability to configure indentation of case statements. * Added the ability to configure indentation of attribute declarations. * Added the ability to configure formatting of labeled loops. D-Scanner 0.2.0-beta1 https://github.com/Hackerpilot/Dscanner/releases/tag/0.2.0-beta1 * Fixed several bugs in the lint checks. * Added support for generating Emacs etags files. * `--imports` option can now work on more than one file at a time * Added undocumented public declaration check. * Added unused label check. * Added check for variables with the same name as labels. * Added check for redundant parenthesis. * Added line field to ctags output to work with the Tagbar plugin better. * Unused variable declaration check is now disabled inside of __traits expressions. * Undocumented declaration check is disabled for things marked deprecated or @disable. * Undocumented declaration check ignores @property functions.
dfmt 0.3.5
https://github.com/Hackerpilot/dfmt/releases/tag/v0.3.5 Just bug fixes, nothing exciting.
dfmt 0.3.2
https://github.com/Hackerpilot/dfmt/releases/tag/v0.3.2 * Fixed a bug that caused contracts to be formatted incorrectly * Fixed a bug that caused newlines and indentation to be incorrect for the One True Brace Style * Fixed a bug where blank lines would sometimes be removed at the end of block statements * Fixed a bug where no whitespace would be placed before the if in a template constraint * Fixed a bug where no whitespace would be placed before the in in an in expression.
Re: dfmt 0.3.0
0.3.1 is released. It fixes an issue with !in formatting and an issue with command-line option handling. https://github.com/Hackerpilot/dfmt/releases/tag/v0.3.1
Re: dfmt 0.3.0
On Monday, 20 April 2015 at 20:59:43 UTC, Idan Arye wrote: Looks nice. BTW, it looks like the editorconfig format has something called Domain-Specific Properties I didn't use those because they're not standardized. Anything prefixed with dfmt_ is a domain-specific property. I'm also avoiding those because it doesn't say what to do when you specify curly_bracket_next_line = true and indent_brace_style = KR at the same time.
dfmt 0.3.0
https://github.com/Hackerpilot/dfmt https://github.com/Hackerpilot/dfmt/releases/tag/v0.3.0 dfmt is a D source code formatter. Version 0.3.0 fixes several bugs and introduces the ability to place configuration options in your projects' .editorconfig files. Random stats: 9000 possible bike shed colours 2555 lines (according to wc) 1477 lines of code (according to D-Scanner) 98 regression tests 11 issues closed in this release 2 ways to spell color
dfmt 0.2.1
https://github.com/Hackerpilot/dfmt/releases/tag/v0.2.1 0.2.1 fixes an issue with string literals that are immediately followed by identifiers.
dfmt 0.2.0
dfmt 0.2.0 is available at https://github.com/Hackerpilot/dfmt/releases/tag/v0.2.0. dfmt is a formatter for D source code. Version 0.2.0 fixes several bugs and includes improved line wrapping logic. The project now has 85 regression test cases and is becoming much more stable. dfmt is used to format its own source code, which can be viewed here: https://github.com/Hackerpilot/dfmt/blob/master/src/dfmt.d Changelogs: 0.2.0: #109 Prefer breaking 'for' and 'foreach' loops at semicolons instead of in expressions #108 Wrong indentation for 'with (...) final switch (...)' #107 Incorrect indentation for cases in 'switch' inside of 'with' #106 Extra space added after 'enum' keyword in anonymous typed enum #103 Improved enum formatting #71 Comment after if moved to if line lacks space before it #63 Splitter/indenter indents more when splitting more than once #48 Should keep formatting of UDA #47 Splitter should avoid splitting inner expressions #27 Trailing whitespace is inserted on blank line between comments #23 Better Formatting for Array Literals #20 Extra newlines added to block comments 0.1.10: #101: Doesn't seem to handle #! lines 0.1.9: #100 Wrong case indent with switch inside labeled loop #99 Indentation level incorrect after line-wrapped if conditon with unbraced if statement #98 Brace after commented if without braces is indented 0.1.8: #96 Unbraced decl inside version is no longer on the same line #95 Brace after if without braces is indented #42 Version statements should have enclosed statement on next line
Re: Andrei Alexandrescu on D at YOW2014: Local imports, relaxed functional purity, generative programming
On Thursday, 12 March 2015 at 20:39:08 UTC, Walter Bright wrote: https://www.reddit.com/r/programming/comments/2yt1ek/andrei_alexandrescu_on_d_at_yow2014_local_imports/ http://forum.dlang.org/thread/mdsh5n$2kta$1...@digitalmars.com http://forum.dlang.org/thread/ionjnsvqcplgxuoip...@forum.dlang.org
Re: dfmt 0.1.5 (codename: entomology)
https://github.com/Hackerpilot/dfmt/releases/tag/v0.1.7 #92 Statement after case label after unbraced if is indented #93 Version-else inside if is indented incorrectly #94 Wrong indent with function literal
Re: dfmt 0.1.5 (codename: entomology)
https://github.com/Hackerpilot/dfmt/releases/tag/v0.1.6 #54 Indentation wrong following enum inside class #86 Statement following multiple unbraced ifs is indented #87 Second statement after label is indented #88 Space before negative case expression disappears #89 Comment following unbraced if is indented #90 Statement inside switch after label is indented #91 Statements inside case inside version block get less indentation
Re: dfmt 0.1.3 (codename: yebblied)
https://github.com/Hackerpilot/dfmt/releases/tag/v0.1.4 0.1.4 is out with another 9 bugs fixed.
dfmt 0.1.3 (codename: yebblied)
https://github.com/Hackerpilot/dfmt/releases/tag/v0.1.3 dfmt is a source code formatter for D. v0.1.3 fixes 34 issues from v0.1.2. The codename is inspired by somebody who may or may not* have filed 45 Github issues, 20 of them in a single day. *totally did
Re: dfmt 0.1.0
On Friday, 6 March 2015 at 09:40:07 UTC, Walter Bright wrote: How are comments handled? The source code makes a DC 15 wisdom save, if it fails then the comments get distributed randomly. The serious answer is that there's a lot of special casing that I'm still trying to figure out.
Re: dfmt 0.1.0
On Friday, 6 March 2015 at 09:39:13 UTC, Walter Bright wrote: True, but on the other hand, a D lexer and parser are pretty simple. Did you mean simple compared to C++? I remember having to report/fix a LOT of bugs in the language specification and explore the DMD front end source code to get to where I am now.
Re: dfmt 0.1.0
On Thursday, 5 March 2015 at 09:02:25 UTC, Russel Winder wrote: Since using Go and working on a couple of fairly old C++ codebases, all of which use tab for indent, I have come to rather like it. You probably feel that way because tabs are better. dfmt only defaults to spaces because that's what's in the Phobos style guide.
Re: dfmt 0.1.0
On Wednesday, 4 March 2015 at 15:26:51 UTC, Russel Winder wrote: I try to use DCD when working with Emacs for D code, but I keep forgetting to start the server :-( I would certainly be happy to commit to using dfmt just as I use gofmt in Emacs. As long as the variation from my preferred style is not to much I can live with a One True Style (*). That means that the Emacs plugin needs to start it automatically. There ought to be for the compiler/formatter toolchain otherwise there will be problems. And if there is a D parser as library and it works why would anyone want another parser? Implementing a separate parser based on the language spec has helped to find problems with the language spec. Having One True Implementation can lead to problems as well. https://issues.dlang.org/show_bug.cgi?id=10233 (*) The exception is of course Phobos style which I find so annoying I can't read code formatted that way. By default dfmt tries to output Phobos style code. There is an option to use a different brace style and another one to use tabs.
Re: dfmt 0.1.0
On Tuesday, 3 March 2015 at 20:36:20 UTC, Walter Bright wrote: Thanks for doing this. It's an important part of the D toolchain we need to have. At some point I want to merge it into the official release. I noticed it is remarkably small (1400 lines). What is its algorithm? How does it compare with gofmt and clang-format in how it works? I haven't read the source to either of those programs, so I'm not sure how it compares. dfmt works by re-using my existing lexer and parser. The parser is run on the code first so that the formatting step knows a few things like the difference between the binary and unary forms of *. Line splitting is figured out using a badly mangled version of A*.
Re: D 2.067.0-b3
On Wednesday, 4 March 2015 at 00:49:04 UTC, Martin Nowak wrote: Glad to announce the third 2.067.0 beta, this time with installers and documentation. All builds and unit tests for EMSI's data processing libraries pass with this beta.
Re: GSoC 2015 - Application Rejected
On Monday, 2 March 2015 at 19:08:49 UTC, CraigDillabaugh wrote: Unfortunately our organizational proposal for the 2015 Google Summer of Code was rejected. Apparently Blender didn't make it either: https://twitter.com/tonroosendaal/status/57247337964832
DCD v0.5.1: Objectively disoriented
https://github.com/Hackerpilot/DCD https://github.com/Hackerpilot/DCD/releases/tag/v0.5.1 v0.5.1 contains several bug fixes for autocompletion involving classes. * #195: Display call tips for `super` and `this` * #196: Autocompletion on `super` doesn't work * #197: DCD shows invalid constructor call tips As a reminder: the D.announce mailing list is not a bug tracker. If I've broken something, please file an issue here: https://github.com/Hackerpilot/DCD/issues
Re: dfmt 0.1.0
On Friday, 20 February 2015 at 02:21:01 UTC, Brian Schott wrote: dfmt is a D source code formatting tool. https://github.com/Hackerpilot/dfmt/ https://github.com/Hackerpilot/dfmt/releases/tag/v0.1.0 I just tagged 0.1.1. The only change is a bug fix for a case where certain long lines with parenthesis wouldn't wrap properly.
Re: dfmt 0.1.0
On Sunday, 22 February 2015 at 08:48:16 UTC, Brian Schott wrote: On Friday, 20 February 2015 at 02:21:01 UTC, Brian Schott wrote: dfmt is a D source code formatting tool. https://github.com/Hackerpilot/dfmt/ https://github.com/Hackerpilot/dfmt/releases/tag/v0.1.0 I just tagged 0.1.1. The only change is a bug fix for a case where certain long lines with parenthesis wouldn't wrap properly. v0.1.2 is tagged... Move fast: things are broken, or something like that.
Re: dfmt 0.1.0
On Friday, 20 February 2015 at 23:00:25 UTC, Brad Anderson wrote: From what I understand they implemented a LaTeX style weighted line breaker which would explain why it works so much better than a typical code formatter. It's very smart about how it does line breaks. This seems to make all the difference. dfmt uses a weighting system for line breaks as well, though because this is 0.1.0 it doesn't always do what I expect it to do.
Re: We are Beta (2.067.0-b2)
On Wednesday, 18 February 2015 at 14:13:25 UTC, Martin Nowak wrote: Find more information on the dmd-beta mailing list. http://forum.dlang.org/thread/54e41ca2.4060...@dawg.eu Many of the beta-2 files are missing from downloads.dlang.org, and all of them are missing from ftp.digitalmars.com. This makes testing the Debian packages or using DVM impossible.
Re: dfmt 0.1.0
On Friday, 20 February 2015 at 05:23:45 UTC, Joakim wrote: On Friday, 20 February 2015 at 02:21:01 UTC, Brian Schott wrote: dfmt is a D source code formatting tool. https://github.com/Hackerpilot/dfmt/ https://github.com/Hackerpilot/dfmt/releases/tag/v0.1.0 Thanks, you should list some of the formatting changes it makes in the README. It doesn't do formatting changes. It wipes out the formatting during lexing and builds it up from scratch. The only thing that gets preserved is that it will look at line numbers on comments and try to keep them in roughly the same place. (For example, // comments that are on the end of a line instead of on the next line)
dfmt 0.1.0
dfmt is a D source code formatting tool. https://github.com/Hackerpilot/dfmt/ https://github.com/Hackerpilot/dfmt/releases/tag/v0.1.0
Re: DCD 0.5.0
On Thursday, 12 February 2015 at 10:00:39 UTC, Russel Winder wrote: Is it still OK to build from master/HEAD or would you prefer people to stay with the tagged version release? I create the tags mostly for people who want to use a stable version. If this doesn't matter to you, then feel free to build from master.
DCD 0.5.0
Version 0.5.0 of DCD has been tagged on Github. https://github.com/Hackerpilot/DCD/releases/tag/v0.5.0 DCD is a client/server program used to provide D code autocompletion for various text editors and IDEs.
Re: SublimeLinter D Plugin
On Friday, 6 February 2015 at 13:58:13 UTC, Andrej Mitrovic wrote: Do we have a Sublime plugin based on D-Scanner which gives us some features like: - List all methods in a class - Hide (or just fold) non-public methods of a class And other similar features? No, because you haven't written it yet.
DCD 0.5.0 beta
https://github.com/Hackerpilot/DCD/tree/v0.5.0-beta3 Changes from 0.4.0: * Include current git commit hash in --version output * Update libdparse and msgpack dependencies * Fix several crashes * Remove Textadept module. It is now at https://github.com/Hackerpilot/textadept-d * Added basic regression testing scripts * Fix #117 * Fix #177 * Fix #179 * Fix #176 * Fix #178 * Fix #182 * Fix #184
Re: DCD 0.5.0 beta
I guess I asked for this by leaving out the link to the issue tracker. https://github.com/Hackerpilot/DCD/issues Can you please file the issue there? I'm not able to reproduce this on Windows 7 64-bit.
Re: dfix 0.2.0
On Tuesday, 25 November 2014 at 23:47:07 UTC, Nordlöw wrote: On Tuesday, 25 November 2014 at 23:45:17 UTC, Nordlöw wrote: I guess one solution would be to make warnings non-errors right but that seems dumb concerning what dfix can do for us regarding auto-converting C-style arrays syntax to D-style :) The issue trackers for dfix and libdparse are on github. BTW: How do I specify that a dependency package (libdparse) should be compiled with -wi instead of -w? You can read DUB's documentation here: http://code.dlang.org/package-format
dfix 0.2.0
dfix is a tool for automatically upgrading the syntax of D source code. Changes since 0.1.1: * #1 dfix will now rewrite const int foo() {} to int foo() const {} * #6 The C-style array syntax fix is no longer incorrectly applied to certain ASM statements. * #9 You can now provide directory names as arguments to dfix in case you're too lazy to run find and xargs. (And really, who isn't?) * #11 dfix is now registered on code.dlang.org. http://code.dlang.org/packages/dfix * Added tests.
Re: DCD v0.4.0
On Sunday, 16 November 2014 at 10:32:12 UTC, Kagamin wrote: BTW, does DCD differentiate between function overloads? Semantic analysis would be needed to do it. How much of it DCD implements? It gives a list of all the overloads when providing call tips. Figuring out which version of foo in foo().| isn't necessary because they all have the same return type. (| is the cursor position)
DCD v0.4.0
https://github.com/Hackerpilot/DCD/releases/tag/v0.4.0 The D Completion Daemon is an IDE-independent autocompletion tool for D code. Changes from 0.3.2 to beta 1: * #162 You can now ask the server for symbol location information without a cursor location or a file being edited. * #117 Import statement autocompletion now knows how to handle normal imports, multiple imports, renamed imports, multiple renamed imports combined with normal imports, and other crazy things. * #56 Support the with statement. * Fix function call tip display for complicated bits of code such as Derelict 3. Changes from beta 1 to beta 2: * Add --version to both the client and server * Update man pages * Update README * Update --help output for client and server Changes from beta 2 to 0.4.0: * Fixes to function call tip display with explicit template instantiation. * Updated libdparse dependency to fix various parser bugs (and language changes) * Fixed the LDC portion of the makefile
Re: dfix 0.1.1
On Wednesday, 29 October 2014 at 02:10:09 UTC, Andrei Alexandrescu wrote: Cool! Is it idempotent if ran twice? -- Andrei It should be. If you find a case where running dfix on the output of dfix causes a change, please file an issue on Github.
dfix 0.1.1
No. Really. I'm serious. https://github.com/Hackerpilot/dfix dfix is a tool for automatically upgrading older D syntax to the newer style. * Updates old-style alias syntax to new-style * Fixes implicit concatenation of string literals * Automatic conversion of C-style array declarations and parameters to D-style. * Upgrades code to comply with DIP64 if the --dip64 switch is specified. (You probably don't want to use this) * Upgrades code to comply with DIP65 unless the --dip65=false switch is specified.
Re: OpenSimplex Noise ported to D
On Tuesday, 23 September 2014 at 12:31:12 UTC, MrSmith wrote: On Sunday, 21 September 2014 at 02:36:46 UTC, Brian Schott wrote: Some of you may have noticed this article posted to /r/programming: http://uniblock.tumblr.com/post/97868843242/noise. I ported the algorithm to D and uploaded it here: https://github.com/Hackerpilot/OpenSimplexNoise-D Can you also make 2D version, please? You can get 2d noise from this by generating a slice of 3d noise. Call OpenSimplexNoise.eval(x, y, c) where x and y are loop variables and c is a constant. The test file[1] does this to produce a 2d image. [1] https://github.com/Hackerpilot/OpenSimplexNoise-D/blob/master/test/main.d
DCD v0.4.0-beta1
https://github.com/Hackerpilot/DCD/releases/tag/v0.4.0-beta1 Changelog at the above link. Let me know if and how you manage to break it by filing an issue on Github.
OpenSimplex Noise ported to D
Some of you may have noticed this article posted to /r/programming: http://uniblock.tumblr.com/post/97868843242/noise. I ported the algorithm to D and uploaded it here: https://github.com/Hackerpilot/OpenSimplexNoise-D
Re: SublimeLinter D Plugin
On Tuesday, 16 September 2014 at 18:00:01 UTC, Meta wrote: Can individual style checks be disabled? That undocumented public function warning is driving me insane. I just realized that I documented the --defaultConfig option in the --help output but forgot to add it to the readme.
Re: SublimeLinter D Plugin
On Tuesday, 16 September 2014 at 19:41:20 UTC, Soulsbane wrote: I had to comment out the version checking code otherwise plugin wouldn't load. That's one option. Another would be updating your dscanner binary.
Re: [Mono-D] v2.1.18 Parser/Completion/General fixesimprovements
On Tuesday, 9 September 2014 at 13:46:06 UTC, Bruno Medeiros wrote: The reason I ask is because there seems to be some functionality only present in dscanner that would be useful for IDEs too, such as dscanner --declaration I added that feature because I wanted something usable from the command line that was more accurate than grep or ack. There's an enhancement request for adding something similar to DCD: https://github.com/Hackerpilot/DCD/issues/162.
DCD 0.3.0, libdparse 0.1.0
https://github.com/Hackerpilot/DCD/releases/tag/v0.3.0 DCD is an editor-independent autocompletion engine for the D programming language. If you've heard of Jedi or Gocode, you have a pretty good idea of what DCD does. It's been a while since I've tagged a release of DCD. The important changes are summarized at the above link. The tl;dr: it's faster, uses less RAM, crashes less, and I'm bad at VIM and Emacs extensions so you should get them from other people. I'd like to give some special thanks to the GtkD project for pointing out that DCD used to be very bad at handling (literally) hundreds of files that publicly imported each other. :-) https://github.com/Hackerpilot/libdparse/releases/tag/v0.1.0 http://code.dlang.org/packages/libdparse The D lexing, parsing, and AST library that powers D-Scanner and DCD is its own project now. The major news items here are that I ran it through some fuzz testing, posted the library's generated documentation online, and registered it with code.dlang.org.
Re: [Mono-D] v2.1.18 Parser/Completion/General fixesimprovements
On Thursday, 4 September 2014 at 22:05:35 UTC, Bruno Medeiros wrote: BTW, what is the relation of dscanner to DCD? Or more precisely, why are they separate tools?.. Originally there was just dscanner. One of the things that it did was autocomplete. It wasn't very good at this for a variety of reasons. One of them was that being a plain command-line tool, it had to re-parse EVERYTHING every time you asked for autocomplete. Over time I split the project three ways: The parser/lexer/ast is now libdparse, the autocomplete functionality is in DCD, and static analysis and other stuff is in dscanner.
New Project: D language support for SonarQube
SonarQube is an open platform to manage code quality.[1] I've started writing a plugin for Sonar that allows it to display code quality metrics for D. So far it just supports tracking static analysis warnings from D Scanner, though adding other metrics like line of code count and unit test coverage should be fairly simple. It's available here[2]. [1] http://www.sonarqube.org/ [2] https://github.com/economicmodeling/sonar-d-plugin
Re: [Mono-D] v2.1.18 Parser/Completion/General fixesimprovements
On Thursday, 14 August 2014 at 00:43:38 UTC, Damian Day wrote: I'm not sure you'd want to do that. The DParser completion engine has a few features that DCD doesn't have. (I'm not sure if this is true the other way around) That's true, but duplicated work and all that.. It would be a nice way to battle test DCD and the lexer. Keep in mind that integrating a lexer/parser written in C# into an IDE written in C# is much easier than integrating libdparse would be. The same argument applies to Eclipse and Visual Studio. I'm particularly interested in dscanner integration myself :) Are you talking about displaying static analysis hints in the editor window, or something else? Yes precisely. This should be easy. I have Textadept set up to do this and the implementation is only a few lines long. https://github.com/Hackerpilot/TextadeptModules/blob/master/modules/dmd/init.lua#L29-54
Re: Miscelaneous D tool updates
On Friday, 8 August 2014 at 06:07:17 UTC, Thomas Mader wrote: On Thursday, 7 August 2014 at 23:36:59 UTC, Brian Schott wrote: * Several updates to editor integration scripts (Mostly EMACS) I know that there is an integration script for vim but I wonder if it would be better to work on integrating it with 'You Complete Me'. [1] What do you think? [1] https://github.com/Valloric/YouCompleteMe/issues/521#issuecomment-48727396 I rely on other people's pull requests for everything except the integration with Textadept. Check the history of the Emacs and Vim scripts: * https://github.com/Hackerpilot/DCD/commits/master/editors/emacs/ac-dcd.el * https://github.com/Hackerpilot/DCD/commits/master/editors/vim/ftplugin/d.vim If you want to integrate it with YCM or YCMD[1], go ahead. I can either merge your work into the the DCD repository, or I can link to your plugin like I do with the Kate and Sublime plugins. [1] https://github.com/Valloric/ycmd http://val.markovic.io/articles/youcompleteme-as-a-server
Re: DConf 2014 Lightning Talks
On Monday, 21 July 2014 at 22:04:58 UTC, Ali Çehreli wrote: Thanks! I will wait at least another year before watching the video. I don't think I can stand seeing myself cramming 26 slides in 10 minutes! :) Ali I know how you feel. I don't want to watch my talk either.
Re: EMSI has a Github page
On Friday, 27 June 2014 at 20:33:22 UTC, Kagamin wrote: https://github.com/economicmodeling/containers/blob/master/src/containers/dynamicarray.d#L72 Does this work? You try to remove new range instead of old one. Also you should remove old range only after you added new range, so that GC won't catch you in the middle. The issue tracker is located here: https://github.com/economicmodeling/containers/issues
Re: EMSI has a Github page
On Friday, 27 June 2014 at 12:31:09 UTC, Dicebot wrote: On Thursday, 26 June 2014 at 21:26:55 UTC, Brian Schott wrote: * Documentation generator that doesn't need the compiler How does it relate to ddox? DDOX uses the compiler's JSON output. This new documentation generator only looks at the code.
EMSI has a Github page
https://github.com/economicmodeling Stuff that's been made available: * D implementation of the DDoc macro processor * Documentation generator that doesn't need the compiler - No more requirement to use all the -I options to just get docs. - Template constraints don't vanish. - size_t doesn't turn into ulong. - Javascript-based offline search. * Containers library backed by std.allocator - Less sitting around waiting for the GC
Re: Lang.NEXT panel (dfix)
On Thursday, 19 June 2014 at 20:37:48 UTC, Stefan Koch wrote: hmm well all string-mixins life at compile-time so one can print them out at runtime dump the source and but it into the ast same for the results of static if and the like I imagine that trying to create an automated refactoring tool for D is a bit like parsing HTML with regex. http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags
Re: Lang.NEXT panel
On Tuesday, 10 June 2014 at 16:35:23 UTC, justme wrote: That should be quite easy to implement now in D What makes you say this?
Re: DMD 2.066 Alpha
Please do not tag anything until we decide if virtual is a keyword in D. See: https://github.com/D-Programming-Language/dlang.org/pull/584
Re: D Hackday this Friday
On Monday, 2 June 2014 at 17:41:10 UTC, Jonathan Crapuchettes wrote: Let's get those bugs below the 2000 mark! Related: There's a link at the bottom of the issue list labeled Change Columns. This can be used to add the vote count to the issue list to find issues that have more votes.
Re: Scott Meyers' DConf 2014 keynote The Last Thing D Needs
On Thursday, 29 May 2014 at 18:12:10 UTC, Dmitry Olshansky wrote: And no, it doesn't matter how the current frontend implements it, because you can argue next to any decisions this way. When issues like this come up the spec is almost always changed to match the DMD front end instead of the other way around. Why are we afraid of breaking code that relied on behavior that was not in the language specification? That makes it almost impossible to fix accepts-invalid bugs.