HN user

brucifer

19 karma
Posts0
Comments5
View on HN
No posts found.
Siri AI 1 month ago

He kinda showed off Siri as like the Star Trek computer for your phone.

This is a truly damning comparison. In Star Trek, the massively powerful ship's computer is mainly ignored in favor of touchscreen interfaces and the natural language voice controls on the computer are mainly used for making tea and occasionally asking a question, which the computer often can't answer or answers incorrectly. All real work is done using other interfaces.

OP here, it might be a bit unfamiliar at first, but I think Tomo's syntax makes the type annotations really nice for functions that return functions: `func make_adder(amount:Int -> func(x:Int -> Int))` instead of `func make_adder(amount:Int) -> func(x:Int) -> Int`. The latter can be easily mistaken for a function that returns an integer since it starts with `func make_adder(` and ends with `) -> Int`, especially if you're not well-versed in currying. With Tomo's syntax, it's easier to see at a glance that `make_adder` returns a function without the need to add extra grouping parentheses for clarity. IMO, Tomo's syntax is also a bit more readable for lambdas when the return type is specified: `func(x:Int -> Int) x+1` vs `func(x:Int) -> Int x+1`

OP here, I just went with indentation-based syntax because I prefer indentation over curly braces aesthetically. I've got no problem with people who prefer curly braces and I find C very enjoyable to work with. However, when I started the language, I wasn't starting with a C parser and modifying from there, I was writing the parser from scratch, so I opted to go with the syntax I enjoy most. I'd like to think that Tomo's syntax is easy enough to pick up, especially for anyone who has used Python before.

I actually agree with you that syntax is not one of the things that makes C hard. C's syntax is mostly very easy to work with (apart from a small number of edge cases). The actually challenging parts of working in C are things like manual memory management, doing good error handling, the lack of proper namespaces or modules, a sometimes-footgunny standard library, and so on. I wanted Tomo to improve on the usability and safety of those areas, while keeping the parts of C that I really love: a simple type system, pointers as a language concept, fast parallel compilation (one source file -> one object file), and a programming model that feels closer to what the silicon is doing than most languages.

Since you seem to have some respect for Orwell's ideas, you might be interested to know that "everything is political" is a view Orwell personally endorsed in his writing[1]:

In our age there is no such thing as "keeping out of politics." All issues are political issues, and politics itself is a mass of lies, evasions, folly, hatred and schizophrenia.

Every time we decide to act or not act in the public sphere, it has political implications. That doesn't mean it's specifically partisan or identity politics, but it is nonetheless political. Choosing not to speak up about something is just as much a political decision as choosing to speak up.

[1] https://www.orwell.ru/library/essays/politics/english/e_poli...

You might be overestimating the gap in efficiency. For example, last night, I ordered a pizza for pick-up, and the phone call took exactly 31 seconds. Even apps aren't instantaneous, but if they were, you're only talking about saving less than 1-2 minutes per day. In exchange for those time savings, apps introduce a lot of complexity and overhead: service fees, app updates, device storage, logins, behavioral tracking, etc.

Now, that being said, there are a few unique advantages to apps, like being able to order taxis in a foreign country (as you said), or being able to share your GPS coordinates with the taxi.