List Info

Thread: Re: New to Io & have some queries




Re: New to Io & have some queries
country flaguser name
United Kingdom
2007-03-21 19:48:20
[FROM MODERATOR - SORRY FOR THE DELAY IN POSTING THIS -
YAHOO HAD MARKED IT AS SPAM FOR SOME REASON]

SAMUEL A. FALVO II WROTE:
[...]
> INTERESTINGLY, BCPL DIDN'T JUST FORK OFF AND EVENTUALLY
BECOME C.
> BCPL HAS ANOTHER VARIANT, CALLED MCPL, WHICH HAS
PATTERN MATCHING.
> ALTHOUGH A STATICALLY COMPILED LANGUAGE, IT'S TYPE
SYSTEM CONSISTS OF
> CHAR AND WORD (KIND OF LIKE FORTH).  MCPL WAS A
RESEARCH ATTEMPT TO
> FIND OUT IF PATTERN MATCHING COULD BE APPLIED TO
WEAKLY-TYPED
> LANGUAGES.  IT WAS SUCCESSFUL INSOFAR AS IT WORKS AS A
LANGUAGE (I'VE
> DONE A WEE BIT OF CODING IN IT, AND IT WAS PRETTY
NEAT!), BUT IT
> DIDN'T GO ANYWHERE.

<OFFTOPIC>

*RUMMAGE THROUGH GOOGLE*

FOR THOSE WHO ARE INTERESTED, HERE'S THE MANUAL:

HTTP://66.102.9.104/SEARCH?Q=CACHE:IIAEY9CLNDMJ:WWW.CL.CAM.A
C.UK/~MR10/MCPLMAN.PDF&HL=EN&CT=CLNK&CD=6&GL
=UK&CLIENT=FIREFOX-A

AN HERE'S THE FIRST EXAMPLE, WHICH SHOWS SOME OF THE NEAT
FEATURES:

GET "MCPL.H"
FUN START
: => WRITEF "ENTER THREE LENGTHS: "
     LET A=READN(), B=READN(), C=READN()
     WRITEF("NTRIANGLE ENTERED: %D %D %D", A, B,
C)
     WRITEF("NTHIS IS %S TRIANGLEN",
       SORT_OF_TRIANGLE(A,B,C))
.

FUN SORT_OF_TRIANGLE
: A, B(<A), C => SORT_OF_TRIANGLE(B, A, C)
: A, B, C(<B) => SORT_OF_TRIANGLE(A, C, B)
// AT THIS POINT WE KNOW THAT A <= B <= C
: A, B, >A+B => "NOT A"
: A, ?, =A => "AN EQUALATERAL"
: A, =A, ? => "AN ISOSCELES"
: ?, =C, C => "AN ISOSCELES"
: A, B, C => C*C=A*A+B*B -> "A RIGHT
ANGLED", "A SCALENE"
.

I SUSPECT THAT THESE DAYS IT'S BEEN RATHER SUPERCEDED BY
LANGUAGES LIKE OCAML,
 BUT THAT *IS* NEAT --- IT ALSO FEATURES BASIC OO SUPPORT,
EXCEPTIONS, TAGGED
DATA STRUCTURES IN PATTERNS, COROUTINES, ETC. IT LOOKS LIKE
IT WOULD BE EASY
TO COMPILE BUT QUITE HARD TO COMPILE *WELL* --- I WONDER IF
THERE ARE STILL
ANY COMPILERS AROUND? THIS MAY ACTUALLY BE USEFUL FOR
ELEGANTLY IMPLEMENTING
STATE MACHINES FOR VERY SMALL EMBEDDED PLATFORMS... THANKS
FOR POINTING IT OUT.

</OFFTOPIC>

[...]
> REALISTICALLY SPEAKING, THOUGH, PATTERN MATCHING CAN BE
RESOLVED WITH
> CAREFUL USE OF INHERITANCE.  THINK ABOUT IT -- THE ONLY
REASON YOU'D
> EVER PATTERN MATCH IS TO LIST RULES DEALING WITH
EXCEPTIONAL
> CONDITIONS -- PRECISELY THE KIND OF THING POLYMORPHISM
IS DESIGNED TO
> DEAL WITH ANYWAY.

THE WAY SMALLTALK (AND PROBABLY IO, I HAVEN'T LOOKED AT IT
FOR A WHILE)
IMPLEMENT TRUE>>IFTRUE:IFFALSE: AND
FALSE>>IFTRUE:IFFALSE: IS THE CLASSIC
EXAMPLE OF THIS.

--
”Œ”€”€ ?„?‡? ?ƒ???—?Œ???’?‹?Ž?ƒ???? ”€”€”€
HTTP://WWW.COWLARK.COM
”€”€”€”€”€”€”€”€”€”€”€”€”€”€”€”€”€”€”€
”‚ "I HAVE ALWAYS WISHED FOR MY COMPUTER TO BE AS EASY
TO USE AS MY
”‚ TELEPHONE; MY WISH HAS COME TRUE BECAUSE I CAN NO LONGER
FIGURE OUT HOW TO
”‚ USE MY TELEPHONE." --- BJARNE STROUSTRUP

Re: New to Io & have some queries
country flaguser name
United States
2007-04-04 18:48:12

On 3/21/07, David Given < dg%40cowlark.com">dgcowlark.com> wrote:
&gt; I suspect that these days it's been rather superceded by languages like OCaml,
&gt; but that *is* neat --- it also features basic OO support, exceptions, tagged
&gt; data structures in patterns, coroutines, etc. It looks like it would be easy
>; to compile but quite hard to compile *well* --- I wonder if there are still
&gt; any compilers around? This may actually be useful for elegantly implementing
> state machines for very small embedded platforms... thanks for pointing it out.

MCPL can be found here:

http://www.cl.cam.ac.uk/~mr10/MCPL.html

Note that you can back-track to here:

http://www.cl.cam.ac.uk/~mr10/index.html

which is the inventor of Tripos, BCPL, and MCPL. Everything is linked
here; you can even download a fully functional Tripos installation for
use on Linux, etc.

(NOTE: Amiga users will *almost* feel right at home using Tripos.
This is because AmigaDOS is a slight variation on Tripos. To exit the
Tripos session, if memory serves me correctly (it's been a few years
since I toyed with this stuff), I believe the command to use is, ...
wait for it ... ENDCLI! ;D)

--
Samuel A. Falvo II

__._,_.___
.

__,_._,___
[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )