# Enchilada: the new kid on the block.

## r_v_dalen — 2006-09-01 07:45:54

    I've recently started a blog explaining the details of a new concatenative language

    Enchilada.

    Here are some statements to give you a taste of Enchilada:

    - There are only two (sequence) types: expressions and lists.

    - Expressions can be reduced at any level.

    - Numbers follow naturally from lists.

    Enchilada's most powerful operators are de-solve (!) and mul (*). Joy's quotations are not

    included but are more or less replaced by lists.

    Here are some juicy examples:

    [2 3, 4 5] [+, *] * => [2 3 +, 4 5 +, 2 3 *, 4 5 *] =>

    [5, 9, 6, 45]

    [1, 2, 3, 4] \ % [+] * => [1, 2] [3, 4] % [+] * =>

    [1 2, 3 4] [+] * => [1 2 +, 3 4 +] => [3, 7]

    3 == [', ', ']

    3 [1, 2] * => [1, 2, 1, 2, 1, 2]

    Enchilada is still in design mode. I'm still pondering on the total number of primitives

    operators to allow.

    Feedback and suggestions are much appreciated!

    See: http://my.opera.com/rapido/blog/

## William Tanksley, Jr — 2006-09-04 04:04:47

    r_v_dalen <r_v_dalen@...> wrote:

     > I've recently started a blog explaining the details of a new concatenative language

    > Enchilada.

     I'm struggling my way through it. Looks nice and original. Fun reading.

     > Enchilada is still in design mode. I'm still pondering on the total number of primitives

    > operators to allow.

     There was a paper on the basic primitives of Joy... Let's see, who

    wrote that... Ah. http://tunes.org/~iepos/joy.html

    Honestly, I don't know whether it'll help you -- Enchilada is _very_ different.

    Good luck!

    -Billy

## Robbert van Dalen — 2006-09-04 21:08:40

    > I'm struggling my way through it. Looks nice and

    > original. Fun reading.

     Thanks. Hopefully I didn't leave anything to trip over

    ;).

     > > Enchilada is still in design mode. I'm still

    > pondering on the total number of primitives

    > > operators to allow.

    >

    > There was a paper on the basic primitives of Joy...

    > Let's see, who

    > wrote that... Ah. http://tunes.org/~iepos/joy.html

     Yes, I've read that paper (I've been lurking the

    concatenative group for almost two years, so that's

    why I know). It is very well written.

    And yes, you can have a minimal set of operators, but

    we should also care for efficiency. For instance,

    Church numerals are mentioned in the paper. They are

    pretty cool, but do not scale (theoretically) that

    well in terms of big O.

     > Honestly, I don't know whether it'll help you --

    > Enchilada is _very_ different.

     Do you think so? I think with some effort, Enchilada

    can be mapped to Joy and vice versa.

    Of course, the real difference will be performance,

    because Enchilada has sequences build in as a

    primitive.

     >

    > Good luck!

     Thanks!

     >

    > -Billy

     - Robbert

    __________________________________________________

    Do You Yahoo!?

    Tired of spam?  Yahoo! Mail has the best spam protection around

    http://mail.yahoo.com

## William Tanksley, Jr — 2006-09-05 17:57:20

    Robbert van Dalen <r_v_dalen@...> wrote:

     > > I'm struggling my way through it. Looks nice and

    > > original. Fun reading.

    > Thanks. Hopefully I didn't leave anything to trip over

    > ;).

     I can't tell -- I'm still stumbling over my own shoelaces.

     > And yes, you can have a minimal set of operators, but

    > we should also care for efficiency. For instance,

    > Church numerals are mentioned in the paper. They are

    > pretty cool, but do not scale (theoretically) that

    > well in terms of big O.

     Oh, I agree. As you very well know, I'm big on efficiency :-). Now

    that you've mentioned it... I'd like to know what plans you have for

    efficiency. It's nice to be able to specify 2^n multiplications in a

    single phrase, but it would be nice to not always have to perform 2^n

    multiplications, list constructions, etc for every single phrase :-).

    I'm a big fan of J and K -- can Enchilada be compared to them? It

    seems like it could, if only there were a way to specify that only

    some of the many possible terms of a given cartesian expansion needed

    to be evaluated.

     > > Honestly, I don't know whether it'll help you --

    > > Enchilada is _very_ different.

    > Do you think so? I think with some effort, Enchilada

    > can be mapped to Joy and vice versa.

     It certainly can; but it would be a waste (I almost typoed that as

    "paste", more later) to fail to extract the interesting and unique

    lessons Enchilada has to teach us, just because it's Turing complete.

     > Of course, the real difference will be performance,

    > because Enchilada has sequences build in as a

    > primitive.

     OTOH, it doesn't have numbers built in as a primitive... Is that a shortcoming?

     > - Robbert

     -Billy

## Robbert van Dalen — 2006-09-05 19:19:48

    > I can't tell -- I'm still stumbling over my own

    > shoelaces.

     Yeah I know what you mean. I'm still waiting for the

    school bell to ring so I can finally play outside -not

    to be bothered with mundane work.

     > Oh, I agree. As you very well know, I'm big on

    > efficiency :-). Now

    > that you've mentioned it... I'd like to know what

    > plans you have for

    > efficiency. It's nice to be able to specify 2^n

    > multiplications in a

    > single phrase, but it would be nice to not always

    > have to perform 2^n

    > multiplications, list constructions, etc for every

    > single phrase :-).

     Right, I'd like to cut 2^n multiplications short, just

    as anyone else. But my gut feeling says that it's not

    going to happen soon.

     > I'm a big fan of J and K -- can Enchilada be

    > compared to them? It

    > seems like it could, if only there were a way to

    > specify that only

    > some of the many possible terms of a given cartesian

    > expansion needed

    > to be evaluated.

     That would be an interesting optimization. May be

    http://www.nsl.com/papers/valence.htm can help us to

    calculate the valence and charge of every possible

    cartesian expansion.

     > It certainly can; but it would be a waste (I almost

    > typoed that as

    > "paste", more later) to fail to extract the

    > interesting and unique

    > lessons Enchilada has to teach us, just because it's

    > Turing complete.

     Point taken. But I know where I come from: Joy has

    teached me the most important lessons (do I hear the

    bell ringing?)

     > OTOH, it doesn't have numbers built in as a

    > primitive... Is that a shortcoming?

     Nah, not really. We can always (internally) flag lists

    (with only empty sequences) as BigNumbers.

     > -Billy

     -Robbert

    __________________________________________________

    Do You Yahoo!?

    Tired of spam?  Yahoo! Mail has the best spam protection around

    http://mail.yahoo.com