Qi Xiao
9361832251
Fixup for #1310
2021-05-31 22:13:24 +01:00
Qi Xiao
641690ed45
Merge branch 'master' into peach-unit-test
2021-05-31 21:33:10 +01:00
Kurtis Rader
9b61cdc727
Be consistent about sync.WaitGroup var naming
...
Also, remove the unused dbStore.Waits() method. This came to my
attention while writing `peach` unit tests.
2021-05-30 00:40:42 +01:00
Kurtis Rader
8a92716bd9
Add test coverage of peach
...
This also documents the behavior of `break` and `continue` when used in
the function passed to `peach`.
Related #1234
2021-05-17 19:28:45 -07:00
Qi Xiao
5eec2c049d
Remove special treatment of the builtin: namespace.
...
This fixes #1227 .
2021-04-08 00:42:58 +01:00
Qi Xiao
196eea21d4
Change module import path to src.elv.sh
2021-01-27 01:30:25 +00:00
Qi Xiao
066b48cfd2
Make all builtin functions and subnamespaces read-only.
...
This fixes #1211 .
2021-01-09 00:41:42 +00:00
Qi Xiao
b77a052e7e
pkg/eval: Make Exception an interface.
...
This change is a preparation step for refining all *Op types to return Exception
as the error.
Keeping Exception as a struct type will make such a change error-prone, since
a (*Exception)(nil) != error(nil), so if an *Op returns a nil *Exception, it
is not nil if the return value is stored in an error-typed variable.
2021-01-08 00:56:45 +00:00
Qi Xiao
2033600881
pkg/eval: Clean up Port related code.
2021-01-05 05:23:17 +00:00
Qi Xiao
9b9a6de2cd
pkg/eval: Cause -> Reason.
2020-09-04 21:04:58 +01:00
Qi Xiao
bb122024dd
pkg/eval: Move test framework into new evaltest package.
2020-09-03 06:51:21 +01:00
Qi Xiao
6dd122107c
pkg: Move multierror.go from util/ to diag/.
2020-09-03 05:12:55 +01:00
Qi Xiao
9b2b33b429
pkg/eval: Move elvdoc comments before the implementations.
2020-08-16 18:46:29 +01:00
Kurtis Rader
3300c81c8b
Document break
, continue
, and return
...
Since `break`, `continue`, and `return` are builtin commands, rather
than language keywords, they should be documented on the builtin module
reference page.
2020-08-04 23:08:41 +01:00
Qi Xiao
1f562505f3
Rework the API for introspecting exception causes.
...
* Use a "type" field to identify the type, instead of predicates in the exc:
module.
* Make the reason values behave more like structmaps, including a Repr that
mimics a map.
This fixes #208 .
2020-06-30 22:27:07 +01:00
Qi Xiao
270c7f230e
pkg/eval: Support passing any value to "fail".
2020-05-31 13:56:59 +01:00
Qi Xiao
92cb80d89a
Support rethrowing an exception with "fail".
...
This fixes #941 .
2020-05-05 00:43:50 +01:00
Qi Xiao
c65e970951
pkg/eval: ComposeExceptionsFromPipeline -> makePipelineError.
2020-04-10 01:25:55 +01:00
Qi Xiao
af6b523e02
pkg/eval: Remove Frame.{eval,Call}.
2020-04-09 21:01:14 +01:00
Qi Xiao
41985123d3
Move all docs for builtins to the Go code.
2020-01-18 08:12:50 -05:00
Qi Xiao
e45fdf7228
Move all libraries to new pkg/.
2019-12-23 20:00:59 +00:00