Taine Zhao

Results 119 issues of Taine Zhao

The following uses are trivial to fix. They are only to evaluate the type representation from global scope. https://github.com/thautwarm/MLStyle.jl/blob/2b7f0a7be19462ea741389266d5c3e04ead21409/src/MatchImpl.jl#L172 https://github.com/thautwarm/MLStyle.jl/blob/2b7f0a7be19462ea741389266d5c3e04ead21409/src/MatchImpl.jl#L215 https://github.com/thautwarm/MLStyle.jl/blob/2b7f0a7be19462ea741389266d5c3e04ead21409/src/MatchImpl.jl#L228 https://github.com/thautwarm/MLStyle.jl/blob/2b7f0a7be19462ea741389266d5c3e04ead21409/src/MatchImpl.jl#L237 https://github.com/thautwarm/MLStyle.jl/blob/2b7f0a7be19462ea741389266d5c3e04ead21409/src/MatchImpl.jl#L241 This one needs to expand macros, so...

Target: dumping generated ASTs to source code, mainly for MLStyle.jl's bootstrapping, but also suitable for removing the dependencies of macro packages like MLStyle.jl and Rexport.jl from your package. The implementation...

0.5 is 1.0/2! I propose the following features: 1. Improve documentations. Years later, I've finally learned about technical writing! 2. Bootstrap MLStyle with MLStyle, the distributed code will contain NO...

Expanding `@active` gets you a block including an overload of `MLStyle.pattern_uncall`. This can be just eliminated when generating zero-dependency code.

MLStyle is currently implemented using `src/MatchCore.jl`, where the latter is a small and limited pattern matching implementation. It is responsible for a major part of the code latency: expanding `MatchCore`-macros...

I've already made a comparison between MacroTools.jl and MLStyle.jl, and the latter seems to be 3 times faster in `dev` branch with 1/5 space cost and 5 times faster in...

propaganda

The docs are now considered quite unreadable for new users without Meta Language experience. It could be better to have some - cheatsheets - example projects(up-to-date MLStyle-Playground) - FAQ

```julia @active Re{r::Regex}(x) begin match(r, x) # Union{RegexMatch, Nothing} end ``` when matching with pattern `F` with 1 argument: ```julia @match "string" begin Re{r"\d+"}(res) => ... Re{r"\d[a-z]*"}(res) => ... ```...

```julia @ext.+ [ext.pattern_matching(case)] begin case(value) do (a, b) => a + b (a, b, c) => a + b + c _ => 0 end end @ext.define my_common_extensions [ext.pattern_matching(case)] @ext.+...

enhancement
core