Live data from Hacker News

Urbit: A clean-slate functional OS

urbit.org

21–30 of 185 posts

Re: Urbit: A clean-slate functional OS

#21
You say addition is O(n^2), but I think you can write an O(n) addition with only increment, recursion, and equality testing.

In Python syntax:

  def add(a, b):
    return add_r(a, b, 0)

  def add_r(a, b, c):
    if b == c: 
      return a
    else:
      return add_r(a, b, c+1) +1

Re: Urbit: A clean-slate functional OS

#22
post #21

You say addition is O(n^2), but I think you can write an O(n) addition with only increment, recursion, and equality testing. In Python syntax: def add(a, b): return add_r(a, b, 0) def add_r(a, b, c): if b == c: return a else: return add_r(a, b, c+1) +1

Yeah... just one of the many many things we haven't gotten around to fixing. Since it doesn't really matter for a jet-propelled function.

https://github.com/urbit/urbit/issues/11

Re: Urbit: A clean-slate functional OS

#23
post #20
post #18

Earlier quoted context omitted.

Lame qn but does the name Albert Jay Nock have anything to do with 'Nock'?

http://en.wikipedia.org/wiki/Albert_Jay_Nock http://en.wikipedia.org/wiki/Tea_at_the_Palaz_of_Hoon Four-letter names that haven't been overexposed are hard to find. But four letters fits in a 32-bit direct atom, so the attraction is pretty irresistible.

Nice! Thought so.

Re: Urbit: A clean-slate functional OS

#24
post #21

You say addition is O(n^2), but I think you can write an O(n) addition with only increment, recursion, and equality testing. In Python syntax: def add(a, b): return add_r(a, b, 0) def add_r(a, b, c): if b == c: return a else: return add_r(a, b, c+1) +1

Yeah, it's true, the one in our kernel is O(n^2) though. Why? Because we're lame. But it hardly matters, as you'll never get anywhere with either O(n) or O(n^2) addition...

Re: Urbit: A clean-slate functional OS

#25
post #16

This is really, really neat. I really like the concepts in Avro and Urbit. Particularly interesting for me is the checkpoint/replay, distributed version control, and neighbours. This is a really cool experiment!

Thanks, but Avro is someone else's cool project! (Arvo is named for http://en.wikipedia.org/wiki/Arvo_P%C3%A4rt. )

I think I've lost all precious free time I have... this is great stuff. :)

Re: Urbit: A clean-slate functional OS

#27
post #21

You say addition is O(n^2), but I think you can write an O(n) addition with only increment, recursion, and equality testing. In Python syntax: def add(a, b): return add_r(a, b, 0) def add_r(a, b, c): if b == c: return a else: return add_r(a, b, c+1) +1

[deleted]

Re: Urbit: A clean-slate functional OS

#28

So rather than having a lengthy standard it has lots of small non-standardized and brittle performance optimizations? I remain skeptical over whether this tradeoff is worth it.

That's not entirely different from what a simple JIT does (or the unoptimised stage of a JIT without an interpreter).

Re: Urbit: A clean-slate functional OS

#29
post #15
post #3

Earlier quoted context omitted.

I'm not sure I follow what this is. Where would I use Nock and Hoon?

To build your startup? No. To have fun? Why not.

I should rephrase my question: on what technology platforms would one use Nock and Hoon? Embedded systems? Anything (due to "portability")?

Re: Urbit: A clean-slate functional OS

#30
For a project ostensibly inspired by K&R C, the copy on this site is amazingly opaque and full of its own rhetoric. Recommendation: delete all the linguistic posturing and get down to the hard work of casting light on your ideas. Let that speak for itself.

By way of example, the K&R C book had a beautiful clarity and ability to fluidly move between the realms of reference, spec, and tutorial. If you're going to hold K&R C up as a model, you'd do well to mimic its documentation philosophy.

Post reply on HN