# partial_eval_expressions

URL: /kida/api/compiler/partial_eval_expressions/
Section: compiler
Description: Expression-tree simplification for partial evaluation.

---

> For a complete page index, fetch /kida/llms.txt.

Open LLM text
(/kida/api/compiler/partial_eval_expressions/index.txt)

Share with AI

Ask Claude
(https://claude.ai/new?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fkida%2Fapi%2Fcompiler%2Fpartial_eval_expressions%2Findex.txt)

Ask ChatGPT
(https://chatgpt.com/?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fkida%2Fapi%2Fcompiler%2Fpartial_eval_expressions%2Findex.txt)

Ask Gemini
(https://gemini.google.com/app?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fkida%2Fapi%2Fcompiler%2Fpartial_eval_expressions%2Findex.txt)

Ask Copilot
(https://copilot.microsoft.com/?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fkida%2Fapi%2Fcompiler%2Fpartial_eval_expressions%2Findex.txt)

Module

#
`compiler.partial_eval_expressions`

Expression-tree simplification for partial evaluation.

1Class

## Classes

`ExpressionTransformMixin`

4

▼

Partial-evaluator phase for recursively simplifying expressions.

Partial-evaluator phase for recursively simplifying expressions.

#### Methods

Internal Methods
4

▼

`_try_eval`

2

`Any`

▼

Evaluate an expression against the current static context.

abstract

`def _try_eval(self, expr: Expr, depth: int = 0) -> Any`

##### Parameters

Name
Type
Description

`expr`
`—`

`depth`
`—`

Default:`0`

##### Returns

`Any`

`_transform_expr`

1

`Expr`

▼

Replace resolvable expressions and simplify their children.

`def _transform_expr(self, expr: Expr) -> Expr`

##### Parameters

Name
Type
Description

`expr`
`—`

##### Returns

`Expr`

`_transform_boolop`

1

`Expr`

▼

Partially simplify a boolean operation with static operands.

`def _transform_boolop(self, expr: BoolOp) -> Expr`

##### Parameters

Name
Type
Description

`expr`
`—`

##### Returns

`Expr`

`_transform_condexpr`

1

`Expr`

▼

Collapse a conditional expression when its test resolves.

`def _transform_condexpr(self, expr: CondExpr) -> Expr`

##### Parameters

Name
Type
Description

`expr`
`—`

##### Returns

`Expr`
