»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
samcv I am thinking of applying for a Perl 6 grant. Here is a rough draft I wrote of the proposal gist.github.com/samcv/ca70c21c7306...220c986b47 05:08
BenGoldberg s/determinalistic/deterministically/ 05:10
samcv aside from spelling :P 05:11
it's a very rough draft. so mostly concerned with content. and i wasn't totally sure what to put for "tell us about why you should work on this project" 05:12
so that needs to be expanded
perlpilot samcv++
TEttinger $30 an hour? for that price someone could hire... two burger flippers in NYC. you're a bargain 05:13
samcv i wasn't sure what price to put. i just put that for now
i would like to hire 2 burger flippers though. in a month you could have a lot of burgers
perlpilot samcv: from what I remember, people usually figure the cost at $50/hour but ... everyone is different
samcv ## Benefits to Perl 6 Development: hundreds of burgers 05:14
is it usually always 50/hr?
perlpilot I don't know about always, but that's the number I've often seen
samcv i will take 50/hr. i wasn't sure how to do it
ok. also yeah i wanted input on that part too
BenGoldberg Write the $50 in the proposal, and hope for the best ;) 05:15
samcv heh
perlpilot 100 hours over 1 month? Do you work or go to school or anything that could interfere with your time working on the proposal? 05:15
samcv no work or school
TEttinger it's not like a whole lot of people have a ton of unicode expertise and are available to work on perl6
samcv that is very true
the 100 hours a month may change. but the 1 month = 100 hours 05:16
was more like 100 hours to complete said task (maybe) but that was the main one i was going on
TEttinger you seem to know quite a bit about this stuff. QUICK WHAT'S THE FIRST CHARACTER IN THE Nd CATEGORY, LEXICOGRAPHICAL ORDER BY CODEPOINT 05:17
samcv how long for them to approve the grant?
haha
TEttinger well, by typo I actually know this one
0
samcv yeah
perlpilot samcv: depends on how contentious it is I would imagine :)
TEttinger I think I meant Nl
samcv because in like 7 days i will be out for like 1 week to 2 weeksish 05:18
well prolly out ~1week and then the week after that probably would be part time then after that should be full time 05:19
also need to go through my commit history and get a better listing of what i've done. i just wrote some stuff off the top of my head
samcv can i list as a deliverables to determine what Unicode 9.0 we do not support and make a very specific list to be complete at the end of the project. basically everything not specified as what i'm going to complete + figure out anything out not covered we don't know of yet 05:20
also what we sort of know but it's not properly written down and looked into 05:21
perlpilot samcv: After the submission deadline, the grants are posted for public commentary for some amount of time (1-2 weeks I think), then they committee votes. I'd figure they'd award by sometime in early Feb (but I'm just guessing; Coke would know truer things since he's on the committee)
samcv k
ok that should work fine with my schedule 05:22
also what about extending the grant? that can be done yes?
perlpilot you can always make another proposal to do more of the same :) 05:23
perlpilot samcv: oh, and lizmat would make an excellent grant manager for you if she's willing 05:26
samcv great
perlpilot samcv: be sure to ask though. She may have other suggestions too 05:27
samcv yeah
i was going to say The goal of this project is to make Perl 6's Unicode support production ready. 05:29
but that's kind of a loaded phrase. but i guess it's in benefits not deliverables
so that may be fine
though I suppose you could argue that the definition of production ready will be adding all the unicode tests and making the ones we do have + ones added also check robustness of concatenation and other things 05:30
probably may take more than a month. will need to think about it and estimate for each subtask to get a better handle on it
perlpilot A minor thing about the wording of your deliverables ... don't say "needs to be"; say "will be" :) 05:31
or maybe "shall be" ;)
samcv also need to rework Full support for Unicode 9.0 will to be added section
and say shall be added or in otherwise any section we do not implement should be thoroughly documented 05:32
because it's almost as much work figuring out what we don't do than adding things in
since it's a very big standard 05:33
perlpilot make that research one of your deliverables
AlexDaniel oooh 06:25
samcv++
samcv: can I ask for RT #127047 and RT #127048 ? :) 06:26
samcv oh i mostly fixed that one (the 1st)
but that is included
yeah both are mostly fixed already but plan is to fix them all the rest of the way 06:27
samcv allow the normalizer 06:27
to save state across multiple characters to properly support Grapheme Breaking
for all of Unicode 9.0.
AlexDaniel, have you seen my newest MVM pr? github.com/MoarVM/MoarVM/pull/497 06:28
may be interested in it
will also let you do like \c[ZWJ] for ZWJ and many other alias names (some of the aliases are for corrections) 06:29
u: U+FE18
unicodable6 samcv, U+FE18 PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET [Pe] (︘)
samcv like that one.
but idk why anybody would use that full name, but others are shorter and not spelling mistakes but like actual names being wrong
AlexDaniel great 06:30
samcv :)
AlexDaniel samcv: anyway, your grant proposal makes me very happy 06:32
samcv yay!
AlexDaniel everything about it is so right :) 06:32
samcv AlexDaniel, is the deliverables section good:? 06:34
though the only thing that scares me is Rewrite the Perl 5 script used to generate the Unicode database in Perl 6. This is also part of the previous item, since a rewrite is needed, it should be done in Perl 6 to help make it more maintainable. 06:35
but i am going to make sure that is a good goal in the time before I officially submit the grant application
AlexDaniel I have no problem with it. Perhaps it can mention some big tickets if there are any? 06:36
samcv i mean problem for me!
the rewriting it in perl 6. it's a huge script and all spaghetti-ish
so basically will have to throw the whole thing out the window but replicate the functionality 06:37
AlexDaniel well, you'll manage I'm sure :) 06:40
anyway, don't forget to mention it here when it's published :) 06:41
samcv kk :)
samcv ah that script is 1900 lines long hahaha. well if i am getting paid to do it. I will muster the courage 06:41
I basically know how everything in it works except for the bitfield compression 06:42
faraco A question, what makes Perl 6 more maintainable than Perl 5 + use strict in general ? 06:44
samcv i find what i write is about 1/2 the length. uhm it's more extendable, better introspection of objects
uhm sub declarations are super nice too 06:45
and not having to deal with references
faraco okay, not having to deal with reference is a game changer for me.
thanks.
samcv at least for me it basically lets me program the program and less so trying to program squares to fit into rectangular holes
all this filler code, that i guess sets up things for the next operation or function, processing the text, putting in a data structure etc, all things you have to think about 06:46
but with perl 6 there's a lot less of that so it's much less work to add new things and refactor
faraco so, you got much more compact code in Perl 6 without trying.
?
samcv yeah
i mean you get the most out of it if it's a straigth rewrite duplicating functionality than trying to like copy and paste it 06:47
faraco :) 06:49
cschwenz p6: multi sub foo() is tighter(&infix:«+>») { say "In foo()!"; }; foo(); 09:39
camelia rakudo-moar 8f3476: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤No such method 'subst' for invocant of type 'Any'␤at <tmp>:1␤»
cschwenz hmm… on perl6 2016.11 that gives the error "Routine given to tighter does not appear to be an operator" 09:40
but here it is a different error 09:41
:-(
anyone here have suggestions on how to get this working?
samcv bisectable6, multi sub foo() is tighter(&infix:«+>») { say "In foo()!"; }; foo(); 09:44
bisectable6 samcv, Bisecting by output (old=2015.12 new=8f3476d) because on both starting points the exit code is 1
samcv, bisect log: gist.github.com/c1c73607db089f203b...f101a85082
samcv, (2017-01-09) github.com/rakudo/rakudo/commit/ca...83f94f145e
samcv cschwenz, was it working before? 09:45
and if so do you know around what time. or is it just asking to make something work right now
and you have not used this before
cschwenz dunno, this came up because i was trying to get a custom infix operator to work the way i wanted it to and i finally got past a previous blocking issue (i wanted to use "+>>" as my op but perl6 kept complaining, so i changed it to something else) 09:48
samcv cschwenz, maybe this will help? cry.nu/perl6/creating-your-own-ope...in-perl-6/ 09:49
ok does it work if you change it from +>?
cschwenz checking...
cschwenz okay, so i changed from "multi sub infix:« +>@ »(Real $num, Iterable $rotate) is tighter(&infix:«+>») is export(:MANDATORY) returns Int {" to "multi sub infix:« +>@ »(Real $num, Iterable $rotate) is tighter(&infix:«+») is export(:MANDATORY) returns Int {" and that works 09:51
samcv ok then it's probably colliding with some other operator 09:52
uhm show me it working with camelia cschwenz please
cschwenz but +> is a valid perl 6 core operator
okay
moritz m: say 3 +> 4 09:53
camelia rakudo-moar 8f3476: OUTPUT«0␤»
moritz m: say 3 +< 4
camelia rakudo-moar 8f3476: OUTPUT«48␤»
cschwenz p6: multi sub infix:« +>@ »(Real $num, Iterable $rotate) is tighter(&infix:«+») is export(:MANDATORY) returns Int { say "foobar"; }; 123 +>@ (123, 456); 09:54
camelia rakudo-moar 8f3476: OUTPUT«foobar␤»
cschwenz p6: multi sub infix:« +>@ »(Real $num, Iterable $rotate) is tighter(&infix:«+>») is export(:MANDATORY) returns Int { say "foobar"; }; 123 +>@ (123, 456);
camelia rakudo-moar 8f3476: OUTPUT«foobar␤»
cschwenz wat
okay who does the homebrew keg for perl6? 09:55
because it looks like that needs updating
samcv cschwenz, camelia uses the latest rakudo in git 09:56
not the rakudo release
cschwenz :-(
samcv bisectable6, ulti sub infix:« +>@ »(Real $num, Iterable $rotate) is tighter(&infix:«+>») is export(:MANDATORY) returns Int { say "foobar"; }; 123 +>@ (123, 456);
bisectable6 samcv, Bisecting by output (old=2015.12 new=8f3476d) because on both starting points the exit code is 1
samcv bisectable6, multi sub infix:« +>@ »(Real $num, Iterable $rotate) is tighter(&infix:«+>») is export(:MANDATORY) returns Int { say "foobar"; }; 123 +>@ (123, 456);
oopsie
bisectable6 samcv, bisect log: gist.github.com/132685b5657b297116...09fed01277 09:57
samcv, (2017-01-09) github.com/rakudo/rakudo/commit/ca...83f94f145e
samcv, Bisecting by exit code (old=2015.12 new=8f3476d). Old exit code: 1
samcv, bisect log: gist.github.com/138529cc0e85ca3db9...b3efb6f14d
samcv, (2017-01-09) github.com/rakudo/rakudo/commit/ca...83f94f145e
samcv yeah ok so it was fixed 3 days ago!
buggable, release
buggable, help
buggable samcv, tags | tag SOMETAG | eco | eco Some search term | speed
samcv buggable, 09:58
huggable, release
huggable samcv, nothing found
samcv huggable, help
huggable samcv, nothing found
samcv NeuralAnomaly, release
if i just keep trying bots… heh
cschwenz :-P
samcv NeuralAnomaly, help 09:59
NeuralAnomaly samcv, stats | blockers
samcv NeuralAnomaly, stats
NeuralAnomaly samcv, [✘] Next release will be in 1 week and 2 days. Since last release, there are 81 new still-open tickets (1 unreviewed and 0 blockers) and 258 unreviewed commits. See perl6.fail/release/stats for details
samcv there we go!
samcv I <3 bisectable6 10:00
cschwenz cool :-)
jnthn moritz: Please can I have an account on p6c.org/ (the www server)? 10:33
moritz jnthn: sure; please remind me in an hour or, I have an incident right now 10:35
*or so
jnthn moritz: OK, will do; thanks :) 10:37
moritz jnthn: passwort sent 11:14
luna_ hi 11:19
SmokeMachine Hi 11:29
Ulti neat 10% speedup on my tests, now reliably 0.9s 12:44
possibly the metaop speedup as I use those quite a bit
whichever optimisation it was or the combo I'm guessing lizmat++ >:3 12:45
lizmat jnthn did quite some work on MoarVM that was merged yesterday 12:48
longer running programs should benefit from that mostly
Ulti I have a lot of Z uses :) 12:48
in fact it does a couple of Z in a tight loop for most of that second 12:49
given 0.1s is startup which is fairly heavy thats how much compute you saved me :3 12:50
lizmat glad to hear that! :-) 12:57
perhaps @perl6org twitter worthy ? :-)
moritz Ulti: 10% speedup since when? 12:58
last release? last few days?
lizmat Ulti: are those Z's or Zop's ? 12:59
Ulti moritz couple of days ago 13:00
DrForr I'll check here in a few minutes...
Ulti lizmat: Z=> most likely
lizmat ah, yes, I special cased that as well :-) 13:01
Ulti \o/
Z=> is one of my favourite perl6 doodads
moritz samcv: +1 to your grant proposal. I'd be willing to be your grant manager if you don't find anybody better suited :-)
Ulti just because its sort of like a visual icon of what its doing :) 13:02
faraco hi, other than tldp[beginner-bash|advance-bash] books, which *free* resources helped you learn linux ecosystem and maybe even suit it with Perl 5/6 language. 13:34
I like *man bash and info coreutils*, but I need more for me to go further. 13:35
raschip "man bash" is in fact very bad documentation for anyone trying to learn shell. It's good documentation for anyone trying to implement a new shell, though. 13:36
DrForr faraco: There are a bunch of links for tutorials and introductions on perl6.org.
brokenchicken faraco: I kinda learned by brute force rather than studing copious resources. 13:37
(it's worth noting I have several destroyed systems under my belt as a result :P)
jnthn Yay, submitted PRs so now Archive::Libarchive is an easy install and passes tests on Windows. :) 13:41
brokenchicken \o/ 13:42
faraco brokenchicken: man, I need to fire up chroot. 13:42
brokenchicken Ah, c'mon! It's very exciting to type rm -fr ~ and then accidentally hit ENTER instead of / and the rest of the path ;) 13:44
faraco DrForr: hey thanks. Don't even know those links were exist. 13:48
DrForr No worries. 13:49
AlexDaniel brokenchicken: it is way more interesting when you have done something similar to 「rm -rf ./」 at some point, and then weeks later you ctrl+r this command out of the history on accident 14:34
and this could be anything! Like batch rename or whatever
brokenchicken :)
AlexDaniel nowadays I always ask myself before running anything “if I run this command in a random directory, will it screw things up?”. If yes, then I make it more specific so that it will error out 14:35
brokenchicken Well, I hope TPF won't think less of me if I use links to perl6.WTF in my proposal :} 14:37
AlexDaniel another grant proposal? \o/
brokenchicken wishes it contained a more recent coverage report
mspo how many domains does perl6 have? 14:38
perlpilot_ It's funny but sad that some variant of this conversation on "rm -rf" has happened probably since rm was first invented.
perlpilot_ brokenchicken: what's your proposal? 14:38
brokenchicken is too self conscious to say :}
raschip People, at least alias rm to 'rm -I'. This should be the default, IMHO. 14:40
jdv79 wjat is perl6.wtf? 14:41
looks like a useless report
moritz jdv79: it's zoffix's front end to RT and some other stuff
brokenchicken nah 14:41
moritz ah no, the coverage report 14:42
brokenchicken jdv79: it.s Perl 6's Wonderful Test Files. It's a coverage report, tho the report tool is currently busted so it's empty
jdv79 figures Str.pm has the most lines
brokenchicken You can still access last report via the bot tho
cover: &say, \("x") 14:43
Undercover brokenchicken, The code is hit during stresstest See perl6.WTF/src_core_io_operators.pm....e.html#L22 for details
jdv79 is there a user facong coverage tool yet?
brokenchicken no
jdv79 like devel::cover 14:44
mspo the first thing I put in .profile is unalias -a
to remove all that linux junk
brokenchicken So far it's only a hard-to-use tool in a moarvm branch
jdv79 i never found it that practical though
raschip That's a very nice coverage report, never seen one like it. Which tool generates it?
brokenchicken There's an article on it: perl6.party/post/Perl-6-Core-Hackin...Moar-Cover
mspo: RE: domains. Dunno about perl6, but I own perl6.party, perl6.fail, and perl6.wtf :) 14:45
mspo brokenchicken: when you get burned out TNF can spend a bunch of money to reclaim them 14:46
brokenchicken TNF?
moritz owns p6c.org
and then there's perl6.org
oh, and I own perl-6.de
mspo TPF 14:47
brokenchicken heh
moritz which is, like, totally outdated
mspo brokenchicken: I used to be on the board of directors for The NetBSD Foundation so "TNF" is in my muscle memory
brokenchicken mspo: oh and getperl6.com too
OTOH, it's supposed to renew tomorrow and I rather not renew it 14:48
mspo I found a lot of those .newtld's had stupid pricing
$5 year 1, $40 year 2 (.io was like that anyway)
moritz some of them are quite expensive
brokenchicken a lot of them are pricey yeah
mspo I'm also letting a few domains go this year 14:49
moritz preordered perl6.book, but doesn't know if he'll pay it if he gets them
raschip moritz: I think TimToady might want that one, don't let it go or a squatter might get it. 14:51
brokenchicken heh, well, looks like I'll remain the owner of getperl6.com for another year, it renewed today according to the cancelation form
yet not according to whois :( 14:52
brokenchicken is being ripped off
mspo .com's are consistent, anyway
brokenchicken Is TimToady even writing a book? 14:53
perlpilot_ yes
mspo brokenchicken: it looks like you're getting private whois
brokenchicken :o
mspo Tech Name: Oneandone Private Registration 14:54
brokenchicken yup
mspo you normally pay extra for that
brokenchicken yup
raschip ICANN has plans to end it, though. Private whois won't be anymore. 14:55
brokenchicken :(
DrForr There's Learning and Programming already being written.
mspo raschip: really? 14:55
mspo prepares more shell companies 14:56
brokenchicken :)
raschip Shell companies don't cover the requirements because the requirement is a for contacts of persons, not companies. 15:06
brokenchicken
.oO( shell person of a shell company... )
15:07
raschip They see domains the same way qsls, which require one to publish even their address to have.
brokenchicken raschip: you have a robo message under raschi user, if you are the same person
raschi what, waht? 15:08
yoleaux 11 Jan 2017 20:03Z <brokenchicken> raschi: it was in #perl6-dev irclog.perlgeek.de/perl6-dev/2017-...i_13894263 RE: "do you have a link to the log where what motivated that commit happened?"
mspo how do they validate that I am who I say I am?
mspo in the US a Doing-Business-As or a C-Corp are as good as people 15:09
raschi It's only validated if there's a dispute and ICANN needs a contact. If the contacts aren't valid, it's a violation of policy and the holding of the domain will be invalidated.
timotimo yeah, they hardly have time to vigorously check stuff up front 15:10
raschi You can't really buy a domain, you can only lease it's use from ICANN, and it requires one to follow the UDRP, which is a contract that says it has to be a real person. 15:10
mspo raschi: I've done UDRP disputes before and "real person" wasn't really a thing
so that would be a lot of new rules 15:11
raschi Like I said, they are starting to make policies about enforcement.
mspo especially since it's mostly lawyers doing them
tbrowder hi, any experts on use of Inline::Perl5 here that can help me with a type problem? 15:12
raschi ICANN wants to stop SPAM, and that requires someone to be criminally responsible for it. 15:13
raschi "crimminally" in the sense of internet crimes, not real crimes 15:14
tbrowder i'm trying to use p5's YAML module (only because p6 YAMLish is feature-limited at the moment)
mspo yeah we'll see
brokenchicken tbrowder: what if an non-expert knows the answer? 15:15
tbrowder well, if you know the answer then you are an expert from my view! 15:16
brokenchicken Well, there wasn't any question yet, and so no answer is possible. 15:16
tbrowder i'm loading a yaml file into a p6 scalar
my $y = Load 'file' 15:17
say $y.WHAT 15:18
pmurias raschi: internet crimes?
raschi like spam
tbrowder (Perl5Array)
tbrowder i can deal with that after the fact, but i need to determine the type programmatically. 15:19
this doesn't work:
if $y ~~ Perl5Array 15:20
timotimo won't Perl5Array do Positional for you?
perlpilot_ tbrowder: if $y.^name eq 'Perl5Array' { ... } # ? 15:21
tbrowder hm, not sure about Positional...need to read about tha 15:22
perlpilot_: thanks! (remind me why the ^ is needed, please) 15:24
timotimo i mean, would $y ~~ Positional work?
tbrowder timotmo: i'll try that, too, thanks 15:25
perlpilot_ tbrowder: $x.^foo is asking for the foo method on $x's meta-object.
tbrowder ah! thanks, ppilot!
timotimo it will also be so kind and pass the object itself as the first argument to the meta-method 15:26
perlpilot_ yeah, $y.^name is like $y.HOW.name($y) 15:29
_4d47 Bag has 'hash' method but also respond to 'Hash', Hash is not documented, not in ^methods and can't find where it's implemented 15:33
tbrowder perlpilot_: that works perfectly--thanks a heap! 15:35
perlpilot _4d47: probably in Any
_4d47 perlpilot: ok your right found it in Any, it just calls 'hash' 15:37
raschi Here is the report from the ICANN WG about what they are going to do about WHOIS: gnso.icann.org/en/issues/whois/thi...t13-en.pdf 15:38
brokenchicken from 4 years ago?
They don't seem to be in a rush :")
perlpilot _4d47: when you're trying to find where a method is implemented, you should probably walk up the inheritance hierarchy
m: say Hash.^mro
camelia rakudo-moar 94acf2: OUTPUT«((Hash) (Map) (Cool) (Any) (Mu))␤»
brokenchicken m: Bag.new.^lookup("Hash").file.say 15:39
camelia rakudo-moar 94acf2: OUTPUT«SETTING::src/core/Any.pm␤»
brokenchicken oh heck, we even have a bot that can point to code
perlpilot _4d47: or use brokenchicken's tool :-)
brokenchicken++
brokenchicken s: Bag.new, 'Hash', \()
SourceBaby brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/94ac...Any.pm#L75
raschi "GNSO Adoption of the Final Report: Adopted on: 21 January 2016 Resolved: The GNSO Council adopts, and recommends that the ICANN Board of Directors adopt, all the PPSAI PDP Working Group's final recommendations in the Final Report."
brokenchicken lulz, it's self.hash.Hash :P 15:40
s: Bag.new.hash, 'Hash', \()
SourceBaby brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/94ac...Hash.pm#L8
brokenchicken s: Bag.new, 'hash', \()
SourceBaby brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/94ac...gy.pm#L334
brokenchicken so basically in Bag .hash and .Hash are the same thing 15:41
raschi brokenchicken: And people continually complain ICANN moves too fast with these things. 15:41
_4d47 :s Bag.new, 'Hash'
brokenchicken _4d47: I'd say it's Any.Hash that's not documented and once it is, it'd show up in Bag docs as well 15:42
you got the trigger backwards; it's s: not :s
_4d47 ok thx :) 15:43
s: Bag.new, 'Hash', \()
SourceBaby _4d47, Sauce is at github.com/rakudo/rakudo/blob/94ac...Any.pm#L75
_4d47 s: Bag.new, 'Hash'
SourceBaby _4d47, Something's wrong: ␤ERR: Type check failed in binding to &code; expected Callable but got Method+{<anon|68023856>} (Method+{<anon|6802385...)␤ in sub do-sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 42␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 33␤ in block <unit> at -e line 6
brokenchicken yeah, there's this bug in Rakudo where not all Callables do Callable role -_- 15:44
but see a few lines above, my invocations of the bot give all relevant URLs 15:45
_4d47 just curious why both hash and Hash? and I was under the assumption that methods that 'cast' where tc
timotimo hm. i thought of a good pun last night, but i forgot the framing :( 15:55
brokenchicken Well, you MAST::Frame it right for it to be funny... 15:57
timotimo oh yes 16:00
here we go
i find it silly that you call it "toast". it sounds kind of like "could i have some bake with my cook?" 16:01
brokenchicken doesn't get it... 16:02
timotimo "is this sit still free? a live of mine is going to come by later"
brokenchicken doesn't get it... 16:03
timotimo OK
i'll head out to have dinner with friends
take care :)
timotimo i hope you'll get fixed soon 16:04
brokenchicken :)
brokenchicken huggable: total commits :is: cd $(mktemp -d); perl6 -MJSON::Fast -MLWP::Simple -e 'run |<git clone --bare>, $_ for from-json(LWP::Simple.get("api.github.com/orgs/perl6/repos"))..._url>); my $total; for dir(".") { my $n = run(:out, |<git --git-dir>, $_, |<rev-list HEAD --count --author=zoffix>).out.slurp-rest.trim.Int; say "$n commits in $_"; $total += $n;}; say "Total: $total" 16:35
huggable brokenchicken, Added total commits as cd $(mktemp -d); perl6 -MJSON::Fast -MLWP::Simple -e 'run |<git clone --bare>, $_ for from-json(LWP::Simple.get("api.github.com/orgs/perl6/repos"))..._url>); my $total; for dir(".") { my $n = run(:out, |<git --git-dir>, $_, |<rev-list HEAD --count --author=zoffix>).out.slurp-rest.trim.Int; say "$n commits in $_"; $total += $n;}; say "Total: $total" 16:36
brokenchicken ^ how to find out how many commits you made to perl6 org
perlpilot no, that's how to find out how many commits zoffix made :) 16:37
brokenchicken well, yeah, you'd swap zoffix for your author
brokenchicken is at 1,823 commits to perl6 org and 461 commits to rakudo 16:38
still a baby, compared to some other commiters :) 16:39
brokenchicken is now known as babychicken
moritz brokenbabychicken? 16:43
AlexDaniel brokenchicken: I think a final single quote is missing 16:56
brokenchicken huggable: total commits :is: cd $(mktemp -d); perl6 -MJSON::Fast -MLWP::Simple -e 'run |<git clone --bare>, $_ for from-json(LWP::Simple.get("api.github.com/orgs/perl6/repos"))..._url>); my $total; for dir(".") { my $n = run(:out, |<git --git-dir>, $_, |<rev-list HEAD --count --author=zoffix>).out.slurp-rest.trim.Int; say "$n commits in $_"; $total += $n;}; say "Total: $total"' 16:56
huggable brokenchicken, Added total commits as cd $(mktemp -d); perl6 -MJSON::Fast -MLWP::Simple -e 'run |<git clone --bare>, $_ for from-json(LWP::Simple.get("api.github.com/orgs/perl6/repos"))..._url>); my $total; for dir(".") { my $n = run(:out, |<git --git-dir>, $_, |<rev-list HEAD --count --author=zoffix>).out.slurp-rest.trim.Int; say "$n commits in $_"; $total += $n;}; say "Total: $total"'
brokenchicken Thanks
[Coke] puts "update his resume" on the short term list. 16:59
brokenchicken Why?
TimToady hoping to get a job with the Trump administration? 17:00
brokenchicken heh
[Coke] TimToady: I mean, we don't know each other well, but... no. :P 17:03
[Coke] it's complicated, but in the general realm of mergers/acquisitions/outsourcing. 17:04
AlexDaniel brokenchicken: it takes quite some time to get the stuff cloned… perhaps statisfiable should learn it 17:05
dataf3l Hey Guys 17:06
TimToady [Coke]: I understand, having been acquired more times than is strictly necessary in one lifetime...
dataf3l is there a callback graphviz thingie for Perl6 like this one? 17:06
github.com/TrueFurby/go-callvis
if not, is it easy to create one? 17:07
[Coke] TimToady: It's kind of nifty that it's an article in the WSJ. :)
brokenchicken What is CORE:: called? namespace? 18:10
"All routines and objects in CORE:: $what"
$what = ?
TimToady it's a lexical scope in p6 18:11
brokenchicken Thanks.
TimToady m: say SETTING::OUTER === CORE 18:15
camelia rakudo-moar 94acf2: OUTPUT«False␤»
TimToady that really oughta be True for the restricted setting...
TimToady m: say SETTING::OUTER::<pi> === CORE::<pi> 18:19
camelia rakudo-moar 94acf2: OUTPUT«False␤»
TimToady m: say SETTING::OUTER::OUTER::<pi> === CORE::<pi>
camelia rakudo-moar 94acf2: OUTPUT«True␤»
TimToady huh, I wonder why there's a double OUTER there... 18:19
brokenchicken hah, now I finally get why some docs in Rakudo deliniate URLs with angled brackets.... It's how `perldoc` renders URLs! 18:43
geekosaur there's actually an rfc for that, it's recommended as a delimiter (e.g. "is the dot at the end an end of sentence, or part of the URL?") 18:45
brokenchicken Ah :D 18:47
[Coke] (docs) any feedback on my low-priority PR? 19:21
brokenchicken What's the PR? 19:32
nicq20 Where does rakudo look for modules when you say `use Foo:Bar`? 19:42
brokenchicken In one of Comp::Unit::Repository'ies... don't know more than that... 19:44
brokenchicken if you do use Blah::Blah it'll tell you where it tried to find it in 19:45
nicq20 brokenchicken: Thank you! Also found this: docs.perl6.org/language/5to6-perlvar (find @INC). 19:47
RabidGravy m: say $*REPO.repo-chain.grep({ $_.can("prefix")})>>.prefix 19:53
camelia rakudo-moar 94acf2: OUTPUT«("/home/camelia/.perl6".IO "/home/camelia/rakudo-m-inst-1/share/perl6/site".IO "/home/camelia/rakudo-m-inst-1/share/perl6/vendor".IO "/home/camelia/rakudo-m-inst-1/share/perl6".IO)␤»
nicq20 I can't seem to get Git::Wrapper to install properly. If someone can, try to install it through zef/panda. I want to check if it's just me. 19:54
brokenchicken ===SORRY!=== 19:55
Could not find Git::Log::Parser at line 2 in:
nicq20 Ok, same here. Not just me then. 19:56
brokenchicken I see the issue. PR Incoming
nicq20 What is it?
moritz something missing from META6.json?
brokenchicken nicq20: you can git clone the fork and `zef install .` or `panda install .` from that clone: github.com/perlpilot/p6-Git-Wrapper/pull/2 19:59
nicq20: or ping perlpilot to merge it :)
Untested, but I'm 99.99% sure that fixes the issue.
moritz wow, just one expected failure in 10k attempts is a crazy level of certainty! 20:00
brokenchicken Yup :) I'm failiry suire 20:01
nicq20 Hmm... Zef seems to die when doing that. 20:04
brokenchicken there goes that one failure! :D
nicq20 uninitialized value $_ of type Any in string context.
brokenchicken k, lemme clone this thing and do it right
nicq20 Zef::Distribution::Local) line 14
brokenchicken: I think it's my end. :/ 20:05
brokenchicken hm... git clone github.com/perlpilot/p6-Git-Wrapper; edit META.info to stick this into it raw.githubusercontent.com/zoffixzn...META.info; zef install .; gives me "===> Install [OK] for Git::Wrapper:ver('0.0.1')" 20:06
This is Rakudo version 2016.12-250-g9052427 built on MoarVM version 2016.12-71-g331a6b4
nicq20 Going to try and update zef then. 20:07
perlpilot brokenchicken++ 20:16
nicq20: that PR is merged btw
nicq20 Ok, thank you! :D 20:17
brokenchicken (prolly'll take a bit for the change to propagate to All Things that keep track of modules)
and once that happens zef update (or panda update) is needed 20:18
RabidGravy "X11 connection rejected because of wrong authentication" 20:19
mspo RabidGravy: xauth merge 20:21
ufobat i am happy - my xpath implementation slowly grows and works :-) github.com/ufobat/p6-XML-XPath 21:05
brokenchicken ufobat++ \o/ 21:11
RabidGravy cool 21:23
tadzik yay! 21:24
AlexDaniel ok, 18 MB left 21:25
time to do something
37G.xsession-errors 21:29
ahhaaaa
El_Che whuut
geekosaur remember you need to restart the session to get rid of that
AlexDaniel yes, a 37GB error file!
lizmat go for it! :-) 21:30
tadzik oh wtf 21:31
AlexDaniel geekosaur: but what if I don't want to…
tadzik what's in there!?
El_Che AlexDaniel: compress it
AlexDaniel: bzip2 or something efficient 21:32
AlexDaniel why not just delete it, uh?
El_Che AlexDaniel: who else has a 37gb error file?
geekosaur because it's open in every X11 application, deleting it removes the name and leaves the data until all programs that have it open exit 21:32
El_Che looks lik a accomplishment :)
">.xsession-errors" would empty it 21:33
geekosaur no
AlexDaniel some kind of an error related to a firefox addon I'm using
repeated thousands of times
geekosaur or rather, only temporarily
El_Che while :; do > .xsession-errors; sleep 1; done 21:34
:)
El_Che > .xsession-errors; chattr +i .xsession-errors 21:35
geekosaur sigh, 21:35
ok, please cargo cult to your hearts' content
tadzik quickly remove it and symlink to /dev/null? :)
El_Che rm .xsession-errors; ln -s /dev/null .xsession-errors 21:36
I can go cargo culting all night :)
tadzik: gmta :)
tadzik :) 21:37
AlexDaniel ok then… 21:39
El_Che sudo mount -t tmpfs -o size=1m tmpfs /mnt; rm .xsession-errors; touch /mnt/.xsession-errors; ln -s /mnt/.xsession-errors 21:40
more farfetched :)
pmurias ggoebel: hmm, when is bigint being installed? 21:43
geekosaur the most fun part of that mess is that the simplistic :> solution will look like it worked, but the next error message output will result in a 37GB sparse file 21:45
El_Che magic is fun
AlexDaniel that's ok, occasional reboots are fine 21:46
28 days of uptime… it's good that things like that make me reboot sometimes
imagine rebooting once a year… who knows what's going to happen, right? :) 21:47
geekosaur is due for a reboot as well, random memory leaks have the system pushing 50% swap usage
Technaton El_Che: You don't want to actually use that temporary mountpoint: If its full, there will be alot of error messages littering your X seesion.
geekosaur (which is better than when I got this machine, prebuilt with linux but someone botched creation of the swap partition so when it went over 5% used it overwrote the next filesystem on the disk. luckily that was being used as scratch space...) 21:48
Technaton geekosaur: AFAIR, you can either employ logrotate or disable .xsession-errors completely by changing /etc/X11/Xsession to contain "exec >> /dev/null 2>&1".
geekosaur depends on the distribution
Technaton Uh-oh. 21:49
geekosaur some of them use systemd/journalctl. not sure what the mint install I have is using but they actually clamp .xsession-errors size somehow
Technaton Argh yes, the finer details of systemd...
geekosaur also the >> there is useless, write and append are the same thing on /dev/null :) 21:50
El_Che Technaton: I was under the impression the messages would be lost 21:53
AlexDaniel geekosaur: ah, just realized. “why not just delete it” was a response to “compress it”
geekosaur and logrotate doesn't work for this becauseyou can't force every running X app to reopen its stderr 21:54
so they keep logging to the old one
Technaton El_Che: 'No sufficient space' is an error return code, that probably bubbels up. :/
s/,//
samcv what is the way to do grapheme based regex? 22:24
i know ignoremark, but that ignores marks, what if you want to substitute marks in some text, what option do you use?
AlexDaniel samcv: wow, what a lovely question 22:29
indeed, how?
like, you can always work on NFDs, but…
samcv i think i remember reading in a Synopsis that there was a way to do it
AlexDaniel m: say ‘hëllo’.NFD.list ~~ (**, ‘e’.ord, **)
camelia rakudo-moar c301b0: OUTPUT«True␤»
AlexDaniel this doesn't really help
samcv uh. hahaha 22:30
well. what if you don't want to work on NFD. like uh
AlexDaniel well, if you don't want to work on NFD then it probably doesn't really make sense
the problem is more that we don't have .tr or .subst or something like that for Uni 22:31
samcv m: my $var = "\c[family: man, boy]"; $var ~~ s/\c[BOY]//
camelia rakudo-moar 077a75: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name family: man␤at <tmp>:1␤------> 3my $var = "\c[family: man7⏏5, boy]"; $var ~~ s/\c[BOY]//␤»
samcv ah i know why that dosen't work
samcv because of the comma. and that denotes multiple characters hmm 22:32
AlexDaniel for example, let's say you have e􏿽xCC􏿽x88 and @̈, what would “substitute marks” mean in this case?
samcv will have to remove those commas! since they shouldn't be significant
well. they are significant and denote multiple things in the official notation we use (not just perl 6's)
so ignoremark uses NFD? 22:33
i guess that makes sense
samcv also who is this guy named Mark and why do we want to ignore him 22:34
not nice
perigrin he's my brother, feel free to ignore him.
He's a scrum master, he's used to it. 22:35
AlexDaniel we still have no way to say “replace E with Z no matter what mark it has” I think
unless you want to process lists…
samcv yeah we need that
AlexDaniel in fact, can we even match ‘e’ in a regex with this kind of logic? 22:36
samcv well if the e has marks on it 22:36
AlexDaniel without doing something like <?{ $0[*-1].Str.samemark(‘a’).fc eq ‘e’.fc }> 22:37
samcv so i tried it and I think the emoji base characters can be replaced with ignoremark but not others
mostly sure
though it may result in some oddness
also it may not work with Extend characters
since they go [extend] + [base]
new in unicode 9.0
i added support for that but haven't tested with ignoremark or other things.
samcv it says in the synopsis it ignores Mark. and Mark is a unicode property i'm almost certain is equivilant to Grapheme_Cluster_Break=Extend 22:39
u: { .uniprop('Mark') } 22:40
unicodable6 samcv, U+0300 COMBINING GRAVE ACCENT [Mn] (◌̀)
samcv, U+0301 COMBINING ACUTE ACCENT [Mn] (◌́)
samcv, gist.github.com/c8356cdfbaf54b4d23...244b908dda
samcv u: { .uniprop('Mark') and .uniprop('GCB') ne 'Extend' }
unicodable6 samcv, U+0903 DEVANAGARI SIGN VISARGA [Mc] (◌ः) 22:41
samcv, U+093B DEVANAGARI VOWEL SIGN OOE [Mc] (◌ऻ)
samcv, gist.github.com/dcf2f7c182df3b8a69...8deb0fb53d
samcv m: 0xA8C1.uniprop('GCB').say
camelia rakudo-moar 077a75: OUTPUT«SpacingMark␤»
samcv ah kk. yep they have special GCB properties
and it doesn't include the Extend characters 22:42
u: { .uniprop('GCB') eq 'Extend' }
unicodable6 samcv, U+0300 COMBINING GRAVE ACCENT [Mn] (◌̀) 22:43
samcv, U+0301 COMBINING ACUTE ACCENT [Mn] (◌́)
samcv, gist.github.com/2bc840c2788bbbccb4...d693529de0
brokenchicken m: s:ignoremark/e/z/ and .say given $ = "e\x[308]"
camelia rakudo-moar 077a75: OUTPUT«z␤»
samcv i've been working on improving the speed somewhat of the grapheme breaking code to use the GCB property instead of checking multiple other properties. Except when needed, ideally we can make checking that property the fastest and optimize it
brokenchicken m: s:samemark/e/z/ and .say given $ = "e\x[308]"
camelia rakudo-moar 077a75: OUTPUT«z̈␤»
samcv since it is used more than any other 22:44
AlexDaniel brokenchicken: right!!
samcv err i meant Prepend up there 22:44
<samcv> and it doesn't include the Extend characters # should have been Prepend 22:45
samcv u: { .uniprop('GCB') eq 'Prepend' } 22:45
AlexDaniel so we in fact can do that kind of stuff! Cool!
unicodable6 samcv, U+0600 ARABIC NUMBER SIGN [Cf] (؀) 22:45
samcv, U+0601 ARABIC SIGN SANAH [Cf] (؁)
samcv, gist.github.com/4ce08721682af2940b...5d52e7af3c
samcv m: "\c[ARABIC NUMBER SIGN]9".chars.say 22:46
camelia rakudo-moar 077a75: OUTPUT«1␤»
samcv yeah i knew i fixed that. was broken for a while
until fairly recently
brokenchicken m: "\c[ARABIC NUMBER SIGN]9".say
camelia rakudo-moar 077a75: OUTPUT«؀9␤»
brokenchicken m: "\c[ARABIC NUMBER SIGN]9".Int.say
camelia rakudo-moar 077a75: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5؀9' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel hmhm somebody keeps adding doc labels :o
samcv m: my $var = "\c[ARABIC NUMBER SIGN]9"; say $var ~~ s:ignoremark/9/3/ 22:47
camelia rakudo-moar 077a75: OUTPUT«False␤»
samcv yeah it be broke
brokenchicken AlexDaniel: heh, there's a GitHub hook Geth could sub to to tell you who :)
samcv AlexDaniel, like labels for bugs?
AlexDaniel yea
samcv heh 22:48
will add that to my list of unicode thinks to investigate
AlexDaniel duplicate, experimental, external, POD, meta… 22:49
samcv the extend one. i already knew it was untested except grapheme break. heh hence my grant proposal. have been thinking about maybe making one, but now i feel comfortable knowing the scope of the project
AlexDaniel all these don't have many tickets attached to them and were added for no good reason I believe
there was a time when we had a ton of doc labels
and all of them were thrown away because they were so useless
AlexDaniel in the end it was decided to keep it very simple and so we got 「site」 「docs」 「build」 and 「search」 22:50
samcv ah kk
AlexDaniel 4 labels enough to sort stuff into main categories, but not enough to be more specific (but who said that we want to be very specific?) 22:51
I think this was even documented somewhere… 22:52
and now we have a ton of labels and again it's not clear what they are for 22:53
what's a 「wishlist」? Isn't this whole bug tracker a wishlist?
samcv yeah i guess so 22:54
AlexDaniel m: { m/<:M>/ } 22:58
camelia rakudo-moar 077a75: OUTPUT«Use of uninitialized value of type Any in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤ in block at <tmp> line 1␤»
AlexDaniel oops
u: { m/<:M>/ }
unicodable6 AlexDaniel, «timed out after 30 seconds, output»: «exit signal = SIGHUP (1)»
AlexDaniel well, thank you very much, slowpoke 22:59
u: { .chr ~~ /<:M>/ }
unicodable6 AlexDaniel, U+0300 COMBINING GRAVE ACCENT [Mn] (◌̀)
AlexDaniel, U+0301 COMBINING ACUTE ACCENT [Mn] (◌́)
AlexDaniel, gist.github.com/8d3f0ae42910a43d04...7e65fcc33d 23:00
AlexDaniel anyway, brokenchicken++ ( github.com/perl6/doc/issues/1133 ) 23:02
samcv AlexDaniel++ your doc ticket
brokenchicken That sounds like it can be subsumed under github.com/perl6/doc/issues/919
like there should be just one place that documents all of these adverbs as they're (mostly) shared between rx//, m//, s///, S///, .match, .subst, and .subst-mutate 23:03
AlexDaniel could be
samcv brokenchicken, any atom-language-perl6 bugs not fixed yet you've noticed 23:05
samcv fixing proto method/sub now 23:05
brokenchicken samcv: nope. I've been taking a break from P6 23:06
samcv kk
brokenchicken Playing Dying Light :)
cale2 hey all 23:16
samcv hi 23:18
cale2 why do people say that perl6 is "the future"? Is it mainly because of the grammars? 23:21
cale2 I'm just thinking, if you like dynamic languages, why wouldn't something like Elixir be "the future"? With pattern matching and stuff 23:22
samcv I have never used Elixer, what type of pattern matching?
cale2 def matcher(""), do: :nothing 23:24
def matcher(str), do: :something
samcv so it does something if it matches?
cale2 match on variables as parameters
match in case statements like
samcv match the variable name?
brokenchicken cale2: yeah, we have that too
samcv i'm not sure what you mean match on variables, we can match on variables 23:25
cale2 brokenchicken: I know perl6 has gradual typing and you can do multiple dispatch, but I think it's a bit different, right?
brokenchicken cale2: why not ask people who say perl6 is the future about why they say that? :) I suspect there are many personal reasons involved as well.
cale2 brokenchicken: that's exactly what I'm doing :) 23:26
I want to know
brokenchicken haha :)
Well, sane concurrency (and as I recall Exlixir rocks there too); superb unicode support (which will soon become even awesome); to my limited knowledge only Swift is on similar level. 23:27
brokenchicken My personal reason is the language fits my brain and I like the community. I heard good things about Elixir, but never had a chance to give it a spin. 23:27
cale2 I think Elixir, swift, and perl6 all have similar unicode support
brokenchicken cool
cale2 What are some things that are on the roadmap for perl6? I was just reading about MoarVM for example, and it looks like there is still a lot of work to be done there 23:28
brokenchicken Oh yeah, there's still tons of work to do. First stable release was just a year ago.
I think the current roadmap is largely focused on improving stability and performance. 23:29
My personal goal is to improve the test coverage.
cale2 brokenchicken: Is there a guide to the perl6 architecture? I'm confused about why it's a good idea to make NQP, Rakudo, and Perl6 all different things 23:30
brokenchicken cale2: we have a marketing brochure that's handed out at events. Perhaps it'll be helpful to you: github.com/perl6/doc/issues/919
samcv wait is that the right link...
brokenchicken oops nope.
My copy-paste is broken again
samcv cale2, also see speed test over time tux.nl/Talks/CSV6/speed4.html
so improvement is occuring pretty fast 23:31
brokenchicken I'm glad previous buffer didn't have anything embarasing :P
cale2: this is the brochure I meant: github.com/perl6/marketing/blob/ma...ochure.pdf
samcv heh
that is a great brochure.
cale2 In regards to the whole P6 world though, why make NQP, Rakudo, and Perl6 all different things? 23:32
chaceface hi all. is there an easy way to see all declared lexicals?
brokenchicken cale2: Perl 6 is the language. It's just the specification that defines what that language is (by comparison, think C language). Rakudo is a compiler for it (think, gcc); althought it's the most developed it doesn't have to be the only one. Perl 6 is a pretty big language. It'd be hard to optimize it, so there's a Perl 6 subset, the NQP (which is also a compiler-writing toolchain). So we write Rakudo using NQP 23:34
and Perl 6. And the last bits of the puzzle are the backends. Currently, most developed is MoarVM, behind it is JVM, and further behind is JavaScript backened. That basically lets you run code compiled by Rakudo on any of the backends you like the most.
m: my $foo; say MY::.keys
camelia rakudo-moar f10b09: OUTPUT«($=pod $foo !UNIT_MARKER EXPORT $_ $! ::?PACKAGE GLOBALish $¢ $=finish $/ $?PACKAGE)␤»
brokenchicken chaceface: ^ prolly that. keys are names and values are things themselves IIRC
chaceface > MY::.keys ($=pod !UNIT_MARKER $_ EXPORT ::?PACKAGE GLOBALish $?PACKAGE) 23:35
i'm certainly getting that, but i have @data and a couple others declared in the shell
brokenchicken m: my $foo; my @data; say MY::.keys 23:36
camelia rakudo-moar f10b09: OUTPUT«($=pod $foo !UNIT_MARKER EXPORT $_ $! @data ::?PACKAGE GLOBALish $¢ $=finish $/ $?PACKAGE)␤»
brokenchicken shows up here. What you mean by the shell? The REPL?
chaceface yeah the REPL
brokenchicken hm, yeah, I see those are missin' from it 23:36
chaceface thanks, broken
cale2 "Perl 6 is a pretty big language. It'd be hard to optimize it, so there's a Perl 6 subset, the NQP" My thought on that is, why design a language that is so incredibly difficult to write a compiler for? The chances of another compiler getting up and going are slim to none, right?
brokenchicken chaceface: not sure how to get it to output in the REPL to. Maybe try some of the other MY::-like things? They're documented here: docs.perl6.org/language/packages#i...package%29 23:38
chaceface awesome. that's a good start. thank broken! 23:38
brokenchicken cale2: on the website, I see there have been 5 other compilers in the past. At a time, some of them were being developed simultaneously. As to why design... well, why not? :) 23:40
cale2: I'm not the best person to give a more detailed answer, as I've not participated in that process :)
cale2 So, PUGS for example, did not need NQP to work? 23:41
brokenchicken No idea. But I see nqp repo was created in 2009, so I guess some compilers didn't need it. 23:42
(design first started in 2001 or something along those lines).
I'd guess this wasn't made hard just for the sake of being hard, but because there was some benefit from it. 23:43
brokenchicken leaves to murder zombies 23:44
TEttinger cale2: lots of other languages use a subset at some point for bootstrapping 23:52
Haskell, in some versions of some compilers, would compile to a subset of C called C-- 23:53
TEttinger pretty much any bootstrapped language needs an initial smaller version of the language before it can run itself 23:54
b2gills The Perl 6 project started as a way to move forward in new directions without having to maintain backwards compatibility. 23:56
In the mean time ideas from other programming languages "crept" in, and now we have Perl 6.