<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Clojure Q&amp;A - Recent questions and answers in ClojureCLR</title>
<link>https://ask.clojure.org/index.php/qa/clojureclr</link>
<description></description>
<item>
<title>JVM-parity bug in how :clojure.datafy/class is set in clojureCLR</title>
<link>https://ask.clojure.org/index.php/15191/jvm-parity-bug-in-how-clojure-datafy-class-is-set-clojureclr</link>
<description>&lt;p&gt;As I was working on the &lt;code&gt;magic&lt;/code&gt; compiler (the compiler to build to il2cpp in Unity), I noticed i was not having the same behaviour for datafy than clojureCLR.&lt;/p&gt;
&lt;p&gt;In fact, we found a small JVM-parity bug in &lt;code&gt;clojure.datafy/datafy&lt;/code&gt;, in how &lt;code&gt;:clojure.datafy/class&lt;/code&gt; is set in ClojureCLR:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;;; JVM clojure (datafy.clj) : fully qualified name, e.g. my.ns.CombinationB
(vary-meta v assoc ::obj x ::class (-&amp;gt; x class .getName symbol))

;; MAGIC's port : .FullName is the CLR equivalent of .getName, so same result
(vary-meta v assoc ::obj x ::class (-&amp;gt; x class .FullName symbol))

;; ClojureCLR (Clojure.Source/clojure/datafy.clj) : .Name is only the short name,
;; e.g. CombinationB, so the namespace is lost
(vary-meta v assoc ::obj x ::class (-&amp;gt; x class .Name symbol))
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This breaks code that resolves the class back from the metadata (e.g. reconstructing records from datafied data ). The fix is small change: &lt;code&gt;.Name&lt;/code&gt; → &lt;code&gt;.FullName&lt;/code&gt;.&lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/15191/jvm-parity-bug-in-how-clojure-datafy-class-is-set-clojureclr</guid>
<pubDate>Tue, 21 Jul 2026 06:27:09 +0000</pubDate>
</item>
<item>
<title>Answered: Possible bug in conditional with NaN comparison</title>
<link>https://ask.clojure.org/index.php/15174/possible-bug-in-conditional-with-nan-comparison?show=15190#a15190</link>
<description>&lt;p&gt;It's definitely a bug. Will be fixed in the next release.  (I'll have a new alpha out this week, but plan to do a GA release toward the end of the week.) &lt;/p&gt;
&lt;p&gt;For those who like details:&lt;/p&gt;
&lt;p&gt;It's a bug that only occurs when calling a one of &amp;lt;, &amp;lt;=, &amp;gt;, &amp;gt;= on two arguments in a context where both arguments have known types and the types are both double, and the context of the call is the test in a conditional.  So only when we have something like &lt;code&gt;(if (&amp;lt;= ^double x ^double y) ... )&lt;/code&gt;.  And the generated code gives an incorrect answer only when one or both of the arguments is NaN.  &lt;/p&gt;
&lt;p&gt;Why? (Asks no one.)&lt;/p&gt;
&lt;p&gt;Both the ClojureJVM and ClojureCLR compilers detect calls to numeric comparison operators as the test of a conditional and replace a static method call with an equivalent sequence of direct bytecode/MSIL instructions.   The ClojureCLR code copied the comparator code for integer arguments when doing the double, which involved a negation.  For integers, the negation of a &amp;lt;= is &amp;gt;.  That is not true for doubles, when an argument is NaN.  Brain cramp.&lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/15174/possible-bug-in-conditional-with-nan-comparison?show=15190#a15190</guid>
<pubDate>Mon, 20 Jul 2026 14:29:43 +0000</pubDate>
</item>
<item>
<title>Answered: Porting .NET 4.8 application using Clojure CLR to .NET 8</title>
<link>https://ask.clojure.org/index.php/14187/porting-net-4-8-application-using-clojure-clr-to-net-8?show=15048#a15048</link>
<description>&lt;p&gt;&lt;code&gt;clojure.core/load&lt;/code&gt; calls &lt;code&gt;RT.load&lt;/code&gt; as seen in the stack trace.&lt;br&gt;
The set of probe paths for &lt;code&gt;RT.load&lt;/code&gt; is&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the directory of the domain of the thread that is running (domains really being more relevant to .NET Framework at this point)&lt;/li&gt;
&lt;li&gt;the current directory&lt;/li&gt;
&lt;li&gt;the directory where Clojure.dll is located&lt;/li&gt;
&lt;li&gt;the directory of the entry assembly&lt;/li&gt;
&lt;li&gt;all directories listed as the value of the environment variable &lt;code&gt;CLOJURE_LOAD_PATH&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;this is equivalent to the classpath in Java-land.&lt;/li&gt;
&lt;li&gt;separator character is &lt;code&gt;System.IO.Path.PathSeparator&lt;/code&gt;  (&lt;code&gt;;&lt;/code&gt; on Windows)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Clearly this is not sufficiently documented.  Will work on that.&lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14187/porting-net-4-8-application-using-clojure-clr-to-net-8?show=15048#a15048</guid>
<pubDate>Thu, 23 Apr 2026 04:55:40 +0000</pubDate>
</item>
<item>
<title>Answered: How to use core.async from cljr command line tool?</title>
<link>https://ask.clojure.org/index.php/14766/how-to-use-core-async-from-cljr-command-line-tool?show=14789#a14789</link>
<description>&lt;p&gt;The recommendations have implemented (other than the archiving of clr.tools.analyzer).&lt;/p&gt;
&lt;p&gt;clr.core.async version 1.7.701 has been released.&lt;br&gt;
It and all its dependencies have been properly deps.edn-ified.&lt;br&gt;
I've been doing all the testing via &lt;code&gt;cljr&lt;/code&gt;, so I have some confidence it works.&lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14766/how-to-use-core-async-from-cljr-command-line-tool?show=14789#a14789</guid>
<pubDate>Tue, 02 Dec 2025 04:00:56 +0000</pubDate>
</item>
<item>
<title>Threading macro with update and when produces incorrect results</title>
<link>https://ask.clojure.org/index.php/14788/threading-macro-with-update-when-produces-incorrect-results</link>
<description>&lt;p&gt;Environment:&lt;br&gt;
- ClojureCLR version: 1.12.2&lt;br&gt;
- .NET version: 10&lt;br&gt;
- OS: MacOS 26.1&lt;/p&gt;
&lt;p&gt;Description:&lt;br&gt;
The pattern &lt;code&gt;(-&amp;gt; map (update :key #(when % (fn %))))&lt;/code&gt; &lt;br&gt;
fails in ClojureCLR but works correctly in Clojure JVM. When chaining multiple updates in a threading macro where the anonymous function contains &lt;code&gt;when&lt;/code&gt;, the result is incorrect or causes runtime errors.&lt;/p&gt;
&lt;p&gt;Expected Behavior:&lt;br&gt;
Should work identically to Clojure JVM - &lt;code&gt;update&lt;/code&gt; with a function that&lt;br&gt;
returns &lt;code&gt;nil&lt;/code&gt; should associate &lt;code&gt;nil&lt;/code&gt; to the key.&lt;br&gt;
Actual Behavior:&lt;br&gt;
[Crashes/Wrong values/500 errors in web handlers]&lt;br&gt;
Workaround:&lt;br&gt;
Use explicit conditionals instead:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; (let [value (when (:key map) (fn (:key map)))]
    (if value (assoc map :key value) map))'
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14788/threading-macro-with-update-when-produces-incorrect-results</guid>
<pubDate>Sat, 29 Nov 2025 07:16:52 +0000</pubDate>
</item>
<item>
<title>Answered: Does cljr -Sdeps work for other people?</title>
<link>https://ask.clojure.org/index.php/14695/does-cljr-sdeps-work-for-other-people?show=14749#a14749</link>
<description>&lt;p&gt;Fixed a month ago in clr.core.cli. Was a problem with a .sh file on Linux and another issue.&lt;br&gt;
Forgot to write back here. It all works now.&lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14695/does-cljr-sdeps-work-for-other-people?show=14749#a14749</guid>
<pubDate>Wed, 05 Nov 2025 19:34:05 +0000</pubDate>
</item>
<item>
<title>Porting clojure libraries w/ java interop to clojure-clr</title>
<link>https://ask.clojure.org/index.php/14684/porting-clojure-libraries-w-java-interop-to-clojure-clr</link>
<description>&lt;p&gt;I've been browsing around to understand the ecosystem.&lt;/p&gt;
&lt;p&gt;I see some libraries are ported to use CLR interop, like core.logic, some are part way finished, like core.async.&lt;/p&gt;
&lt;p&gt;Here is one maintainer's concerns, they would much like to point CLR users at a fork with CLR interop maintained by someone else:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/weavejester/medley/pull/96&quot;&gt;https://github.com/weavejester/medley/pull/96&lt;/a&gt;&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/weavejester/medley/pull/65&quot;&gt;https://github.com/weavejester/medley/pull/65&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For fun I examined how to use formal logic to do the code translation. Using Spec, and core.logic for code generation perhaps. I think it would require a lot of knowledge representation.&lt;/p&gt;
&lt;p&gt;It might be easier, for these non-core/crucial libraries to use LLMs to do the code translation, and direct the outputs into a set of forks. Perhaps the core libraries used as training data on what to do. This author has some great insights and details on a plausible workflow(s) including with the utility of editor integration. He has done interop translation and work with clojure:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://m.youtube.com/watch?v=oNhqqiKuUmw&quot;&gt;https://m.youtube.com/watch?v=oNhqqiKuUmw&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As it is only the interop which requires translation (subsets of clojure files), with a skilled hand there might be better results than some of what he illustrates.&lt;/p&gt;
&lt;p&gt;I looked around for a spec for the dotnet core API. I saw one they used to maintain but couldn't find a recent one. Though, all this LLM stuff is beyond me at this time. I thought to share some of my exploration.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; Found the dotnet API spec/reference for netstandard 2.1.0, I think someone wrote they since moved it into dotnet/runtime but I couldn't find it there, dunno if this helps: &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/dotnet/standard/blob/v2.1.0/src/netstandard/ref/System.IO.cs&quot;&gt;https://github.com/dotnet/standard/blob/v2.1.0/src/netstandard/ref/System.IO.cs&lt;/a&gt;&lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14684/porting-clojure-libraries-w-java-interop-to-clojure-clr</guid>
<pubDate>Fri, 15 Aug 2025 01:31:53 +0000</pubDate>
</item>
<item>
<title>Does clojure-clr work on Android?</title>
<link>https://ask.clojure.org/index.php/14512/does-clojure-clr-work-on-android</link>
<description>&lt;p&gt;&lt;strong&gt;EDIT: &lt;/strong&gt; Answer is YES. Below is my long-winded exploration.&lt;/p&gt;
&lt;p&gt;I see one of the reasons for clojure-clr-next is it will work on more platforms, is Android one of those?&lt;/p&gt;
&lt;p&gt;I'm using Termux to operate dotnet on Android.&lt;/p&gt;
&lt;p&gt;Both the clojure-clr global dotnet tool and locally compiled clojure-clr fail with exit code 1, no exceptions or anything. I tried dotnet-trace and it gets a partial trace, but no minidump. Puzzling as with the partial trace, the  documentation indicates an expectation of a minidump, maybe there is some unmet condition to emit the minidump I'm not aware of yet (env variables for it didn't work).&lt;/p&gt;
&lt;p&gt;In the trace here is an early line followed by some of the last lines:&lt;br&gt;
&lt;code&gt;`&lt;/code&gt;&lt;br&gt;
&quot;system.linq!System.Linq.Enumerable.SelectManyS\ingleSelectorIterator\u003cSystem.Reflection.As\sembly,System.Type\u003e.MoveNext()&quot;&lt;/p&gt;
&lt;p&gt;[...]&lt;br&gt;
&quot;system.collections!System.Collections.Generic.\&lt;br&gt;
SortedSet\u003cSystem.Collections.Generic.KeyVa\luePair\u003cSystem.Int32,clojure.lang.CljCompi\ler.Ast.FnMethod\u003e\u003e.AddIfNotPresent(Sy\stem.Collections.Generic.KeyValuePair`2\u003cin\t,&lt;/p&gt;
&lt;p&gt;[...last line...]&lt;br&gt;
&quot;ManagedModule!System.Buffers.SharedArrayPool\u\003cSystem.Byte\u003e.Trim()&quot;&lt;br&gt;
&lt;code&gt;`&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;So maybe something to do with reflection, or that SharedArrayPool?&lt;/p&gt;
&lt;p&gt;I tried inserting some logging to Clojure.Main, but nothing logged as it appears to fail before CljMain.Main() is called. Possibly fails during setting up attributes on one of the classes, in one of the Symbol.intern() or RT.var() calls or somewhere else?&lt;/p&gt;
&lt;p&gt;Couldn't run the &lt;code&gt;dotnet msbuild build.proj -t:Test -p:TestTargetFramework=net8.0&lt;/code&gt;, fails with:&lt;br&gt;
&lt;code&gt;Clojure.Main -&amp;gt; /data/data/com.termux/files/home/dev/clojure-clr/Clojure/Clojure.Main/bin/Debug/net8.0/Clojure.Main.dll
  ClojureCompileAssets = ''
  ClojureMainAssets = ''
  ClojureTestsAssets = ''
/data/data/com.termux/files/home/dev/clojure-clr/Clojure/build.proj(177,5): error MSB3073: The command &quot;dotnet run --project /data/data/com.termux/files/home/dev/clojure-clr/Clojure/Clojure.Main --framework net8.0 -c Debug -p:TargetOS=linux-bionic -p:TargetPlatform=arm64 -p:TargetFramework=net8.0 -p:TargetFrameworks='net8.0' -- run_test.clj&quot; exited with code 1.&lt;/code&gt;&lt;br&gt;
I had to edit build.proj a bit to get custom -p:TargetFrameworks and such to pass through, but still fails with exit code 1.&lt;/p&gt;
&lt;p&gt;Well I'll continue poking around in this uncharted territory.&lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14512/does-clojure-clr-work-on-android</guid>
<pubDate>Sat, 19 Apr 2025 19:59:28 +0000</pubDate>
</item>
<item>
<title>CLR behavior of tools.namespace does not match the JVM implementation</title>
<link>https://ask.clojure.org/index.php/14284/clr-behavior-tools-namespace-does-not-match-implementation</link>
<description>&lt;p&gt;I noticed a few behavioral differences between the CLR and JVM implementations of &lt;code&gt;tools.namespace&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;As an example, the following tests will pass in the JVM implementation and fail in the CLR implementation. In CLR, &lt;code&gt;files-2&lt;/code&gt; is empty and &lt;code&gt;::dir/time&lt;/code&gt; is an instant.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(ns clojure.tools.namespace.repl-test
  (:require [clojure.test :refer [deftest is]]
            [clojure.tools.namespace.dir :as dir]
            [clojure.tools.namespace.find :as find]
            [clojure.tools.namespace.repl :as repl]
            [clojure.tools.namespace.test-helpers :as help]))

(deftest t-repl-scan
  (let [dir        (help/create-temp-dir &quot;t-repl-scan&quot;)
        _main-clj  (help/create-source dir 'example.main :clj '[example.one])
        _one-cljc  (help/create-source dir 'example.one :clj)
        _other-dir (help/create-temp-dir &quot;t-repl-scan-other&quot;)
        files-1    (::dir/files (repl/scan {:platform find/clj}))
        files-2    (::dir/files (repl/scan {:platform find/clj}))]
    (is (not-empty files-1))
    (is (not-empty files-2))
    (is (= files-1 files-2))))

(deftest t-repl-scan-time
  (let [scan (repl/scan {:platform find/clj})]
    (is (integer? (::dir/time scan)))))
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After discussing with other contributors, the question of intent came up and this test was proposed as something that correctly captures the intent of &lt;code&gt;repl/scan&lt;/code&gt;. However, if this is the intended behavior, then a new problem arises as this test fails in the JVM implementation.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(deftest t-repl-scan
  (try
    (let [dir       (help/create-temp-dir &quot;t-repl-scan&quot;)
          _main-clj (help/create-source dir 'example.main :clj '[example.one])
          _one-cljc (help/create-source dir 'example.one :clj)
          other-dir (help/create-temp-dir &quot;t-repl-scan-other&quot;)
          _         (repl/set-refresh-dirs dir other-dir)
          scan1     (repl/scan {:platform find/clj})
          scan2     (repl/scan {:platform find/clj})
          files-1   (::dir/files scan1)
          files-2   (::dir/files scan2)]
      (is (= (count files-1) 2))
      (is (= (count files-2) 0)))
    (finally (repl/clear))))
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A couple things I think would help here:&lt;br&gt;
 1. Flesh out the &lt;code&gt;tools.namespace&lt;/code&gt; (JVM) test suite to capture all the intended behavior.&lt;br&gt;
 2. Realign &lt;code&gt;clr.tools.namespace&lt;/code&gt; with &lt;code&gt;tools.namespace&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Point 1 will provide a good baseline for point 2, as well as any other existing/future ports of &lt;code&gt;tools.namespace&lt;/code&gt; and help prevent things from diverging in the future as changes are made.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As of writing, &lt;code&gt;repl/scan&lt;/code&gt; will throw an &lt;code&gt;InvalidCastException&lt;/code&gt; on CLR. To fix this, replace &lt;code&gt;clojure.tools.namespace.dir/modified-files&lt;/code&gt; with this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(defn- modified-files [tracker files]
  (filter #(DateTime/op_LessThan ^DateTime (::time tracker System.DateTime/UnixEpoch) (.get_LastWriteTimeUtc ^FileSystemInfo %)) files))
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14284/clr-behavior-tools-namespace-does-not-match-implementation</guid>
<pubDate>Thu, 05 Dec 2024 14:44:05 +0000</pubDate>
</item>
<item>
<title>Answered: Is it still possible to compile cljr files to dll/exe on dotent 6 and above?</title>
<link>https://ask.clojure.org/index.php/13866/is-still-possible-compile-cljr-files-dll-exe-dotent-and-above?show=13869#a13869</link>
<description>&lt;p&gt;It is not currently possible.  Starting as far back as the first Core release, .NET disabled the call to save dynamically generated assemblies to files.  That continues through .NET 8.  All available third-party solutions that I've tried were not up to the task.&lt;/p&gt;
&lt;p&gt;The good news is that the Save method appears to be coming back in .NET 9:  &lt;a rel=&quot;nofollow&quot; href=&quot;https://learn.microsoft.com/en-us/dotnet/fundamentals/runtime-libraries/system-reflection-emit-assemblybuilder#persisted-dynamic-assemblies-in-net-framework&quot;&gt;https://learn.microsoft.com/en-us/dotnet/fundamentals/runtime-libraries/system-reflection-emit-assemblybuilder#persisted-dynamic-assemblies-in-net-framework&lt;/a&gt;  &lt;/p&gt;
&lt;p&gt;I'll be working on enabling saves again for the next release of ClojureCLR.&lt;/p&gt;
&lt;p&gt;[The linked document has some caveats that indicate the capability will not be re-enabled simply by restoring the call to Save.  If you are interested in why there will be problems in implementing the Clojure model, I'm happy to share.] &lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13866/is-still-possible-compile-cljr-files-dll-exe-dotent-and-above?show=13869#a13869</guid>
<pubDate>Wed, 01 May 2024 14:48:00 +0000</pubDate>
</item>
<item>
<title>Answered: Newbie question about namespaces and strategy for C# -&gt; CLJ in general</title>
<link>https://ask.clojure.org/index.php/13459/newbie-question-about-namespaces-and-strategy-for-general?show=13577#a13577</link>
<description>&lt;p&gt;I can't see where you are calling Assembly.Load which I think is necessary. Try something like this in &lt;strong&gt;Program.cs&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;using clojure.lang;
using System.Reflection;

// start up Clojure runtime including compiler
RT.Init();

// make .cljr file resources available from DLL
Assembly.Load(&quot;clojure.tools.nrepl&quot;);
Assembly.Load(&quot;clojure.tools.reader&quot;);

// compile nREPL lib
var ns = &quot;clojure.tools.nrepl&quot;;
RT.var(&quot;clojure.core&quot;, &quot;require&quot;).invoke(Symbol.intern(ns));

// create nREPL server (default port is 1667)
var startServer = RT.var(ns, &quot;start-server!&quot;);
var server = startServer.invoke();

// allow exit on Ctrl-C by shutting down server
var stopServer = RT.var(ns, &quot;stop-server!&quot;);
Console.CancelKeyPress += (_, _) =&amp;gt; stopServer.invoke(server);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And here is a suitable &lt;strong&gt;example.csproj&lt;/strong&gt; file:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;Project Sdk=&quot;Microsoft.NET.Sdk&quot;&amp;gt;

  &amp;lt;PropertyGroup&amp;gt;
    &amp;lt;OutputType&amp;gt;Exe&amp;lt;/OutputType&amp;gt;
    &amp;lt;TargetFramework&amp;gt;net7.0&amp;lt;/TargetFramework&amp;gt;
    &amp;lt;ImplicitUsings&amp;gt;enable&amp;lt;/ImplicitUsings&amp;gt;
    &amp;lt;Nullable&amp;gt;enable&amp;lt;/Nullable&amp;gt;
  &amp;lt;/PropertyGroup&amp;gt;

  &amp;lt;ItemGroup&amp;gt;
    &amp;lt;PackageReference Include=&quot;Clojure&quot; Version=&quot;1.12.0-alpha8&quot; /&amp;gt;
    &amp;lt;PackageReference Include=&quot;clojure.tools.nrepl&quot; Version=&quot;0.1.0-alpha1&quot; /&amp;gt;
  &amp;lt;/ItemGroup&amp;gt;

&amp;lt;/Project&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I'm using dotnet 7.0.114 on Ubuntu 22.04 . With those two files in an empty directory just run&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;dotnet restore
dotnet run
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Have fun!&lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13459/newbie-question-about-namespaces-and-strategy-for-general?show=13577#a13577</guid>
<pubDate>Tue, 19 Dec 2023 03:57:02 +0000</pubDate>
</item>
<item>
<title>Answered: clojure-clr nrepl - .NET Standard 2.1. does not work with .NET 7</title>
<link>https://ask.clojure.org/index.php/12954/clojure-clr-nrepl-net-standard-2-1-does-not-work-with-net-7?show=12955#a12955</link>
<description>&lt;p&gt;Thank you for the very clear example.  It was easy to track down.  When I added support for .cljr files, I missed a location -- that's what is failing here.  (Embedded resource in loaded assembly.)&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/jira/software/c/projects/CLJCLR/issues/CLJCLR-155&quot;&gt;https://clojure.atlassian.net/jira/software/c/projects/CLJCLR/issues/CLJCLR-155&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I'll get a fix into the next alpha -- very soon.&lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12954/clojure-clr-nrepl-net-standard-2-1-does-not-work-with-net-7?show=12955#a12955</guid>
<pubDate>Tue, 23 May 2023 02:15:54 +0000</pubDate>
</item>
<item>
<title>Answered: Semantics of as-file differs from Clojure</title>
<link>https://ask.clojure.org/index.php/12580/semantics-of-as-file-differs-from-clojure?show=12610#a12610</link>
<description>&lt;p&gt;Logged as &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/browse/CLJCLR-133&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-133&lt;/a&gt;&lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12580/semantics-of-as-file-differs-from-clojure?show=12610#a12610</guid>
<pubDate>Mon, 30 Jan 2023 19:52:29 +0000</pubDate>
</item>
<item>
<title>Answered: Using proxy to extend MemoryStream fails on Close</title>
<link>https://ask.clojure.org/index.php/12549/using-proxy-to-extend-memorystream-fails-on-close?show=12559#a12559</link>
<description>&lt;p&gt;Issue created.  Two other instances have been reported (including my own encounter).&lt;br&gt;
From my initial digging, it is related to overloads of methods such as Write on arguments of types such as ReadOnlySpan.  I'm going to guess a problem with stack-allocated object that are not handled properly in IL-generation.  &lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/jira/software/c/projects/CLJCLR/issues/CLJCLR-132&quot;&gt;JIRA issue CLRCLR-132&lt;/a&gt; created for this.&lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12549/using-proxy-to-extend-memorystream-fails-on-close?show=12559#a12559</guid>
<pubDate>Tue, 17 Jan 2023 13:43:36 +0000</pubDate>
</item>
<item>
<title>Answered: slurp without encoding prints erroneous warning</title>
<link>https://ask.clojure.org/index.php/12524/slurp-without-encoding-prints-erroneous-warning?show=12525#a12525</link>
<description>&lt;p&gt;Logged as &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/browse/CLJCLR-127&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-127&lt;/a&gt;&lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12524/slurp-without-encoding-prints-erroneous-warning?show=12525#a12525</guid>
<pubDate>Fri, 06 Jan 2023 16:07:44 +0000</pubDate>
</item>
<item>
<title>Answered: Cannot install Clojure.Main 1.10.0-rc1 dotnet tool</title>
<link>https://ask.clojure.org/index.php/10427/cannot-install-clojure-main-1-10-0-rc1-dotnet-tool?show=10438#a10438</link>
<description>&lt;p&gt;&quot;It works for me!&quot;  :)&lt;/p&gt;
&lt;p&gt;But I've only tested on Windows.&lt;/p&gt;
&lt;p&gt;Searching around, I've seen a few hints that casing might be a problem.  Prior was 'beta1'.  This one is &quot;RC1&quot;.    Might be solved if it were &quot;rc1&quot;.&lt;/p&gt;
&lt;p&gt;Not sure if there is a quick solution to this.&lt;br&gt;
A suggestion here:  &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/dotnet/sdk/issues/9731&quot;&gt;https://github.com/dotnet/sdk/issues/9731&lt;/a&gt;&lt;/p&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10427/cannot-install-clojure-main-1-10-0-rc1-dotnet-tool?show=10438#a10438</guid>
<pubDate>Thu, 08 Apr 2021 18:32:24 +0000</pubDate>
</item>
<item>
<title>Answered: How do I tag a game object in arcadia?</title>
<link>https://ask.clojure.org/index.php/8225/how-do-i-tag-a-game-object-in-arcadia?show=8236#a8236</link>
<description>&lt;p&gt;Haven’t tested this, but it should work:&lt;/p&gt;
&lt;p&gt;According to the &lt;a rel=&quot;nofollow&quot; href=&quot;https://docs.unity3d.com/ScriptReference/GameObject-tag.html&quot;&gt;Unity Scripting API&lt;/a&gt; you can simply set the tag property of a GameObject to a string after specifying it via the Tags and Layers manager.&lt;/p&gt;
&lt;p&gt;In &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/arcadia-unity/Arcadia/wiki/Using-Arcadia&quot;&gt;Arcadia&lt;/a&gt; you can use &lt;code&gt;set!&lt;/code&gt; to accomplish this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(set! (. game-object tag) &quot;SomeTag&quot;)
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/8225/how-do-i-tag-a-game-object-in-arcadia?show=8236#a8236</guid>
<pubDate>Sun, 28 Jul 2019 06:39:55 +0000</pubDate>
</item>
<item>
<title>Answered: AST nodes need to record the context in which it was parsed (RHC).</title>
<link>https://ask.clojure.org/index.php/4848/ast-nodes-need-to-record-the-context-in-which-it-was-parsed-rhc?show=4869#a4869</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-75&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-75&lt;/a&gt; (reported by dmiller)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4848/ast-nodes-need-to-record-the-context-in-which-it-was-parsed-rhc?show=4869#a4869</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: Use Type.AssemblyQualifiedName in ObjExpr.EmitValue when generating code for types</title>
<link>https://ask.clojure.org/index.php/4859/assemblyqualifiedname-objexpr-emitvalue-generating-types?show=4901#a4901</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-38&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-38&lt;/a&gt; (reported by dmiller)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4859/assemblyqualifiedname-objexpr-emitvalue-generating-types?show=4901#a4901</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: Compute RT.DEFAULT_IMPORTS at startup</title>
<link>https://ask.clojure.org/index.php/4847/compute-rt-defaultimports-at-startup?show=4868#a4868</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-81&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-81&lt;/a&gt; (reported by dmiller)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4847/compute-rt-defaultimports-at-startup?show=4868#a4868</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: Regularize handling of clojure.compile.x environment variables</title>
<link>https://ask.clojure.org/index.php/4860/regularize-handling-clojure-compile-environment-variables?show=4902#a4902</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-73&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-73&lt;/a&gt; (reported by dmiller)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4860/regularize-handling-clojure-compile-environment-variables?show=4902#a4902</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: spit does not truncate, leaves tail of original file if output is shorter length.</title>
<link>https://ask.clojure.org/index.php/4858/spit-does-truncate-leaves-tail-original-output-shorter-length?show=4895#a4895</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-37&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-37&lt;/a&gt; (reported by dmiller)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4858/spit-does-truncate-leaves-tail-original-output-shorter-length?show=4895#a4895</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: RT.load does not correctly map namespace to source file or dll name</title>
<link>https://ask.clojure.org/index.php/4849/rt-load-does-not-correctly-map-namespace-source-file-dll-name?show=4870#a4870</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-32&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-32&lt;/a&gt; (reported by alex+import)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4849/rt-load-does-not-correctly-map-namespace-source-file-dll-name?show=4870#a4870</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: clojure/test-clojure/reducers seems to take a very long time to run</title>
<link>https://ask.clojure.org/index.php/4857/clojure-test-clojure-reducers-seems-take-very-long-time-run?show=4893#a4893</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-96&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-96&lt;/a&gt; (reported by dmiller)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4857/clojure-test-clojure-reducers-seems-take-very-long-time-run?show=4893#a4893</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: Add gitter.im and slack links to README</title>
<link>https://ask.clojure.org/index.php/4844/add-gitter-im-and-slack-links-to-readme?show=4861#a4861</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-103&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-103&lt;/a&gt; (reported by dmiller)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4844/add-gitter-im-and-slack-links-to-readme?show=4861#a4861</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: Problems building on Linux</title>
<link>https://ask.clojure.org/index.php/4854/problems-building-on-linux?show=4884#a4884</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-78&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-78&lt;/a&gt; (reported by spacepluk)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4854/problems-building-on-linux?show=4884#a4884</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: Cannot call new/hidden interface method</title>
<link>https://ask.clojure.org/index.php/4853/cannot-call-new-hidden-interface-method?show=4883#a4883</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-67&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-67&lt;/a&gt; (reported by dmiller)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4853/cannot-call-new-hidden-interface-method?show=4883#a4883</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: Make more fields public in AST nodes</title>
<link>https://ask.clojure.org/index.php/4852/make-more-fields-public-in-ast-nodes?show=4882#a4882</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-69&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-69&lt;/a&gt; (reported by dmiller)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4852/make-more-fields-public-in-ast-nodes?show=4882#a4882</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: Error when starting Clojure.Main.exe</title>
<link>https://ask.clojure.org/index.php/4851/error-when-starting-clojure-main-exe?show=4879#a4879</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-48&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-48&lt;/a&gt; (reported by alex+import)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4851/error-when-starting-clojure-main-exe?show=4879#a4879</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: REPL input broken</title>
<link>https://ask.clojure.org/index.php/4850/repl-input-broken?show=4875#a4875</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-33&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-33&lt;/a&gt; (reported by shlomocomputer)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4850/repl-input-broken?show=4875#a4875</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: Upgrading to .NET Core 2.0</title>
<link>https://ask.clojure.org/index.php/4856/upgrading-to-net-core-2-0?show=4887#a4887</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-94&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-94&lt;/a&gt; (reported by alex+import)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4856/upgrading-to-net-core-2-0?show=4887#a4887</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: ClojureClr assembly loading from referenced dll</title>
<link>https://ask.clojure.org/index.php/4855/clojureclr-assembly-loading-from-referenced-dll?show=4886#a4886</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-88&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-88&lt;/a&gt; (reported by alex+import)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4855/clojureclr-assembly-loading-from-referenced-dll?show=4886#a4886</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: Update README to point to bug reporting to clojure.atlassian.net/projects/CLJCLR</title>
<link>https://ask.clojure.org/index.php/4845/update-readme-reporting-clojure-atlassian-projects-cljclr?show=4862#a4862</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-105&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-105&lt;/a&gt; (reported by dmiller)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4845/update-readme-reporting-clojure-atlassian-projects-cljclr?show=4862#a4862</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
<item>
<title>Answered: Clojure.Compile.exe create single dll for all compiled .clj files</title>
<link>https://ask.clojure.org/index.php/4846/clojure-compile-exe-create-single-dll-for-all-compiled-files?show=4865#a4865</link>
<description>Reference: &lt;a href=&quot;https://clojure.atlassian.net/browse/CLJCLR-25&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://clojure.atlassian.net/browse/CLJCLR-25&lt;/a&gt; (reported by speige)</description>
<category>ClojureCLR</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/4846/clojure-compile-exe-create-single-dll-for-all-compiled-files?show=4865#a4865</guid>
<pubDate>Wed, 26 Jun 2019 12:00:00 +0000</pubDate>
</item>
</channel>
</rss>