Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Building a new proper left-to-right executing programming language

Building a new proper left-to-right executing programming language

Scheduled Pinned Locked Moved The Lounge
question
43 Posts 23 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E englebart

    You can already read this right to left. "=" is read as "is assigned to" not "equals". duh!

    x = a + 12

    Could be read as

    12 added to a is assigned to x

    Or left to right:

    x is assigned a added to 12

    Is your language going to support order of operations that follow neither direction?

    N Offline
    N Offline
    Nikunj_Bhatt
    wrote on last edited by
    #41

    englebart wrote:

    x is assigned a added to 12

    You wrote in English. It is like passive voice. Instead of "I have done this" you are writing "It has been done by me". If we write x = a + 12, it can be understood like this: (1) create a variable "x" (allocate memory), (2) add value of the variable "a" to 12 (store the sum somewhere in memory), (3) store the sum in variable "x". If we write a + 12 = x (OR a + 12 -> x), it can be understood like this: (1) add the value of variable "a" to 12 (store the sum somewhere in memory), (3) Create a variable "x" (allocate memory), (4) store the sum in variable "x". In the first approach, it is like - the system is allocating memory first without knowing the result. In the second approach, it is like - the system is first determining the result and then allocating memory according to the result. This second approach looks more logical way of executing and writing code. I think, the 1st approach is suitable to programming languages of .NET, C based, Java, etc. where variables needed to be defined before assigning values; while the 2nd approach is suitable for languages like JavaScript, PHP, etc. where variables can be defined/initialized anywhere in the code.

    1 Reply Last reply
    0
    • M mischasan

      Or use a good one, already invented. POP-2 - Wikipedia[^] With lambdas, managed mem, closures (full and partial), user-defined operators, user-defined setter functions, functions with multiple results, incremental compiler ... And with alternative ltr syntaxes: `f(a,b) ->x ->y` or `a; b.f() ->x ->y`

      N Offline
      N Offline
      Nikunj_Bhatt
      wrote on last edited by
      #42

      Wow! That's what I am talking about. It seems very much similar to my idea of a proper logical programming language. Thank you. :thumbsup:

      1 Reply Last reply
      0
      • N Nikunj_Bhatt

        Most of spoken languages are written LtR (Left-to-Right) but Maths, the number language, is actually written RtL because the decimal numbers are Arabic numerals. (I know, most will get surprised, but it's true about Maths RtL direction.) But somehow the RtL and LtR languages got mixed up. Instead of writing

        x = a + 12

        how about changing it to

        a + 12 = x

        So, what are your views on creating a new programming language which follows proper LtR execution? Is there already such language? (Please, just don't remind me that there are already lots of programming languages (I know already) and I must not (try to) create one more. :) )

        G Offline
        G Offline
        Greg Lovekamp
        wrote on last edited by
        #43

        In mathematical language, right-to-left or left-to-right is inconsequential pertaining to an equal sign due to complete commutativity law of equivalence.

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • World
        • Users
        • Groups