The Return

Back to uni after a week of sleeping with dogs. Messes you up psychologically. Everyone looks like a dog. They look at you but don’t talk, can’t answer questions. No apparent sense of humour. Lots of programming lately. 4Clojure is fun. Revolution Elite is awesome 🙂 Designing my own language (working title is Dream). Several general aims. Approaching from two sides. Building the philosophy and contrasting it with existing conventions. From the ground up and from the top down. Putting together and sculpting. Just notice a lot of strange inconsistencies in existing languages and cop-outs.

Operators are just functions. x+y is just, the + symbol is a convenience which I’ll keep. For loops and if statements are just special functions. Their arguments include blocks of code. How boring is this! This is what happens when you have very little human contact for a week (and lots of dogs and a duck and a chicken)!

The main idea is the style/dynamics of Python/Ruby with the speed of C. It can be done! Minimalistic as in no arbitrary little convenient functions or keywords. Scope should be appropriate. No len(“pineapple”). What’s len(43.5)? Exactly. Methods should be where they belong. “banana”.len() for instance. Spaces are enough to separate statements/expressions (I think), maybe not though…

Functions are like dreams, Inception-style. Parameters are what you pass into them. Everything happens within a certain context. You create a dream and set up the scenario. x=5 and y=7. Then you do x+y and return it.

C>> int add(int x, int y) { return x+y; } add(8, 9); //result is 17

In Dream, braces are a constructor for “thoughts” or “ideas” – bits of code. This seems to be a potentially powerful (and dangerous) tool. You can concatenate them like so:

Dream>> a={x=1} b={x+=5} c={pr(x)} (a+b+c).run() //output is 6

Dream>> a={x=1} b={x+=5} c={pr(x)} (a+10*b+c).run() //output is 51

The .run bit might be redundant. Like {x=2^5}() instead of {x=2^5}.run().

If you call a thought, it automatically assigns your parameters to its undefined variables.

Dream>> add = {x+y} add(3, 5) //output is 8

It’s like, wtf is x? Okay it’s 3. Oh shit! What’s y? Fine, 5 then. Why declare everything? You could do this: add = {x y x + y} so that it’s clear x and y are the parameters.

More examples:

double={2*x} quadruple=double^2 quadruple(11) //result is 44

{pr(“d is seven”)}.if({d==7}, {pr(“d is not seven”)})

Okay, the rest of this post shall be more accessible!

Freedom and ownership. I find it puzzling how people have this notion of owning physical objects. It seems meaningless and unhealthy. The world is yours. Nothing belongs to anyone. It’s all an extension of your existence or whatever. A tennis racquet becomes a part of your body. Your mind is split into many parts. Anyway, I’ve noticed so many people are disconnected from their own intelligence, from maths. An “expert” could tell them something they knew to be false and they wouldn’t have the confidence to disagree. The cool thing about maths is you *can* *know* things. Or understand them. Simply, deeply. Every idea belongs to you. You can use them, interpret them however you like. You can invent better ones. It’s better to own thoughts and ideas, not objects. Own as in use whenever you please. They’re lighthouses – many people can use them at once. Who wants to own something that nobody else can have?

Yep, I’m as retarded as ever, and as slow as ever. Spending time waiting and feeling pathetic. How do you help people who don’t want to be helped? I think I’ve got to focus on myself for now. Okay, this is officially the worst post ever! 😀


About karnok

A legendary ninja.
This entry was posted in General. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s