Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
00:04 vendethiel joined #6macros
00:29 vendethiel joined #6macros
01:11 vendethiel joined #6macros
05:19 vendethiel joined #6macros
06:23 vendethiel joined #6macros
07:34 vendethiel joined #6macros
07:53 Ven joined #6macros
08:44 vendethiel joined #6macros
09:38 vendethiel joined #6macros
09:45 Ven joined #6macros
10:22 vendethiel joined #6macros
10:24 masak joined #6macros
11:22 vendethiel joined #6macros
12:19 vendethiel joined #6macros
12:28 Ven joined #6macros
13:41 Ven hmm
13:41 Ven I took sweet.js
13:41 Ven I installed contracts.js, es6-macros and sparkler(pattern matching macros)
13:43 Ven https://gist.github.com/vend​ethiel/c643a3e3b2af4ebef4d2
13:43 Ven I like the looks of it
13:43 vendethiel joined #6macros
13:46 masak huh.
13:46 masak some of these things have syntax and assumptions too far away from what I'm used to, so it's hard to say anything constructive or useful about them...
13:46 masak nevertheless; interesting.
13:46 Ven Alright! Sorry!
13:47 masak not a criticism. :) more of an observation about my own ignorance.
13:47 Ven the "usual" syntax for contracts.js is
13:47 Ven @ (Num, Num) -> Num    function foo() { ... }
13:48 Ven the usual syntax for sparkler (the pattern-match thing) is
13:48 Ven function foo { 42 => 0, x => x * 3 }
13:48 Ven the usual syntax for es6 arrows is (x) => x * 10
13:49 Ven so, here, I wrote a "fun" macro to be able to use *both*
13:49 masak ah.
13:49 Ven because contract was looking for the "function NAME ()"
13:49 masak yes, I suspected you were doing something like that.
13:49 Ven but sparkler didn't allow parens(that's how you mark a pattern-matching function)
13:49 masak so it's all text-based, like Perl 5's source filters?
13:49 Ven nope.
13:50 Ven it's token-based
13:50 Ven "..." is used to repeat "expressions" just like with scheme/racket's templates
13:50 * masak needs to learn more about those, too :/
13:50 Ven so, here, (Num -> Foo) are different "expressions"
13:51 Ven because they're not one single valid parse
13:51 Ven hence the need for "..."
13:51 masak ok
13:51 Ven same for the body
13:51 Ven So here
13:51 Ven I have a syntax to define a named function with a contract
13:51 Ven and pattern match the arguments inside
13:52 Ven which I  think looks really neat
13:52 Ven I'll just throw: https://github.com/natefaubion/adt.js in the mix
13:52 Ven which works with the pattern-match "sparkler" lib
13:52 Ven (because it's from the same author :P)
13:54 masak unfortunately I'm at $work, so I can't give this its full attention
13:54 Ven The guy actually made a whole different language: https://github.com/natefaubion/derelicte
13:54 Ven hah :) I'm at $school, so I have nothing else to do
13:55 masak aside from tagging "sweet.js" and "racket" as potentially interesting venues to explore in the future
13:55 Ven I hope you tagged those already ;-) I've mentioned them a fair bit! :P
13:55 masak I did.
13:56 masak this is a tagging for the nth time :)
13:56 Ven :P
15:02 vendethiel joined #6macros
15:06 Ven joined #6macros
15:10 Ven joined #6macros
15:13 Ven_ joined #6macros
15:18 Ven joined #6macros
16:35 Ven joined #6macros
16:39 Ven masak: eli-se is a mad genius as well :P
16:41 masak seems that way :)
16:50 Ven I'm mostly their rubber duck, tbh
16:50 Ven https://github.com/rightfold?tab=activity
16:50 Ven they're working on https://github.com/rightfold/mill
16:56 masak looks familiar. has probably been mentioned before.
17:00 vendethiel joined #6macros
17:40 vendethiel joined #6macros
18:49 vendethiel joined #6macros
19:01 Mouq joined #6macros

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