lumo

:lumo: Standalone ClojureScript environment. Currently at version 1.9.0
2017-09-07T11:27:29.000388Z

planting ideas: https://github.com/nodejs-tensorflow/nodejs-tensorflow

richiardiandrea 2017-09-07T14:07:45.000624Z

Sometimes I feel like we should have two versions of the lumo exec. One is for fast repl (startup counts). One maybe slower but with source maps enabled, v8 inspector...all this. Or at least have a way to generate it from boot for power users...just a random thought ๐Ÿ˜€

mfikes 2017-09-07T16:10:41.000441Z

@richiardiandrea Planck lazily loads source maps to try to get the best of both worlds

mfikes 2017-09-07T16:12:31.000056Z

Also, there are some ridiculous optimizations you can do to source maps, given that there is no browser involved. https://twitter.com/mfikes/status/901247359174275077

richiardiandrea 2017-09-07T16:29:19.000185Z

@mfikes yes that is a good solution I guess, but Antonio was wondering whether including the *aot.js.map file was slowing down lumo

richiardiandrea 2017-09-07T16:30:02.000846Z

and by including I mean bundling

mfikes 2017-09-07T16:36:35.000343Z

@richiardiandrea I suspect that simply bundling would only make the binary larger, and perhaps not slow it down, unless the source map file is extracted from the bundle and used in any way. For example, nothing at all occurs with respect to source maps in Planck, until planck.repl/load-bundled-source-maps! is called, at which point they are โ€œunbundledโ€ into the runtime environment. This function doesnโ€™t get called until an exception is printed (which may never occur for most scripts)

anmonteiro 2017-09-07T16:39:42.000298Z

@richiardiandrea again, different concerns

anmonteiro 2017-09-07T16:40:06.000250Z

Core.js.aot.map is for project compilation

anmonteiro 2017-09-07T16:40:30.000621Z

There's no support for source maps at the repl in lumo yet

anmonteiro 2017-09-07T16:40:44.000065Z

Because it's hard to map stacktraces in the snapshot

richiardiandrea 2017-09-07T16:41:42.000425Z

yeah the slower lumo would be for compiling only...but please disregard my words, first of all we need to see if things are slower

richiardiandrea 2017-09-07T16:42:13.000422Z

related to this @anmonteiro master is failing here:

==== C stack trace ===============================

    /home/arichiardi/git/lumo/tmp/node/8.4.0/node-v8.4.0/out/Release/mksnapshot(v8::base::debug::StackTrace::StackTrace()+0x16) [0x134b526]
    /home/arichiardi/git/lumo/tmp/node/8.4.0/node-v8.4.0/out/Release/mksnapshot() [0x109fef6]
    /home/arichiardi/git/lumo/tmp/node/8.4.0/node-v8.4.0/out/Release/mksnapshot(V8_Fatal+0xea) [0x109c19a]
    /home/arichiardi/git/lumo/tmp/node/8.4.0/node-v8.4.0/out/Release/mksnapshot(main+0x361) [0x7e3421]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7fd794897830]
    /home/arichiardi/git/lumo/tmp/node/8.4.0/node-v8.4.0/out/Release/mksnapshot(_start+0x29) [0x7e3ad9]
Received signal 4 ILL_ILLOPN 00000109f1f9
Illegal instruction (core dumped)
make[1]: *** [/home/arichiardi/git/lumo/tmp/node/8.4.0/node-v8.4.0/out/Release/obj.target/v8_snapshot/geni/snapshot.cc] Error 132
deps/v8/src/v8_snapshot.target.mk:13: recipe for target '/home/arichiardi/git/lumo/tmp/node/8.4.0/node-v8.4.0/out/Release/obj.target/v8_snapshot/geni/snapshot.cc' failed
rm d8b01c6ff73109cd7c9acae668e77052cc5cc14f.intermediate
Makefile:76: recipe for target 'node' failed
make: *** [node] Error 2
....> ERROR: The release executable has not been generated. This indicates a failure in the build process. There is likely additional information above.

anmonteiro 2017-09-07T16:44:52.000293Z

I may have screwed something up

anmonteiro 2017-09-07T16:44:59.000278Z

Will take a look later

richiardiandrea 2017-09-07T16:45:11.000454Z

kk tnx!

richiardiandrea 2017-09-07T17:49:47.000664Z

Antonio thanks! I was going to say that I compiled without the last stuff and everything was good

richiardiandrea 2017-09-07T17:50:59.000548Z

I think that if I/we solve the macro issue we are good for a new shiny version ๐Ÿ˜„

anmonteiro 2017-09-07T18:15:05.000100Z

@richiardiandrea thanks for what? ๐Ÿ˜›

anmonteiro 2017-09-07T18:15:10.000243Z

fixing the master builds?

richiardiandrea 2017-09-07T18:15:21.000368Z

yeah ๐Ÿ˜„

anmonteiro 2017-09-07T18:15:30.000354Z

yeah Iโ€™m an idiot

๐Ÿ˜‚ 1
richiardiandrea 2017-09-07T19:42:37.000574Z

@mfikes is planck able to read macros files from within jars?

richiardiandrea 2017-09-07T19:43:05.000040Z

the use case would be this: https://github.com/anmonteiro/lumo/issues/239#issuecomment-327901031

mfikes 2017-09-07T19:43:27.000645Z

@richiardiandrea Sure. It can load *.clj and *.cljc files on the classpath, be they in JARs or on disk

richiardiandrea 2017-09-07T19:45:26.000079Z

@mfikes maybe I am missing the "how" there, because basically all I am receiving in my load-fn is a path...and I wouldn't want to scan all the jars for fetching...probably my question is, how can planck do the mapping from .clj file to .jar file?

mfikes 2017-09-07T19:46:33.000206Z

@richiardiandrea It does exactly that, it scans for *.clj first, and then scans for *.cljc

richiardiandrea 2017-09-07T19:47:09.000315Z

so for all entries in the classpath? isn't it slow?

mfikes 2017-09-07T19:47:11.000628Z

You could perhaps build an index of files to speed things up if the scanning proved to be a performance issue.

richiardiandrea 2017-09-07T19:47:17.000117Z

yeah

anmonteiro 2017-09-07T19:50:31.000162Z

@richiardiandrea youโ€™re conflating things again

๐ŸŽˆ 1
anmonteiro 2017-09-07T19:50:38.000180Z

reading from JARs also works in Lumo

mfikes 2017-09-07T19:50:39.000082Z

@richiardiandrea Planck used to keep zip archives open just to ensure the index could be read quickly (when it was in Objective C). It no longer even does that and simply calls zip_open

anmonteiro 2017-09-07T19:50:59.000355Z

if you require core.async at the REPL itโ€™ll work

anmonteiro 2017-09-07T19:51:06.000461Z

we may be seeing a different problem with compilation

richiardiandrea 2017-09-07T19:59:36.000142Z

@anmonteiro it works at repl because you have load-fn passed in right?

anmonteiro 2017-09-07T19:59:53.000304Z

wait

๐Ÿš 1