I know this is going to get philosophical, but here are my thoughts: I think I can get behind the idea that DFDL is a programming language in that it is a series of instructions (like a recipe) that is interpreted by a DFDL processor (like Apache Daffodil), but I wouldn't go so far as to call it an executable in the literal sense. Also the L literally stands for Language. :P
An executable is a binary file that can be run directly by the operating system (OS). An executable can also be a script like a shell script or python script that has special instruction on the first line that indicates the interpreter to use (it always begins with #!). That script also has the execute bit set so the OS knows that the file is intended to be run directly or with the special instruction on the first line, it knows that the file needs to be interpreted by the intended interpreter and it knows how to make that happen by delegating the file to the interpreter for interpretation. XML and JSON files can't be made into such executables because putting a #!/path/to/DFDL_interpreter at the top of the file is not legal for either of these file formats. -Davin On Wed, Oct 23, 2024 at 1:53 PM Roger L Costello <coste...@mitre.org> wrote: > Hi Folks, > > Consider a Windows EXE file. The file is an executable, right? You "run" > the file and something happens. Of course, you must run it with the proper > application, otherwise nothing happens. > > Consider a DFDL schema. When you give it to the proper application--such > as Daffodil--then something happens. If you give it to the wrong > application, nothing happens. > > So a DFDL schema is an executable. Well, perhaps I should not use the word > "executable" as that has a specific meaning, referring to the Microsoft > data format. Instead, let me say that a DFDL schema is a "program" and > Daffodil is an application that runs the program. > > So DFDL is a programming language that we use to write programs (which we > call "DFDL schemas"). Daffodil is an application that runs the programs. > > Do you agree? > > /Roger >