# Interface IExternalExpressionsCompiler OptimaJet.Workflow.Core.CodeActions.IExternalExpressionsCompiler Compiles a workflow expression into an asynchronous function. Namespace: [OptimaJet.Workflow.Core.CodeActions](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.CodeActions/) ```csharp public interface IExternalExpressionsCompiler ``` ## Methods `Func> Compile(ExpressionCompilationRequest request)` Compiles the expressions in the request without reading process values. ### Parameters | Name | Type | Description | | --- | --- | --- | | `request` | `ExpressionCompilationRequest` | Source expressions, their prepared form, and compilation context. | ### Returns | Type | Description | | --- | --- | | `Func>` | A non-null function that receives the current process instance on each call. | ## Remarks Core can call Compile concurrently. Implementations must not execute the returned function during compilation. Throw an exception to reject an expression. Core does not retry with the built-in compiler or use the text as a literal. This interface does not isolate code or limit its execution. [Previous IExternalCompiler](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.CodeActions/IExternalCompiler/) [Next RegexPattern](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.CodeActions/RegexPattern/)