Perl 6 - the future is here, just unevenly distributed

IRC log for #6macros, 2017-03-09

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

All times shown according to UTC.

Time Nick Message
03:44 vendethiel joined #6macros
04:43 vendethiel- joined #6macros
09:30 Ven joined #6macros
09:30 Ven masak: I remember we talked about streams being monads vs comonads
09:31 Ven revisiting the topic now, I think finite streams are monads, infinite streams comonads. taht's what seems to make sense
09:31 masak aye
09:32 masak similar to how algebras start from 0-ary terms and construct bigger things, whereas coalgebras start from bigger things and destruct downwards
09:32 masak the whole "codata" thing seems connected to the lazy and potentially infinite
09:33 Ven yeah.
09:33 Ven recursion <=> guarded corecursion
09:34 masak aye
09:35 Ven since you're here, can you tell me what you think about https://irclog.perlgeek.de/6​macros/2017-03-06#i_14216221 ? :D
09:35 * masak looks
09:37 masak don't know what I think about it
09:37 masak but there's something similar in S06
09:38 masak under https://github.com/perl6/specs/blob/​master/S06-routines.pod#quasiquoting
09:38 masak the things related to COMPILING::
09:38 Ven that's backwards to what I want, from what it seems.
09:39 Ven I want the `is injecting` as help to the parser
09:39 Ven (it's been a year or so I last re-read the design documents, too bad they're not up-to-date anymore)
09:39 masak they're the closest thing we've got
09:52 Ven right.
09:54 Ven of course, `is injecting` would be a bit too "static" for everything people try to do. I still believe it could get us "some way ahead".
09:54 masak *nod*
09:54 Ven (is injecting tells the parser "in this one call, these identifiers exist")
09:55 Ven our love-hate relationship with eval/melt is actually a bit problematic here.
09:55 masak how so?
09:56 Ven in CL, if I call `(defstruct s a b) (def-with-macro a)`, the macro gets 'a as an argument
09:56 Ven that's easily convertible to a quote, and then crafting the identifier "WITH-{name}-SLOTS" is easy.
09:57 Ven here, we'd need `is injecting` to have access to its argument (theoretically possible?) and be able to typecheck macro arguments
09:58 Ven actually, I'm wrong, it's a chicken-and-egg problem.
09:58 Ven is injecting can't have access to the arguments, that's an antithesis
09:59 Ven and anyway, I only wanted "is injecting" to make stuff available inside the call to the macro. so it's still useless to "make a macro that generates a function or a variable, available after the macro was invoked"
10:00 Ven back to the drawing board.
10:03 Ven I guess "is injecting" is still useful to transform a block passed to a macro (CPS still, anaphoric macros). It ends up, in my mind, being very close to Racket's syntax parameters...
10:03 Ven (sorry for the spam, I'm a bit dumping what I have in mind currently)
10:08 masak it's OK
10:08 masak sorry for not being very swift with replying -- a bit focused on $work ;)
10:08 Ven hehe, I should as well..:)

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