08:06 Ven` joined 10:13 Ven` left 10:32 Ven` joined 10:59 Ven` left 11:39 Ven` joined
Ven` still wants to learn Simula `at some point 12:18
masak :) 12:19
I just discovered by accident that Simula used the "parameter list to class" syntax 12:20
I'm in fact not so sure we ought to adopt that syntax -- I prefer to err on the side of boring/predictable/tried and true rather than opinionated/edgy
Ven` My comment disappeared. Wtf, weechat. 12:21
Anyway, yeah. Scala `case class`, Kotlin `data class`, C#8, ..
Oh, C#7 even it seems.
masak I would need to check out all of those 12:22
Ven` I think TypeScript wanted to do the same (that is... Copy C#) but I'm not sure if they went through.
In LiveScript (and previously in CoffeeScript), you could do `class then (@a, @b) ->` that is, the "constructor" is an anonymous function in the body (and generally the class body is executable) 12:24
masak I think we talked about Julia having an executable body with some quasiquoting tendencies 12:25
Ven` Maybe Julia, I admit to not really knowing the language. I do know Elixir has that tendency (but has no "classes"). 12:26
masak I mean, I'm not ready to do that exactly, but I do recognize the macro use case that people will want to "construct" their class using macros
Ven`
.oO( I very often wish learning natural languages were as easy as learning computer languages )
masak it's the kind of thing that you can definitely do with a MOP... but maybe also with an ergonomic-enough macro system
Ven` I do think we have an issue about MOP and macros interactions.
masak no, me neither 12:27
oh, you *do* think :)
Ven` you don't?
I think we talked aobut it in the context of Crystal, mhh
masak well, my latest thought on the matter is that the class syntax should maybe desugar to MOP calls, like in Perl 6
and then there is not much of a conflict
Ven` nods
masak again, it mostly comes down to whether you want to macro-syntax it or MOP it 12:28
Ven` If you're forced to use your own tools, they tend to suck less :).
masak I have a weak point for bootstrapping
Ven` Bootstrapping has a week point for bootstrapping...
s/ee/ea/
masak :P 12:29
s/point/spot/
no, I've been thinking about "007 is metacircular, but with a much bigger metacircularity loop than Lisp" in the past few days
largely this is because parsing is trivial in Lisp, and so mostly is evaluation 12:30
expressing them is "elegant" simply because there isn't much impedance mismatch between the data, the syntax, and the semantics 12:31
Ven` the syn-what? :-P
masak hehe
Ven`
.oO( I only ever write my Lisp as array literals )
masak but a modern Algoloid (with macros) doesn't have that elegance. instead it favors things like precedence/associativity, lots of special forms, and in general lots of specialized syntax for different things 12:32
it's an active choice, somehow. where Lisp radically favors a kind of consistency, modern Algoloids favor a kind of comfort 12:33
Ven` well special form can mean most everything and anythin, as Dylan shows I think. 12:34
A friend of mine is working on a lisp where you can use a syntax like ## x y to wrap the rest of the expression with (x y ...), which removes layers of parens
it's just a tiny special form for people who think the issue iwth Lisp is the parens :P
masak should definitely look more at Dylan 12:36
Ven` too
masak any suggestions for resources?
Ven` github.com/vendethiel/read/issues/13, github.com/vendethiel/read/issues/1 is all I see to have. 12:37
Ven` looks at all the macros-related papers in that repo and sighs 12:38
masak ooh, a 'read' repository. that's a good idea! <3 12:41
Ven` Yeah, alas not enough things get closed... 12:42
The "metaprog" tag is probably one for your interest
masak noted. 12:45
Ven` To say those papers I've been intending to read since like... 2013... 12:47
Back when I wanted to add a macro system to LiveScript :P. 12:48
yes, yes, famous last words and back to the drawing board. 12:50
masak ;) 13:01
Ven` Certainly, one thing I did not have to worry about is syntax: You can't make syntax overridable if there's pretty much never any syntax errors already :P. 13:10
masak when I hear "pretty much never any syntax errors", the connotations are not all that positive ;) 13:14
Ven` Says the Perlist!
Well, it certainly wasn't meant to sound positive.
masak _reformed_ Perlist, if you please ;)
Ven` Sorry, I forgot you were a Java guy now ;) 13:15
masak no, but, seriously, being a Perl 6 user is already an improvement on being a Perlist in that regard
"this language takes any input you give it and attempts to make sense of it" is a dictum I can see *might* make sense to a certain mindset
s/input/program/ 13:16
Ven` I need to re-read Programming Perl now that I've used 5 a bit. I read it only knowing Perl 6, and it certainly explained some choices, but I want to know more now.
.oO( I guess that given/when Perl 5 explanation in the book might not be useful to me any further :P )
masak being a Perl 6 user made me want to understand Perl 5 better too
you might enjoy reading the Apocalypses, by the way 13:17
Ven` Yeah, I certainly should. I do want to re-re-read the synopsis first.
Wait, weren't they the exogeneses? My memory is failing me
masak the Apocalypses are much more personal than the Synopses
Ven` Not sure where they were moved now... 13:18
masak the Apocalypses are authored by TimToady
the Exigeses by TheDamian
Ven` ohhh, right!
masak perl6.org/archive/doc/apocalypse.html 13:19
Ven` TimToady had a talk about the RFCs a few months back, I wonder if the data is there now...
s/there/available publicly on the internet/ 13:20
masak perl6.org/archive/doc/exegesis.html 13:21
Ven` thanks
how should I read them? A1, E1, A2, E2, ..? :P 13:22
masak sure, that makes sense
in general, the A documents are TimToady going through the RFCs and "integrating" them into a design, and the E documents are TheDamian taking that design and "implementing" it as an example program 13:23
of course, what I see when I read those nowadays is all the things we learned since then
YMMV
Ven` Yes, I see. Asked TimToady++ in #perl6, I'll see when he does drop by
> Therefore one thing we must implement in Perl 6 is the ability to write meta-use statements that look like ordinary use statements but turn around and declare other things on behalf of the user 13:25
More meta is always the solution!
masak where was that from? 13:26
Ven` A01
masak it seems highly relevant to my musings in the `import` issue
Ven` oh, I should fidn the RFCs list to go along. 13:27
perl6.org/archive/rfc/ it is
masak that particular RFC (16) is interesting because TimToady basically accepts it, but in practice it's been rejected by real-world Perl 6 usage 13:28
Perl 6 in all its usages is much more similar to Perl 5 with `use strict;` and `use warnings;` switched _on_ by default 13:29
Ven` And I like it that way
masak and I can't really remember when I last saw someone dropped down to `v6;` slacker mode
I certainly never do that
Ven` Oh, that's how you do it?
masak I... I *think* so 13:30
Ven` I've long known there was *a way* to do that, but I've never used it
masak I mean, I'm not sure, because I actively don't care, because it's, um, condtraindicated
contra*
masak went for a term that's not offensive to anyone
masak mistyped the term, like a pro
Ven` I'm offended by (cond) 13:31
masak haha
I learned the other day that LISP pioneered the `if` statement 13:32
Ven` Wait, the E02 is actually for the A01?
masak though since it must've looked like (IF A B C), I wonder which language it was that invented the words "then" and "else"
Ven`: no, there just isn't an E01 for A01 13:33
Ven` I seem to find BASIC to be the answer, but from wikipedia with no source
masak could very well be true. BASIC is old. 13:34
Ven` I'm not sure when COBOL got its -else
masak but, hm, does BASIC really predate Algol 60?
Ven` 1964 13:35
probably not
(when I tell people that LISP was basically invented within a year of COBOL, they tend to give me a weird look)
> So there should be nothing preventing someone from writing a lexer regex that handles them, provided we make the lexer sufficiently mutable. Which we will.
he he he he he.
masak "the lexer"? 13:36
ah, we were so young
we still believed in lexers 13:37
Ven` well, considering how much the lexer does in 5-land...
if it quacks like a deity...
.oO( and demands as many sacrifices as a deity )
masak yes, that's the other thing 13:38
back in the days of Axx and E0x, Perl 6 looked a *lot* like Perl 5
you can see how the people who wrote it were mired in Perl 5 syntax and semantics 13:39
I find that *fascinating*, and I also enjoy how far we've come since then
Ven` what does `length @a` do in 5?
oh, funny, A02 mentions "Unicode support level", something we discussed less than a month ago 13:40
masak Ven`: `length @a` in Perl 5 is list length. `length $a` is string length. 13:41
Ven` erm... isn't list length `scalar @a`? 13:42
oh wow, `length @a` is actually the length of the size of @a, as in `length scalar @a`
masak yes, but only because the latter delegates to the former, I believe
er, no 13:43
Ven` well, so it's list length's length
it's not list length
masak huh. it appears you're right.
I was probably thinking of `reverse` 13:44
Ven` ah, I think I read something about reverse
masak strangelyconsistent.org/blog/the-ta...edy-on-irc 13:46
Ven` Perl 5 prototypes are... well beyond insane 13:49
Oh, right, you speak mandarin, was it?
My IRC client really doesn't like ??????. 13:50
[Update: No, this confuses two different meanings of boolean. Use for =$*IN {...} instead.] 13:59
haha
masak yep, we used to have prefix:<=> 14:01
the mandarin just means "haha"
Ven` "school of fish, fish's mouth moving, exhaling sound" 14:06
oh, japanese kinda-sorta stole it only. No japanese reading. (sorry, no cn dictionary on hand) 14:07
seems like it only stole it for names...
masak well, "exhaling sound" sounds like it could be "ha" 14:08
Ven` yes, definitely
masak I still feel "haha" looks very silly but "哈哈" looks extremely onomatopoetic 14:09
Ven` well, in my term, "??" looks mostly... cryptic.
Ah, unicode... tis a silly place.
masak "UTF-8 is your friend!" as #perl6 says
oh, or "our friend". apparently not yours 14:10
Ven` > print $data{key is NoteToSelf('gotta get a better name for this key')};
that one is... gorgeous
masak but whyyyy 14:12
just use a comment
Ven` well we *did* ban inline comments :P
masak we... did? 14:13
Ven` oh, yes, see A02 - RFC 102
masak if you mean Perl 6, it resisted them for a long time, but then relented after badgering from perl6-lang 14:14
now we have #`[ ... ]
Ven` well, that bit is at the end of A02. it did ban them earlier in the document
> La propri??t?? c'est le vol 14:15
Damian speaks french, huh? or doesn't
masak .oO( tout le monde ne le fait pas? ) 14:19
it's called "lingua franca", after all :P
Ven` Offensichtlich spricht niemand franzosisch! 14:22
masak ;) 14:23
Ven` > First: Larry is insane. This means more to me than anything in the language itself. I prefer my heroes to have a firm grasp on sanity. I was never a fan of Don Quixote. Larry says God talks to him, and tells him that He hates non-Perl programmers. 14:31
some people...
masak that's stevey, right? 14:33
Ven` yes
masak :(
Ven` is he "known"?
masak somewhat 14:34
what I like about his writings is that he writes frankly about language issues that not many others writes about
the above example somewhat excluded, though. I don't like that post, although it makes a handful of fair points 14:35
again, the above point excluded
I don't feel an urge to knee-jerk defend TimToady's sanity, but... I still consider STD.pm6 to be not only ground-breaking, but a thorough atonement for toke.c 14:38
Ven` hahahha 14:39
masak though I imagine Jeffrey Kegler would disagree about the "ground-breaking" part
Ven` oh, interesting question I'm getting from a bit of code. 14:42
Why didn't 5 keep its sigils-are-return-contexts for OO?
@foo->bar(), %f->g()
masak I think you need to ask a core p5er that question 14:43
but (fwiw) my "Perl 5 brain" tells me that code looks "wrong"
I think because I expect a reference before the `->` part
15:06 Ven` left 15:10 Ven` joined
Ven` It's always interesting to read the explanation of a feature you yourself wrote a few years back... 15:20
Ven` writes down: "remove `content` from perl6inyminutes at some point" 15:21
contend*
16:14 AlexDaniel left 16:39 Ven` left 20:16 AlexDaniel joined