Live data from Hacker News

Dada, an experimental new programming language

dada-lang.org

181–190 of 428 posts

Re: Dada, an experimental new programming language

#181
post #168

Earlier quoted context omitted.

Seems more cringe to complain about pronouns

I think we’re all saying the same things here. No one wants to hear complaints about pronouns

Actually, what I don't want is a discussion about pronouns being at the top of the comments. Aren't there more interesting topics to discuss about this project?!

Re: Dada, an experimental new programming language

#182
post #166

I've written a bit of Rust, and I was left with mixed feelings, that seem to be still the same here: - loved the memory safety patterns when compared to the horrible things that you can do with C++ - found almost every thing where it was different to have a harder to parse syntax, that I could never get used to. The implicit return at the end of a statement for instance make it harder for me to visually parse what's…

> The implicit return at the end of a statement for instance make it harder for me to visually parse what's being returned, since I really depend on that keyword.

Cutting my teeth on Schemes and MLs and now working in Python, I have the complete opposite experience. It's jarring to have to specify return. What else would I want to do at the end of an expression? It seems tautological. The real reason it's there in Python is early return, which is even more dangerous and jarring.

Re: Dada, an experimental new programming language

#184

I love the idea of a "thought experiment language" - actually creating a working language is a big overhead, and its really fun to think about what an ideal language might look like. The crazy thing with reading this and the comments, is that it seems like we all have been daydreaming about completely different versions of a "high level rust" and what that would look like. For me I'd just want a dynamic run time + si…

In college, my programming languages class used a language called "Mystery" (I believe created by my professor), which was configurable . Assignments would be like "write some test programs to figure out whether the language is configured to use pass-by-value or pass-by-reference". And there were a bunch of other knobs that could be turned, and in each case, the idea was that we could figure out the knob's setting by…

Was your professor Amer Diwan? His Principles of Programming Languages course was amazing.

This is one of his papers in Pl-Detective and Mystery for anyone interested: https://www.researchgate.net/publication/220094473_PL-Detect...

Re: Dada, an experimental new programming language

#185

Changing a quote to change "his" to "theirs" seem like a very Rust community thing to do. > Updated to use modern pronouns. https://dada-lang.org/docs/about/

I also noticed this, along with the warnings that Dada doesn't really exist yet (which is fine, thanks for the heads up). I predict this project will have its priorities backwards. There's a group of people who want to govern a programming language project, and inject their ideology into that structure, and maybe there's another group of avid language designers in there too. I think there are more of the first.

Pournelle’s Iron Law of Bureaucracy

Re: Dada, an experimental new programming language

#186
post #150

I don't understand the comment in the method print_point in the class Point of the tutorial. [...] # This function is declared as `async` because it # awaits the result of print. async fn print_point(p) { # [...] print("The point is: {p}").await } [...] From the first page of the tutorial: > Dada, like JavaScript, is based exclusively on async-await. This means that operations that perform I/O, like print, don't exec…

I think they didn't do a very good job explaining it. Await doesn't just mean "please run this thunk", it means "I am not going to deal with this thunk, can someone come and take over, just give me the result in the end". What this means, concretely, in Rust, is `.await` will return the thunk to the caller, and the caller should resume the async function when the result is ready. Of course the caller can await again…

So, you mean that this thunk is produced by the async function, and the await keyword will run it asynchronously?

In other words, print produces a thunk, and print_point also produces a thunk, and when await is used on the later, it is executed asynchronously, which will execute the print also asynchronously. So we end up with 3 different execution context: the main one, a one for each "await"?

What is the point of this, as opposed to executing the thunk asynchronously right away? Also, how does one get the result?

Re: Dada, an experimental new programming language

#187
post #167

Earlier quoted context omitted.

How do you “inject ideology” in a programming language? Compiler error if the variable name is sexist?

> How do you “inject ideology” in a programming language? I was just talking about the project community and governance. It would be hard to imagine injecting ideology into the language itself. Oh wait, nevermind... https://doc.rust-lang.org/beta/nightly-rustc/tidy/style/cons...

This is part of rustc’s test suite. It affects nobody but rustc.

Re: Dada, an experimental new programming language

#188
post #166

I've written a bit of Rust, and I was left with mixed feelings, that seem to be still the same here: - loved the memory safety patterns when compared to the horrible things that you can do with C++ - found almost every thing where it was different to have a harder to parse syntax, that I could never get used to. The implicit return at the end of a statement for instance make it harder for me to visually parse what's…

Give it time. The syntax differences are real, but not insurmountable. I grew to prefer the location of the return type in function syntax despite having 15 years of C++ under my fingers.

Re: Dada, an experimental new programming language

#189
post #25

It's weird, I want pretty much the exact opposite of this: a language with the expressive type system and syntax of rust, but with a garbage collector and a runtime at the cost performance. Basically go, but with rusts type system. I'm aware that there are a few languages that come close to this (crystal iirc), but in the end it's adoption and the ecosystem that keeps me from using them.

Take a look at Gleam!

For me it seems like the perfect match.

Re: Dada, an experimental new programming language

#190

I love the idea of a "thought experiment language" - actually creating a working language is a big overhead, and its really fun to think about what an ideal language might look like. The crazy thing with reading this and the comments, is that it seems like we all have been daydreaming about completely different versions of a "high level rust" and what that would look like. For me I'd just want a dynamic run time + si…

In college, my programming languages class used a language called "Mystery" (I believe created by my professor), which was configurable . Assignments would be like "write some test programs to figure out whether the language is configured to use pass-by-value or pass-by-reference". And there were a bunch of other knobs that could be turned, and in each case, the idea was that we could figure out the knob's setting by…

Is this Mistery this Mistery [1]?

[1] https://blog.brownplt.org/2018/07/05/mystery-languages.html

Post reply on HN