svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | dev.pugscode.org/
Set by putter on 11 February 2007.
00:07 awwaiid joined 00:24 weinig|bbl is now known as weinig 00:27 [particle] joined 00:38 mjk joined
dduncan okay, I have committed what I promised, Juerd, so go ahead and tweak or develop it as you see fit 00:40
svnbot6 r15281 | Darren_Duncan++ | Acting as Juerd's proxy, added initial versions of ext/HTTP/ and ext/Web/ based on his p6u proposal emails of 20060917,21
dduncan hmm, so I guess that took me 2 whole hours, not 1, but whatever 00:42
00:44 CardinalNumber joined 00:55 mako132 joined
Aankhen`` No PUT or DELETE HTTP::Request objects allowed? 00:55
01:04 CardinalNumber is now known as ProperNoun, rashakil joined 01:07 neonse left 01:15 shachaf joined, shachaf left 01:17 justatheory joined 01:25 Alchemist joined 01:32 nperez joined
dduncan if you're talking about what I uploaded, ask Juerd 01:33
01:33 rashakil left
dduncan that said, I would expect that PUT and DELETE are allowed, since they are part of the HTTP standard 01:41
in fact, properties ascribed by some to "web 2.0" were actually part of "web 1.0" all along ... that you can edit web pages using the same HTTP client you view them with 01:42
that's why PUT and DELETE are there
01:53 jlamr joined 01:54 sunnavy joined 01:57 Aankh|Clone joined
jlamr I can't follow the cpan entry for xml::simple does any body know of one written a bit less complex? 02:08
02:09 nperez joined 02:19 sunnavy joined
dduncan jlamr, this channel, #perl6 is for people making Perl 6, the next version of Perl ... if you have Perl 5 questions, I suggest you go to a different channel like #perl and ask there 02:29
02:30 jlamr left 02:35 thorat joined 02:41 iblechbot joined, DebolazX joined, weinig joined, qmole joined 02:47 Aankh|Clone joined 02:48 sunnavy joined
svnbot6 r15282 | lwall++ | more cogitations on linkage to main program and general language embeddibility 02:50
02:53 prism joined 03:06 putter joined
putter 03:11
TimToady hey putter 03:18
03:21 sunnavy joined 03:26 awwaiid joined 03:27 sunnavy joined 03:30 weinig is now known as weinig|away 03:35 xwrn joined
putter hi TT 03:37
03:44 Aankh|Clone is now known as Aankhen`` 03:47 sunnavy joined 04:20 mako132 joined 04:23 stevan__ joined
PerlJam we're a talkative bunch tonight :-) 04:25
putter After utterly wasting 1/2+ hour, putter is busy writing 1000 times one the blackboard "The Perl 5 regexp engine is not reentrant, and bizarre bugs occur when you forget that." :/ 04:30
I dearly like (?{ }), but it can be a real pain. 04:31
04:32 Schwern joined
PerlJam putter: and that's why we want perl6 ;) 04:32
putter The ironic thing is the obtaining reentrancy is the whole point of my current code. So now is a particularly odd time to forget and get burned. 04:33
re want p6, ohh yeah. Ruby/p6 is my current baseline for metaprogramming. p5... makes me really want to use a bunch of Filter::Simple's. 04:38
audreyt putter: or you can use perl 5.9.x on cpan 04:39
which is reentrant
and bizarre bugs may not occur
that may be useful 04:40
PerlJam audreyt: hey, I heard you were sick. Feeling better I hope? 04:44
audreyt marginally
getting another bloodcheck tomorrow; may be discharged from the hospital if all goes well
PerlJam As long as the margin is in your favor, that's all that matters :-) 04:45
audreyt hopefully :)
at least there's an explanation to my sudden-drowsiness in the past few months
putter hi audreyt :)
audreyt so hopefully things will get better from this point on 04:46
putter: heya :)
putter glad you are getting better
audreyt :) still pretty sick; attention span improved to ~30min 04:47
but it beats 15min by far :)
putter re 5.9.x... there's a thought.
indeed. and the very many other potential downsides 04:48
am I solving the wrong problem?
with a reentrant p5 engine, one can trivially do rules on top of... oh, I remember that zoo. sigh. well, not trivial, but perhaps easier/better than current path. 04:50
putter greatly misses design discussions when working on pugs stuff 04:51
audreyt I think dmq also has named captures hacked in
PerlJam yep 04:52
putter hacked in to what?
audreyt so it may be easier to try targetting 5.9 and let dmq/p5p know which new OPs we will need for the regex engine, if any
putter oh, 5.9.x
audreyt to perl5.9
also we can selectively augment the existing re engine 04:53
because re::engine::* is now canonical as of 5.9
and the augmentation can exist in pure-perl land
PerlJam 5.10 is going to have such a better re engine than 5.8 :-)
putter :)
is all the 5.9.x stuff, and separately the re::override stuff, _really_ working? ie, the full p5 re test suite passes, as do those of a bunch of re-intensive cpan modules? it is so easy to do "sort of but not fully" in this domain. 04:55
audreyt well, full p5 re test passes 04:56
re::override is renamed re::engine
putter is re::engine also dmq?
audreyt currently search.cpan.org/dist/re-engine-PCRE/ is on CPAN
lambdabot Title: Yves / re-engine-PCRE - search.cpan.org
audreyt yes, also dmq
I did the early prototype
he picked it up and polished it a bit
but userland (p5-level) re engine is avar
simnet.is/boaesd/re-engine-Plugin-0.01.tar.gz # early prototype 04:57
was about to help getting it CPANized
but then went sick
putter ah
dduncan I'm seeing lots of reasons to want to move to 5.10 from 5.8
audreyt but reentrancy is really working
and is separate from this plugin engine thing
so at least on this regard, you should see your bug go away -- well recompiling 5.9.x is but 20min 04:58
putter one place to look for trouble in... split. s///. p5 core was playing wacky latent segfault inducing games.
audreyt so why not give it a try :)
dduncan hmm, www.nntp.perl.org/group/ has been given an overhaul
lambdabot Title: perl.org lists - nntp.perl.org
PerlJam Didn't someone (dmq?) hack some speed improvements into the RE engine too? 04:59
audreyt I believe dmq traced the re-override experiment notes, and subsequently fixed core to work around them
yes, that's also dmq, with trie optimization
PerlJam yes, that's it.
dduncan that's quite useful, separating active from inactive lists
audreyt dduncan: indeed
dduncan now if only 5.10 would come out
afaik, its basically just waiting on getting some more CPAn modules integrated, and testing with many cpan modules 05:00
PerlJam Place your bets now! Which will come out first? 5.10 or perl 6? ;-)
audreyt 5.10 of course ;)
05:01 Debolaz joined
PerlJam btw ... today I was wandering around the tech section at the local Borders bookstore and I noticed a decided absence of perl books. I mean there were some, but very few. Lots of books on ajax and ruby and mumble for dummies. 05:02
Debolaz PerlJam: That's the case in pretty much any technical book store I go to. They just don't sell much, so they don't keep more than a bare minimum. 05:04
svnbot6 r15283 | lwall++ | treat labels as lexically scoped pseudo type
05:04 CardinalNumber joined
dduncan oh, and audreyt, sorry to hear about your illness ... mentioned a few times in backlogs 05:04
but I won't keep mentioning it after this
audreyt dduncan: no prob, I'm going to survive :) 05:05
dduncan great!
PerlJam It seems to me that perl needs some good press or something to reinvigorate the popular perception of perl.
allbery_b ......and only the very hottest memes :)
PerlJam (maybe a perl6 release and a couple of perl6 books would do it)
audreyt I'm much relieved in fact; what I thought of as a strange nonmotivation turns out to be simple illness
PerlJam: sure, llama6 and camel6 can fix that. 05:06
PerlJam some "valid hype" on par with what ruby-on-rails got wouldn't hurt either ;) 05:07
audreyt jifty-in-jails?
Debolaz PerlJam: As I've said before in this channel, I doubt perl 6 will become very hot.
Debolaz is mr the-glass-is-half-empty 05:08
clkao audreyt!
05:08 leed joined
dduncan earlier today, which some of you may have noticed in backlogging, Juerd was wanting to do HTTP related modules, but says that he needs some language features that aren't present yet to do what he wants ... for example, an "ordered hash" ... I think he was mainly concerned about this from the point of what the syntax would be 05:08
PerlJam Debolaz: perl6 already has some "hot" ideas. IF perl6 doesn't make it big at least those memes will
dduncan I can't explain more than this, though 05:09
TimToady Debolaz: I don't want Perl 6 to become very hot. Or very cold. Call me Goldilocks... 05:10
offby1 ok, you're Goldilocks
audreyt hi TimToady :)
er sorry
hi Goldilocks :)
TimToady :) xx 2
PerlJam TimToady: good evening mister slow-and-steady :)
TimToady I think I can I think I can I think I can... 05:11
offby1 thanks TimToady falettin him be lazy, impatient, and hubristic
(although I think I already had those qualities)
PerlJam fully expects to be programming in perl 50 years from now (though my grandkids or great-grandkids will probably code rings around me) 05:12
audreyt but I thought there won't be a perl 50, even years from now...
PerlJam heh
TimToady "I don't know what language we'll be coding in, but it'll be called Perl". 05:13
audreyt clkao: hi :) how's the new year?
Debolaz PerlJam: Most people don't want some esoteric hot idea that doesn't actually decrease the amount of time it takes to develope a program or make the results look prettier though.
TimToady indeed 新年快樂
05:13 unobe joined
audreyt :D 05:14
TimToady but Perl 6 does both of those
PerlJam Debolaz: Do you consider regular expressions esoteric?
Debolaz To give an example: I like closures. But they usually don't affect the time it takes to develope a program for a customer. Garbage collection on the other hand, saves me an enormous amount of development time.
clkao audreyt: so far alright 05:15
TimToady Debolaz: I think you might give closures more credit after programming more in a language that doesn't have 'em. At least if you want to do any kind of callbacks... 05:16
but maybe your customers don't want to be called back... :) 05:17
Debolaz TimToady: I'm not saying they're completely useless. I'm saying that they're an example of a feature that the majority of script programmers today don't care about.
TimToady but I think the main thing that Perl 6 will give you there is the ability to come up with a domain specific language that speeds up what you want to do for your customer
Debolaz Even though they do allow some quite advanced stuff. 05:18
PerlJam: Not really no.
PerlJam Debolaz: they don't care about such things because they don't know of them. But would you rather a language where you could only speak baby-talk or a language where you could speak baby-talk and then as you learn more your vocabulary could increase so that you can express yourself in many and varied ways? 05:19
Debolaz PerlJam: What I personally want is somewhat irrelevant though, we're talking about why perl don't sell books and why perl 6 won't change that. 05:21
allbery_b bookstores cater to ooh-shiny. 05:22
PerlJam But perl6 will change that!
We're shifting away from what the language is (syntax, etc.) to what it enables.
Why do you think ruby on rails has been so successful? 05:23
There's nothing fundamentally new there
05:23 ProperNoun joined
PerlJam But the language used to express the concepts is different. Better. 05:23
PerlJam just hopes TimToady has at least some intellectual progeny who can carry on in his capacity long after he's gone so that quip he said above can be true :) 05:25
Debolaz RoR has been successfull because it gives you a simple way to create large web applications that at least perl and python didn't have any comparable frameworks for. Or put how I previously phrased it: It saves time. 05:26
TimToady well, the original was about Fortran...
PerlJam Debolaz: but perl and python *did* (and do) have comparable frameworks! 05:27
Debolaz PerlJam: Not in my experience. Are you refering to Mason? It wasn't that much better than PHP.. Or perhaps Zope - The overkill framework that only a few select could understand? 05:28
audreyt well, there's Jifty... 05:36
05:36 CardinalNumber joined
audreyt imvvho it is better at saving time than RoR, but ymmv :) 05:37
also, Django.
Debolaz audreyt: I don't believe Jifty existed back in 2004 though. :)
allbery_b jifty came after RoR, no? 05:38
PerlJam Maypole did :-)
audreyt yeah, before jifty there's only RT, and it's not really a framework :)
PerlJam I started playing with RoR earlier this week in fact and it reminded me quite a bit of Jifty
allbery_b django I'm not sure but the little I heard about it early on suggested most people thought it was either a toy or unsupported or both
(moral:marketing?)
PerlJam only Jifty seems to be slightly smarter about some things. 05:39
audreyt probably marketing. cf: code.djangoproject.com/wiki/DjangoP...ingtonPost
lambdabot Title: DjangoPoweredSites#Sites/featuresatTheWashingtonPost - Django Code - Trac, tinyurl.com/rpagl
PerlJam In any case, perl6 needs some well written text that inspires and enlightens people to its wonders :-) 05:42
"Programming Perl 6" probably isn't going to cut it.
TimToady "Head First Perl 6"
Debolaz I haven't talked to many about this so I don't know how representative my experience is, but I felt that it was actually easier to go to ruby from perl 5 than perl 6 from perl 5, syntax wise. 05:43
TimToady "Learn Perl 6 in 24 years"
audreyt Debolaz: sure, since ruby is midway
TimToady that's not at all surprising
allbery_b sure; ruby stole a lot from perl5
:)
TimToady 70% of ruby syntax is straight outa Perl 05:44
allbery_b well, excep for the stuff they stoll from smalltalk :)
*stole
audreyt 70% of ruby semantics is straight outa smalltalk
Debolaz It isn't so much why that interests me, that ruby might be the place people will go when they want to move beyond perl 5, instead of perl 6 where they see syntax like $foo!bar.
PerlJam remains glad that perl 6 is blazing a trail for others to follow :) 05:45
allbery_b p6 has an image problem, I'm afraid
(1) changed "too much" (2) "never going to be done" 05:46
PerlJam As long we still have humor like this in perl6: xkcd.com/
lambdabot Title: xkcd - A webcomic of romance, sarcasm, math, and language - By Randall Munroe
PerlJam :-)
TimToady after we fix (2) the (1) will take care of itself
putter tired happy me. need a p6 regexp grammar. going to look at STD. 05:47
TimToady it's mostly done
putter actually, 1am. punt and sync.
TimToady biggest thing left is to get away from the hashes describing quote sublanguages.
well, and actually making it work might take a little effort too. :) 05:48
PerlJam someone needs to pull an audrey on that.
PerlJam volunteers pmichaud
TimToady he already knows he's on the hook for that
but he's this month's release manager for Parrot, so a little busy 05:49
Debolaz Perl 6 are built and carried on the shoulders geniouses like Wall, Tang, and many others whose name I honestly don't remember at 6:50am (no sleep). But are clever features enough to save it from going the way of the poodle or our primitive notions of modesty? I mean, in favour of ruby and python which are now both building up a momentum.. 05:51
PerlJam "clever features"?
05:51 ProperNoun joined
PerlJam that's about a big of an understatement as I've seen in a long time. 05:51
Debolaz opens up a window. 05:52
Sorry, it's hot in the room, brain is melting in addition to sleep deprevation. I don't mean to understate what perl 6 can do. :-)
I think another thing is that ruby and python are very pretty languages to look at. Perl 5 and perl 6, not really so. Looking at an expression like $foo!bar, it strikes me as very unestetic. 06:00
svnbot6 r15284 | audreyt++ | * DrIFT.YAML: Add asYAMLmapBuf for the eventual VStr transition
r15284 | audreyt++ | from String to ByteString.
TimToady and exactly how often do you use private variables from a different object? 06:05
I doubt you'll ever use that 06:06
06:06 CardinalNumber joined
TimToady it's designed to look strange on purpose 06:06
svnbot6 r15285 | putter++ | yet_another_regex_engine - minor progress. Now includes a few p6 tests. 06:08
r15285 | putter++ | Next major steps include importing a grammar for p6 regex, and implementing rules taking arguments.
putter s/rules/regex/g sigh. ;) 06:09
PerlJam So ... who's going to write Perl6::Regex for perl5? :-) 06:11
putter I hope to have a few more hours this weekend. Perhaps get very basic p6 working.
Debolaz TimToady: But if I want to declare an attribute private, then I do have to refer to it as $!foo everywhere in the class, right?
putter PerlJam: perhaps that should be a directory/category, rather than a single package.
TimToady you can just call it $foo there 06:12
and in any case $! is just using ! as a twigil, whereas $foo!bar is something else 06:13
Perl 6 programmers will get to liking their twigils quite rapidly, I think.
they're basically filling the same role as sigils in ruby
06:13 BooK joined
Debolaz TimToady: S12 says this "If you declare with the ! form, you must use that form consistently everywhere" which I interpret as $! is required for all access to it. And S12 also gives the impression that $!foo is the only way to declare an attribute private. So I have no choice but to use $! if I want private attributes. 06:14
PerlJam As long as there aren't too many of them.
Debolaz If I read S12 correctly that is.
06:14 drupek12167 joined
putter s/Perhaps get very basic p6 working/Perhaps get very basic p6-dialect regex working/ ;) 06:16
06:17 czth_ joined
TimToady you must be reading an old S12 somehow, because mine sure doesn't say that. 06:17
PerlJam Debolaz: I think you need to read the whole paragraph that talks about $!foo
Debolaz: or what Larry said
Debolaz This version is dated 15 feb, 2007. 06:18
PerlJam Debolaz: are you reading dev.perl.org/perl6/doc/design/syn/S12.html ? 06:19
lambdabot Title: Synopsis 12: Objects - perl6:
TimToady the first two paragraphs under Attributes explain that the ! is normally optional
allbery_b hm, the phrasing of that paragraph is a little unfortunate, I see where Debolaz got that interpretation 06:20
putter "quotesnabber" :) :) src/perl6/Perl-6.0.0-STD.pm
TimToady well, the whole class declaration is the typical scope of a "has" 06:21
allbery_b (the ! form is being contrasted to the . form, but you have to read the whole paragraph t realize it's not being contrasted against the no-twigil form)
TimToady lexically speacking
yeah, it could be better written 06:26
putter: feel free to fix any obvious errors as you go 06:27
or @tell me things you notice that don't seem right
PerlJam TimToady: if /@foo/ matches as if we'd written / @foo[0] | @foo[1] | ... /, is there a concise way to match as if we'd said / @foo[0] || @foo[1] || ... / ? 06:29
Debolaz At best, it's a very confusing statement. I have talked to other people about this before and I know I'm not the only one who has read it like that.
In fact, this is the very first time I've heard otherwise. :-) 06:30
TimToady PerlJam: not that I can think of offhand.
well, just don't get tunnel vision over a particular feature; it'll be the overall impression that either wins or loses, and by and large I think Perl 6 has a clean look to it.
at least compared to Perl 5. :) 06:31
putter TimToady: will do. likely start out as puzzled questions though :)
06:31 ProperNoun joined
Debolaz TimToady: Another thing that has annoyed me is how spaces are more significant than in perl 5. I can no longer write foo (); :-/ 06:31
PerlJam Debolaz: but you can write foo\ .() 06:32
Debolaz That's of course minor and almost nobody does it like that so I don't predict that'll have a lot of impact.
PerlJam: Which looks so beautiful.. :-)
TimToady the whitespace dependency is necessary to allow generalized postfix operators 06:33
Debolaz Yes, I am aware of that.
TimToady and you can still write foo (); it just parses differently... 06:34
sorry, just being a little silly
Debolaz picked up this bad habit from wanting consistency and not wanting to write if() 06:35
TimToady if is not a function
the bad habit is seeing consistency where there is none. :)
Debolaz s/consistency/mental consistency/
TimToady anyway, people will learn to drop the parens on the if, and then it won't be a problem that way at least 06:36
offby1 I'm an old C programmer ... leaving out parens after an "if" makes me nervous ..
PerlJam perl6 has fewer parens (does that make it the anti-lisp as least in syntax?) but way more braces.
TimToady how does it have more braces? 06:37
PerlJam offby1: learn, adapt, overcome ;-)
TimToady: maybe it's just me but they seem to be everywhere in perl6 as compared with perl5
TimToady you mean more braces than Lisp?
offby1 what will make me feel better is a perl6 mode for emacs
06:38 lisppaste3 joined
TimToady so write one! :D 06:38
06:38 CardinalNumber joined
PerlJam But only perl 6 can parse perl 6 ... 06:39
;->
TimToady actually, there's lots of places Perl 5 used braces that perl 6 doesn't
Debolaz But I have to be honest, if ruby had anywhere near the documentation and usefull modules (Especially a good ORM) that perl 5 has, I probably would've jumped ship by now.
TimToady ${$x} => $($x)
\x{ffff} => \x[ffff]
allbery_b I've used ruby for a few things, but it has one unfortunate misfgeature 06:41
it runs at liek 20% of perl5 speed
Debolaz allbery_b: That'll change with ruby 2.0.
tene how is that a feature at all, allbery_b?
allbery_b "misfeature"
Debolaz allbery_b: Ruby 2.0 is getting JIT afaik.
tene Isn't misfeature "Considered to be a feature by some, but is actually bad."? 06:42
allbery_b well, more like "not *really* a bug, but..."
tene Okay. 06:43
TimToady well, if ruby ends up with the fastest VM we'll just run Perl 6 on it. :)
but I doubt JIT will help much without optional typing
and JIT is really hard on portability 06:44
putter (if ruby 1.9 was more stable, a p6 variant would *already* be running on it;)
TimToady but Parrot already has a JIT too...
PerlJam I sure hope perl6 doesn't obtain the dubious honor of being the language with the most non-useful implementations 06:45
putter lol
audreyt I thought that's intercal
putter hmm, that's an interesting question. if anything which passes the test suite is "official p6", does the test suite include _performance_ specs? 06:46
audreyt you mean, like scheme's guaranteed tail recursion?
putter or x is within N x the speed of y 06:47
so design tradeoffs are maintained across impls
TimToady well, if it doesn't perform well enough they'll never finish running the tests...
PerlJam putter: as long as it's fast enough, that's all that matters
TimToady "we can run slower than ruby better than ruby can run slower than perl 5..."
putter simplicity++
allbery_b well, lambdabot speaks Umlambda and Brainf**k :)
PerlJam who knows ... maybe there will be enough ghc improvements that it will make pugs the implementation of choice :-) 06:48
putter could well be
audreyt ghc improvements is already there :)
it's just pugs doesn't take advantage of them yet
(the current slowness is really mostly the artifact of the horribly slow [Char] type)
putter that (wizzy ghc pugs) would be very neat
but objects first :) 06:49
PerlJam audreyt: well ... aren't you in a hospital with nothing better to do than hack on pugs? ;)
audreyt as my brain doesn't quite handle MO yet
TimToady you just have to do the Improvement monad
allbery_b how long before pugs requires 6.7 so it can use overloaded string literals?
audreyt I'm bytestringifying pugs instead
allbery_b: aha, you see, I have a commit here that uses overloaded string literals
trying to make it work with both 6.6 and 6.7 atm
but going to bench it first
also wondering if there's a proprocessor-oriented way so we can avoid 6.7 06:50
putter are continuations in or out at this point?
putter crosses his fingers
TimToady in or out of what?
putter spec
can an official p6 not have continuations
TimToady it doesn't have to have fast continuations 06:51
PerlJam putter: perl isn't about closing doors :)
putter lol
Debolaz Is it about revolving doors? :-)
TimToady revolutionary doors 06:52
06:52 mjk joined
PerlJam doors with knobs in the center ala Tolkien :) 06:52
allbery_b I thought I'd heard whispers of some TH-based way to wrap literals, but don't recall any piointers
TimToady but I think that doing backtracking into rules basically requires continuations.
given they're really methods 06:53
putter tries to find ghc 6.7 info
ah, right.
audreyt allbery_b: some help in hunting it down would be nice
would prefer not upping the req for some time 06:54
allbery_b might try #haskell, sadly I'm recalling that someone mentioned such a thing and dons replied that sjanssen (IIRC) had sent in a patch to 6.7 to overload literals instead, end of discussion
TimToady in fact I'm sure you've noticed I freely intermix methods with rules in STD 06:55
though I don't believe I've actually written an methods that require being backtracked into, given we're trying to do a predictive parser most of the time 06:56
assuming longest-token, I think there's only two spots that currently require a backtrack. 06:57
(other than || <panic> things)
06:57 CardinalNumber is now known as ProperNoun
PerlJam is really going to have to get used to using || in regexs 06:58
allbery_b looks like it could be done with a compile-time (i.e. TH) transofrmation of a literal via unsafePackAddress 06:59
TimToady I find it's pretty easy to get used to. Just put | until you know you want sequencing
the | would even work on a <panic>, since it's the shortest token 07:00
but the || is just good documentation there
putter "Just put | until you know you want sequencing" <- nice sentence. should be captured someplace.
audreyt allbery_b: I think what we want is just a simple proprocessor that inserts fromString instances 07:01
i.e. perform sjanssen's transformation on GHC 6.6. maybe.
allbery_b hm. I'd kinda thing that would operate at runtime and therefore be slow, but I don't know this fromString (I see only pack) 07:03
audreyt yeah, it needs to be lifted out to toplevel. something like 07:04
f "foo" = "bar"
PerlJam TimToady: well, given the most salient feature of an @array is that it is ordered, don't you think it would make more sense for /@foo/ to match as / @foo[0] || @foo[1] || ... / ?
audreyt becomes
f _foo = _bar
_foo = fromString "foo"
_bar = fromString "bar" 07:05
that ensures sharing
except it needs to be
f __foo__ | _foo = __foo__ = _bar
allbery_b you're definitely beyond my haskell capabilities. this is a #haskell or maybe a haskell-cafe@ question 07:06
audreyt *nod*
well, if the bench is a clear win, I'll pursue it there
if not, going to punt until 6.8 07:07
TimToady PerlJam: it's a good argument
on the other hand, arguably when you have an array is precisely when you need it automatically reordered
but maybe <{ @array }> could do that 07:08
or the other
PerlJam I almost want a prefix form of | and || here.
|@foo /
but that means something different already doesn't it?
gah / |@foo / 07:09
TimToady we'd have to undo the implicit null ignored before first |
<{ any(@array) }> might reorder 07:10
for that matter / @array.any() / might be good enough
allbery_b thinks, at 2am, he's losing coherency and should consider sleep. gnite all
TimToady some of us never had coherency. night!
but in general, I find I *don't* want to use arrays or hashes in the Perl grammar because they don't derive properly. 07:12
putter wave, collapse immanent. g'night &
07:14 jisom joined 07:15 CardinalNumber joined
PerlJam well, it's now my bed time. Good night all. 07:24
PerlJam &
07:26 czth__ joined 07:34 ProperNoun joined 07:53 CardinalNumber joined 07:56 CardinalNumber is now known as ProperNoun 08:01 westymatt left
audreyt finally finished the ByteString port. let's see if it affects smoke time... 08:17
svnbot6 r15286 | audreyt++ | * Perl6::Perl5::Differences - Minor typo.
r15287 | audreyt++ | * More ~~:e fixes in ext/. 08:23
08:31 CardinalNumber joined
svnbot6 r15288 | audreyt++ | * Pugs.AST.Utils: Beginning of VStr/String distinction that 08:35
r15288 | audreyt++ | precedes ByteString-fication of Pugs source.
r15289 | audreyt++ | Pugs.DeepSeq: Add ByteString instance.
Juerd audreyt: Good to see you're better 08:36
audreyt terminally bored though. 08:37
Juerd Me too. Can't concentrate, and there's nothing that I want to do. 08:38
audreyt may I suggest nethack.
allbery_b lindley's dungeon crawl :)
Juerd You may, but it's just another thing that I don't feel like doing :)
allbery_b paying for afternoon nap. grrrh. braindead but can't sleep 08:39
Juerd I've even considered tidying my room, so I must really be sick.
audreyt mm, that sounds severe
svnbot6 r15290 | audreyt++ | Pugs.Internals.Cast: Introduce the _cast form that makes 08:42
r15290 | audreyt++ | casting from strings easier.
08:47 drrho joined 08:50 CardinalNumber is now known as ProperNoun 09:13 CardinalNumber joined 09:15 larsen_ joined 09:17 CardinalNumber joined 09:20 xdg__ joined 09:32 CardinalNumber is now known as ProperNoun 09:48 devogon joined, elmex joined 10:03 bernhard joined 10:17 chris2 joined
svnbot6 r15291 | audreyt++ | syck_st.c: Avoid a C-level warning. (backported from YAML::Syck) 10:21
10:33 dduncan left 10:49 devogon joined 10:51 devogon joined 11:14 devogon joined 11:18 neonse joined
svnbot6 r15292 | audreyt++ | Config-Tiny: Remove the obsolete .TEST form in basic.t. 11:30
r15293 | audreyt++ | * misc_junctions.t: unTODO. 11:37
moritz audreyt: are you bored beeing ill? *g* 11:41
audreyt yeah :)
moritz good attitude ;) 11:42
audreyt :) 11:43
svnbot6 r15294 | audreyt++ | * constant.t: unTODO 11:46
moritz ?eval 1
11:46 evalbot_r15277 is now known as evalbot_r15293
evalbot_r15293 1 11:46
moritz hey, it's up to date
nearly ;) 11:48
12:14 CardinalNumber joined 12:23 TimToady joined 12:35 CardinalNumber is now known as ProperNoun 12:42 explorer joined 12:44 elmex joined 13:01 buetow joined
avar audreyt: I'm working some more on re::engine::Plugin:) 13:18
audreyt: and welcome back:) 13:19
audreyt :) 13:24
13:24 chris2 joined 13:56 pbuetow joined 14:12 CardinalNumber joined
clkao 5 14:14
14:31 sunnavy joined 14:34 CardinalNumber is now known as ProperNoun
svnbot6 r15295 | audreyt++ | Pugs.Internals: More preparation for the IsString class in GHC 6.7. 14:41
14:44 rindolf joined
rindolf Hi all. 14:44
moritz hi rindolf ;) 14:46
rindolf Hi moritz! Sup? 14:47
moritz rindolf: audreyt is back ;)
rindolf moritz: really? How does she feel?
Is she OK?
moritz rindolf: ask her, she did ~10 commits today ;) 14:48
12:41 < moritz> audreyt: are you bored beeing ill? *g*
12:41 < audreyt> yeah :)
(time in GMT+1) ;) 14:49
audreyt rindolf: I'm ok. about to sleep.
not really fully back to action
in ~6hrs will get tested to see if I can be discharged
14:49 weinig|away is now known as weinig
audreyt from the hospital 14:49
rindolf audreyt: good medicine.
audreyt: sleep tight.
moritz and sleep fast ;-) 14:50
audreyt ok, so the preliminary bytestringified VStr/Pugs is faster, but only by 5% 14:51
of course that's with string operations untuned
but that means it's not the autoperfwin I looked for
so, consider that branch discarded 14:52
tomorrow I'll look at OO first :)
gaal why discard it? because it deps on 6.7? 14:54
audreyt aye.
in particular, depends on -foverloaded-strings
gaal checkinout maybe? 14:55
audreyt done.
(well, the "in" part.)
gaal 5% is kinda underwhelming.. I'm surprised :(
audreyt I suppose there's still redundant pack/unpack going on 14:56
memory use decreased as expected
but otherwise no, not a huge win.
gaal could it be around encodeUTF8 again? hmmm
svnbot6 r15296 | audreyt++ | * Convert VStr from String to ByteString, and Syn from
r15296 | audreyt++ | String to ID, in Pugs. Benchmark shows the perf gain is 5%,
r15296 | audreyt++ | so it's not worth the trouble of writing a GHC 6.7-compatible
r15296 | audreyt++ | processor. The next commit will revert this commit.
gaal audreyt**
svnbot6 r15297 | audreyt++ | * Revert the previous patch; everything back to normal. 14:59
audreyt I should definitely sleep. :)
audreyt waves &
rindolf audreyt: good nigth. 15:00
moritz sleep well
rindolf $audreyt.sleep("well")
gaal mooooose
15:05 weinig is now known as weinig|bbl
rindolf gaaaaaaaal 15:07
gääääääääääääl
rïïïïïïïïïïïïïïïïndolf
gaal huh. decodeUTF8 is buggy, I just realized. :( 15:08
because it looks at 4k chunks of bytes, and can be unlucky in utf8 breaks.
rindolf Üñïçödé
moritz gaal: first write a test case that fails ;)
gaal: just to reproduce it ;) 15:09
'a' x (2**12-1) ~ 'ä' should fail then... 15:10
gaal moritz: perl -le 'print (("A"x4065) . chr 99999'
15:10 Belaf joined
gaal well, the source code should contain a unicode char on the chunk break 15:10
moritz gaal: that's why I choose 'ä' - of course it has to be unicode-encoded ;) 15:11
gaal yes, yes
Juerd unicode isn't an encoding ;)
gaal what I mean is that this has to come in the $nth byte in a source.
moritz Juerd: you're right, s/unicode/utf-8/ 15:12
gaal ugh, no pugs. feather++
?eval 1 15:18
15:18 evalbot_r15293 is now known as evalbot_r15294
evalbot_r15294 1 15:18
15:27 gnuvince_ joined 15:29 Schwern joined 15:31 ruoso joined
gaal hah, b0rk. vim gets very confused with U+10900 15:32
(I wanted a really wide UTF-8 character, to make fudging for DOS lineendings easier.) 15:33
15:33 Limbic_Region joined
rindolf gaal: what's up? 15:40
15:40 [M]erk joined
Limbic_Region just svn'd up and saw that almost every source file has been updated - has there been a flurry of activity or is something else afoot? 15:44
moritz Limbic_Region: I think audreyt changed something in the string representation... 15:45
Limbic_Region: just look at the last svn log
gaal there has been some, yeah; also, there was a big commit+intentional revert
avar pokes the regex engine some more 15:46
gaal ok problem reproduced. 15:48
i think i know the fix, too; it's to change
decodeUTF8' :: String -> String 15:49
to decodeUTF8' :: String -> (String, String)
so the caller can refeed the trailing end 15:50
that probably breaks some optimizations or something, though :(
moritz well, correctness is more important than performance ;)
gaal true dat. 15:51
but it also means we can't use concatMap, so I'm thinking on it some more
moritz or as Knuth would say "Premature optimization is the root of all evil" ;)
gaal yeah. we can disable chunking in the meanwhile on decodeUTF8, but nobody's reported any problems yet have they :-p 15:53
15:53 xdg__ is now known as xdg_
gaal (problem is this DOES affect performance) 15:53
(significantly)
anyway, something to think about in the ride home. moose! &
moritz gaal: well, you did ;)
gaal: hf ;) 15:54
gaal ty
PerlJam gaal: or you could arrange it such that chunks don't cross utf8 character boundaries :)
rindolf gaal: bye 15:55
Hi PerlJam \
moritz hey, maybe we should offer a libjustdoit-backend: lists.debian.org/debian-devel/2005/...00004.html ;) 16:06
lambdabot Title: Bug 456789: ITP: libjustdoit -- Always does what you want
16:23 bonesss joined 16:32 bernhard joined
gaal remoose 16:33
PerlJam: how do you do that?
UTF-8 is varaiable-length, and figuring out where the boundaries are is as expensive as decoding :) 16:34
what I was proposing was returning a tuple (decoded, trailing_moose_to_prepend_to_next_chunk) 16:36
but I fear that may break fusion
16:37 explorer joined
PerlJam I don't have any good ideas 16:39
Would something like (four4kbytefoo, byte1, byte2, byte3, byte4, rest) help in locating the boundary? 16:41
gaal this is what, the output of the (chunked) decodeUTF8' ? 16:42
src/Pugs/Internals/String.hs:60
oope 50
oops oops 16:43
16:44 xdg_ joined 16:48 xdg_ is now known as xdg 17:00 iblechbot joined
svnbot6 r15298 | gaal++ | * factor out makefile rules for DrIFTing 17:05
17:10 JimmyZ joined
svnbot6 r15299 | gaal++ | * add diagnostic comment about too-old snapshot GHCs 17:17
17:21 stevan_ joined 17:22 stevan_ joined 17:28 bonesss joined 17:34 drupek12167 joined 17:35 xerox joined 17:48 shillo joined 18:18 nipra joined
svnbot6 r15300 | gaal++ | * add test to demonstrate decodeUTF8 breakage. I don't have a way to 18:30
r15300 | gaal++ | benchmark fixes competing with:
r15300 | gaal++ | decodeUTF8 = decodeUTF8'
r15301 | lwall++ | build noun phrase, interleaving prefix and postfix according to precedence
r15302 | lwall++ | whoops, forgot precedence is now method rather than hash lookup
rhr re: decodeUTF8: in principle, you only have to examine at most the last 3 bytes in the buffer to see if a code ran over 18:36
if the last byte begins with 01xxxxxx, scan back to find a byte begining 1xxxxxxx and count leading 1s to see how long the char is 18:37
offby1 here's a really dumb one: what svn repository is svnbot6 reporting on? 18:38
moritz offby1: svn.pugscode.org/pugs/ afaict 18:39
lambdabot Title: Revision 15302: /
offby1 nods
avar audreyt: re::engine::Plugin is going to CPAN now, it's still incomplete but what's there works 18:50
18:57 bonesss joined
avar once I get match vars working it'll be pretty easy to make Pugs::Compiler::Rule use the built-in syntax:) 18:58
18:58 marmic joined 19:19 rindolf joined
rindolf Hi all. 19:19
19:29 amnesiac joined
svnbot6 r15303 | putter++ | Perl-6.0.0-STD.pm - Added missing regex_quantifier :<?>. 19:33
19:38 jisom joined 19:39 jisom left, jisom joined
svnbot6 r15304 | putter++ | Perl-6.0.0-STD.pm - Add a commit to avoid backtracked metachars succeeding as non-metachars. 19:42
19:50 shachaf joined, shachaf left 19:52 upd_ joined 19:56 ludan joined
gaal rhr: point. wanna work it? better take somewhere between maxchunksize-maxutfwidth to maxchunksize, not the other way around 20:09
i'm too sleepy to do it now
rindolf Hi gaal 20:10
gaal hello rindolf
rindolf gaal: what's up? Still working on that Unicode bug? 20:11
gaal rhr: utf8 is up to four bytes
rhr I don't know any haskell :(
gaal rindolf: going to sleep now actually
rhr: this is a good place to start! :)
rindolf gaal: good night.
rhr right, but (assuming valud utf8) a 4-byte code 4 bytes back needn't be moved 20:12
gaal true
src/Pugs/Internals/String.hs, around line 50
anyway, good night 20:13
zzZ&
rhr the logic you want is if($buf[-3]&0xF0 == 0xF)) { move 3 bytes }
if($buf[-2]&0xE0 == 0xE0)) { move 2 bytes }
rindolf rhr: do you have a Pugs commit bit?
rhr if($buf[-1]&0xC0 )) { move last byte }
(modulo syntax errors) 20:14
no, I don't
20:14 ajs_home joined 20:16 Schwern joined
svnbot6 r15305 | putter++ | Perl-6.0.0-STD.pm - Revert r15304. The commit is implicit in a rule. 20:21
20:24 devogon joined
avar search.cpan.org/~avar/re-engine-Plu...Plugin.pod # mmmm ... 20:29
somebody think of a better usage example:)
Acme:: like even:)
20:29 [particle] joined 20:34 Ziggy6 joined 20:42 awwaiid_ joined
offby1 my @a = ("dog", "god") ; "god" ~~ @a yields False, but I expected True. Am I misunderstanding something? 20:52
20:53 [M]erk joined
allbery_b ?eval my @a = <dog god>; @a ~~ 'god' 20:54
20:54 evalbot_r15294 is now known as evalbot_r15305
evalbot_r15305 Bool::False 20:54
allbery_b ?eval my @a = <dog god>; any(@a) ~~ 'god' 20:55
evalbot_r15305 (Bool::False | Bool::True)
offby1 ?eval my @a = ("dog", "god") ; "god" ~~ @a
evalbot_r15305 Bool::False
offby1 ?eval my @a = ("dog", "god") ; "god" ~~ (@a)
evalbot_r15305 Bool::False
allbery_b kinda expected comparisons against arrays to auto-any() as well; dunno
offby1 ?eval my @a = ("dog", "god") ; "god" ~~ any (@a)
evalbot_r15305 (Bool::False | Bool::True)
offby1 huh 20:56
?eval my @a = ("dog", "god") ; "god" ~~ any @a
evalbot_r15305 (Bool::False | Bool::True)
offby1 ?eval my @a = ("dog", "god") ; "god" eq any @a
evalbot_r15305 (Bool::False | Bool::True)
allbery_b hm, nope, string match causes @a to stringify. oh well 20:57
(looking at S03/Smart matching
20:57 justatheory joined
allbery_b ) 20:57
I'm not sure how/where the junction gets cleaned up
offby1 how about this?
?eval my %d; %d{3}.push("fred"); %d{3}.push("ethel"); say %d.perl; "fred" ~~ any %d{3}
evalbot_r15305 OUTPUT[{("3" => ["fred", "ethel"]),}␤] (Bool::False) 20:58
offby1 I'd have expected true
allbery_b ?eval my @a = <dog god>; if (any(@a) ~~ 'god') {1} else {0}
evalbot_r15305 1
allbery_b ?eval my %d; %d{3}.push("fred"); %d{3}.push("ethel"); say %d{3} 20:59
evalbot_r15305 OUTPUT[fred ethel␤] Bool::True
offby1 I wonder if I'm mixing up lists and arrays ... never did understand the difference
allbery_b again, it stringifies
offby1 I guess I don't understand what "it stringifies" means. 21:00
allbery_b hm, guess I don't know that in your case
offby1 how do I simply get it to tell me if any element of the list is "fred"?
allbery_b but the smartmatch rule for string ~~ something is string eq ~something (that is, convert something to its strng representation and compare for equalify)
not sure about yours 21:01
offby1 I suspect I don't even need "smartmatch"; I'd have thought "any" would suffice.
?eval "fred" eq any ["fred", "ethel"]
evalbot_r15305 (Bool::False) 21:02
offby1 I think _that's_ my problem.
allbery_b ?eval my %d; %d{3}.push("fred"); %d{3}.push("ethel"); say any %d{3}
evalbot_r15305 OUTPUT[any(VRef <Array:0xb7bd13d0>)␤] Bool::True
allbery_b huh. thought p6 was smarter about that
?eval my %d; %d{3}.push("fred"); %d{3}.push("ethel"); say any @(%d{3})
evalbot_r15305 OUTPUT[any(VStr "ethel",VStr "fred")␤] Bool::True
allbery_b ?eval my %d; %d{3}.push("fred"); %d{3}.push("ethel"); "fred" ~~ any @(%d{3}) 21:03
evalbot_r15305 (Bool::False | Bool::True)
offby1 hmm
ah
I was trying @{%d{3}}, like in perl5
allbery_b yeh, syntax changed
21:09 thorat joined 21:13 nipra joined 21:22 Aankhen`` joined 21:37 justatheory_ joined 21:50 theorbtwo joined 21:54 thorat left 22:09 sunnavy joined 22:19 dduncan joined
audreyt rhr: thanks for the algorithm; implemented 22:21
rhr audreyt: cool. btw, that last one should have been if($buf[-1]&0xc0 == 0xc0) 22:24
I'm pretty sure that covers all the cases
audreyt nod 22:25
PerlJam rhr++ 22:26
22:26 ludan joined 22:27 Psyche^ joined
dduncan seen Juerd 22:29
jabbot dduncan: Juerd was seen 7 hours 18 minutes 13 seconds ago
22:36 charsbar joined
svnbot6 r15306 | audreyt++ | * Pugs.Internals.String: Improve our chunking algorithm, 22:36
r15306 | audreyt++ | prompted by gaal++ and rhr++, to properly decode UTF-8
r15306 | audreyt++ | strings that happens to have a character fall between
r15306 | audreyt++ | two chunks.
r15306 | audreyt++ | This makes gaal++'s r15300 test pass.
22:43 Psyche^ is now known as Patterner, amnesiac joined
avar audreyt: moo:) 22:44
audreyt: I cpaned re::engine::Plugin :)
audreyt heya :) congrats on the cpan release
avar still not complete/useful 22:45
audreyt well you can do shellglobs already
(which does not capture)
hm, how come you're not in AUTHORS? 22:46
offby1 ?eval "fred" eq any @(["fred", "ethel"])
evalbot_r15305 (Bool::False | Bool::True)
offby1 ?eval "fred" eq any ["fred", "ethel"]
evalbot_r15305 (Bool::False)
offby1 why the difference?
audreyt offby1: because any is a listop; it takes a list or two elements in one instance 22:47
and a list of one element (of type Array) in another
this is a case of what we call, autoflattening of lists
offby1 :-|
audreyt i.e. @() when fed to a function expecting an indeterminable number of arguments
offby1 ?eval say ["fred", "ethel"].perl
audreyt (i.e. in "slurpy" or "list" context)
evalbot_r15305 OUTPUT[["fred", "ethel"]␤] Bool::True 22:48
offby1 ?eval say ("fred", "ethel").perl
evalbot_r15305 OUTPUT[("fred", "ethel")␤] Bool::True
audreyt they become separate arguments themselves
offby1 but [...] is just one argument, right?
audreyt it's one of perl's distinctive features
right.
or maybe misfeature, some of the time.
offby1 and yet ...
audreyt but in perl6 we're using it to distinguish lazy and eager evaluation
offby1 ?eval say (1, 2, 3).yaml
evalbot_r15305 OUTPUT[--- ␤- 1␤- 2␤- 3␤␤] Bool::True 22:49
offby1 ?eval say [1, 2, 3].yaml
evalbot_r15305 OUTPUT[--- ␤- 1␤- 2␤- 3␤␤] Bool::True
audreyt well, because as an object you invoke things with
offby1 same output.
audreyt the number of expected element is always one
this is called item context, or scalar context
offby1 so the (1, 2, 3) gets transformed into [1, 2, 3] automagically?
audreyt well, sort of. 22:50
(1,2,3) remains as one single List object.
offby1 what's the best thing to read that will clarify all this for me?
audreyt good question. 22:51
offby1 :-(
audreyt what is a good document to explain contexts in perl5?
offby1 beats me
Camel BOok.
audreyt it's really the same as perl5 22:52
except that comma under scalar context constructs a single List object 22:53
instead of discarding everything up until the last expression in it
but I need to get some more sleep :)
bbiab... &
offby1 nice to know audreyt is still running in the background
fg %audreyt
audreyt rehi 22:54
offby1 ^Z
bg
renice +10 %audreyt
audreyt [1]+ Stopped
&
offby1 kill -SNOOZE %1 22:55
jisom pugs people are weird..... 22:57
Juerd bg 22:58
My favourite tool of the day: perl -C2 -MFont::TTF::Font -le'print "=== $_ ===\n", map {chr $_ } sort {$a <=> $b} keys %{ Font::TTF::Font->open($_)->{cmap}->read->find_ms->{val} } for @ARGV' *
offby1 lists all installed TrueType fonts? 22:59
sorted by size? 23:00
Juerd offby1: No, all codepoints supported by fonts
offby1 huh
Juerd Per font it outputs a list like
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿıŁłŒœŠšŸŽžƒˆˇˉ˘˙˚˛˜˝μ–—‘’‚“”„†‡•…‰‹›⁄€™−∕∙fifl
offby1 ah
you could find the font that supports the most codepoints, then.
jisom as long as they weren't stubs 23:01
Juerd Well, that's easier done by ftdump | grep "number of"
moritz Juerd: but it's not that cool ;)
Juerd jisom: Most fonts don't have stubs. Code point "0" is used for unknown characters. Usually, it's a square.
wolverian "Finds the a Unicode table, giving preference to the Microsoft one, ..." heh, what? 23:02
Juerd For comparison, DejaVu Sans Mono supports a huge list of glyphs
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖ􏿽xC5
ЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџҐґҒғҔҕҘҙҚқҢңҪҫҬҭҮүҲҳҺһӀӁӂӃӄӇӈӋӌӐӑӒӓӔӕӖӗӘәӚӛӜӝӞӟӠӡӢӣӤӥӦӧӨөӪӫӬӭӮӯӰӱӲӳӴӵӶӷӸӹᴂᴈᴉᴔᴖᴗᴝᴞᴟᵃᵄᵅᵆᵇᵈᵉᵊᵋᵌᵍᵎᵏᵐᵑᵒᵓᵔᵕᵖᵗᵘᵙᵚᵛᵷᵻᶅᶛᶜᶝᶞᶟᶠᶡᶢᶣᶤᶥᶦᶧᶨᶩᶪᶫᶬᶭ􏿽xE1􏿽xB6
₁₂₃₄₅₆₇₈₉₦€₴₵ℎ№™􏿽xE2􏿽x84􏿽xA6􏿽xE2􏿽x84􏿽xAA􏿽xE2􏿽x84􏿽xAB􏿽xE2􏿽x85􏿽x93⅔⅕⅖⅗⅘⅙⅚⅛⅜⅝⅞⅟∂∆∇∈∉∊∋∌∍∏∑−∕∗∘∙√∝∞∟∠∧∨∩∪∫∸∹∺∻∼∽≁≂≃≄≅≆≇≈≉≊≋≌≍≎≏≐≑≒≓≔≕≖≗≘≙≚≛≜≝≞≟≠≡≢≣≤≥≦≧≨≩≭≮≯≰≱≲≳≴≵≶≷≸≹≺≻≼≽≾≿⊀⊁⊂⊃⊄⊅⊆⊇⊈⊉⊊⊋⊏⊐⊑⊒⊕⊖⊗⊘⊙⊚⊛⊜⊝⊞⊟⊠⊡⋍
I think this is the hugest font on my system
czth__ juerd: i find your ideas intriguing and wish to subscribe to your alien newsletter 23:03
jisom too much binary data, quit trying to hack into my computer!
Juerd wolverian: Yeah, never really understood that. But the other one doesn't work as well :)
czth__: Haha
jisom: One hacks *on* a computer, not *into* one.
jisom depends, do you own it?
avar Juerd: highly awesome 23:04
Juerd How is that relevant?
wolverian can it take the weight?
Juerd avar: DejaVu rocks.
czth__ Juerd: not according to the authoritative documentary "Hackers" [Softley, 1995]
jisom if you own it, say forgot the password to root and you made it physically secure....you might need to hack into it
Juerd czth__: You should watch Freedom Downtime. 23:05
avar for i in $(locate .ttf); do perl -COA -MFont::TTF::Font -le'print "=== $_ ===\n", map {chr $_ } sort {$a <=> $b} keys %{ Font::TTF::Font->open($_)->{cmap}->read->find_ms->{val} } for @ARGV' $i; done
Juerd juerd@lanova:~$ locate .ttf | wc -l
22770
Let's not.
jisom: No, you just need to re-install and restore you latest backup. 23:06
s/you/your/
jisom backup?
wolverian that's a _lot_ of fonts you have there 23:07
Juerd wolverian: I have a few more, but not on this system 23:08
I will probably never have the tuits for it, but I want to write an archive system for them all.
And then tag them (programatically) 23:09
And record the characters supported by each of the fonts, so that I can paste some blob of text, and know which fonts could be used to render it. 23:10
23:10 czth__ is now known as czth
Juerd now just has a lot of fonts. An archive in which it's impossible to find what you are looking for, unless you already know the name. 23:11
jisom and then merge fonts together that supports all codepoints.......one font to rule them all
Juerd No, you can't do that.
jisom not legally maybe..... 23:12
Juerd As if all these fonts are installed legally... ):
That's unaffordable.
jisom well, can probably legally make the tool, just not distribute the resulting font...
Juerd It's an aesthetic crime to merge unrelated fonts :)
Note, by the way: whenever I use a font for professional work, I do buy licenses. 23:13
jisom like the font for japanese and the font for russian, along with mayan?
Juerd I just find it impossible to properly evaluate fonts using online web shops. I need to see them in action, used in the right context.
Quick brown foxes don't help.
PerlJam slow grey foxes? 23:15
:-)
Juerd And it's really surprising that Linotype, which sells a lot of fonts, often supports many glyphs fewer than the original font! 23:16
Eurostile has 399, Eurostile LT has 246 23:18
But I need to use the LT one, because the original doesn't have the € :(
former: 23:19
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĂ㥹ĆćČčĎďĐđĘęĚěĞğİıĹ弾ĿŀŁłŃńŇňŐőŒœŔŕŘřŚśŞşŠšŢţŤťŮůŰűŸŹźŻżŽžƒʺˆˇˉ˘˙˚˛˜ΓΘΣΦΩαδεπστφ–—‗ 23:20
latter:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿıŁłŒœŠšŸŽžƒˆˇˉ˘˙˚˛˜˝􏿽xCD􏿽xBE􏿽xCE􏿽x94Ωμπ–—‘’‚“”„†‡•…‰‹›€™∂∏∑−∕∙√∞∫≈≠≤≥◊fifl
They depend on combining characters... 23:21
moritz Juerd: it's hard to follow you with a non-unicode terminal ;) 23:22
PerlJam moritz: welcome to the 21st century :-)
23:22 Limbic_Region joined
moritz PerlJam: well, the irssi in Debian Stable isn't the newest ;) 23:24
Juerd moritz: ñ€äţ - ẃè ¢âń ĥïđê ţĥïñģş ƒřöm ýøŭ ☺☻
Hidden in plain sight. 23:25
moritz: Doesn't matter. Irssi has supported UTF-8 for a very long time. The version in Debian Stable does too.
moritz then it could really be the terminal 23:26
Juerd It's not that non-English language users have avoided Debian Stable all this time :)
What's your terminal?
moritz xterm 23:27
Juerd Use uxterm :)
beppu try uxterm
moritz installing...
avar or just use xterm, I see such characters perfectly on an xterm on debian stable
Juerd You should use an (existing!) UTF8 locale, a UTF8 supporting terminal (note that screen(1) is also a terminal, run with screen -U), and UTF8 supporting programs.
avar Juerd: No, don't use -U, the best way is simply to run it with a different locale, everything will just work 23:28
moritz there's no uxterm in debians repositories, so xterm will have to do
Juerd avar: Not always. I don't know why. 23:29
moritz: It's in the xterm package.
avar Juerd: Yes always, you were doing something wrong!:)
moritz: stop listening to Juerd >:) 23:30
23:30 moritz_utf8 joined
moritz_utf8 just a try ;) 23:30
Juerd avar: Typo in the locale. 23:31
avar: I hate it that things don't complain when you use a locale that doesn't exist 23:32
allbery_b מה זה? :) 23:34
avar eek 23:35
allbery_b ?
Juerd There, feather's sshd now accepts the locale env vars from the connecting host.
(Which partly sucks, for me, because I want English stuff on feather, but Dutch stuff locally. But I can address that in my .bashrc later.) 23:36
moritz: ▲►▼◄◊○◘◙☺☻☼♀♂♠♣♥♦♪♫
moritz: Does it work? :)
moritz_utf8 Juerd: no
wolverian Juerd, thanks, that's nice.
Juerd Might be your font 23:37
moritz_utf8: éëẽē
moritz which env variables do I have to change?
Juerd wolverian: Why is it nice?
moritz: LANG
wolverian Juerd, I like having the same local everywhere, automatically.
locale.
Juerd moritz: have a look in /etc/locale.gen for valid UTF-8 locales on your box
wolverian: You should have asked for it then :)
(or put it in your user config) 23:38
23:38 moritz_utf8_2 joined
Juerd 00:37 < Juerd> moritz_utf8: éëẽē 23:38
00:36 < Juerd> moritz: ▲►▼◄◊○◘◙☺☻☼♀♂♠♣♥♦♪♫
moritz_utf8_2 now with LANG=UTF8
nope
Juerd Who said LANG=UTF8?
moritz_utf8_2 nobody ;) 23:39
Patterner after the two musical symbols I see three squares
Juerd moritz: Don't guess syntax!
(or values)
Patterner Juerd: what are the last three symbols?
Juerd Patterner: I have no idea.
I see boxes too
Patterner Oh.
moritz_utf8_2 Juerd: ok, so where is it documented?
Juerd 00:37 < Juerd> moritz: have a look in /etc/locale.gen for valid UTF-8 locales on your box
If there are none, add, for example: en_US.UTF-8 23:40
Then run update-locales
Then set LANG to en_US.UTF-8
moritz_utf8_2 ok
Patterner How do you enter unicode?
Juerd Patterner: In this case, by copying and pasting.
Patterner: Normally, by using the multi key.
Pain attack; afk 23:41
23:41 moritz_utf8_3 joined
moritz_utf8_3 next try... 23:41
allbery_b ▲►▼◄◊○◘◙☺☻☼♀♂♠♣♥♦♪♫
hm
my client is fakingthe ligatures, this has unfortunate results with c&p 23:42
[M]erk I don't understand what a Seq is. Is it already evaluated code or something? 23:45
23:46 CardinalNumber joined
[M]erk Nor do I understand what a Range is. 23:50
audreyt [M]erk: a Seq is an ImmutableFixedSizedArray 23:51
a Range is two values of the same, ordered type.
and yes, values in Seq are eager. 23:52
as in, they must be fully reduced
Patterner
that is U+2325 (in case you wonder :) 23:53
audreyt [M]erk: in R6RS speak, a Seq is called "immutable vector" 23:55
i.e. you can't call vector-set! on them.
[M]erk And a Range is a Haskell Pair?
audreyt well, it's a specialized Pair
where both ends are of the same type that derived Ord 23:56
to be used like
$x ~~ 1..10000
which actually just tests
1 <= $x <= 10000
instead of malloc'ing 10000 elements of some kind
[M]erk Ah. 23:57
Thanks.
audreyt np :)
in GHC, a Seq is represented as 23:58
[: Object :]
or rather, [:Val:]
where the [::] notation is that of parallel strict arrays
instead of the normal [] list, which is cons-chained
as an additional benefit, operations on parallel arrays could be automatically parallelized (with SMP, GPU, SSE, or some mix of them) 23:59
can't do that with cons-chained lists.