Clojurians
#cljs-dev
<
2016-07-28
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

danielcompton00:07:42

Is it a bug that adding a jsdoc comment "@param {string} login-name” fails an advanced build?

danielcompton00:07:07

WARNING - Parse error. invalid param name "login-name"
 * @param {string} login-name
                   ^

danielcompton00:07:25

It looks like the param should be login_name

danielcompton00:07:18

Probably early days, but has there been any thought about extending spec with jsdoc? https://github.com/clojure/clojurescript/wiki/Compile-Time-Type-Checking

dnolen02:07:17

@danielcompton: I’ve thought about it, but yes too early to seriously consider it for now

dnolen02:07:26

@danielcompton: yes we don’t auto-munge parameter names so that won’t work

danielcompton02:07:25

should I open a bug for that munging param names?

dnolen03:07:40

@danielcompton: that stuff is way up in the air for now

dnolen03:07:48

it was always considered experimental

dnolen03:07:04

so no ticket for now

dnolen13:07:00

hrm I thinking about dropping the double analysis of forms in REPLs, I think people mentioned this before that it interacts badly with macroexpansion in the presence of side effects

dnolen13:07:10

@mfikes ^ not sure if you have any thoughts about this

dnolen13:07:48

but I’m thinking about removing the first analysis which is just used for generated unwrapped js when we throw an exception

dnolen13:07:08

which far as I can tell is just an old debugging tool that’s really primarily useful for compiler hackers not users

mfikes13:07:29

@dnolen: Double analysis (evaluation really) occurs with :repl-verbose. Trying to recall where it otherwise occurs.

mfikes13:07:09

@dnolen Ahh, you said “unwrapped js”. Yes, we are essentially talking about the same thing.

dnolen13:07:25

@mfikes: actually the line above (and that line too)

dnolen13:07:02

the whole wrap-js thing is so annoying

dnolen13:07:35

we do need to use ast below to see if we have a :ns node which we can't see directly with wrap-js

mfikes14:07:16

It is tempting to generate the “clean” ast once, and then patch it up manually to add all the things needed for the REPL (`:def-emits-var`, the effects of wrapping for *1, *2, and whatever effects :repl-env) without doing macroexpansion again. Sounds like that would be very difficult to pull off cleanly. Ugh… tough problem.

mfikes14:07:17

One philosophical stance to take is indeed: Eschew exposing JavaScript in the REPL in general. Deprecate :repl-verbose (or allow the truth to show through if you really want it). Don’t include JavaScript in exceptions, etc.

rohit14:07:09

Just FYI: I just ran the main ClojureScript tests on ChakraCore on OS X. All tests passed. (10x-15x slower than jsc and v8)

mfikes14:07:48

Cool! Saw they made it available for OS X and Linux :slightly_smiling_face:

rohit14:07:14

yup. but it looks like its very WIP.

dnolen14:07:35

@rohit: much excite!

dnolen14:07:53

10x-15x slower w/o JIT’s not bad

rohit15:07:18

@dnolen: I agree. shows you how much effort has been poured in modern js engines.

dnolen17:07:43

I don’t forsee any real problems for most users

anmonteiro23:07:40

just FYI: getting this warning about cljs.spec when compiling code with advanced on 1.9.89

WARNING: analyzer.js:4278: WARNING - incomplete alias created for namespace cljs.spec
var mchk = (function (){var and__7137__auto__ = cljs.spec;