FHIR Chat · Engine or Interpreter? · fhirpath

Stream: fhirpath

Topic: Engine or Interpreter?


view this post on Zulip Paul Lynch (Jul 23 2018 at 15:23):

Something that processes a non-compiled language is (in my experience) usually referred to as an interpreter. However, I see that Bryn and at least one other person like to refer the thing processing FHIRPath as an "engine". I am curious as to why that is and what the implications are.

view this post on Zulip Bryn Rhodes (Jul 23 2018 at 15:47):

Since there is an intermediate representation for CQL (ELM), I typically refer to the processor that actually runs the ELM as an engine (as opposed to translating it to something like SQL or Drools and running it there).

view this post on Zulip nicola (RIO/SS) (Jul 23 2018 at 15:48):

We can start from interpreter - then switch to compiler later (similar to https://github.com/epoberezkin/ajv)

view this post on Zulip nicola (RIO/SS) (Jul 23 2018 at 15:49):

engine is for engineers - we are programmers :)

view this post on Zulip Grahame Grieve (Jul 23 2018 at 22:24):

I treat FHIRPath as sem-compiled. I have a native format that I 'compile' to, which is kind of like ELM, and then the 'engine' works on that. It's logically equivalent to a JVM

view this post on Zulip Ewout Kramer (Jul 24 2018 at 07:07):

Same for the .NET implementation - though it is even more of a compiler since it translates a FHIRPath expression into a callable function...

view this post on Zulip Paul Lynch (Jul 24 2018 at 15:33):

I really like that Bryn just called it a "compiler/interpreter/engine/processor"-- very accommodating of all viewpoints. That's what we should use everywhere. :-) I guess I will just stick to calling it an engine, which I see is what is already in the documentation at http://hl7.org/fhirpath/.


Last updated: Apr 12 2022 at 19:14 UTC