koatl 0.1.28__tar.gz → 0.1.29__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {koatl-0.1.28 → koatl-0.1.29}/Cargo.lock +1 -1
- {koatl-0.1.28 → koatl-0.1.29}/PKG-INFO +1 -1
- {koatl-0.1.28 → koatl-0.1.29}/koatl/Cargo.toml +1 -1
- {koatl-0.1.28 → koatl-0.1.29/koatl}/python/koatl/prelude/functional/algebra.tl +1 -0
- {koatl-0.1.28 → koatl-0.1.29/koatl}/python/koatl/prelude/functional/list.tl +3 -3
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/parser/src/parser.rs +15 -2
- {koatl-0.1.28/koatl → koatl-0.1.29}/python/koatl/prelude/functional/algebra.tl +1 -0
- {koatl-0.1.28/koatl → koatl-0.1.29}/python/koatl/prelude/functional/list.tl +3 -3
- {koatl-0.1.28 → koatl-0.1.29}/Cargo.toml +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/README.md +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/.github/workflows/CI.yml +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/.gitignore +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/LICENSE +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/README.md +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/__init__.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/__main__.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/cli.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/notebook/__init__.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/notebook/magic.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/prelude/__init__.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/prelude/functional/__init__.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/prelude/functional/async.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/prelude/functional/async_util.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/prelude/functional/memo.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/prelude/functional/reader.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/prelude/functional/result.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/prelude/iterable.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/runtime/__init__.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/runtime/classes.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/runtime/helpers.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/runtime/meta_finder.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/runtime/record.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/python/koatl/runtime/virtual.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/requirements.txt +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/src/emit_py.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/src/lib.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/coal.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/containers.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/decorators.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/destructure-for-and-fn.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/destructure.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/escape_ident.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/fstr.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/functions.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/generator.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/if_expr.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/imports.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/loops.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/match.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/nary-list.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/placeholder.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/precedence.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/record.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/scopes.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/semantic_whitespace.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/base/short_circuit.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/destructure.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/prelude/async.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/prelude/aug_assign.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/prelude/iterables.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/prelude/list.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/prelude/memo.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/prelude/reader.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/prelude/result.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/prelude/slice.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/prelude/try.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/prelude/virtual.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/util/__init__.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/util/module0.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/util/module1.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/e2e/util/module2.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/parse/arith.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/parse/assign.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/parse/block-comments.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/parse/deco.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/parse/func.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/parse/matches.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/test_e2e.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl/tests/test_parse.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/Cargo.toml +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/parser/Cargo.toml +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/parser/src/ast.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/parser/src/lexer.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/parser/src/lib.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/parser/src/util.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/parser/tests/lexer.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/src/inference.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/src/lib.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/src/main.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/src/parse_timer.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/src/parser.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/src/py/ast.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/src/py/emit.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/src/py/mod.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/src/py/util.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/src/resolve_scopes.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/src/transform.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/src/types.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/koatl-core/src/util.rs +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/pyproject.toml +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/__init__.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/__main__.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/cli.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/notebook/__init__.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/notebook/magic.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/prelude/__init__.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/prelude/functional/__init__.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/prelude/functional/async.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/prelude/functional/async_util.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/prelude/functional/memo.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/prelude/functional/reader.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/prelude/functional/result.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/prelude/iterable.tl +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/runtime/__init__.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/runtime/classes.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/runtime/helpers.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/runtime/meta_finder.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/runtime/record.py +0 -0
- {koatl-0.1.28 → koatl-0.1.29}/python/koatl/runtime/virtual.py +0 -0
|
@@ -6,9 +6,9 @@ import ..iterable.Iterable
|
|
|
6
6
|
export List = class(Monad):
|
|
7
7
|
bind_once = (self, f) =>
|
|
8
8
|
raise NotImplementedError(
|
|
9
|
-
"
|
|
10
|
-
"due to generator limitations. "
|
|
11
|
-
"Wrap in Ok to use the
|
|
9
|
+
"List may not be bound using @ "
|
|
10
|
+
"due to generator limitations. "
|
|
11
|
+
"Wrap in Ok to use the Result monad."
|
|
12
12
|
)
|
|
13
13
|
|
|
14
14
|
bind = (self, f) => List(self.flat_map(f))
|
|
@@ -795,9 +795,8 @@ where
|
|
|
795
795
|
))
|
|
796
796
|
.boxed();
|
|
797
797
|
|
|
798
|
-
let
|
|
798
|
+
let other_literal = select! {
|
|
799
799
|
Token::Num(s) => Literal::Num(Cow::Borrowed(s)),
|
|
800
|
-
Token::Str(s) => Literal::Str(Cow::Owned(s)),
|
|
801
800
|
Token::Bool(s) => Literal::Bool(s),
|
|
802
801
|
Token::None => Literal::None
|
|
803
802
|
}
|
|
@@ -805,6 +804,20 @@ where
|
|
|
805
804
|
.labelled("literal")
|
|
806
805
|
.boxed();
|
|
807
806
|
|
|
807
|
+
let literal_str = select! {
|
|
808
|
+
Token::Str(s) => s
|
|
809
|
+
}
|
|
810
|
+
.repeated()
|
|
811
|
+
.at_least(1)
|
|
812
|
+
.collect::<Vec<_>>()
|
|
813
|
+
.map_with(|x, e| Literal::Str(Cow::Owned(x.join(""))).spanned(e.span()))
|
|
814
|
+
.labelled("string-literal")
|
|
815
|
+
.boxed();
|
|
816
|
+
|
|
817
|
+
let literal = choice((literal_str, other_literal))
|
|
818
|
+
.labelled("literal")
|
|
819
|
+
.boxed();
|
|
820
|
+
|
|
808
821
|
let literal_expr = literal
|
|
809
822
|
.clone()
|
|
810
823
|
.map(Expr::Literal)
|
|
@@ -6,9 +6,9 @@ import ..iterable.Iterable
|
|
|
6
6
|
export List = class(Monad):
|
|
7
7
|
bind_once = (self, f) =>
|
|
8
8
|
raise NotImplementedError(
|
|
9
|
-
"
|
|
10
|
-
"due to generator limitations. "
|
|
11
|
-
"Wrap in Ok to use the
|
|
9
|
+
"List may not be bound using @ "
|
|
10
|
+
"due to generator limitations. "
|
|
11
|
+
"Wrap in Ok to use the Result monad."
|
|
12
12
|
)
|
|
13
13
|
|
|
14
14
|
bind = (self, f) => List(self.flat_map(f))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|