freenode/#clasp - IRC Chatlog
Search
1:00:47
attila_lendvai
Bike: is there a general coding style to define a compiler macro for FOO that then calls EXPAND-FOO? i.e. even when it's a single-use function?
1:28:15
karlosz
the expander that cleavir generates is probably missing something to accept :allow-other-keys
1:28:30
Bike
https://github.com/robert-strandh/SICL/blob/master/Code/Cleavir/Code-utilities/destructuring.lisp#L247-L260
1:42:35
attila_lendvai
Bike: can you please take a quick look at my comments at https://github.com/clasp-developers/clasp/commit/3349dabaca4870b4b67114b5d2906361e41cb1f8 ? I'm wondering why checking the environment is important there... if there's a reference to #'foo, and that functions extracts the name foo, and a macro uses it as (foo ...), then it will refer for the possible local foo... or am I missing something?
1:45:56
Bike
so if you had :test 'quatro and that bit wasn't commented out, you'd end up with (quatro ...)
1:47:24
Bike
so if it is like 'eql, it falls back to doing (funcall 'eql ...) which does use the global definition
1:48:31
attila_lendvai
Bike: I have a patch pending, I can put the comment. also, I deleted my noise from the commit on github.
1:50:33
Bike
also i suppose by right we should check the environment for local bindings, and if there aren't any it can be used as if it was #'eql
2:05:59
attila_lendvai
Bike: I have a hard time finding out how to query the env and the compiler policy in cleavir... is it ready? does this make sense? (cleavir-env:function-dynamic-extent env (cleavir-env:function-info env 'foo))
2:08:05
attila_lendvai
I was grepping around with hopes of finding examples, but I couldn't find any. I also welcome pointers to examples
2:09:36
Bike
https://github.com/robert-strandh/SICL/blob/master/Code/Cleavir/Documentation/chap-environment.tex#L131-L213
2:43:55
attila_lendvai
Bike: (cleavir-env:dynamic-extent (cleavir-env:function-info env name)) seems to return nil, even though I have an flet there. building the SICL docs is just a stream of headache, but I'm unable read them in latex format. I guess I should just go to sleep now, I'll look into this more tomorrow...
2:45:45
attila_lendvai
Bike: because I'm clueless and sleepy I guess... :) I was just picking whatever seemed the closest in the fuzzy completion
2:47:55
attila_lendvai
shall I just (typep (cleavir-env:function-info env name) 'cleavir-env:local-function-info) ?
3:32:32
attila_lendvai
beach: I'm looking for an easy'n'short way to get an optimize policy given an environment... but I can't seem to find any. cleavir-policy:optimize-value is a good candidate, but it's not a generic that dispatches on an env...
3:34:00
attila_lendvai
this is the shortest I have found: (cleavir-policy:optimize-value (cleavir-env:optimize (cleavir-env:optimize-info nil)) 'space)
3:46:31
karlosz
i guess eliminating dead code like (loop (+ x 1)) isnt really that useful since people don't tend to write useless sideeffectless calls
3:52:54
karlosz
that really does call for some known function information regarding side effets then
3:54:24
beach
The stuff in our paper does not need the side effect information. But other things do, so that would be a good thing to have.
3:58:51
karlosz
how do i disassemble a function in clasp? it seems to complain that a special var is unbound
9:50:14
attila_lendvai
Bike: this seems to work, except that, surprisingly enough, the cleavir-env package is not available when building. https://github.com/attila-lendvai/clasp/commit/aef7de14b677b27f729ae673493057e878dd917d
9:54:41
attila_lendvai
Bike: is that just a not yet, or there's a deeper bootstrap issue I'm not aware of?
9:59:58
attila_lendvai
to answer myself, that's most probably a bootstrap issue. that code needs to compile before cleavir is available... I guess should rather get back to hacking on my idea of staged bootstrapping
10:18:57
cracauer
I just finished a long build, by discovering a local diff had unmatched parenthesis. /clasp shoulder.
10:20:40
drmeister
I tried to build the docker image with the new 'dev' and it is locking up when running the linker.
10:23:27
cracauer
Question: in backtrace.lsp, line 107, why does OSX need to access the jit-name inside a cons tree when Linux does not?
10:32:30
drmeister
I'm not sure what it means if I use strace from the host on a process running in a docker machine.
10:32:34
cracauer
I need to shuffle some machines in the cluster here. I don't allow docker on the big one for now.
10:46:33
drmeister
I started an 'object' docker build and a linux build that I will try in both object and bitcode mode
11:52:57
Bike
attila_lendvai: that won't work because this works for bclasp too, and bclasp doesn't have cleavir-env. welcome to our stupid boot problems
12:06:18
drmeister
printf("%lld\n", something); on macOS needs to be printf("%ld\n", something); on linux
12:09:59
drmeister
So I use printf("%" PRi "\n", something); and #define PRi "ld" on linux and #define PRi "lld" on macOS
12:15:22
drmeister
If you came up with an API like that these days you would be laughed off the internet
12:18:41
drmeister
If I hadn't invested the time in getting object mode working again - I wouldn't have an option right now.
12:41:07
drmeister
I found a tool for diffing and doing 3-way merges for jupyter notebooks - this has been a new pain point now that we are sharing jupyter notebooks using git