Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Lately I've been thinking that maybe the best way to implement the 'slider' between static and dynamic typing is to do an abstract interpretation of your program operating on types instead of values. Here's two of my recent [lambda-the-ultimate.org] ramblings [lambda-the-ultimate.org] on the subject. BTW, is Perl6 going to have any partial evaluation features? Will there be any compiler flag so that something like...

    fibonacci(35)

    (which has no run-time dependencies) get optimized into a number at compile time? Or will we have to do it by hand with macr

    • Yes. It's specced in A06 and S06 as sub fib ($n) is cached { ... }. Normally this would be a runtime cache, but coupled with a toplevel use optimize <close>, symbols can't be rebound in fib, so the optimizer can do a static analyzation and choose to evaluate this in the compile time.

      First-class types and pattern bindings (the function signature kind, not the rules kind) are one of the more exciting features in Perl 6, and I've been pushing for ML-style unification based type variables, which can be