This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-03-03
Channels
- # announcements (15)
- # babashka (143)
- # babashka-sci-dev (2)
- # beginners (35)
- # biff (11)
- # calva (5)
- # cider (8)
- # clerk (4)
- # clj-kondo (58)
- # cljdoc (6)
- # clojure (88)
- # clojure-denmark (1)
- # clojure-europe (77)
- # clojure-nl (1)
- # clojure-norway (16)
- # clojure-uk (1)
- # clojurescript (19)
- # clr (32)
- # code-reviews (158)
- # datahike (5)
- # datomic (10)
- # deps-new (3)
- # fulcro (12)
- # graalvm (20)
- # honeysql (23)
- # hyperfiddle (32)
- # kaocha (17)
- # membrane (6)
- # observability (1)
- # other-languages (2)
- # pathom (5)
- # practicalli (12)
- # reagent (4)
- # reitit (7)
- # releases (1)
- # sci (25)
- # shadow-cljs (52)
I want to install dotnet on macos to run Clojure.Main - any hints how to start, without creating a lot of installation garbage on my system?
I've tried:
brew install --cask dotnet-sdk
and then:
dotnet tool install --global Clojure.Main
but when run it, I get:
$ Clojure.Main
You must install or update .NET to run this application.
App: /Users/borkdude/.dotnet/tools/Clojure.Main
Architecture: arm64
Framework: '', version '6.0.0' (arm64)
.NET location: /usr/local/share/dotnet
The following frameworks were found:
7.0.3 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Learn about framework resolution:
To install missing framework, download:
yes, this was it:
brew tap isen-ng/dotnet-sdk-versions
brew install --cask dotnet-sdk6-0-400
$ Clojure.Main
Clojure 1.11.0
user=>
I’m running with dotnet 7… I’m on Clojure 1.12.0-alpha3 though… not sure if that makes the difference
ClojureCLR 1.11.0 does not have .NET 7 support. It came out just a bit too early for that. ClojureCLR 1.12.0 will support .NET 7 -- the alphas already do. Other than that, looks pretty painless. (@U03AU2X8TD5: You're taking notes?)
What's the story with libraries in the ClojureCLR ecosystem? I bet you can't use deps.edn
etc right?
Not yet. Someone is working on a project to do that. And another project may be starting up soon. We'll see where they all converge. I'm hoping not too far in the future.
I am taking notes @U45FQSBF1! ✅
Yeah dependency management is really the big blocker right now, IMHO. ClojureCLR itself works great.
Any ideas why this isn't returning anything?
user=> System.Threading.ThreadLocal
Syntax error (TypeNotFoundException) compiling at (REPL:0:0).
Unable to find type: System.Threading.ThreadLocal
Generic type. Always a problem.
The official name of the type System.Threading.ThreadLocal
1`
You have to use |-quoting to specify the name.
user=> |System.Threading.ThreadLocal`1|
System.Threading.ThreadLocal`1
Something I hope to have a better solution eventually.
(I didn't solve it already because I didn't want to just make something up without some user feedback. Which requires discussions with actual users. There are two implications of that last sentence that haven't been easy to fill -- finding users and talking to them. That is improving.0
For now, the best documentation is in the wiki: https://github.com/clojure/clojure-clr/wiki
Specifically: https://github.com/clojure/clojure-clr/wiki/Specifying-types and https://github.com/clojure/clojure-clr/wiki/Calling-generic-methods@U04V15CAJ While I have your attention: I've been working on porting nrepl/nrepl and it's been a real slog. @U051BLM8F suggested https://github.com/babashka/babashka.nrepl as a possible alternative for porting. Though I'm sure the license permits it, I always like to ask: would you mind? And: Any hints on problems I might run into? I note that a sci context is required. How tightly is that woven into the implementation?
@U45FQSBF1 I don't mind at all. The SCI context is just an implementation detail
I asked about the ThreadLocal because I might be interested in porting SCI to the CLR since .NET now also supports AOT compiled binaries and this may be interesting to create something like #CLX41ASCS for the .NET platform
> What's the story with libraries in the ClojureCLR ecosystem? I know this: https://github.com/nasser/nostrand but not sure if ppl actually use it.
Nostrand does characterize itself as "very early, pre-alpha". Not sure of its status beyond that. I suggestion contacting the owner. There are a substantial number of libraries available. You can go to http://github.com/clojure, got the repositories tab, and type 'clr' in the search box. Other than clr.nrepl, all the others are usable and in use. Anything specific you are looking for?
Well, if I would write a library for Clojure CLR I'd surely wanna know how to use my own ;)
@U04V15CAJ please call babashka for .net/windoze "dedoshka", as in deDOShka. LOL. FYI, I'm the one working on deps.edn support on the CLR; hope to have news on this front soon.
@U2M7EC8KU Cool :) I think it would be a cross-platform thing though, not Windoze-specific, babashka also already runs on Windoze
@U04V15CAJ Yes - I use it now daily. Anything but DOS or PowerShell. LOL. Although I must say just having Clojure on .NET means I don't have to use PowerShell. :)
run dd
on linux/mac and have access to an interactive clr runtime will be awesome to learn about clr
@U2J4FRT2T I call my Clojure command line interface cljr but I can rename it dd if that helps. 🙂
dd
is already a program shipped with pretty much any unix… 😅