This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-10-08
Channels
- # asami (22)
- # babashka (35)
- # beginners (4)
- # calva (76)
- # cider (7)
- # clj-on-windows (89)
- # clojure (30)
- # clojure-europe (25)
- # clojurescript (10)
- # conjure (46)
- # fulcro (13)
- # gratitude (5)
- # lambdaisland (4)
- # lsp (13)
- # malli (5)
- # membrane (6)
- # nbb (1)
- # off-topic (11)
- # re-frame (2)
- # releases (1)
- # shadow-cljs (45)
- # xtdb (4)
Hey @olical: I am playing around with conjure and that run-all-tests issue. I am having some issues basically making sure that I am working on the right version of the aniseed dep. It's cloned to deps/aniseed, and compiled to lua/conjure/aniseed? Should I expect local changed to the submodule to get compiled in when I run make compile
?
It seems that your new filter doesn't work, and it still selects a package with a metatable and it chokes later on
Oh... you thread through run before your filter 😄
Still wondering the right way to play around with this: If I mess with a file in deps
, how should I compile it into conjure?
So you either have to symlink your aniseed into Conjure's deps dir then run make compile
So instead of conjure.aniseed.*
you can set it to use aniseed.*
which would be your globally installed copy
Or you can commit/push to aniseed develop and make
but that's only something I can do really
thanks for the fix. So I guess flow is: symlink make compile in aniseed repo make compile in conjure repo. That seems to work
I had to edit the lua files directly for the aniseed dep earlier and that wasn't as much fun
yep! symlinking in your local aniseed into Conjure's deps and make compile is probably the easiest and quickest way
right on, works pretty well
I have never run run-all-tests before seeing that bug. No idea why I got involved there lol
but anyway, my local fix works, lmk when you push yours and I'll verify
pretty much 🙂
Alright should actually be fixed this time. It'll also handle modules that aren't exporting tables. So we can only test a module if it's a plain table with no metatable AND has the right aniseed keys inside of it.
Very nice. I wish a lot of these were put into fennels 'stdlib'
Hard to push functions that make shallow clones on everyone like that though, by default anyway
I wanted Diet Immutability at the very least, but people coming from pure lua / js etc will maybe be put off of the whole language if it pushes ideas like that
Yep, but then I find myself using babashka everywhere I can't use aniseed because I like qol functions like that
OK so conjure always contains a compiled copy of aniseed. I wasn't sure how that worked
Yes I'm with you
Or you can configure Conjure to call out to your local copy of Aniseed if you so wish, then you only use one copy at runtime and never even load Conjure's bundled one because lazy loading
I'd like for janet to gain traction..
is that a config option in conjure, or does it require local changes to conjure e.g. to change the require path?
*g:conjure#client#fennel#aniseed#aniseed_module_prefix*
`g:conjure#client#fennel#aniseed#aniseed_module_prefix`
Prefix to put in front of all Aniseed modules Conjure relies on.
This is set to use Conjure's internal copy of Aniseed by default
but you can set it to `"aniseed."` to use your globally installed
copy or even your own plugin specific prefix if you've embedded it
within your project.
Default: `"conjure.aniseed."
`oh right on. I'll add a note for next time I hack on it. ty!
So it's only for the Aniseed client, but Conjure will still load it's own copy to do internal work. It just means you can use another copy if you need another version for working on aniseed itself locally or maybe your own plugin that requires a specific version etc
Built this whole bundle of stuff with "lua module names clash" in mind, so tried to prefix things everywhere and make those prefixes configurable so people can get creative
yeah I definitely found myself confused with that seemed like many copies of certain files
Was a hard choice because I know things like that can put people off, but I chose pragmatism and safety over file system purity. Especially since Aniseed uses probably less storage than a web browser cache of a single small page.
I'm inclined to agree