1,389 karma · joined September 11, 2008
[1] http://bluishcoder.co.nz/tags/ats/ [2] http://www.reddit.com/r/ATS/ [3] http://mmpool.bitparking.com
Idris [3] is another language with dependent types (and is more Rust-like) designed for systems programming. I don't think Idris has type level presberger arithmetic though making some things a bit verbose.
[1] http://www.ats-lang.org/ [2] http://bluishcoder.co.nz/2010/09/01/dependent-types-in-ats.h... [3] http://www.idris-lang.org/
Microsoft's YouTube app on Windows phone is actually really nice. It's a pity Google keep trying to stop it.
enum Day {
Monday, Tuesday, Wednesday, ...
}
You can assign values too: enum Color {
Red = 0xff0000,
Green = 0x00ff00,
Blue = 0x0000ff
}I've been going through archive.org recovering posts when I can. I do have a bunch of the factor articles in my project that produces a PDF from them: https://github.com/doublec/factor-articles
They are accepted and valid in blocks though. So any miner can include them in their blocks. What Eligius, and some other pools do, is they allow accepting the transaction directly. So you connect your node to it directly and send the transaction as normal. It won't be relayed to other peers as they reject it. But those running a modified client will and can include it in a block.
Very few application vendors provide .apk's to install outside of Google Play and they don't provide them from other markets available internationally. f-droid has some applications but not a huge amount.
Basic functionality like Facebook, Twitter, 'sharing' photo's to social media,etc don't work if you can't install those apps.
What I ended up doing was installing Firefox (Mozilla provides apk's and it's available from f-droid) and using web apps.
Firefox OS on the other hand provides all this functionality out of the box.
https://blog.torproject.org/blog/new-tor-browser-bundles-and...
The number of affected users must be due to not upgrading. Does the tor bundle automatically update?
I attempted to use ATS features to make sure resources are cleaned up and msg data usage is statically checked for correct sizes, etc.
I don't know the current status of it.
fun square {m:int} (a: int m): int (m*m) = a + 2
This won't compile because in the type we've said the result must be the square of the input. I've written some more about using dependent types [1] and proofs [2,3] for this sort of thing.The difference between writing proofs and writing tests is subtle though and serve similar purposes. Tests can make you feel confident that things are right but proofs should make you certain of it.
[1] http://bluishcoder.co.nz/2010/09/01/dependent-types-in-ats.h... [2] http://bluishcoder.co.nz/2013/07/01/constructing-proofs-with... [3] http://bluishcoder.co.nz/2012/10/04/implementing-a-stack-wit...
http://sourceforge.net/mailarchive/message.php?msg_id=290363...
Quite a few languages are available for Android development now that the NDK allows native code.
The FFI of Ur/Web is low level and easy to use. This made interfacing with existing C routines easy. When I couldn't work out how to do something in Ur, I just wrote it in C (well, actually I wrote it in ATS which compiles to C) and called it from Ur.
I did have some interesting issues in an application that had fairly heavy load. If one transaction is in process and it relies on data that gets changed in another transaction then one of them is rolled back and retried once the other has succeeded. Under very heavy load, where transactions required some semi-global state in the database, and all those transactions modified that state then these rollbacks would happen a lot and cause performance issues. Fixed with better data design in the app of course to avoid the contention on the global state.
All in all though Ur/Web has held up very well for me and makes it pretty quick to put things together.