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.
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: New D tool releases
On Thursday, 14 January 2016 at 10:41:50 UTC, tsbockman wrote: You forgot to bump the version number: Fixed.
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: 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: Release Candidate D 2.069.0-rc2
On Friday, 30 October 2015 at 18:11:08 UTC, Martin Nowak wrote: Second release candidate for the 2.069.0. I have tested this RC with DCD, D-Scanner, dfmt, dfix, and several EMSI internal projects. Everything builds and passes unit tests.
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 23:26:12 UTC, Martin Nowak wrote: Also tagging as 2.069 milestone helps (can you actually tag that yourself?). No. I would if I could. This one of the things I don't like about Github. (I can't tag pulls/issues even though I'm a member of the D-Programming-Language org)
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
Re: v0.2.1 of EMSI's containers library
On Tuesday, 1 September 2015 at 23:13:09 UTC, Brian Schott wrote: instead of 16 blocks That should be "16k blocks".
Re: v0.2.1 of EMSI's containers library
On Tuesday, 1 September 2015 at 08:05:34 UTC, Per Nordlöw wrote: On Tuesday, 1 September 2015 at 04:03:48 UTC, Brian Schott wrote: https://github.com/economicmodeling/containers Could the test (plot) be extended to show insertion performance for different allocators :) I could do that but I won't because I'd rather work on other things. I will tell you, however, that you can destroy the performance advantage these containers have by having the allocator create 1k blocks instead of 16 blocks. I think that this demonstrates that using std.experimental.allocator gives users several high-impact ways to optimize their programs.
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 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 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 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 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: 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: 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: Beta D 2.067.1-b1
On Wednesday, 22 April 2015 at 01:32:47 UTC, Martin Nowak wrote: First beta for the 2.067.1 point release. I just finished running tests on EMSI's D code. If something is broken our unit tests haven't found it.
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 = K&R" 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"
D bindings to the EditorConfig library
https://github.com/Hackerpilot/editorconfig-core-d This may be useful if you're writing editors or other dev tools in D. This is a boring C to D translation of editorconfig.h and editorconfig_handle.h, it's not a D library for handling EditorConfig files. If you don't know what EditorConfig is, you can find out here: http://editorconfig.org/
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
dfmt 0.1.5 (codename: "entomology")
https://github.com/Hackerpilot/dfmt/releases/tag/v0.1.5 #72 Wrong indent, with (...) { final { switch (...) { with (...) { #79 Whitespace added after case label containing compound statement #80 Case containing version block gets messed up #81 Statement following unbraced if is indented #82 Assertion failure on invalid code #83 Space missing before attribute bug #85 Space added after 'return' in typeof
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: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 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 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: 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: 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: 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 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 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 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: 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: 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: This Week in D - Issue 5
On Monday, 16 February 2015 at 02:32:38 UTC, Adam D. Ruppe wrote: After my sick day last week, this rounds up two weeks of discussion. http://arsdnet.net/this-week-in-d/feb-15.html If someone else wants to post to reddit this time, I'd appreciate it. Typo: "DCD" was spelled as "CD".
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: DCD 0.5.0 beta
On Saturday, 31 January 2015 at 02:50:27 UTC, Brian Schott wrote: https://github.com/Hackerpilot/DCD/tree/v0.5.0-beta3 Beta 5 is tagged: https://github.com/Hackerpilot/DCD/releases/tag/v0.5.0-beta5 If I stop finding regressions I'll tag v0.5.0 on Wednesday.
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.
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.
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: 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 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: 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.
SublimeLinter D Plugin
Several of my co-workers use Sublime Text and wanted D-Scanner to work with SublimeLinter, so here it is. https://github.com/economicmodeling/SublimeLinter-dscanner
DCD 0.3.1
This is a bugfix release for 0.3. * #165 dcd-server throws an exception with emacs temporary files for import autocompletion * #164 Go to declaration sometimes gives nonsense results when constructors/destructors are present * #163 Go to declaration / autocomplete for template parameters * #161 Infinite recursion with circular dependencies and file modifications https://github.com/Hackerpilot/DCD
digitalmars-d-announce@puremagic.com
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.
digitalmars-d-announce@puremagic.com
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.
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.