Urbit: A clean-slate functional OS
61–70 of 185 posts
Re: Urbit: A clean-slate functional OS
#62Earlier quoted context omitted.
The unicode-in-strings but not in variables/etc bothers me about Java (coming from Go, where unicode is allowed in variables). It seems inconsistent to have two separate character sets for different semantic subsections of what is a single text file. What about unicode in comments? If I put a string in a comment can it go there?
Restricting symbols to a strict subset, rather than a strict superset, of global keyboards in practice, is about cultural literacy in practice. If you put unicode in variables, perhaps because you're using a national keyboard with special unicode powers, your code will be extremely hard to work with for programmers using a different national keyboard. Thus, even if you could do it, you shouldn't. Now, the symbols on…
Re: Urbit: A clean-slate functional OS
#63 So if we had to read the above decrement...we’d say:
“luslus dec sigfas cen dec bartis a tis pat sigbar soq
dec soq ketcab pat wutgal tis pel zero a per tislus b
tis pat barhep wutcol tis pel a lus pel b per per b buc
pel b lus pel b per per.”
Absolute brilliance.Re: Urbit: A clean-slate functional OS
#64You 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
return add_r(a+1, b, c+1)Re: Urbit: A clean-slate functional OS
#65> Hoon is a keyword-free language - any alphanumeric text in the program is part of the program. Where other languages have reserved words, Hoon has squiggles. But... why?
You're saying, why are reserved words a bad idea? I think most defenders of the humble reserved word would consider it, at best, a hack. Maybe it's a necessary hack, maybe not. With reserved words you are overloading two very different namespaces, the space of language primitives and the space of user functions/variables. Sure, you can get away with this. But do you want to? A language is a UI, and the potential for…
Re: Urbit: A clean-slate functional OS
#66Re: Urbit: A clean-slate functional OS
#67Earlier quoted context omitted.
You're saying, why are reserved words a bad idea? I think most defenders of the humble reserved word would consider it, at best, a hack. Maybe it's a necessary hack, maybe not. With reserved words you are overloading two very different namespaces, the space of language primitives and the space of user functions/variables. Sure, you can get away with this. But do you want to? A language is a UI, and the potential for…
The alternative, as I see it, is to let people add new keywords to the language from inside the language, so there's feature parity again.
But, one could argue, the "is it a function? or is it a macro?" confusion is a significant cognitive load on the Lisp programmer. These are really two different things, even though you can fit them into the same namespace.
Hoon has the different problem that you allude to - it is hard to extend the macro set at the user level. While this is fairly limiting, many FP languages, like Haskell, seem to do just fine without macro extensions. Perhaps typedness plays a role.
The bottom line on this problem is that there does remain a fair chunk of unused ASCII digraph space, so there is probably a way to put that in the programmer's power, but user-level macros are an unsolved problem in this relatively young language, nor is it one that obviously needs to be solved. But it would be nice if it does get solved.
Re: Urbit: A clean-slate functional OS
#68With all that jargon I was expecting a set up for a punch line at the end. Don't nock it so hoon, it's not done jet. Ha!
Re: Urbit: A clean-slate functional OS
#69Re: Urbit: A clean-slate functional OS
#70 Hoon also excels at handling and validating untyped data, a common task on teh Internets.
Not sure if satire?