I published a paper on my results of using Klong. Would like to share it with this group, but am not sure where to put it so that you all could access it.
I work with MUMPS as my work programming language. Assuming you had an array of 10 numbers, to get the sum you would do something like this:
F I=1:1:10 S ARR(I)=I ; Stores 1-10 in array ARR
S SUM=0
F I=1:1:10 S SUM=SUM+ARR(I)
W !,SUM ; Writes sum
In Klong you would do as follows:
arr::1+!10 :" Initializes list arr with values of 1-10"
.p(+/arr) :" .p() prints and +/arr sums all elements of the list"
I always thought that MUMPS was terse, but for certain things at least, it doesn't hold a candle to Klong. Of course, I thought Minnesota was green until I saw Wisconsin. And now I live in Washington state.
I work with MUMPS as my work programming language. Assuming you had an array of 10 numbers, to get the sum you would do something like this:
F I=1:1:10 S ARR(I)=I ; Stores 1-10 in array ARR
S SUM=0
F I=1:1:10 S SUM=SUM+ARR(I)
W !,SUM ; Writes sum
In Klong you would do as follows:
arr::1+!10 :" Initializes list arr with values of 1-10"
.p(+/arr) :" .p() prints and +/arr sums all elements of the list"
I always thought that MUMPS was terse, but for certain things at least, it doesn't hold a candle to Klong. Of course, I thought Minnesota was green until I saw Wisconsin. And now I live in Washington state.
I started using ansi-term in emacs to launch a shell file which wrapped rlwrap around the file I wished to execute. Turns out that M-x no longer works in that buffer.
Recursion has been one of those things which made my mind bend or expand. I can't imagine what it would normally take for a 12-year old to learn this abstract concept.
Finding better ways to write code that let newcomers make sense of them faster. More details: http://akkartik.name/about
The teaching fits into this in two ways:
a) It seems like a more ambitious test. If I can make codebases easier for non-programmers or inexperienced programmers to understand, then experienced ones should hopefully be easy.
b) It's a way to get feedback. It's hard to find experienced programmers willing to try out a strange new way of writing code that isn't going to be useful in real products for a very long time. Without this feedback I'd be likely to burn out long before I can fully validate or invalidate my hypothesis. But at least for me, teaching is extremely rewarding/addictive.
Oh, there's a third way: since I get paid for my teaching, there's the distant possibility that I might be able to scale up the teaching to fund my research so that I can work on it full-time.
Thanks! I remember seeing it yesterday at 1 point and assuming it was done. Didn't notice when people started upvoting it. Oh well, probably too late now.