Hacker Newsnew | past | comments | ask | show | jobs | submit | whlr's commentslogin

According to [1], they want to use a systems-level language for performance.

[1] https://www.roc-lang.org/faq#self-hosted-compiler


"The split of Rust for the compiler and Zig for the standard library has worked well so far, and there are no plans to change it."

I assume that statement will need updating.


At this point it feel like the are just playing with languages.


I mean, the language doesn't even have a version number yet. We should expect them to still be exploring the design space.


"Unix system programming in OCaml"

https://ocaml.github.io/ocamlunix/ocamlunix.html


If I'm understanding properly, this would be called a "coop" in NYC. I don't think any other cities in the US have them in significant number.


I don't think it's true that languages get simpler over time.


By and large they do. English, like all indo European languages, used to have many grammatical cases and verb forms. Now we mostly retain cases in pronouns, and most verbs are about two forms per tense.

Latin used to have all its cases suffixes, and today's Romance languages have dropped nearly all of them.


Not a linguist, but I think this is just a matter of proto-indo-european having complicated morphology and its descendants reverting to the mean.

A related reddit thread (I know, I know, sorry): https://old.reddit.com/r/linguistics/comments/o12hy0/instanc...

It's worth noting of course that there is more to grammar than morphology.


English has simple verb and noun morphology, but very complicated syntax and phonology. Hard to say that it’s uniformly more or less complex than Latin.


I think it's possible to sidestep the harm vs suboptimality discussion. It's clear that there is a benefit to the public when works become public domain, and copyright law should balance benefits to creators and consumers (though of course we all fill both roles to some degree). Laws also have to be politically viable, of course.

> Using your logic, the government then ought to force you to donate all your savings and excess possessions to "society" so that harm is reduced.

I would argue that governments do a "soft" version of this with redistributive tax schemes and social programs.


It’s worth noting that PyPlot.jl is a nearly seamless way to use matplotlib from Julia. JIT compilation of the middle layer does mean that it suffers from time to first plot problems though.


Don’t know much about this, but I would have thought TikTok relies on the watch patterns of its viewers, rather than direct video analysis.


Because it looks imperative.


Do notation is jokingly called a programmable semicolon. True, it is often used to model imperative computations with it, so that is the association people have with it. Also people come mostly from imperative backgrounds and look, we can bind something to a value. Finally something I get! And that is fine, let them play around with it like that.

But if they look closer, they find out it is not really imperative. Why is there a difference between let and bind? Why can't I reassign values. And they start to use more exotic and also more interesting monads and boom the imperative feel goes away.

For example with the interesting LogicT[1] monad. Or what about the probability monad[2]? Or the continuation monad[3]? Or the reverse state monad[4]? How imperative are those really? It really depends how you use it. And I think it adds more to the magic, that you think it is just imperative code at first, because suddenly you can create code that behave very different under various monads that represent computation models. I think that is a cool thing about this confusion.

I understand that if you are a professional that needs to get work done, it can be annoying.

[1]https://hackage.haskell.org/package/logict [2]https://hackage.haskell.org/package/probability [3]https://hackage.haskell.org/package/mtl-2.2.2/docs/Control-M... [4]https://lukepalmer.wordpress.com/2008/08/10/mindfuck-the-rev...


ah so if you don't actually know what you're doing it could mislead you


It can still work on a population level.


> I find the latter easier to read and lends itself to a fluent, lightweight style.

Maybe I'm bikeshedding, but I think this is a nontrivial part of why people like OOP languages. Being able to read right to left, without nested parens, makes code comprehension easier.

I think the mathematical notation for function application has held programming languages back. I realize that there's a huge benefit to uniformity of syntax across languages, and that syntax is ultimately much less important than semantics, but I wish we could settle on something better than f(x). I really appreciate languages that are willing to do something different (e.g. haskell and lisp).


There's the pipe operator in a lot of languages (|>) to try and solve this problem, but it has always felt clunky to me. Compare:

f(g(h(x)))

x.h.g.f

x |> f |> g |> h

I think most people prefer the second one to all the rest.


I think the third example should be:

x |> h |> g |> f

Which is identical to the second, except for a more eloquent choice of the pipeline symbol?


That is the version of the |> operator I'm familiar with from Julia.


It's rush-hour-only service. He's using the notation from the official map [1], but I think he forgot to put it in the key.

[1] https://upload.wikimedia.org/wikipedia/commons/3/3a/Official...


Yes, thanks! It now makes sense, but I think it's very unsatisfactory visually. The divided segments make it look like the service has some break between stops, or this is very puzzling. And the "O"s mixed with the dividing lines and the subway line letter are highly confusing.

And by the way, for his legal case, if there was anything to point to the argument of derivative work, this would be it. It's clearly copying (because it's so confusing) the broken line segments style in the map you just linked.


Broken line is pretty common for partial/variable service.

For example, here it is on a philly trolley map: https://www.septa.org/maps/trolley/city.html

And you can also see the same sort of thing on this BART map: https://www.bart.gov/system-map


I agree, but I think there's something odd about the way he's put the segments in his map. Maybe the divisions need to be bigger breaks or something.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: