
Show HN: IfLoop, a new programming style, designed for mobile phones and tablets - tapirl
http://www.tapirgames.com/blog/ifloop-web-demo
======
halfdan
Interesting concept. Point 3 here is however really worrisome.

> Your IfLoop programs are always runnable, at any time. IfLoop programs even
> has no runtime errors. If you get a property of a null object or get an
> array element with an index out of range, a null value will be returned. If
> you use the null value as a Number, it will be viewed as 0. If you use the
> null value as a Boolean, it will be viewed as false. If you use the null
> value as a String, it will be viewed as a blank string.

That is not good. Programs will just show unexpected behaviour. This is
exactly what is terrible in PHP-land. You should not autocast values to other
types.

[http://www.tapirgames.com/blog/ifloop-programming-
language](http://www.tapirgames.com/blog/ifloop-programming-language)

~~~
tapirl
It looks many programmer don't like this feature. Ok, it can be an option. :)

------
actsasbuffoon
It's an interesting idea, but it's hampered by a few things. First, you can
only use variables or direct values as conditions, or as arguments to
functions, etc. That's a severe restriction, and it feels time consuming to
keep creating local variables to put those values into before-hand.

Speaking of which, it would be nice if you could tap on an if-expression
condition, and create a new local variable from inside that screen. It would
save several clicks to get to the local variables screen.

~~~
tapirl
thanks for your comment. like it very much.

Yes, there are advantages, and also some disadvantages and restrictions,
comparing to text coding style.

Your suggestion is very great and workable I think.

It is just v1.0 now. The improvement space is still very large. In coming
versions, it will support drag-and-drop, drag to move items, etc.

------
highCs
I like it. Example of what's cool:

 _Syntax is just a theme

You program can look like a python program, a golang program, or any other
ones. Each code line can end with ; or not, etc._

Is there program samples somewhere? Is there any lib for it?

~~~
tapirl
Ah, currently, there is only the one default theme. I will add others in
coming versions.

There is no lib for it. This implementation is very simple. Contrary to text
programming languages, which convert texts to object file, IfLoop converts
object file to texts. A theme is just to define how texts are produced from
the object file. Converting from obj file to texts is much easier than
converting texts to obj file.

------
jarcane
If you're interested in coding interfaces on mobile, I've yet to see an on-
mobile coding app as slick as Lisping[1].

Touch C[2] on WP8 showed potential, but sadly seems to be all but abandoned.

[1] [http://slidetocode.com/lisping](http://slidetocode.com/lisping) [2]
[http://www.windowsphone.com/en-
us/store/app/touch-c/3fb34f3f...](http://www.windowsphone.com/en-
us/store/app/touch-c/3fb34f3f-83e9-4199-a70e-d05a47172794)

------
binarymax
I'm confused - you say it's designed for mobile - but the link requires flash
and therefore I'm unable to use it on mobile.

~~~
fao_
I assume it's just the web demo that won't work on mobile.

~~~
icebraining
Yeah, it's a native app, not a web app:
[http://www.tapirgames.com/App/IfLoop](http://www.tapirgames.com/App/IfLoop)

------
hobarrera
Something that requires me to install the flash plugin on 2015?

Pass.

~~~
tapirl
The reason I use Flash is to save development cost. Adobe AIR can help me
distribute this app to web, pc/mac and mobile devices. I know HTML also works
for these devices, but I am not familiar with HTML5.

If there are many people like this app, I will try to port it to HTML5.

~~~
SchizoDuckie
If you want to launch anything in 2015 it's HTML5 or bust. If you know
ActionScript, you know Javascript.

Instead of Adobe Air, use something like nw.io / node-webkit, or Github's
awesome Atom Shell.

~~~
et1337
Throwing in my two cents: Atom Shell is now known as Electron[1]. Clever, eh?

[1] [http://electron.atom.io/](http://electron.atom.io/)

------
d08ble
Nice description, ACPUL is made for same purposes.

1\. IfLoop has no compilers

ACPUL also compile on fly + Live coding

2\. IfLoop has no keywords

ACPUL is no keywords & fully native translatable language

5.Every custom function can be used as the entry function

Same, like JS. No-args functions.

Also, ACPUL made for full UI customization, developer can made & run self-IDE.
Here is easy sample, how I made new touch-input control for graphics, that
much better than code editing like Codea, Mobile-C or TouchDevelop, IfLoop.

[https://www.youtube.com/watch?v=jf2JWD7wQmo](https://www.youtube.com/watch?v=jf2JWD7wQmo)

ACPU: The Matrix - is remote control extension for integration with Desktop
OSes. Here is demo video:

[https://www.youtube.com/watch?v=A4EpL1P47jc](https://www.youtube.com/watch?v=A4EpL1P47jc)

Another sample is working version of DOTA-like game prototype with Physics,
Networking & Graphics in some lines of code:

[https://github.com/d08ble/acpul-
demo/tree/master/dota](https://github.com/d08ble/acpul-demo/tree/master/dota)

I think, mobile developing is the Future, I'm very happy, than more & more
peoples going in dev @ mobile.

[http://acpul.tumblr.com/](http://acpul.tumblr.com/)

------
cynik_
This is pretty neat!

I didn't test it personally because flash / chrome but from the video I'd
strongly recommend changing the selection animations / dialogs; at the cost of
a bit more jarring UI I'd much rather have instantaneously available
selections to choose so that I'm not bound by sliding windows, etc.

~~~
tapirl
Thanks for the suggestion. Yes, part of UI will change much later.

------
dztall
If you are interested in C coding/running in iOS/Android/WP8/Kindle , Search
"Mobile C" for each platform.

------
singold
This is really cool!

Recently I've felt we need to advance in our programming tools, and this feels
like a good step in that direction.

~~~
nmrm2
I got about two minutes into the fibonacci tutorial before I couldn't stand
watching any more.

If you don't mind my asking, why do you feel this is an advancement?

