Fork me on GitHub
#clr
<
2024-02-22
>
dmiller20:02:51

[ANN} I just uploaded ClojureCLR 1.12.0-alpha9. This release removes support for .Net Core 3.x -- it's been out of support since December, 2022. This release adds support for .Net 8.0. There is one aspect of .Net 8.0 that I have not dealt with yet -- BinaryFormatter is deprecated. Many Clojure types support Serialization and specialized support used techniques associate with the BinaryFormatter. I will have to retool the serialization support to something else. What do you think? Xml vs Json serialization? This brings us mostly up-to-date with all the changes for the Clojure(JVM) 1.12.0 alpha. The only thing really not done is support for method values, as outlined here: https://clojure.org/news/2024/02/08/1-12-alpha6 . That requires some major compiler hacking that I haven't had time for. The interop pieces always require special thought when trying to bring them over to the CLR. That page also mentions support for streams with the introduction of stream-seq! and friends. Those are specific to the JVM. No real equivalent on the CLR side, so I just implemented them to work with IEnumerable, which doesn't really gain us anything we didn't have already. Other things that don't really work (just yet) are related to providing hooks in Clojure itself back out to the deps.edn/cli tooling. The code is there, but given that we don't yet have deps.edn/cli tooling, there's nothing to look at or do. However: What I'm working on now is the equivalent of the clojure/clj CLI and deps.edn support. I have the supporting Clojure libraries ported. I have the command line tool itself written. I'm doing preliminary testing at this point. My next task is to go through the 20+ Clojure library ports I support and deps.edn-ify them, using those to do more testing along the way. I'm only planning on dealing with :local and :git coordinates for dependencies at this point. I'm thinking Maven is not really worth the effort, and Maven support on the .Net side is not a happy story. I will eventually think though allowing Nuget coordinates. Stay tuned. I figure I'm about two weeks ago from releasing an alpha and hopefully finding a few brave souls to do some testing.

💯 7
🔥 9
🎉 8
1
💪 3
vncz14:02:07

@U45FQSBF1 I would be happy to test it out. Hit me up!

vncz12:04:53

@U45FQSBF1 about BinaryFormatter - I am aware that the .NET team has "put it back" as an external library shall you need to move to a version of .NET where it gets removed completely

vncz12:04:23

https://github.com/dotnet/runtime/issues/98245 You can see in the section below: > A new NuGet package will be provided, (with a suitable name like Microsoft.Unsupported.BinaryFormatter) which you could add to your projects. With a small config change in your app, BinaryFormatter will appear again, which is useful if you judge the risk of BinaryFormatter acceptable for your use cases. This NuGet package will be permanently marked as vulnerable so that dependency and code scanners can detect BinaryFormatter usage easily.

dmiller02:04:07

Thanks for the reference. At least a stopgap until I can consider a more trusted solution.