This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-08-06
Channels
- # aleph (1)
- # beginners (180)
- # calva (16)
- # cider (29)
- # clj-kondo (47)
- # cljsrn (5)
- # clojure (40)
- # clojure-dev (39)
- # clojure-europe (1)
- # clojure-italy (25)
- # clojure-nl (9)
- # clojure-russia (1)
- # clojure-spec (8)
- # clojure-uk (83)
- # clojurescript (54)
- # core-async (2)
- # datomic (20)
- # defnpodcast (7)
- # figwheel (6)
- # fulcro (6)
- # jobs (5)
- # joker (4)
- # kaocha (4)
- # luminus (4)
- # off-topic (8)
- # onyx (6)
- # pathom (14)
- # re-frame (28)
- # reagent (30)
- # remote-jobs (2)
- # shadow-cljs (88)
- # spacemacs (2)
- # specter (17)
- # sql (25)
- # tools-deps (78)
- # xtdb (1)
- # yada (2)
@dnolen I wasnt complaining about the perf being bad, I just didnt expected such variation between optimization levels, that's my point. Anyway, upgrading node solved the problem and thus the problem wasnt in clojurescript itself.
Also you have to careful often with micro benchmarks like that you aren’t measuring anything
My company currently uses javascript/node.js and we're evaluation options, we'd like to see languages that compile down to javascript and migrate our codebase. Reason, ClojureScript, Fable etc
and predictability is a very very important feature, we don't want surprises in production hehe
(if you're mostly doing backend node.js then of course you have less to consider here)
then ClojureScript might not be a good fit depending on your perspective on cold start times - Clojurists do it because Clojure and I think people know that cold start while crappy in dev, in production doesn't mean much when you have real load + retry, backoff etc.
I didnt want to use clojure (on top of jvm) because of the cold starts and the large use of memory. I was trying to find a way to keep the same behavior we have with javascript (which is very good) but using a "more sane" language.
like I said I'm somewhat skeptical about those concerns - but if you're really writing tiny stateless scripts I also don't see why the language choice really matters so much
if your goal is to write tiny stateless scripts - probably JavaScript, TypeScript, or Reason are good choices
I'm not sure about Fable's output, but if they do what we do which is a lot of custom data structures then it's not going to be all that small
ClojureScript does have a large standard library, almost an incredible amount is just persistent data structure implementation details
this is why we use Closure Compiler - it takes the standard library down to gzipped jQuery territory
It's crazy, I read a lot about languages that compile about javascript, specially about functional ones, yet it's the first time I heard about Fable. Crazy how many things appear in the js ecosystem
yeah so this is JS target design space issue - either your thing is just JS w/ some flavor of type-checking w/ some flavor of syntax - or it brings more to the table - the later won't be great for tiny scripts - and we're on that end of spectrum because just believe there's more value to be delivered there
alright it makes sense. clojurescript and fable are super nice but they aren't the right tool for what i need to build.
with Reason, it’s even a bit more complex; there are multiple standard libs to choose from, plus the runtime (immutable data and other things)
hey! I’ve never done anything in clojurescript, only toyed around with clojure. I want to make a static website that allows someone to upload a file to my google drive, basically a form. any recommendations about where to start? libraries etc
ClojureScript includes Google Closure Library which has a bunch of the typical browser libs you need
Has anyone had and success/failure/luck with using the AWS Amplify Library in ClojureScript?
https://stackoverflow.com/questions/1979884/how-to-use-javascript-regex-over-multiple-lines
hm... I see
DON'T use (.|[\r\n]) instead of . for multiline matching.
DO use [\s\S] instead of . for multiline matching
so I think the suggestion in to USE dot-all modifier. And it works on re-match, but not in replace