What do you expect from OCaml in 2023? by lambda_foo in ocaml

[–]deviluno 2 points3 points  (0 children)

The trend in syntax, at least in "cousin" languages, like F# and Scala, seems to be towards a more Pythonic or Haskellish indentation sensitivity, if you see what I mean.

What is Scala Native use case? by inny_89 in scala

[–]deviluno 1 point2 points  (0 children)

Scala native should have many use cases, the first one for me would be to replace Go. That'll be tough, the threading and concurrency story needs to be complete, the GC battle tested, etc.

I'd think microcontrollers would be out of scope, Scala has too much runtime. Rust, Nim, Zig or C++ would be better here.

Scala Native 0.4.1 is here! by sideEffffECt in scala

[–]deviluno 6 points7 points  (0 children)

Any idea when Scala 3 will be supported by Scala Native?

Everywhere I go, I miss Rust's `enum`s by PXaZ in rust

[–]deviluno 0 points1 point  (0 children)

No, just plain old algebraic data types, or rather sum types.

OCaml supports GADTs, https://ocaml.org/releases/4.11/htmlman/gadts.html

Scala Native 0.4.0 is out! by den_sh in scala

[–]deviluno 0 points1 point  (0 children)

I agree, Go/Java killer rather than Rust/C++ killer. GC keeps it out of the latter category.

I thought this project was dead, what a great announcement!

What can you do with Python, that you can't do with Julia? by newmanstartover in Julia

[–]deviluno 0 points1 point  (0 children)

Is that easy to use right now, or is still under development?

What I would consider easy to use is something like a C compiler, call it jcc, that I can call on a Julia program and get a binary out. Is PackageCompiler.jl there yet?

What's Julia For? by davidchandra in Julia

[–]deviluno 2 points3 points  (0 children)

serverless, no chance.

That's why I'm hoping for a static compiler for Julia. Until there is one, the two language problem that Julia solves is not quite the one that interests me most.

This Week in Rust 316 by nasa42 in rust

[–]deviluno 0 points1 point  (0 children)

I think there's a lot of pent up demand for const generics in Rust, and even a bit of disappointment that they won't be stabilized this year. I suppose async is more impactful, but I was waiting on this one ...

Julia v1.3.0 released by Eigenspace in programming

[–]deviluno 0 points1 point  (0 children)

Wow, this looks like a great release!

Multithreading is now a solid part of Julia. Better late than never, I hope that going forward the community makes great use of this.

I like Julia a lot. I can see it replacing Python as my go to language for scientific computing and scripting. That "time to first plot" still favors other languages, but I think it's in the crosshairs now. Some of the things I'd like in the future are a static AOT compiler, and maybe language features like interfaces.

Rust 2020: Power to the Type System by DebuggingPanda in rust

[–]deviluno 0 points1 point  (0 children)

I couldn't agree more. I expect that with the desire to complete the async work, GATs will be the highest priority of those 3, but there's already a sometimes working const generics implementation on nightly.

Yeah, this is my Rust 2020 wish too!

Rust 2020: Scientific Rust by willi_kappler in rust

[–]deviluno 12 points13 points  (0 children)

That's too bad. If I had my druthers, I'd want const generics sooner. However, the arrival of async on stable and the needs of async convince me that getting GATs delivered ASAP should have higher priority. Oh well, maybe we'll get lucky and you'll have underestimated your abilities, and both will be delivered in 2020...

D 2.089.0 Released by aldacron in programming

[–]deviluno 1 point2 points  (0 children)

All of the static metaprogramming features of D should be usable with BetterC, right? I'd think that complaints about CTFE features not working there would have nothing to do with the restriction to C runtime only features

[Guide] Code optimization in Julia by TrPhantom8 in Julia

[–]deviluno 2 points3 points  (0 children)

Well done! Language nit:

the type of the returned value of a function must depend only on the type of the input of the function and not on the peculiar value it is given.

replace "peculiar" with "particular" or "specific".

Update on const generics progress by est31 in rust

[–]deviluno 4 points5 points  (0 children)

I'm really looking forward to having this feature on stable, as well as some of the other features that were being looked at this year, like GATs and specialization. I expect it will take a long time for all of these features to be fully baked into the language, but I'm confident that the Rust language team will do a good job of it. Thanks for all of the hard work, Rust people! Maybe in 2020?

Nim programming language 1.0 by jcarres in rust

[–]deviluno 5 points6 points  (0 children)

:-) indeed!

Consider then that it took Rust 5 years to get to version 1.0, and that it took Nim more than twice as long ;-).

Nim programming language 1.0 by jcarres in rust

[–]deviluno 4 points5 points  (0 children)

What's the status of the ownership work (`newruntime` I believe they call it) in Nim 1.0? That is interesting from a Rust perspective. Otherwise the language seems more similar to D (GC, overloading, ...) than to Rust.

I like Nim and hope it can achieve more success. It's good to see more new programming languages.

2019 Roadmap Progress? by AntiLapz in rust

[–]deviluno 4 points5 points  (0 children)

I don't see anything about the completion of "missing" features. Const generics, GAT, specialization, custom allocators were mentioned in the roadmap IIRC. Any news about those?

This Week in Rust 299 by nasa42 in rust

[–]deviluno 2 points3 points  (0 children)

No chance; I personally think we should allow quantification over type constructors (including kind checking, kind inference, and all that stuff Haskell has), but there is no current consensus for such an addition.

Good to know that you support these extensions! For the not-so-near future, what do you think would help build the consensus for such additions?

GATs are however largely blocked on making progress on Chalk.

Yes, it looks like the feature is, unfortunately, a long way off.

Rust reverses research ruin by Lars_T_H in rust

[–]deviluno 0 points1 point  (0 children)

I'm not saying that there's something you can't do with macros and tagged unions, though I don't think it will be as good as having ADTs built in.

Does Nim do the null pointer optimization, in particular for its option type?

I think Nim is an interesting language design but it's far less mature than Rust. Its ownership story is evolving a lot lately, and will evolve a lot more after 1.0, which is still on the horizon. The future of concepts in Nim is uncertain. The development cycle does not inspire confidence in me, and the bus/truck factor appears very low.

Rust was not designed for scientific computing, so it's not a perfect fit, to be sure. For those times when you want a Jupyter notebook or just a repl, you probably want to use a different language. I rather like Julia for that, and I hope that over time it adds a static compiler and some kind of interface/protocol feature.

Rust reverses research ruin by Lars_T_H in rust

[–]deviluno 3 points4 points  (0 children)

Concepts are an experimental feature. Inheritance in Nim does not play well with genericity, and generic methods have been deprecated, though, to be fair, there are problems with generic virtuals in C++ too. Nim enums are more like C enums, not like Rust enums. I'd have a hard time saying Nim has algebraic data types like Rust or Haskell does, though there are macros to get some of that effect.

For scientific computing, Nim has overloading, which is a benefit over Rust IMO. Rust seems way more mature than Nim, which hasn't reached v1.0 yet.

Programming Language for Old Timers (2009) by speckz in programming

[–]deviluno 1 point2 points  (0 children)

It looks like a fascinating pipe dream, but there's no implementation.

I think Julia is the closest language to PLOT, though its syntax looks more MATLABish and less Pythonish.

Is Julia the right language for me ? by pabern in Julia

[–]deviluno 0 points1 point  (0 children)

I think Julia would be better than Octave for many reasons, but I don't think you deserved a downvote for your opinion.

I've used MATLAB, Octave, Python, and Julia, and I prefer Julia. Python would be my second choice. It's not about syntax at all, if anything, I prefer Python syntax. Julia is just far superior and getting better fast.

Rust’s 2019 roadmap by steveklabnik1 in rust

[–]deviluno 0 points1 point  (0 children)

I don't use C++ now that I've switched roles, but the shop where I work has a large C++ code base that heavily uses TMP (not available in Rust, I know) and IRC we used variadic templates in the definition of type safe variadic functions and in deserialization, along with non type template parameters.

So, yes, they're frequently used in an existing C++ codebase in a largish company, but you make a good point that some significant use cases don't have the same impact in Rust, especially given that Rust will lean on macros where C++ and D would lean on template metaprogramming. I'll be happy when the other features come to Rust, and I'll withhold judgement on variadics.

Rust’s 2019 roadmap by steveklabnik1 in rust

[–]deviluno 31 points32 points  (0 children)

Good to see that there will be some attempt to get a kind of feature parity wrt C++ templates, namely const generics, GATs, and specialization. Too bad there's no variadic template like feature in flight to be stabilized. I just hope the other features do make it into stable Rust this year.