Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^2: Writing a Programming Language in Perl

by anneli (Pilgrim)
on Oct 25, 2011 at 22:03 UTC ( #933715=note: print w/ replies, xml ) Need Help??


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

As a humble monk I just wish to point out, it is not a function of Perl to create a New language as it is one itself.

If this was true, then what would you make a new language in?

We have only the languages we currently possess in which to make new ones.


Comment on Re^2: Writing a Programming Language in Perl
Re^3: Writing a Programming Language in Perl
by ikegami (Pope) on Oct 25, 2011 at 22:29 UTC
    Don't you know? Languages were created fully-formed by the divine! ;)
Re^3: Writing a Programming Language in Perl
by Fieldrunner (Initiate) on Oct 26, 2011 at 00:10 UTC

    anneli,

    I am sure others are more sage, 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.

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

    Perl Programming is so more rewarding than SUDOKU, its $var is only (1..9)

      The argument quickly becomes: if you wrote it in Perl it would still be C. A language is just a set of grammar, instructions, and symbols. At what level it reaches the processor is something of an implementation detail really. Witness the various flavors of Perl 6 so far. A language with a specification is a language whether or not it's entirely translated from the written page to something executable outside a developer's brain.

      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.

        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.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (6)
As of 2014-09-16 05:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (156 votes), past polls