|
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 28 July 2015. |
|||
|
04:42
vendethiel joined
06:10
FROGGS joined
06:38
Ven joined
08:14
Ven joined
|
|||
| Ven | www.worldcrunch.com/culture-society.../c3s17017/ | 10:04 | |
| that's a bit insane, huh. | |||
| masak | I know a guy who is at least partway towards that. | 10:07 | |
| I felt a little bit better when he confessed he hadn't gotten very far with Mandarin, 'cus it was too different from the PIE-based languages he was used to :) | 10:08 | ||
|
10:46
Ven joined
12:07
Ven joined
12:13
Ven joined
13:13
Ven joined
|
|||
| Ven noticed ↑'s monadic version doesn't work in GNU APL :( | 13:43 | ||
|
13:51
Ven joined
15:16
Ven joined
15:24
Ven joined
16:04
Ven joined
17:42
FROGGS joined
18:25
vendethiel joined
|
|||
| vendethiel | oh masak | 19:02 | |
| btw | |||
| for "dep types" | 19:03 | ||
| types need to stop being "an optimization" ;-) | |||
| masak | please elaborate | 19:04 | |
| I *think* I see what you mean, but... | |||
| vendethiel | disable the optimizer | ||
| they're not ran anymore, AFAIK | |||
| masak | aaaah | ||
| right, now it's all mixed together | |||
| vendethiel | and the synopsis don't actually mandate that they're checked too, right? | ||
| masak | inextricably | ||
| I think the synopses require that they be checked | |||
| vendethiel | do they? | 19:05 | |
| masak | yes, I think so | ||
| vendethiel | at least | ||
| the fact that they get *statically* checked is definitely optional. | |||
| masak | basically, if you opt in and use them... they're checked | ||
| vendethiel | corrected myself | ||
| masak | ok | ||
| yes | |||
| vendethiel | also | ||
| I'd looove to get some static OO thing. I guess there's still "final", though | 19:06 | ||
| masak | I'm doing a lot of useful thinking right now in 007. I guess you can tell by the notification fallout :) | 19:15 | |
| vendethiel | you think we should mix syntax and visitor macros? | 19:19 | |
| how far are you along in 50 years of lisp? :-) | |||
| masak | not far enough | 19:20 | |
| is there something I should pay immediate attention to? | |||
| vendethiel | because "visitor macros inside of a syntax macro" is basically macrolet | ||
| masak | in this case, I'd make syntax macros for `amb` and `assert`, and a visitor macro for Q::Statement::Block | 19:21 | |
| vendethiel | well ok, say | ||
| transaction macro | |||
| masak | so it'd actually be "syntax macro(s) inside of a visitor macro" | ||
| vendethiel | you want "commit" and "rollback" only to be "macros" inside of this block | ||
| masak | right, ok. | ||
| yes, that's still an open question for me. | 19:22 | ||
| vendethiel | we talked about this many times | ||
| masak | aye | ||
| during YAPC::Europe, I toyed with the idea of "the macros you define *inside* of a syntax macro are valid inside the thing it parses" | |||
| but it feels slightly too magical, even if it'd be easy-to-use | 19:23 | ||
| vendethiel | yeaaah | ||
| well | |||
| again, macrolet could make more sense | |||
| masak | ok, I have some reading to do, then | ||
| in general, I'm very pleased with how the three-types-of-macro gist came together. | |||
| but I'm still willing to be impressed and inspired by Let Over Lambda | 19:24 | ||
| vendethiel | sometimes, perl6 tries to cram a few too many things in one place... | ||
| like :36(..). why'd you need to overload :() "again"... | |||
| masak | :) | ||
| vendethiel | that's what gives it this "line noise" name, methinks | 19:25 | |
| say, rosettacode.org/wiki/IBAN#Perl_6 that I was reading with a friend | |||
| masak looks | |||
| vendethiel | it's pretty readable, if you know "leading dot is $_." and regexps | ||
| (which isn't too much to ask) | |||
| but :36(~$_) is... heh.. | |||
| masak | I guess you'd prefer to have it as a simple function? | 19:26 | |
| vendethiel | *too cute* | ||
| yeah. $_.base(36) | |||
| amazing | |||
| masak | nonono | ||
| vendethiel | doesn't even need to convert anything to a string to then base it | ||
| masak | you're making the classical mistake with these base converters | 19:27 | |
| wrong direction :) | |||
| vendethiel | yeah, well | ||
| masak | :36(~$_) is converting *from* base 36 | ||
| vendethiel | see | ||
| that's the big issue | |||
| masak | $_.base(36) already exists and converts *to* base 36 | ||
| this was the big thing that the :35(~$_) syntax basically solved | |||
| vendethiel | well | ||
| $_.as-base(36) | 19:28 | ||
| masak | and if you don't appreciate that, I'm not sure I can respect any solution that you propose ;) | ||
| vendethiel | amazing. | ||
| no, I don't | |||
| masak | you still don't get it, I see | ||
| vendethiel | I especially don't like that converting *to* a base is a method, but *from* isn't | ||
| masak | meh | ||
| that actually helps, in my opinion | |||
| vendethiel | and how is converting "from" a base something as common that it'd require that kind of huffmanization? | 19:29 | |
| if I don't get it, please explain | |||
| masak | some bases are more common than others | ||
| :2, :8, :16, specifically | |||
| vendethiel | but converting between bases isn't really common | 19:30 | |
| I know I havn't done it in several *years | |||
| * | |||
| masak | the problem with Perl 5's bin(), oct(), hex() was that people could never remember if they were *from* or *to* functions | ||
| vendethiel | just add to- or from- function. | ||
| masak | I would say that from a language design perspective, it's really not as simple as that | ||
| vendethiel | I'm not saying all languages "fixed" that. ruby's Integer.to_s(base) is also ugh | ||
| masak | and that's what this whole :36() thing is about, in the end | 19:31 | |
| vendethiel | maybe I just never stumbled in fields that needed this kind of "power" :) | ||
| I disagree *strongly* with you | |||
| because I can't remember the way it's going with :36() either | |||
| masak | though it's not essential to my main point, I'll note that I have no such problem remembering what direction :36() goes | 19:33 | |
| to me it pretty clearly reads as "what comes here is in base 36 (and hence, it's a string)" | |||
| vendethiel | well, you can't justify "it's easy to remember" with "I remember it" :P | 19:34 | |
| masak | which is why I didn't add it as support for my main point ;) | ||
| vendethiel | fair enough | ||
| masak | by the way, www.cs.cmu.edu/~fp/courses/15317-f0...edule.html is pretty great | 19:35 | |
| I'm on 04*.pdf now | |||
| vendethiel | I'm probably never going to find time for that | ||
| masak | ok, I will endeavour to send less of these :) | 19:36 | |
| vendethiel | :( | 19:37 | |
| they're a bit too big | |||
| I have many of 'em piled up... | |||
| masak | fwiw, you're not the only one struggling to find time for reading nice things... :) | ||
| vendethiel | *g* | ||
| I appreciate every other link though | 19:38 | ||
| masak .oO( so, about 50% of them ) :P | |||
| idioms.thefreedictionary.com/every+other | 19:39 | ||
| English is weird. | |||
| vendethiel | I know, I know | ||
| that's somewhat what I meant, too | |||
| masak | ok | ||
| vendethiel | well, not the 50% part, but the "it's a long list of youtube videos of 4 hrs | ||
| " or tens of PDFs | |||
| usually PDFs are fine though | 19:40 | ||
| it's mostly "class videos" | |||
| I really can't | |||
| masak | well, so far, www.cs.cmu.edu/~fp/courses/15317-f0...natded.pdf has been the best one | ||
| vendethiel | I already have a playlist with ~100 programming-related videos :/ | ||
| masak | so if you have time to read one, choose that one | ||
| vendethiel | thanks! | 19:41 | |
| masak | it's 12 pages of easily-digestible material | ||
| also might be good to know that I was recommended this course by that list of links that you sent me on type theory | |||
| vendethiel | ...I admit I havn't gotten around to that link yet | 19:42 | |
| masak | ;) | ||
| vendethiel | but since GNU APL isn't that feature-complete, I guess I'll go back to something else | ||
| maybe Ada. | |||
| (I do have a dyalog APL license, but it doesn't seem to be usable for "scripts") | |||
| then I'll go back to functional shenanigans | 19:44 | ||
| and I have a very big backlog | |||
| masak | relax. you're young. you've got plenty of time. | 19:45 | |
| just focus on things you enjoy. :) | |||
| vendethiel | do I look like I don't thoroughly enjoy myself? :-) | ||
.oO( don't try to make me slow down so that other younglings can catch up! *g* ) |
|||
| masak | :P | 19:46 | |
| masak attempts to introduce Q::Compunit in 007 | 19:47 | ||
| vendethiel | yay! | ||
| I might take a stab at object literals | |||
| (famous last words...) | 19:48 | ||
| masak | cool | ||
| patches welcome | |||
| vendethiel | ..famous first words :) | 19:58 | |
| masak | I'd be honored to get a patch on that | 20:01 | |
| expect some comments, though | |||
| even if I accept it, I might have some suggestions | |||
| vendethiel | oh, a Martin-Löf quote :-) | 20:31 | |
| masak | yeah, he seems to be mentioned a lot in dep-typed contexts | 20:33 | |
| vendethiel | I wonder why.. *g* | ||
| masak | can't think of a good reason :P | ||
| vendethiel | soo many references though... | 20:34 | |
| sigh. my backlog is too big :( | |||
| masak | I skimmed the references, and I don't even feel bad about it | ||
| vendethiel | I never check them | 20:37 | |
| masak | well, that's all right then | ||
| vendethiel | huh,I just realized that in some alternative perluniverse, maybe Perl6 got abandoned along the way | 20:45 | |
| "the jnthn never came" or something | |||
| masak | aye | 20:46 | |
| quite likely, actually | |||
| vendethiel | yeah. bus factor of one isn't that high :-) | ||
| even if it's almost 2 *g* | |||
| masak | it is? | 20:47 | |
| vendethiel | considering the tons of amazing work larry, nine, timo, liz and froggs have been putting out, I'd certainly consider it so | ||
| no, it's definitely higher than 2 no | |||
| now* | |||
| masak | yeah | ||
| though jnthn is still pretty indispensible in various ways | 20:48 | ||
| vendethiel | definitely. | ||
| also, brrt++ :-) | |||
| masak | aye | 20:49 | |