Settings

Theme

Ivy big number calculator for iOS, © 2015 the Go Authors, sold by Google, Inc

itunes.apple.com

14 points by gldnspud 10 years ago · 8 comments

Reader

akhilcacharya 10 years ago

More information here -

https://sourcegraph.com/blog/live/gophercon2015/123653512740

"Example of porting a Go application to mobile ivy is a command line tool developed by Rob Pike.

It’s a useful desktop calculator that hangles big int, rational and floating-point numbers, vectors, matrices. It’s an interpreter for an APL-like language.

It is ~5k lines of Go code (not including tests, docs). It imports math, math/big, unicode, etc.

Rewriting all that in Java or Objective-C would be a lot of work and is a non-starter, since this is already just works in Go.

After 2 hours, Hana had a working prorotype."

  • shanemhansen 10 years ago

    Hana told Rob she had written a mobile app in go in 2 hours. His response: "why did it take you 2 hours?". Classic.

gldnspudOP 10 years ago

I found this via http://9to5mac.com/2015/07/10/google-ivy-experimental-big-nu....

That article speculated that it's a "companion tool for the [Go Programming Language] project".

I couldn't find any other references to iOS apps written using Go, so I'm going to speculate that Ivy itself was written in Go. :-)

ctdonath 10 years ago

While I understand accurate handling of big numbers is difficult, I'm surprised it's not the general norm for calculator programs/apps by now. Glad to see someone has done so (not the first, but they are rare).

minimaxir 10 years ago

...for certain definitions of big. 1e100000000 causes an app lock.

Also, what is going on with that app icon? Many startups nowadays have forced quirky-and-random mascots, but here it doesn't make much sense.

  • throwaway41597 10 years ago

    1e100000000 would require about 41 MB [0] of storage so that's not as crazy as I thought. No idea what kind of CPU you need for anything other than an addition though.

    [0]: log(1eN) / log(10) = N ; therefore: bits_required = log2(1e100000000) = 100000000 * log(10) / log(2) = 3.3e8 bits = 41 MB

  • coldtea 10 years ago

    It's obviously a play on the Go mascot, in the same style and probably by the same artist.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection