This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # announcements (2)
- # beginners (25)
- # calva (50)
- # cider (33)
- # clj-kondo (46)
- # cljs-dev (5)
- # cljsrn (23)
- # clojure (34)
- # clojure-dev (5)
- # clojure-russia (2)
- # clojure-spec (29)
- # clojurescript (11)
- # crux (4)
- # datomic (3)
- # docker (2)
- # duct (1)
- # emacs (11)
- # fulcro (15)
- # jobs-discuss (47)
- # off-topic (12)
- # om (2)
- # pathom (6)
- # re-frame (9)
- # reitit (4)
- # remote-jobs (1)
- # shadow-cljs (105)
- # spacemacs (4)
- # tools-deps (6)
Hi guys, Reading this: https://clojure.org/about/functional_programming Regarding tail-calls, it says this:
What does it mean when it says that recur is not as general as tail-call-optimization? Any examples?
While not as general as tail-call-optimization, it allows most of the same elegant constructs, and offers the advantage of checking that calls to recur can only happen in a tail position.
A full implementation of tail call optimization would optimize a tail call to function foo, a call to foo that was inside of function bar, into a "jump".
So, can I understand that unless there is a mutual recursion scenario, recur is as good as TCO?
Full tail call implementations optimize to jumps whether there is mutual recursion or not.
Self calls are one of the most common cases where TCO is helpful, so
recur covers that most common case.
How can I read a custom byte array type as string ?
like this one :
#object[com.rabbitmq.client.impl.LongStringHelper$ByteArrayLongString 0x4cb2ccf3 "OrderNotice"
I want to extract the string
"OrderNotice" as plain String.
Thanks in advance
By default the way the prints objects is #object[class-name identity-hash to-string]
Have anyone used Ant Design Mobile with Reagent and Re-frame? I want to build wrapper like Antizer for Ant Design Mobile. What are API similarities between Ant Design and Ant Design Mobile?
Hi my fellow clojurians. How do i keep my jetty ring based app up and running at all times?
What do you mean by that? It's likely the same as for any other process - depends on OS and deployment environment, I guess; you could use
systemd, docker, etc.
When I call dev from the user ns using this:
(ns user) (defn dev  (require 'dev) (in-ns 'dev) (set! *print-namespace-maps* false))
Symbols are resolved once at compile time to a var in a namespaces, but you are trying to effect symbol resolution by changing namespaces at runtime