Perl 6 - the future is here, just unevenly distributed

IRC log for #6macros, 2015-03-10

| Channels | #6macros index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:15 vendethiel joined #6macros
01:04 vendethiel joined #6macros
02:48 ilbot3 joined #6macros
02:48 Topic for #6macros is now 6macros: discussing the finer points of Perl 6 macros, Qtrees, and how to stay sane | irclog: irclog.perlgeek.de/6macros/today
02:51 vendethiel joined #6macros
07:46 Ven joined #6macros
07:52 Ven joined #6macros
08:00 Ven joined #6macros
08:11 Ven joined #6macros
08:19 Ven https://github.com/manastech/crystal/issues/466#issuecomment-77960457
08:19 Ven crystal's solution to the problem :)
08:31 masak (a) no explicit declarations, eww
08:33 masak (b) pretty sure it'd work much the same in Perl 6 -- a variable declared in a macro argument expression survives to the end of its block
08:33 masak that's even consistent with hygiene if you ask me.
08:33 Ven yeah, it's ruby-like :-)
08:33 Ven and yes, that's what I'd expect
08:33 masak the things are just thunks being passed around, and thunks are allowed to leak declarations. it's kind of their main feature, actually.
08:34 Ven my point was -- the only way for a variable to "escape" the macro's scope is if they were supplied as a parameter
08:34 masak cf. `$cond1 && my $result = $cond2`
08:35 masak Perl 6 rides the waves by being very, *very* clear about what runs when.
08:36 masak like, if there's a sub declaration inside an if block, I don't have to worry about whether that's kosher or not.
08:36 masak er, that example is too easy.
08:37 masak let's say a class declaration inside an if block.
09:03 Ven Right...
09:03 Ven which bite me at times :P
09:03 Ven "  _-o_ _<**>_ _&_  : LTy -> LTy -> LTy" now that's some extreme parsing rules we don't have...
09:17 masak I have no idea how to read that.
09:17 masak oh, and in other news:
09:17 masak this morning I was toying with the idea of introducing a simple object system/syntax into 007.
09:18 masak something like this: `my employee = new { has age; has name; method report() { say(name ~ ": " ~ str(age)) } };`
09:29 Ven _-o_ _<**>_ _&_
09:29 Ven that's basically something in agda
09:30 Ven means you can invoke as "foo -o another param <**> and another & there"
09:30 Ven just like "if then else" is definable in agda as
09:31 Ven "if_then_else : forall {A} : Bool -> A -> A -> A; if True then val else _ = val; if False then _ else val = val"
09:31 Ven (I'm not caring about multiverses here)
09:31 Ven mixfix parsing is pretty crazy...
09:37 masak as seen in https://github.com/masak/007/issues/18 :)
09:47 Ven pretty much so :-)
09:47 Ven it's more complicated in agda's case, tho
09:47 Ven like, I can define _[_] for array subscripting in agda
09:47 Ven there are no categories
09:48 Ven http://www.cse.chalmers.se/~nad/publications/danielsson-norell-mixfix.pdf if you're interested. I think I've linked it earlier
09:48 Ven oh, I've linked it in said thread!
09:48 Ven Wow, my meory is so bad
09:50 masak ;)
09:51 Ven I should either stop doing so many things at once or start sleeping a bit more, I guess.
09:51 * Ven goes back to his PHP and Java
10:50 Ven joined #6macros
11:06 vendethiel joined #6macros
12:22 vendethiel joined #6macros
13:03 vendethiel joined #6macros
13:24 Ven "Philosophically, Smalltalk's objects have much in common with the monads of Leibniz"
13:24 Ven now that's interesting..
13:25 masak yes!
13:26 masak I never fully grokked Leibniz' monads, I confess.
13:26 Ven what the fuck, sfr...
13:26 * Ven sighs
13:26 masak something about "the smallest unit of consciousness/awareness"
13:26 masak which does sound like Alan Kay objects, actually. or actors.
13:26 Ven I didn't spend that much time with leibniz, but what I got was interesting. the arrows and such
13:26 masak didn't know Leibniz had arrows
13:26 masak only done CT arrows lately :)
13:26 Ven does he not?
13:27 masak no idea
13:27 Ven must've been liskov's arrows then
13:28 Ven http://typelevel.org/blog/2014/07/02/type_equality_to_leibniz.html / http://typelevel.org/blog/2014/09/20/higher_leibniz.html that's where I learned the most about our use of leibniz
13:33 masak huh, type equality. sounds like the beginning of homotopy theory to me. (through my very weak understanding of that topic.)
13:36 masak those two posts are a little bit above me still. :/
13:39 Ven though you can blame scala, really..
13:44 vendethiel joined #6macros
14:21 * Ven 's done reading
14:21 Ven I skimmed the 3rd part, though...
14:21 Ven Admittedly much more interesting than doing java and php...
14:24 masak :)
14:24 masak I should re-read it.
14:24 masak also, I should learn more Smalltalk.
14:24 masak and Self.
14:24 masak and I should learn more about the Strongtalk project and the optimizations they did.
15:12 Ven joined #6macros
15:15 Ven masak: I've done the gnu smalltalk koans -- that was interesting
15:15 Ven need to find something like that for self
15:17 masak yes, I think you mentioned the koans
15:17 masak I'm not familiar with them
15:19 Ven https://github.com/sl4m/gnu_smalltalk_koans
15:22 masak nice.
15:23 masak oh, the `| var1 var2 |` syntax is for declarations?
15:23 masak not block parameters, like in Ruby?
15:28 Ven indeed
15:52 Ven also, it does the same different as block vs sub
15:52 Ven ...which I'm not sure my "pure functional" part like
15:52 masak hrm
15:58 Ven return is "^"
16:00 masak aye, that part I remember. kind of a statement prefix op.
16:00 masak it makes visual sense. doesn't make me like it ;)
16:27 Ven joined #6macros
17:30 Ven joined #6macros
20:42 vendethiel joined #6macros

| Channels | #6macros index | Today | | Search | Google Search | Plain-Text | summary