IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Haven't seen one but ...
Note that since you aren't using them as syntax you could name your operations with traditional operator characters

if (cmp(a,">",10)

becomes

if (>(a, 10)

Or you could use > as a constant and have

if (cmp(a, >, 10)

Also, I assume from your example you are treating linefeeds as commas in a parameter list (with trailing linefeeds in a parameter list being ignored)? Or would it be more consistent to separate the statements with commas and ignore linefeeds?

And how would you do a if/else? Require a 'block' function in your if function?

if(>(a, 10), block( ... code here ... ), block( ... code here ... )),

Or did I just reinvent lambda?

PS: Turn
// comment
into
rem("comment")
and you could have some kind of runtime comment processing

I should really go to sleep now.



--
Chris Altmann
New good suggestions, but.....
>> if (cmp(a,">",10) becomes if (>(a, 10)
<<

I think I am too used to thinking infix. Besides I might later "evolve" it to a more conventional approach, and don't want to shuffle the ordering as much.

I am not trying to fully optimize the syntax here (just yet), only make the langage simple to compile/parse. Those issues don't really affect the key elements of what I am trying to demo.

>> Also, I assume from your example you are treating linefeeds as commas in a parameter list <<

No, parameters would be based on spaces. If there are embedded spaces, then quotes are required. It would roughly follow LISP conventions.

>> And how would you do a if/else? Require a 'block' function in your if function? if(>(a, 10), block( ... code here ... ), block( ... code here ... )), <<

I am working on that issue. I have a different approach in mind, but have to check it more carefully. It sort of merges IF's and CASE statements.


>> PS: Turn // comment into rem("comment") <<

Too much typing. I will just let a preprocessor remove/ignore anything after //.

________________
oop.ismad.com
New Haskell
In Haskell, any function can be prefixed or infixed. This is a nice feature when you start doing folds and generators. The syntax goes along the lines of:

mod 14 3

is the same as:

14 `mod` 3

The backquotes are used for the purpose of infixing a function.
     Language with syntax like command(params) ? - (tablizer) - (30)
         Most existing languages have that syntax: C, Pascal, Java... -NT - (CRConrad) - (21)
             I think you are missing my point - (tablizer) - (20)
                 Haven't seen one but ... - (altmann) - (2)
                     good suggestions, but..... - (tablizer) - (1)
                         Haskell - (ChrisR)
                 Isn't it obvious that that's fscking styoopid?!? -NT - (CRConrad) - (3)
                     CRC: Not Delphi == Stupid - (tablizer) - (2)
                         It appears to be a different way to do things - (orion) - (1)
                             are you being a meanee? - (tablizer)
                 Syntax is syntax. - (admin) - (2)
                     complex? - (tablizer) - (1)
                         Simple. - (a6l6e6x)
                 Why? - (ChrisR) - (8)
                     not the full story - (tablizer) - (7)
                         Not a contest with Lisp - (ChrisR) - (6)
                             Guessing but... - (Fearless Freep) - (5)
                                 I doubt it... - (ChrisR) - (4)
                                     not true - (tablizer)
                                     Yes, he's been vocal - but then, he wasn't writing a parser! -NT - (CRConrad) - (2)
                                         A "walk a mile in another's compiler" argument? - (tablizer) - (1)
                                             (addendum) - (tablizer)
                 (minor correction) - (tablizer)
         Interesting idea. - (static)
         TCL? - (Arkadiy)
         Name your arguments - (tuberculosis) - (5)
             not sure I fully agree - (tablizer) - (4)
                 Limitation is in your head - (tuberculosis) - (3)
                     Software engineering is all about our heads - (tablizer) - (2)
                         No - (tuberculosis) - (1)
                             not necessarily "ordered" - (tablizer)

Ben "I make grown men want to slit their wrists" Tilly.
221 ms