Benjamin Bannier

Results 155 issues of Benjamin Bannier

I am trying to extract a `bytes` until a potentially multi-byte pattern is seen or up to EOD, i.e., the delimiter is optional. This seems harder than needed - it...

Enhancement

We currently support decoding `bytes` as ASCII or UTF8 strings. We should consider adding support for decoding to UTF16 as well. For decoding as UTF8 we currently use JuliaStrings/utf8proc. For...

Enhancement

The Spicy driver currently contains [code](https://github.com/zeek/spicy/blob/ca72a01484a7c49f2de55fb8b8af631fdc0d6d42/hilti/toolchain/src/compiler/driver.cc#L704-L712) which with `skip_dependencies` causes use to implicitly add unit dependencies for the JIT step. This behavior can be disabled by passing `--skip-dependencies` on the...

Cleanup

When using `&try` on a field of a basic type (i.e., not a unit type), it seems backtracking is not working correctly. I would e.g., expect the following to work,...

Bug

It seems that for huge grammars (hundreds of units, thousands of LOC) JIT throughput can be very slow. We should benchmark such grammars to make sure we are not behaving...

Enhancement
Compiler

We have an existing benchmarking harness in [zeek/spicy-aux](https://github.com/zeek/spicy-aux/tree/main/bench), but since we did not persist that information it was hard to extract useful information out of that. Additionally, our benchmarks largely...

Testing / CI / Release

We currently do not seem to explicitly document the syntax for `map` iteration. We should add something like that the type documentation for the `map` type (and might also do...

Documentation

We currently use the attribute `&requires-type-feature` on function arguments to notify the optimizer that use of the function introduces a feature requirement on the arg type. The optimizer takes this...

Optimizer

The initial implementation of error recovery with #1054 did not add code which can recover from a gap of known size. Such a gap could come e.g., from Zeek via...

Enhancement

We currently do not allow the use of `&synchronize` on unit switch fields, e.g., the following is not possible: ```ruby public type X = unit { switch { -> a:...

Enhancement