
The SETL programming language - GregBuchholz
http://www.hakank.org/setl/
======
srean
Glad to see this here. I came to know about SETL long after I had acquainted
myself with (and subsequently enamored with) Python. What was quite shocking
and refreshing to me was how modern this much older language felt. One just
cannot miss how much SETL had influenced Python. It grounded my then Python
fanboyism a bit, I realized that many of the things that I had considered
novel werent that novel after all.

Wish SETL had not fallen out through the cracks in terms of popularity and
mainstream usage.

------
scrame
Surprising, I used ISETL back in the late 90s a part of an abstract algebra
course. It was quite good at demonstrating the concepts, and served as an
introduction to programming/computers for a few of the pure math students. Fun
to see it pop up here.

------
perfunctory
> Maps are provided as sets of pairs

Does it mean this can be a map?

{(k1, v1), (k1, v2)}

~~~
GregBuchholz
I think you have to use square brackets...

    
    
        stuff := {['k1','v1'],['k2','v2'],['k2','v3']};
        
        print (stuff('k1'));
        print (stuff{'k2'});

~~~
perfunctory
What I meant is that it sounds like it's possible to have two entries in a map
with the same key.

~~~
GregBuchholz
Yes, they are multi-maps, and can have multiple values for the same key. In
that case you have to use curly brackets to deference, and you'll get a set
back with the values.

------
zem
looking forward to exploring this one; it seems like a nice tool to have in my
toolbox, with a fairly low entry barrier.

