Live data from Hacker News

Urbit: A clean-slate functional OS

urbit.org

171–180 of 185 posts

Re: Urbit: A clean-slate functional OS

#171
post #166

Earlier quoted context omitted.

I googled, got 1/3 of the way through "Subsequent UI Cmavo", and gave up. If you explained in lojban, I promise I'd struggle a few minutes longer before giving up :D http://www.lojban.org/tiki/Subsequent+UI+Cmavo I read Arabic fairly well but I did not understand Lojban, not having any framework to understand it in, whereas I took Arabic classes for basically four years of college. I got "prami" to mean love, and .ui…

Disclaimer: I'm no lojban expert myself, so this may be inaccurate. {mi prami la lojban .ui} is pretty straightforward: I love lojban, plus the {.ui} attitudinal, which indicates happiness (or as you said, ":)"). The period {.} is an interesting part of lojban. It indicates a glottal stop. Most words in lojban start with a consonant, so glottal stops are placed before words that begin with a vowel (mainly just attitu…

I know about . and it makes sense to me because of hamza in Arabic. It's the same. It's not a letter, it only serves to reduce ambiguity, but they wouldn't say it's punctuation either. Thanks for breaking it down for me!

Re: Urbit: A clean-slate functional OS

#172
post #158
post #130

Earlier quoted context omitted.

I will not comment on the judgement passed upon the education system. The second article exhibits eristic tricks, obfuscatory language, and a plain confusion of ideas, especially when speaking about proof-carrying code and type theory. It's interesting to see the author wishing for a Python of functional programming, and yet Hoon's syntax appears deliberately obscure. However, there is one paragraph with which I whol…

Deliberately obscure, yes: >We should note that in Nock and Hoon, 0 (pronounced “yes”) is true, and 1 (“no”) is false. Why? It’s fresh, it’s different, it’s new. And it’s annoying. And it keeps you on your toes. And it’s also just intuitively right.

Well, it's no different than Unix:

https://en.wikipedia.org/wiki/True_and_false_(Unix)

Re: Urbit: A clean-slate functional OS

#174

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…

I thought the style was a refreshing departure from the usual tone of expository technical documents. I actually enjoyed reading it, even though I disagreed with many of the assertions that were made.

Personally, I was reminded of the schizophrenic guy on HN who built his own OS.

Re: Urbit: A clean-slate functional OS

#176

Earlier quoted context omitted.

I thought the style was a refreshing departure from the usual tone of expository technical documents. I actually enjoyed reading it, even though I disagreed with many of the assertions that were made.

Personally, I was reminded of the schizophrenic guy on HN who built his own OS.

I often enjoy Terry's writing as well.

Re: Urbit: A clean-slate functional OS

#177
>I ate something I shouldn't have the other day and ended up having this surreal dream where Mencius Moldbug had gotten tired of the state of the software industry and the Internet and had made his personal solution to it all into an actual piece of working software that was some sort of bizarre synthesis of a peer-to-peer identity and distributed computing platform, an operating system and a programming language. Unfortunately, you needed to figure out an insane system of phoneticized punctuation that got rewritten into a combinator grammar VM code if you wanted to program anything in it. I think there even was a public Github with reams of code in it, but when I tried to read it I realized that my computer was actually a cardboard box with an endless swarm of spiders crawling out of it while all my teeth were falling out, and then I woke up without ever finding out exactly how the thing was supposed to work.

http://lesswrong.com/r/discussion/lw/ipu/open_thread_septemb...

Re: Urbit: A clean-slate functional OS

#178
post #125
post #99

Earlier quoted context omitted.

Equality is entirely untyped in Hoon. You're just comparing the nouns - "S-expressions without the S." So there is no type error at all. You'd say &(=(a b) =(5 b) =("foo" a)) and it'd work just fine.

That's a bit underwhelming.

why, would you prefer some other answer than 'false'?

now, the real question is whether Hoon thinks that (= 5 "5"), or (= 100 "1e2"), or (= 4 "four"), like some languages helpfully provide.

Re: Urbit: A clean-slate functional OS

#179
post #129
post #127

Though I couldn't understand them fully... The names are awesome! The concepts are awesome! And the music is awesome!!!

I see some similarity to Smalltalk or Windows PowerShell. And this made me to imagine typed Smalltalk/Objective-C style syntax on shell which would be great for usability...

Shell programs are expected to take streams of data and produce other streams of data. Shell programs are also supposed to, but often don't, have uniform configuration options. Instead, we have ps ax | grep chromium | grep -v grep | awk '{print $1}' | xargs kill

* ps accepts ax with no -

* awk is its own programming language lol

* xargs gets pretty complicated if anything bigger than this happens

(incidently, I know about awk '/chromium/ {print $1}' and killall. but i have seen that command line in the wild. because some people don't read the awk manual for fun, and i'm not sure if every unix system even has a killall command)

...and yet the shell is still the preferred tool for what it does because everything else requires too much typing (of both varieties)

Apparently urbit also has streams of raw data. It's about time someone came up with a new idea for a shell that keeps what's great about the shell (though personally, i would standardize on streaming a form of json, because it turns out that data is very often found as scalars, lists, and mappings).

So anyway. If urbit actually ends up being better to live in than unix, and having shell programs that are configured in exactly one way would be an improvement, and having data that's easier to parse than plain text while remaining as easy to read as plain text would also be an improvement, well, I've always wanted to live in a submarine. If it gets a nice editor and c++ compiler, that is. I do need the best performance possible out of my computer for my work.

Re: Urbit: A clean-slate functional OS

#180
post #125

Earlier quoted context omitted.

That's a bit underwhelming.

why, would you prefer some other answer than 'false'? now, the real question is whether Hoon thinks that (= 5 "5"), or (= 100 "1e2"), or (= 4 "four"), like some languages helpfully provide.

The question posed by colanderman's expression is valid if and only if there is a type containing both 5 and "foo".

Here's Haskell's answer:

    Prelude> \ a b -> a == b && b == 5 && a == "foo"

    :2:25:
        No instance for (Num [Char]) arising from the literal `5'
        Possible fix: add an instance declaration for (Num [Char])
        In the second argument of `(==)', namely `5'
        In the first argument of `(&&)', namely `b == 5'
        In the second argument of `(&&)', namely `b == 5 && a == "foo"'
Here, the typechecker took the most general type of 5, namely some type belonging to the Num typeclass, and discovered that the type of "foo", which is [Char], isn't an instance of the Num typeclass, or, in Java parlance, doesn't implement the Num interface. This means there is no type containing both 5 and "foo", hence — type error.

You're asking about implicit conversions, which are an undisputable evil. However, attempting to provide answers to invalid questions also isn't very good.

You may have already seen the rather entertaining Wat talk, by Gary Bernhardt: https://www.destroyallsoftware.com/talks/wat

The central theme of this talk is not just implicit conversions — it's surprising answers to invalid questions. A much better way to handle an invalid question is to reject it as early as possible — Fail Fast. With a static type system, this can be very early indeed.

Post reply on HN