What's everyone working on this week (16/2017)?


#1

New week, new Rust! What are you folks up to?


#2

Going to give the date datatype in elastic_types some love and add support for date math and ranges.


#3

Pushed a whole bunch of tests to uom that I have been working on the last couple weeks. Coverage up to 99 %! This week I’m hoping to push a new version to crates.io and contribute a metric benchmark.


#4

Over the weekend I blew the dust off my first rust project and started adding new features. I applied some of what I’ve learned recently and more than doubled the throughput. Once I’m finished with the new feature I’m going to benchmark it against the original C implementation to see how it compares.


#5

Rounded off the evaluation steps in lichen so it is used more like an iterator, and also came up with an example.

Example’s rust src
Example’s lichen src

I’d like a more convenient way to implement a field lookup. Right now in lichen source you would:

if 'items.gloves-of-dragon-scale ...

and in rust you would have to implement this accessor

let lookups: Vec<&str> = lookup.split_terminator('.').collect();
match lookups[0] {
    "items" => {
        Some(self.items.contains_key(lookups[1]).into())
    },
     _ => None,
}

Also it’s likely I’ll be implementing a module system to tie multiple dialogue graphs together.
Another todo is to be able to easily control flow on dialogue interaction, so one could write a single node that basically pauses on interaction-- something akin to:

emit "Would you like to inquire about Dragonscale Gloves?"
yield  # await some input
if state.inquires [  # consider internal state of node
    "The age of Dragonscale ..."
    "It's rarity is unsurpassed, the ..."
]

Perhaps there is a better way to lay that out without scattering yields/awaits everywhere. There is also this temptation to start providing ways to set any state within a node, but I’m holding back on that for now.