Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

When will we have INTERCAL compiler written in in INTERCAL?

28 views
Skip to first unread message

spartan.the

unread,
Sep 20, 2014, 1:10:25 PM9/20/14
to
As in most mature languages. Will it be 2050 or age XXII?

Claudio Calvelli

unread,
Sep 20, 2014, 2:55:19 PM9/20/14
to
On 2014-09-20, spartan.the <spart...@gmail.com> wrote:
> As in most mature languages. Will it be 2050 or age XXII?

We'll have one when somebody writes one (don't look at me, I'm not
offering to do it). However before doing that I suspect the language
needs to be extended somewhat. While it's possible in theory to use
the language as it is now, in practice I don't see it happening.

C

ais523

unread,
Sep 20, 2014, 4:44:32 PM9/20/14
to
Isn't CLC-INTERCAL technically written in itself? Or is IACC considered
a separate language? I have no idea how difficult it is to CREATE the
ability to run IACC statements from within CLC-INTERCAL.

(I know that CREATE works just fine at runtime in C-INTERCAL; it's the
easiest way to do the equivalent of a computed NEXT, basically by
CREATING a command that jumps to a specific line, then running it.)

--
ais523

Claudio Calvelli

unread,
Sep 21, 2014, 5:28:43 AM9/21/14
to
On 2014-09-20, ais523 <ais...@nethack4.org> wrote:
> Isn't CLC-INTERCAL technically written in itself? Or is IACC considered
> a separate language? I have no idea how difficult it is to CREATE the
> ability to run IACC statements from within CLC-INTERCAL.

Well, IACC is written in itself, but the syntax is different enough from
CLC-INTERCAL that I consider them separate languages. CLC-INTERCAL
itself is just a bit of IACC source but (and this is important) is not
allowed to modify the grammar used to produce IACC or to run it
directly.

Also, IACC only does the parsing bit, it assumes that the writing in
of the source code, object generation, linking and reading out of
the compiled program are done by something else which is currently
written in Perl.

> (I know that CREATE works just fine at runtime in C-INTERCAL; it's the
> easiest way to do the equivalent of a computed NEXT, basically by
> CREATING a command that jumps to a specific line, then running it.)

Well, that may work for INTERCAL but wouldn't work for IACC. For
example, I can CREATE a new keyword equivalent to PLEASE / DO and that
means that the very concept of what's a statement is different after
executing that CREATE, and that may be in a way that you can't foresee
at compile time. That's why sick remembers what compiler was used to
compile what, and recompiles just before executing if necessary. I
should add that the restriction on what grammar you are allowed to
modify means that this is not possible in CLC-INTERCAL.

I'm more and more inclined to consider IACC just an implementation
detail of CLC-INTERCAL 1.-x and replace it with something else. If I do
that I may even be able to produce a new version without having my head
explode in the attempt.

C

0 new messages