970 Commits
Author SHA1 Message Date
zandGitHub f6f0a83df0 Delete upstream workflows
This fork does not ship upstream's releases, and its hosted-runner jobs
never start here.

Claude-Session: https://claude.ai/code/session_01HuMDfgFssPUptYUzgZ6Cp8
2026-09-24 09:58:54 -07:00
zeekayandHanzo Dev 7fc0117f4f ci: canonical pair — hanzo.yml + forge caller
github.com has no runner for hanzo-build-linux-amd64, so a caller under
.github/workflows is a gate that can never be scheduled. This is the ~7-line
caller on the plane that can (git.hanzo.ai git-runner fleet), pinned @v1.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-06 02:37:56 -07:00
Diego Augusto MolinaandGitHub 6b6df6494c make ast.Node return *nature.Nature (#849) 2025-09-29 11:10:45 +02:00
93c6e39251 Fix #844 alternative 2: do not allow access to unexported struct fields (#846)
* add regression test

* fix #844: disallow direct access to unexported struct fields

---------

Co-authored-by: Anton Medvedev <[email protected]>
2025-09-21 20:58:24 +02:00
Diego Augusto MolinaandGitHub faf4cc4359 Issue 840: Fix get field pointer struct (#843)
* improve issue test

* fix #840: pointer to struct env not returning fields
2025-09-21 20:42:57 +02:00
Anton Medvedev 0bd991a6bf Update README.md 2025-09-18 21:45:44 +02:00
Anton Medvedev 64df7b63f7 Add more tests 2025-09-18 21:39:22 +02:00
a60d994e25 Improve Performance of the Type System (#824)
* export the checker and ensure no methods or fields are exported

* make Checker reusable

* add PatchAndCheck method to Checker, and reuse it in visitors

* avoid unnecessary map and consolidate structs

* make all Nature methods use pointer-receiver

* added cache for type and nature information

* optimize type and nature checks

* more aggressively cache some partial results and add cheap checks

* cache reused values

* reduce copying in Nature by breaking down optional fields

* enforce use of cache

* improve ergonomics of FromType and NatureOf

* improve struct method fetching

* make cache private to Nature

* first iteration improving struct reflect caching

* cleaned up struct fields data

* improve caching of functions data

* simplify checker code

* simplify and remove dead code

* add checker benchmarks

* address PR comments and minor improvements

* rename from SetCache to Bind

* make the benchmarks more fair

* fix benchmark option not being applied

* move Cache to be argument instead of field

* merge FuncData into Optional

* rename Optional to TypeData

* simplify struct logic

* cache builtin numeric types

---------

Co-authored-by: Anton Medvedev <[email protected]>
2025-09-18 14:38:27 +02:00
Andreev FedorandGitHub fd562c5c2a Fix error position reporting in multiline script (#827) 2025-09-08 10:40:52 +02:00
Diego Augusto MolinaandGitHub 98b021a54c Allow backticks to be quoted in string literals (#820)
* allow backticks to be quoted in string literals

* remove redundant empty string
2025-08-28 11:06:51 +02:00
David KlassenandGitHub e5e7961f1f Update README.md (#815)
Add Naoma.AI to the list of companies

Signed-off-by: David Klassen <[email protected]>
2025-07-24 08:29:13 +02:00
Diego Augusto MolinaandGitHub a23efbf4d0 fix VM not clearing memory references when reused (#813) 2025-07-05 13:46:48 +02:00
125b43e22f Fix runtime error not allowing to slice unaddressable array type (#803)
* fix runtime error not allowing to slice unaddressable array type

* simplify logic and move test

* remove dead code

---------

Signed-off-by: Anton Medvedev <[email protected]>
Co-authored-by: Anton Medvedev <[email protected]>
2025-06-30 20:21:25 +02:00
13992b0526 Ignoring fields with struct tag expr:"-" and make "in" return false for unexported fields (#806)
* allow ignoring struct member using a - in expr struct tag

* fix in operator

* simplify logic

* add regression test for #807

* fixes #807: make in operator return false for unexported struct fields

---------

Co-authored-by: Anton Medvedev <[email protected]>
2025-06-30 20:14:08 +02:00
Diego Augusto MolinaandGitHub fefc347053 Improve parser and lexer (#811)
* convert source to a struct and fix minor issue displaying error

* lexer: add byte and char pos

* improve parser to use string instead of []rune

* add lexer benchmarks

* make lexer work as an iterator

* make parser use the new iterator API in lexer

* allow reusing the parser

* cleanup code

* add parser benchmarks
2025-06-30 20:08:46 +02:00
Anton MedvedevandGitHub 037ef3dc3d Add expr.MaxNodes() option (#799)
* Add expr.MaxNodes() option

* Fix error message

* Add more tests and comments
2025-06-03 17:31:46 +02:00
Anton Medvedev b4e9f7d15e Revert "Run diff / bench in parallel"
This reverts commit 067d1c564e.
2025-05-27 12:39:33 +02:00
Anton Medvedev 917cce7ae3 Revert "Fix diff.yml"
This reverts commit ef2c185ffc.
2025-05-27 12:39:33 +02:00
Anton Medvedev ef2c185ffc Fix diff.yml 2025-05-27 12:34:11 +02:00
Anton Medvedev 067d1c564e Run diff / bench in parallel 2025-05-27 12:22:06 +02:00
483e066175 Add check for non struct types to fetchField (#794)
Co-authored-by: yigitkanbalci <[email protected]>
2025-05-27 12:13:35 +02:00
Vincent BernatandGitHub c76a6cf3e8 Do not repeat patcher definition in ExamplePatch() (#792)
I suppose at some point, godoc was not smart enough to display the
definitions used in the body of examples in the documentation. This is
not the case anymore: https://pkg.go.dev/github.com/expr-lang/expr#example-Patch
2025-05-26 10:03:53 +02:00
2pacandGitHub 9e10dcd6b4 fix(785): get to work when return is nil (#786)
* fix(785): `get` to work when return is `nil`

* improve testing
2025-05-12 18:32:48 +02:00
Anton MedvedevandGitHub 5f9f6bb4b6 Update test.yml 2025-03-28 15:50:33 +01:00
Anton MedvedevandGitHub 9b2c9a7754 Remove gotestfmt 2025-03-28 15:49:42 +01:00
Anton MedvedevandGitHub 4122462d3a Update test.yml 2025-03-28 15:48:24 +01:00
Anton MedvedevandGitHub 514b7ec2d0 Update gotestfmt 2025-03-28 15:45:20 +01:00
Anton MedvedevandGitHub 99633081b5 Add gotestfmt 2025-03-28 15:43:54 +01:00
Anton MedvedevandGitHub 452d355706 Make expr.Eval faster (#775)
* Make expr.Eval faster

* Add bench_call_test.go

* Make parser config optional
2025-03-24 14:48:41 +01:00
Anton Medvedev 85fa77e98b Refactor examples tests 2025-03-24 12:01:07 +01:00
Anton Medvedev 564822e8f3 Add examples testing 2025-03-21 18:09:09 +01:00
Anton Medvedev 61219e089c Update examples.txt 2025-03-19 15:29:59 +01:00
Anton Medvedev 69512cb435 gen: fix 2025-03-19 12:32:26 +01:00
Anton Medvedev d179a6e5c5 gen: fix predicate generator 2025-03-19 12:32:03 +01:00
Anton Medvedev 3289edf207 gen: less string vars 2025-03-18 23:57:51 +01:00
Anton Medvedev d79a97301c gen: add $env 2025-03-18 23:54:38 +01:00
Anton Medvedev 22d50fd301 gen: add vars 2025-03-18 23:45:05 +01:00
Anton Medvedev 6a0a8f1ba5 gen: simplify search 2025-03-18 23:38:28 +01:00
Anton Medvedev 1e7796412f gen: use all cpus 2025-03-18 23:20:00 +01:00
Anton Medvedev ab2c230eaf Refactor random code get 2025-03-18 23:08:02 +01:00
Anton MedvedevandGitHub d5f9c1bf84 Fix parsing of variable declaration nodes combined with sequence node (#773)
Fixes #772
2025-03-18 10:49:13 +01:00
Anton Medvedev 99e8ef04a5 Update docs 2025-03-17 14:28:04 +01:00
Anton MedvedevandGitHub 3c678df33f Update SECURITY.md 2025-03-17 10:10:42 +01:00
Anton Medvedev 6335202087 Update language-definition.md 2025-03-16 10:35:06 +01:00
Anton Medvedev e0c6fdc9b9 Code style: remove repeated helper functions 2025-03-15 16:41:40 +01:00
2pacandGitHub 0f20d93e5a chore: Added SOLO to the companies list (#769)
Signed-off-by: 2pac <[email protected]>
2025-03-13 14:10:14 +01:00
Anton Medvedev 8aaa33b16e Test for issue 756
Fixes #756
2025-03-10 15:00:21 +01:00
Anton Medvedev 31f0ab00dc Remove duplicated dereferences 2025-03-10 13:52:54 +01:00
Anton Medvedev 6022ffd21d Add support deref in all builtins 2025-03-10 13:38:02 +01:00
Anton Medvedev cd0943453d Remove print 2025-03-09 23:39:16 +01:00