Andrei Alexandrescu:

http://www.reddit.com/r/programming/comments/1fv4zx/dconf_2013_day_2_talk_6_higgs_an_experimental_jit/

A nice talk. Some comments on the slides:

------------------------

Slide 34:

- If you know C++, you can write D code
- Similar enough, easy adaptation
- Slightly less verbose

If you write functional-style D code that uses UCFS a lot, the code is different from the usual C++ code and much shorter (and slower).

------------------------

Slide 53:

Needed template with list of integer arguments

I agree that arrays as template arguments is a natural enhancement for D.

------------------------

Slide 57:

Unit Tests Blocks
- Don't support naming unit tests
- Failing tests not reported at the end
- The main function is still called normally
  Higgs starts a REPL by default
- No way to select which tests are run
- Tempted to write our own framework

I agree that in the built-in unittests some essential features are missing.

------------------------

Slide 58:

static this()
{
    codeGenFns[&SET_TRUE]       = &gen_set_true;
    codeGenFns[&SET_FALSE]      = &gen_set_false;
    codeGenFns[&SET_UNDEF]      = &gen_set_undef;
    codeGenFns[&SET_MISSING]    = &gen_set_missing;
    codeGenFns[&SET_NULL]       = &gen_set_null;
...
}

==>

static this()
{
    codeGenFns = [&SET_TRUE:    &gen_set_true,
                  &SET_FALSE:   &gen_set_false,
                  &SET_UNDEF:   &gen_set_undef,
                  &SET_MISSING: &gen_set_missing,
                  &SET_NULL:    &gen_set_null,
    ...];
}

(That associative array can even be generated with a string mixin, if there's enough RAM).

------------------------

Slide 64:

Precompile most library code used in CTFE

Where to put such compiled code?

------------------------

Slide 67:

- D integer types have guaranteed sizes, but
  they're not obvious from the name
- Why not have int8, uint8, int32, uint32, etc. in
  default namespace, encourage their use?

I agree. It's hard to guess the size and signedness of types as byte, ubyte, wchar, dchar. I prefer names that are more clear.

Bye,
bearophile

Reply via email to