wonks / ICFP_rehearsal_feedback

Temporary repository to collect feedback.
1 stars 2 forks source link

Talk 7: Spenser Bauman #7

Open rrnewton opened 9 years ago

rrnewton commented 9 years ago

Practice talk -- 23:10 total time.

samth commented 9 years ago

Ryan: what's here that's not in python.

Need to sell the work much harder in response to this question.

rrnewton commented 9 years ago

me: what do you give me over python?

spenser: get typed racket, macro system, ... racket may be easier to optimize...

Sam: rephrasing, what technology is here that's not in JITs for other languages (python, lua, Java, etc).

Spenser: here we apply this to a language without explicit loops.

LuaJit will detect any back-edge in a branch as a loop. (Does that then cover function calls? I guess so.)

cfbolz commented 9 years ago

the part of the answer that's missing: Python does not do tail call optimization, so recursive functions in PyPy will not be compiled to loops.

cgswords commented 9 years ago

Ken is proposing

cfbolz commented 9 years ago

could somebody write down Ken's question? I can't hear it on the microphone

rrnewton commented 9 years ago

He's saying something about visualizing the callgraph... but I missed part of it because I went to get snacks ;-).

cgswords commented 9 years ago

I'm editing them into the comment above

samth commented 9 years ago

Feedback: @ccshan: had trouble understanding notions of loops. Terminology such as "back edge" confusing. Be more pictorial about the callgraph. append example has cycle in callgraph in CPS.

cgswords commented 9 years ago

@rrnewton wants to know "Which technology is new" -- and what about call/cc and contract optimizations? Hammering home that novelty is good.

samth commented 9 years ago

Feedback: @rrnewton: Hinted at the novelty of CEK. Also emphasize novelty of call/cc and contracts.

vollmerm commented 9 years ago

On the comparison with other Scheme compilers: is this an apples to apples comparison? Like, checking for fixnum overflow, checking bounds on vector references, etc? This is a bit tricky with Scheme compilers, since they don't agree on much.

samth commented 9 years ago

@vollmerm Yes, it basically is. Pycket doesn't handle Ctrl-C quite as well as the others, which is a little unfair, but that's it. Fixnums/vectors/etc are all the same.