|
6macros: discussing the finer points of Perl 6 macros, Qtrees, and how to stay sane | irclog: irclog.perlgeek.de/6macros/today Set by moderator on 9 May 2015. |
|||
|
03:51
vendethiel joined
06:19
vendethiel joined
09:06
vendethiel joined
11:00
vendethiel joined
|
|||
| masak | docs.google.com/document/d/1-We05W...?sle=true# | 13:44 | |
| vendethiel | :o | 13:59 | |
| that seems..uninformative | 14:00 | ||
| masak | yeah, less interesting than I thought. | 14:01 | |
| Dart in general seems pretty meh. | |||
| vendethiel | 100% meh | ||
| masak | every tradeoff they do seems to be the boring and un-cool one. | ||
| vendethiel | ...and that's not because I'm a perl6 hipster user! :) | ||
| masak | gradual types! yay! but... they're not enforced :( | 14:02 | |
| vendethiel | the simple fact types aren't checked bores me | ||
| [16:01] <eli-se> PHP > Dart | |||
| haha | |||
| masak | :) | 14:11 | |
| vendethiel | who knows, since php7 is getting an AST... maybe they'll get macros ;-) | 14:14 | |
.oO( the day PHP got macros, before perl6 did ) |
|||
| masak | got it, got it -- "hurry up, masak!" :P | 14:19 | |
| vendethiel | "but we already *have* macros!" | 14:22 | |
| masak | only in the same sense Perl 6 is already released to the world. | 14:28 | |
| vendethiel | I'm afraid we'll never have TCO in perl6 :( | 18:39 | |
| masak | oh, Tail Call Optimization | 18:40 | |
| I don't think that's even on any roadmap. | |||
| vendethiel | well. | 18:41 | |
| masak | there's some kind of &fn.nextsame thing in the spec. | ||
| vendethiel | let's say "callframe" makes it somewhat impossible | ||
| so you need to statically inspect the presence of "callframe" | |||
| ...but then that makes TCO impossible for HOFs (higher order fns) | |||
| masak | *nod* | 19:27 | |
| vendethiel | except if | 19:35 | |
| you specialize functions by usage of callframe() | |||
| but we're just getting to insanity | 19:36 | ||
| masak .oO( lim(x, Insanity) ) | 19:47 | ||
| vendethiel | .oO( or is it perl6 we're getting to? ) |
19:48 | |
| I mean, I'd be willing to work towards something like this with a perl6-in-perl6 kind of compiler. | |||
| something tells me it'd be much better | |||
| masak | I once started down that road, with Yapsi. | 19:55 | |
| didn't get all that far. | |||
| but it was still fun, and instructive. | |||
| vendethiel | i've seen it! | 19:56 | |
| masak | :) | 20:16 | |
| actually, a lot of ideas from Yapsi helped me while developing 007. | 20:17 | ||
| vendethiel | i'm not surprised, that's an excellent exercice | 20:58 | |
| I liked that from the perl6 code, though it's a bit less true now | |||
| the src/core almost looked like pseudocode, because it used all the idioms it could | |||
| now, it's mostly been changed to be performant, but heh :) | |||
| masak | yeah. | 21:00 | |
| it ain't Haskell's Prelude, that's for sure... | |||
| vendethiel | well | 21:04 | |
| haskell's prelude cheats | |||
| 's* | |||
| masak | not surprised :) | ||
| vendethiel | they do stream fusion and all that | 21:05 | |
| masak | not familiar with that term; got a reference? | 21:06 | |
| vendethiel | stackoverflow.com/questions/578063/...eam-fusion | 21:07 | |
| basically | |||
| "merges" maps, filter and all those together | |||
| (or rather, stitches) | |||
| so that it effectively doesn't create new arrays for nothing | |||
| masak | cool. | 21:08 | |
| sounds like the kind of cheating that's completely OK if you don't get caught at it. | |||
| vendethiel | yes! | ||
| sadly... | |||
| it completly destroys any hope to have correct runtime stacktraces :( | |||
| so often, you get a cryptic one instead | |||