Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re^4: Writing a Programming Language in Perl

by anneli (Pilgrim)
on Oct 26, 2011 at 01:24 UTC ( #933766=note: print w/replies, xml ) Need Help??

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.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://933766]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2022-05-23 12:23 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (82 votes). Check out past polls.