1. Re: Py

Hi, David,

>> I just could not resist the temptation, I had
>> a *quick* look at your Py. Very, very nice indeed.
>> So nice in fact, it's discouraging as far as my
>> own project is concerned...
>
> so steal from what i've coded, and do your own version. the core of
> euphoria is already there, so it's not that hard to add your own
> features.
>
> if you're really that discouraged, just harass me into adding the
> features you want, and i'll try to get them in.

Now you sound just like Microsoft. I promise you are not getting rid
of your competition that easily. ;)


>> Just one thing I do not really like, you clearly
>> said 'return must always return a value'.

> the sad reason for this is because my grammar is stupid. the first
> pass of the language limited statements to a single line. this
> allowed the parser to understand the difference between:
>
>    return '\n'
>
> and
>
>    return Expr '\n'
>
> the current incarnation treats newlines as whitespace. as a result,
> if you wrote this:
>
>    return
>    a = 12
>
> the parser doesn't know if you mean that, or:
>
>    return a = 12
>
> rather than write some complex hack into the parser, i just set it
> so you always pass a value back with return.
>
> here's the key: unlike euphoria (but like c), py allows you to
> ignore the return value. <snip>

Well, I am not sure what's a more complex hack. I suspect the real
culprit is the Euphoria's return statement. It comes from the same
stable as the infamous '?' print shorthand I mentioned earlier. It
also has what I would call a 'dangling' argument. If you change return
into return(), the problems disappear.

> did this answer the question?

Which one?  (- Just kidding.)


Last night I did not play tennis, I elected to give my knee a chance
to recover, and it already feels better. I did a bit of surfing and a
bit of thinking, no coding. I was wondering what would be the best use
of colons (:). (This kind of stupid, greedy thinking stems from
decades spent designing bridge systems, using minimal vocabulary
within a severely restricted space.) You suggested vertical slicing.
That would be cute, but I suspect quite unnecessary. I decided I'll
use them to sugar-coat my favorite data type: lists, associative
arrays. Imagine (using my list.e)

    w = width:box
    x:box = 100

instead of

    w = fetch(box, "width")
    box = store(box, "x", 100)

and for nested lists:

    a = age:jiri:euphorians
    country:jiri:euphorians = "Aotearoa"

instead of

    a = Fetch(euphorians, {"jiri", "age"})  -- the answer is 59
    euphorians = Store(euphorians, {"jiri", "country"}, "Aotearoa")

What do you think? Btw, I never heard you say 'associative lists'.
Why? A lot of people, including me, seem to think, they could solve
almost all world's problems (Robert's line :)).

jiri

new topic     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu