http://www.perlmonks.org?node_id=933766


in reply to Re^3: Writing a Programming Language in Perl
in thread Writing a Programming Language in Perl

Hi Fieldrunner;

I believe that if you write in a language you create an application or program. So not matter what you wrote in Perl it would still be Perl.

Your program is in Perl, yes. But not the code written in the language your Perl program is interpreting or compiling. Everything is written in something else.

I believe you would need to create a new compiler with or without a scripting interface to pass instructions directly to the processor.

This isn't how Perl is done, so how can you call it a language? :D Nothing passes instructions to the processor these days; even C goes through several transformations before it becomes assembly, and then even assembly is transformed (not trivially!) to opcodes.

The truth is, these are all just implementation details. It doesn't matter how the language interpretation takes place; only how it is interpreted semantically—i.e. what meaning you give to it.

  • Comment on Re^4: Writing a Programming Language in Perl

Replies are listed 'Best First'.
Re^5: Writing a Programming Language in Perl
by ikegami (Patriarch) on Oct 26, 2011 at 07:13 UTC

    Everything is written in something else

    Well, C is written in C. And I think Perl6 is written in Perl6.

    This is done through a process called "bootstrapping". Basically, once one's compiler is sufficiently implemented in some language, one can port the compiler to the language it compiles. At that point, the original source is no longer needed; the previous version of the compiler can be used to build the next.

      Ah, yes; well, it seemed best to neglect that detail at this level, but you raise an important exception to this rule.