Skip to content

Modular PrimOps #64

Open
Open
@andorp

Description

@andorp

The GRIN frontends should not depend on the built-in evaluation of the primitive operations. Currently we are able to define the ffi and primitive operations, but their interpretation are still tied to the Reducer.Eval, Reducer.LLVM.CodeGen modules.

The use case: I as a frontend developer, want to create my own primitive operations which suits the best to the compiler I work on. To do that, I have to define the set or primitives. Those primitives configured in the ffi/pure section in my GRIN prelude.

Stages:

  1. I would like to add their implementation to the Pure Evaluator to get the semantics right.
  2. Implement my primitive operations in the prim_ops.h / prim_ops.c which are linked during the executable generation phase
  3. Extend the LLVM codegen which my implementation for the primitives in a modular/pluginable way.

Metadata

Metadata

Labels

proposalA suggestion on how to improve the compiler

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions