Opaque string representation of channels in Clojurescript core.async

Description

In clojurescript, (str (chan)) returns the string "[object Object]". This is different from JVM Clojure behavior per se, and more practically, it can result in hard-to-debug stack traces, such as the attached one.

The attached backtrace doesn't reach my application code, and does not show any cljs.core.async code either. Therefore it's hard to figure out that I was mishandling a channel. A nicer string representation of channels would have saved me 20 minutes of head-scratching!

Environment

Clojurescript 1.9.542
core.async 0.3.442

Attachments

1

Activity

Show:

Alex Miller May 23, 2017 at 3:38 AM

It's never been worked on, but we have talked about having the ability to name or add meta to channels.

Details

Assignee

Reporter

Priority

Created May 23, 2017 at 1:25 AM
Updated May 23, 2017 at 3:38 AM