profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/tom-tan/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

kyagi/shell-pop-el 178

shell-pop.el helps you to use shell easily on Emacs. Only one key action to work.

tom-tan/auctex-latexmk 73

This library adds LatexMk support to AUCTeX.

misshie/ngsdat2 29

NGS Data Analysis Textbook Version 2 (Disease Genome Analysis)

pitagora-network/DAT2-cwl 9

Common Workflow Language definition files for workflows introduced in DAT2

tom-tan/brainfuck-mode 8

Brainfuck mode for Emacs

tom-tan/cwl-inspector 7

This tool provides a handy way to inspect properties of tools or workflows written in Common Workflow Language

tom-tan/cwl-mode 6

CWL mode for Emacs

ddbj/sapporo-service 5

A standard implementation conforming to the Global Alliance for Genomics and Health (GA4GH) Workflow Execution Service (WES) API specification.

flycheck/flycheck-d-unittest 5

This library adds D unittest support to flycheck.

tom-tan/cwl-for-remote-container-template 4

A template to write CWL documents with VSCode with remote container extension

pull request commentdlang/dmd

ImportC: nested array initializers

Thanks for your pull request, @<!-- -->WalterBright!

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#12683"
WalterBright

comment created time in 4 minutes

PR opened dlang/dmd

ImportC: nested array initializers ImportC

and initializers without braces.

C initializers are unfortunately needlessly complex.

+199 -34

0 comment

3 changed files

pr created time in 4 minutes

pull request commentdlang/druntime

add stdbool.d header inside core.stdc

Why do you want to ignore it when we have a working PR? I don't understand why it hurts to add another file to core.stdc.

There should be a very good rationale for adding an empty module.

aminya

comment created time in 41 minutes

push eventdlang/phobos

DoctorNoobingstoneIPresume

commit sha 0b7bf8dc1fe0b035e0f3f039bdd1e365d11223bc

std.container.Array: Simplify implementation of length (by calling reserve).

view details

push time in 5 hours

PR merged dlang/phobos

std.container.Array: Simplify implementation of length (by calling reserve). auto-merge

Currently, the implementations of length and reserve have many lines in common.

For the case of newLength > length, many lines can be replaced with reserve (newLength); _payload = _payload.ptr [0 .. newLength];.

=> Easier to understand. Easier to re-use future improvements.

Testing information:

$ cd std/container/
$ rdmd -unittest --main array.d
1 modules passed unittests
+2 -40

1 comment

1 changed file

DoctorNoobingstoneIPresume

pr closed time in 5 hours

pull request commentdlang/druntime

core.checkedint.addu: Faster (like subu: only one compare-and-branch).

Thanks for your pull request and interest in making D better, @<!-- -->DoctorNoobingstoneIPresume! We are looking forward to reviewing it, and you should be hearing from a maintainer soon. Please verify that your PR follows this checklist:

  • My PR is fully covered with tests (you can see the coverage diff by visiting the details link of the codecov check)
  • My PR is as minimal as possible (smaller, focused PRs are easier to review than big ones)
  • I have provided a detailed rationale explaining my changes
  • New or modified functions have Ddoc comments (with Params: and Returns:)

Please see CONTRIBUTING.md for more information.


If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment.

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + druntime#3496"
DoctorNoobingstoneIPresume

comment created time in 8 hours

PR opened dlang/druntime

Reviewers
core.checkedint.addu: Faster (like subu: only one compare-and-branch).

Explanation of why a single compare-and-branch is enough for addu:

For unsigned integrals, if we add r = x + y:

  • if there is no carry, then r >= x and r >= y;
  • if there is carry, then r < x and r < y.

Also, let us look at the implementation of subu. One compare-and-branch suffices for subu. It should suffice for addu as well. (-:

Testing information #1:

$ cd src/core/
$ rdmd -unittest --main checkedint.d
1 modules passed unittests

Testing information #2: Comparison of generated machine code (DMD for Win32):

$ dmd -O -release -unittest checkedint.d -of=checkedint.d.obj

For uint overload: Before: 2 cmp instructions, 2 conditional-jump instructions. After: 1 cmp instruction, 1 conditional-jump instruction.

For ulong overload: Before: 4 cmp instructions, 4 conditional-jump instructions. After: 2 cmp instructions, 2 conditional-jump instructions.

Thank you for considering this.

+3 -3

0 comment

1 changed file

pr created time in 8 hours

push eventdlang/dmd

MoonlightSentinel

commit sha 2b34b8706827cccc8c6b8e450896419d0cd845bf

dtoh: Mark structs as final by default Because D disallows struct inheritance

view details

push time in 8 hours

PR merged dlang/dmd

Reviewers
dtoh: Mark structs as final by default auto-merge dtoh

Because D disallows struct inheritance.


Not strictly necessary, as the exported functions are not marked as virtual (or at least should not be marked), but ensures that the header matches the D semantics.

+111 -106

1 comment

26 changed files

MoonlightSentinel

pr closed time in 8 hours

pull request commentdlang/phobos

std.container.Array: Simplify implementation of length (by calling reserve).

Thanks for your pull request and interest in making D better, @<!-- -->DoctorNoobingstoneIPresume! We are looking forward to reviewing it, and you should be hearing from a maintainer soon. Please verify that your PR follows this checklist:

  • My PR is fully covered with tests (you can see the coverage diff by visiting the details link of the codecov check)
  • My PR is as minimal as possible (smaller, focused PRs are easier to review than big ones)
  • I have provided a detailed rationale explaining my changes
  • New or modified functions have Ddoc comments (with Params: and Returns:)

Please see CONTRIBUTING.md for more information.


If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment.

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + phobos#8143"
DoctorNoobingstoneIPresume

comment created time in 8 hours

PR opened dlang/phobos

std.container.Array: Simplify implementation of length (by calling reserve).

Currently, the implementations of length and reserve have many lines in common.

For the case of newLength > length, many lines can be replaced with reserve (newLength); _payload = _payload.ptr [0 .. newLength]; (I believe).

=> Easier to understand and re-use future improvements.

Testing information:

$ cd std/container/ $ rdmd -unittest --main array.d 1 modules passed unittests

+2 -40

0 comment

1 changed file

pr created time in 8 hours

pull request commentdlang/dmd

dtoh: Mark structs as final by default

Thanks for your pull request and interest in making D better, @<!-- -->MoonlightSentinel! We are looking forward to reviewing it, and you should be hearing from a maintainer soon. Please verify that your PR follows this checklist:

  • My PR is fully covered with tests (you can see the coverage diff by visiting the details link of the codecov check)
  • My PR is as minimal as possible (smaller, focused PRs are easier to review than big ones)
  • I have provided a detailed rationale explaining my changes
  • New or modified functions have Ddoc comments (with Params: and Returns:)

Please see CONTRIBUTING.md for more information.


If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment.

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#12682"
MoonlightSentinel

comment created time in 9 hours

PR opened dlang/dmd

Reviewers
dtoh: Mark structs as final by default dtoh

Because D disallows struct inheritance.


Not strictly necessary, as the exported functions are not marked as virtual (or at least should not be marked), but ensures that the header matches the D semantics.

+111 -106

0 comment

26 changed files

pr created time in 9 hours

pull request commentdlang/dmd

Refactor expressionsem using debug condition

integration with VS

I didn't realize this had anything to do with VS. Can you explain further?

12345swordy

comment created time in 13 hours

pull request commentdlang/dmd

fix 22008 - Add the `.tupleof` property to `enum` declarations

  1. requires to change __traits(getMember), so that it accepts a tuple of string as last argument

Which would simply change the error path to build a tuple instead.

  1. sounds odd because getMember is singular

I don't think that it will cause noticeable confusion.

  1. requires to check each individual string given by the last getMember argument (that means slower than tupleof).

True, but it will also be useful for many other situations - not just EnumMembers. This idea was mostly intended to address Andrea's concerns that .tupleof this is too specialised and might indicate insufficient building blocks for introspection.

Then if the idea is to only accept __traits(allMember) as last getMember argument, e.g not any random AliasSeq of strings, then it is even worst. Because a special case.

Of course not, it should also accept __traits(getMember, Foo, "bar", baz").

.tupleof. is an already existing type property, it will be hard to beat in term of simplicity. Just look at the diff, 3 lines of new DMD code.

Except that it has a different meaning for the other types, as this answer fortunately pointed out .

TungstenHeart

comment created time in 17 hours

push eventdlang/dmd

MoonlightSentinel

commit sha 7722801bdc836a5d176a09a6d48512cfa6bf93e9

dtoh: Use C-style cast for CastExp instead of cast(...) The expression was previously printed via Expression.toChars() which resulted in a D-style cast. Explicitly visiting the parts ensures that it is exported as valid C++ code.

view details

push time in 18 hours

PR merged dlang/dmd

dtoh: Use C-style cast for CastExp instead of cast(...) auto-merge dtoh

The expression was previously printed via Expression.toChars() which resulted in a D-style cast. Explicitly visiting the parts ensures that it is exported as valid C++ code.

+113 -0

1 comment

3 changed files

MoonlightSentinel

pr closed time in 18 hours

pull request commentdlang/dmd

fix 22008 - Add the `.tupleof` property to `enum` declarations

alias EnumMembers(E) = __traits(getMember, E, __traits(allMembers, E));   

This is not as good as .tupleof because that alternative

  1. requires to change __traits(getMember), so that it accepts a tuple of string as last argument
  2. sounds odd because getMember is singular
  3. requires to check each individual string given by the last getMember argument (that means slower than tupleof).

Then if the idea is to only accept __traits(allMember) as last getMember argument, e.g not any random AliasSeq of strings, then it is even worst. Because a special case.

.tupleof. is an already existing type property, it will be hard to beat in term of simplicity. Just look at the diff, 3 lines of new DMD code.

TungstenHeart

comment created time in 18 hours

pull request commentdlang/dmd

dtoh: Use C-style cast for CastExp instead of cast(...)

Thanks for your pull request and interest in making D better, @<!-- -->MoonlightSentinel! We are looking forward to reviewing it, and you should be hearing from a maintainer soon. Please verify that your PR follows this checklist:

  • My PR is fully covered with tests (you can see the coverage diff by visiting the details link of the codecov check)
  • My PR is as minimal as possible (smaller, focused PRs are easier to review than big ones)
  • I have provided a detailed rationale explaining my changes
  • New or modified functions have Ddoc comments (with Params: and Returns:)

Please see CONTRIBUTING.md for more information.


If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment.

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#12681"
MoonlightSentinel

comment created time in 19 hours

PR opened dlang/dmd

dtoh: Use C-style cast for CastExp instead of cast(...) dtoh

The expression was previously printed via Expression.toChars() which resulted in a D-style cast. Explicitly visiting the parts ensures that it is exported as valid C++ code.

+113 -0

0 comment

3 changed files

pr created time in 19 hours

pull request commentdlang/dmd

Refactor expressionsem using debug condition

is not a viable nor feasible alternative

I've been doing it for 40 years. The logging is for other people who are not familiar with dmd intervals as you are here. I wouldn't be doing this if the debug integration with VS isn't very subpar compare to other languages.

12345swordy

comment created time in 19 hours

pull request commentdlang/phobos

Add missing SharedConstInoutOf and refactor QualifierOf

@RazvanN7 Thanks. I think we should have a better procedure for deciding on deprecation, e.g. search github.com and code.dlang.org to assess the level of use of facilities, etc.

andralex

comment created time in a day

pull request commentdlang/dmd

Refactor expressionsem using debug condition

is not a viable nor feasible alternative

I've been doing it for 40 years.

12345swordy

comment created time in a day

pull request commentdlang/dmd

add isFunction_Delegate_PtrToFunction()

Thanks for your pull request, @<!-- -->WalterBright!

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#12680"
WalterBright

comment created time in a day

PR opened dlang/dmd

add isFunction_Delegate_PtrToFunction() Easy Review Refactoring

Another ugly pattern replaced with a function.

+26 -12

0 comment

5 changed files

pr created time in a day

push eventdlang/dmd

Walter Bright

commit sha 68ea58132ae60fcad549f156fd067cb8518131f0

add isPtrToFunction() (#12676)

view details

push time in a day

PR merged dlang/dmd

Reviewers
add isPtrToFunction() Easy Review Refactoring auto-merge

This ugly pattern occurs repeatedly, and doing an optimal version of it is even uglier. Factoring it out into its own function makes it easier to read and mistakes much less likely.

+43 -27

2 comments

10 changed files

WalterBright

pr closed time in a day

pull request commentdlang/dmd

dtemplate.d: remove a bunch of casts

These errors I make doing this simple refactoring is evidence that the old way of casts is too fragile :-/

WalterBright

comment created time in a day

pull request commentdlang/dmd

dtemplate.d: remove a bunch of casts

Thanks for your pull request, @<!-- -->WalterBright!

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#12679"
WalterBright

comment created time in a day

PR opened dlang/dmd

dtemplate.d: remove a bunch of casts Easy Review Refactoring

Because the casts are not very safe.

+30 -30

0 comment

1 changed file

pr created time in a day