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
Set by avar on 16 November 2006.
meppl guten morgen 00:06
Ziggy6 buna dimineata :)
Ziggy6 in what areas does the project need help? 00:39
beppu Ziggy6, everywhere. ;-) 05:05
masak Ziggy6: you might want to check out putter++'s conjectured roadmap 08:44
at www.vendian.org/mncharity/Temporary...leteme.png
masak btw, putter, what do the postfixed double asterisks mean in your diagram? 08:56
Ziggy6 wow, i never thought implementing perl6 was so complex :)) 10:12
buu Lawl. 10:18
masak Ziggy6: why not? 10:29
Ziggy6 well, there are so many tehnologies used 10:33
how's the status of pugs? how much of the synopses is implemented? 10:44
buu Ziggy6: 3 10:49
Ziggy6 which synopses? 10:50
buu Omega and Epislon.
Episilon?
epsislslsislsislsislon.
Ziggy6 ugh, they seem to have numbers, but i can't find the greek letter 10:51
buu It's probably because I'm just randomly making things up 10:52
Ziggy6 :|
fglock is feather down? 10:56
masak Ziggy6: the best way to get a grip on how much is implemented is to check out the test coverage 10:58
fglock: seems so here 11:00
Ziggy6 hmm seems feather had a lot of services, pugscode.org doesn't work either
fglock I really need to learn how to use svk locally 11:01
masak too 11:02
?eval my $when = <before after>.pick; "The Perl 6 Christmas will be $when next real Christmas" 11:03
no reaply... ask again later? :) 11:04
s/reaply/reply/
oh yeah, feather down
d'oh
juerd Feather is down; I don't know why 11:07
I have to finish a few tasks before I can travel to the data centre 11:08
fglock juerd: thanks 11:12
kp6+MOP is working 11:21
fglock TimToady_: re new | semantics - no heartburn :) 11:37
juerd Someone made an ASCII to UTF8 converter in PHP :(
The bad thing is, it's really ASCII, so it's practically just an incredibly inefficient join "", split //, which again is a very inefficient string copy... 11:38
And all strings on an entiry site were filtered through this. No wonder it was slow.
s/entiry/entire/
juerd Okay, I'm done and will now go to my office to collect some gear to fix feather 11:41
fglock stevan, nothingmuch: what is the recommended way to alias Class::MOP '->meta' to '->HOW' ? 12:14
dduncan ASCII to UTF8 ... that's funny
nothingmuch Method 12:18
::Alias? 12:19
in Moose::Object?
fglock nothingmuch: can it be changed in a central place, before creating classes (I'm not using Moose, only Class::MOP) 12:20
nothingmuch ah... likely by subclassing Class::MOP::Class
i would have to read the code for that though
fglock nothingmuch: thanks - I found it 12:22
Ziggy6 ?eval say "feather still down?" 13:41
kolibrie Ziggy6: I can get onto feather just fine. What service are you trying to use? 13:46
masak kolibrie: evalbot? :) 13:49
btw, feather works here too now. juerd++ must have been to that data centre
but maybe someone needs to give evalbot a little nudge too, I don't know 13:50
stevan fglock: ->meta is not an enforced convention in Class::MOP 13:53
if you want to add an alias to all the current metaclasses you could do this (pause while I hack some code)
stevan $_->alias_method("HOW" => sub { (shift)->meta }) foreach Class::MOP::get_all_metaclass_instances; 13:54
kolibrie hmm, I started an evalbot on feather, but freenode says I can't invite it here, since I am not a channel op 14:07
bonesss is away: almo􏿽xE7ar 14:09
masak kolibrie: I'm a channel op, but I don't have a freenode account :/ 14:21
s/freenode/feather/ 14:22
juerd: chu oni demandu al ni se oni deziras feather-konton? 14:23
kolibrie masak: just /invite evalbot6
masak hm, apparently I'm not a channel op either...
kolibrie reading the source, one can supposedly supply a list of channels to join on the command-line, but that didn't seem to work 14:24
masak strange
kolibrie ha! 14:26
it's /msg evalbot6 ?join #perl6
masak kolibrie++ 14:27
?eval my $greeting = "welcome back, evalbot6"; $greeting ~~ s/.*/thanks/; $greeting 14:28
evalbot6 \"thanks"
masak is slightly unnerved by all the backslashes on evalbot6++'s replies 14:29
...but it's back. nice
wolverian ?eval "\" x 10
evalbot6 Error: ␤Unexpected end of input␤expecting block, "\\", variable name or "\""
wolverian er. oops :)
masak :)
now for the 1e6 dollar question: 14:30
?eval my $when = <before after>.pick; "The Perl 6 Christmas will be $when next real Christmas"
evalbot6 "The Perl 6 Christmas will be before next real Christmas"
masak yay!
:)
it was a gamble, but it was so worth it
kolibrie now we know 14:33
Ziggy6 hmm, on my computer, pugs -e "say 'hello'; " takes more than one second. is this normal?
kolibrie Ziggy6: it has to load the prelude, which takes a while 14:34
Ziggy6 isn't prelude compiled in the executable? 14:35
kolibrie it is compiled (as a yaml file) and then has to be loaded each time pugs is executed
masak Ziggy6: consider that pugs is still a sort of proof-of-concept, like string theory. it's perl6 for those who want to play with perl6 before perl6 is implemented 14:42
Ziggy6 hehe, i was puzzled because i didn't knew Perl6 has it's own Prelude.pm 14:43
masak Ziggy6: it doesn't, but pugs does 14:47
fglock stevan: re HOW - thanks 15:06
stevan fglock: no problem 15:07
yves is away: Occup􏿽xE9 17:07
Teratogen is [] considered an operator in Perl 6? 17:37
"outfix" operators
[ expression ] creates an array and returns a reference to it.
hmm, slurp until a blank line. 17:38
lumi Circumfix?
Teratogen circumfix, sounds good
[particle] yes, it's a circumfix operator
Teratogen cool
[particle] there's also postcircumfix as in @array[1] 17:39
Teratogen gah, I don't like sigil invariance =(
[particle] well, $array[1] works too
Teratogen both will work in Perl 6? do array slices go away?
[particle] in perl 6, there's little reason to use the @ or % sigils
no, array slices are @array[1,2] or $array[1,2] 17:40
Teratogen ah.
[particle] realize that those are two different vars
Teratogen interesting. 17:41
[particle] my $array = ( 1,2,3 ); my @array = 1,2,3;
Teratogen they are both arrays though? 17:42
[particle] perlcabal.org/syn/S02.html#Names_and_Variables 17:43
lambdabot Title: S02
Teratogen I'll check it out
nferraz hello! 18:11
is this the right place to ask questions about 6.0-alpha??? 18:12
fglock nferraz: :)
nferraz hey!!!
i think i found the right person... ;)
fglock how are you doing? 18:14
nferraz fine, thanks
i'm trying 6.0-alpha...
fglock v6.pm ? 18:15
nferraz yes
(I'm not sure about the nomenclature yet)
use v6-alpha 18:16
that's right?
fglock yes - we've got, hmm - about 6 different implementations
nferraz hm
I installed using cpan 18:17
install v6
fglock ok
nferraz i was planning to build an interactive fiction -- do you remember those old games, like Adventure? -- just to test the language... 18:18
my goal would be to learn, and, then, write a tutorial... 18:19
but I couldn't do the simplest things, like calling a sub...
fglock nferraz: you can post code here: sial.org/pbot/perl6 18:20
lambdabot Title: sial.org Pastebot - pasteling
fglock paste
fglock v6 doesn't implement the whole language - pugs would be a better choice if you don't need p6-on-p5 18:21
pasteling "nferraz" at 194.65.5.240 pasted "hello world" (40 lines, 1.5K) at sial.org/pbot/22458
fglock looking... 18:22
nferraz pretty basic, uh?
pasteling "nferraz" at 194.65.5.240 pasted "hello world" (39 lines, 1.5K) at sial.org/pbot/22460 18:23
fglock did you try without '&' ?
nferraz ha
that's it
dumb me 18:24
:-$
where should I start hacking, if I wanted to enable an "use warnings" feature? 18:25
fglock hmm - one sec
"use warnings" works, but it is run-time only 18:26
it verify the generated p5 code 18:27
vierifies
verifies
nferraz i see...
is it possible to verify the p6 code, before it is transformed?
fglock a p6-land use warnings would take some work...
yes - there is a new implementation under way 18:28
do you have a commit bit?
nferraz no...
fglock [email@hidden.address] ?
nferraz yes, that's me :) 18:30
fglock I'll send you an invitation
nferraz thanks :)
fglock sent! 18:33
nferraz received! :D 18:34
svn co svn.pugscode.org/pugs/ 18:36
lambdabot Title: Revision 15087: /
fglock nferraz: I'm currently writing p6-on-p6, which will eventually replace p6-on-p5
nferraz cool!
i want to get used to p6... and while I do that, I plan to write documentation
fglock the closest you can get to full-p6 is with the Haskell implementation 18:37
nferraz I have just downloaded the code from pugscode... 18:38
are those different projects?
fglock see also docs/ and t/ - the official docs are dev.perl.org/perl6/doc/synopsis.html 18:39
lambdabot Title: Synopses - perl6
nferraz what mailing lists do you recommend? 18:40
fglock yes - Pugs currently has 'pugs', 'v6.pm', and 'mp6' - and I just created 'kp6'
the most active lists seem to be Parrot, P6-Language, and P6-Users 18:42
'Pugs' happens mostly on IRC
nferraz cool... 18:43
fglock there is a place for starting small projects: misc/pX and misc/pX/Common - you can add your project there 18:44
when it gets more mature it can be moved to the appropriate place
nferraz ok 18:46
I tryed to install the project in pugs/perl5/Pugs-Compiler-Perl6
is that right?
fglock yes - that's v6.pm 18:47
nferraz it complains about some missing files in .inc/...
and asks to inform the author... :)
pasteling "nferraz" at 194.65.5.240 pasted "hello world" (19 lines, 687B) at sial.org/pbot/22462 18:48
fglock that's a Module::Install message - if you copy the directory to another place it would not complain - but it works anyway
nferraz ok 18:49
fglock those files are creating at cpan-packaging time
created 18:50
the place to hack new stuff if v6/v6-KindaPerl6
nferraz some tests failed... force install??? 18:51
fglock yes - there are more tests in the repo than in the published version, and many failures - but you can safely install it 18:52
the failing tests are our 'TODO' list 18:53
nferraz ok
btw, the tests are a fine resource for learning the language... 18:54
Limbic_Region the trouble is that thousands of tests without a final spec can lead to problems when that spec changes 18:55
I believe that tying the spec to the test cases does make this easier - but I am not sure about that 18:56
fglock nferraz: you can see the spec+tests linked together here perlcabal.org/syn/? 18:58
lambdabot Title: Official Perl 6 Documentation
TimToady_ Limbic_Region: generally, when I break tests by changing the spec, I go out and change the tests too. 19:00
Limbic_Region oh - nevermind that last comment then nferraz - our mentally deranged leader takes care of that for us 19:03
where deranged is used in the statistical permutation sense and not the psychopath connotation 19:04
TimToady_ I'm not deranged, I'm just dingled.
TimToady but usually I find that there's no tests yet for the feature in question. 19:06
like, in this case "is commutative"
so there's nothing for me to fix. :/
Limbic_Region speaking of which, I had an idea for a special purpose derangement iterator I forgot to implement
grrr
speaking of which, I had an idea for a special purpose derangement iterator I forgot to implement
TimToady we are not amused :)
was it perhaps junctional? :)
you idea seems to autothread IRC 19:07
*your
Limbic_Region sometimes it is just lag, sometimes the client actually eats it - impossible to tell and I haven't found a decent time frame for testing if it is lag
TimToady and the correct time probably varies in any event... 19:08
unless you're going the speed of light, in which case the correct time is a constant. 19:09
[particle] my word, is it parsec past andromeda already? 19:10
TimToady if this is Thursday, I must be somewhere in the Universe... 19:11
australia, probably...
Limbic_Region: we have already have a derangement iterator 19:13
?eval (1..10).pick(*)
evalbot6 (1, 9, 7, 3, 8, 6, 10, 4, 5, 2)
TimToady the emperor will soon have no clothes 19:15
and be all wet
&
fglock any ideas on how to emulate the GLOBAL namespace in p5? 19:30
nothingmuch translate the calls into call by ref
and store the pseudo stash implementing it in some fully qualified var? 19:31
Limbic_Region: sounds like packet loss
fglock nothingmuch: I've done the call by ref translation already, in order to implement lexical subs 19:33
do you mean storing subroutine names in a hash?
nothingmuch if the lookup is trivial to inline then make it into a pakcage
if not, then make into a __lkup_global("NAME") 19:34
screoll to sub query_collection when and ping me at your convenience
fglock hmm - ($_SUB_zzz || $GLOBAL::_SUB_zzz)->(@args) 19:39
nothingmuch something like that
either way $*foo should demangle into a fully qualified (or otherwise rooted) lookup
fglock that's plain $GLOBAL::foo 19:41
nothingmuch oh, sorry, i misunderstood 19:42
you were referring to the actual fallback behavior? 19:43
fglock yes 19:44
nothingmuch in that case perhaps an actual lookup_symbol opcode should be used, which in the future potentially optimizes into ($_SUB_zzz || $GLOBAL::_SUB_zzz) would be more flexible
fglock ah, right - this is being implemented as an AST transformation 19:45
TimToady under strict there is no fallback to global unless you explicitly import (you also get a snapshot of GLOBAL imported automatically at the start of compilation)
fglock TimToady: this makes things easier :) 19:46
TimToady made it easier for audreyt too. :)
nothingmuch makes it easier to stomache as well ;-)
TimToady anyway, it's been specced that way for a year or so... 19:47
fglock yeah - I usually read the spec only at random places 19:48
and then I ask here ... 19:49
TimToady well, hey, if the spec were written in Portuguese I'd do much worse than that... 19:50
[particle] "hey, lewis, do you have the map?" "no clark, i thought you did...." 19:52
fglock there is no map - you just look ahead and walk 19:53
fglock or - you just pretend you are following someone 19:53
TimToady the emperor is beginning to believe that nobody else has any clothes either. :) 19:54
[particle] :) 19:55
kolibrie we need to hire new tailors 19:56
TimToady trouble is you have to evaluate the whole tailor series... 19:57
fglock when you are following your own path - does it mean that you are walking in circles?
kolibrie and the whole 'new clothes' thing started when the emperor got himself a new tailor 19:58
[particle] it's tailors all the way down
fglock headers and tailors 19:59
meppl gute nacht 20:03
fglock kp6 is about 1/3 implemented today - it's getting close to having a proper compile-time env 20:04
fglock pluggable ast transforms are working - it can desugar or optimize and emit p6 code at any intermediate step 20:06
the ast is getting closer to pugs' 20:07
nferraz hey 20:08
i'm trying to write that text adventure from scratch...
but I'm finding some problems with regexes...
fglock oops - I've got to go 20:10
pasteling "nferraz" at 194.65.5.240 pasted "text adventure" (47 lines, 938B) at sial.org/pbot/22466
nferraz see you later, fglock! 20:11
fglock nferraz: you could you a grammar for that
nferraz mmm...
fglock but now &
Limbic_Region TimToady - a normal derangment iterator walks the permutations of a set where no item remains in the same position between iterations. The iterator I was talking about is an even more special case than that
nferraz i'll take a look on grammars 20:12
thanks
Limbic_Region nothingmuch - packet loss is possible (using CGI:IRC on feather) but interestingly enough - I only had this problem when I was forced to stop using FF and start using IE 20:13
grr - I apologize if this gets spammed to the channel again
nothingmuch - packet loss is possible (using CGI:IRC on feather) but interestingly enough - I only had this problem when I was forced to stop using FF and start using IE
nothingmuch oh, CGI::IRC is much worse than just packet loss ;-) 20:15
since it has to make a new TCP/IP connection for every line sent you don't really get to reap the benefits of sending lines on a single socket anymore 20:16
hmm 20:21
why is @$@ a syntax error in perl 5?"
@{ $@ }
lambdabot Maybe you meant: . v
Limbic_Region nothingmuch - the odd thing is that the problem did not manifest itself until FF -> IE. (I had successfully been using CGI:IRC on Feather since Feather had CGI:IRC) 20:23
nothingmuch ouch
Limbic_Region in fact, I think one of the biggest reasons CGI:IRC was added to feather is because I asked Juerd for it
nothingmuch could be subtle socket programming bugs in IE (i wouldn't be surprised) 20:24
does your firewall block ports or is it a layer 7 filter based thing?
Limbic_Region unfortunately there is a FW blocking ports and HTTP/HTTPS is forced through a proxy 20:25
nothingmuch ouch
tried ssh over dns?
Limbic_Region it isn't a matter of not being able to get around the technical impedments - I work for the US Government so violating policy knowingly isn't such a good idea 20:26
nothingmuch the question is whether or not they will catch you ;-) 20:27
but fairynuff
nothingmuch offers Limbic_Region some pot instead
[particle] andy: ping
Limbic_Region wanders off 20:28
luqui TimToady, how's this for | semantics: 21:55
TimToady greetinks
luqui go to the longest initial token
where a token is either something defined by a token rule
or, if there are literals in the rule 21:56
then constant strings are considered tokens...
that way, if you put all your lexing in token rules, you can get predictable behavior
TimToady except some tokens are arbitrarily complicated inside, from that definition of token 21:57
luqui but presumably tokens are simple things, from a usage standpoint
and can thus be combined into DFAs
(and if not, put out a warning "this token is too complicated to admit optimization") 21:58
and work anyway, just slower
TimToady from the standpoint of operator precedence (...) is a single token that just happens to dive into a sub parser
luqui uh, what?
not when you write it in bison/lex 21:59
SamB eh... that is not a token!
use better words!
TimToady couldn't fine one last time we looked...
*find
SamB umless you meant the ... literally?
TimToady no
SamB okay, because that definately looks like a non-terminal!
luqui TimToady, so you're saying that the most logical definition of (...) is: token paren_expr { \( <expr> \) } 22:00
not rule paren_expr ... ?
TimToady it's a terminal that happens to contain a non-terminal. :)
SamB that would make it non-terminal, too.
luqui agrees
SamB next you will be trying to give leaves subtrees!
luqui is using standard parsing vocab, and hoping that perl's redefinition of those terms will follow along
TimToady standard parsing vocab doesn't quite fit 22:01
SamB perl should not redefine standard parsing vocab
luqui explain why
SamB make up new words or something
or stick qualifiers in?
TimToady we're not writing a bottom-up parser
luqui doesn't matter. that vocab applies to predictive parsers too
TimToady I'm not that attached to using the word "token" for that kind of rule
luqui the only kind of parser that can ignore it is pure recursive descent 22:02
TimToady but the point of that kind of rule is to specify a low-level thing that doesn't deal with auto-whitepspace.
and those just tend to be tokens
luqui so \( ,
TimToady our model is pretty close to pure recursive descent
luqui so \( <expr> \) would not be best written as "token", but not because it's not a token 22:03
TimToady however, we assume that it's a hybrid with an operator precedence parser stuck in the middle to descend 24 levels of precedence.
or not descend, rather
luqui okay, well then reconsider my proposal, which just got larger
allow some way to define your tokens
TimToady \( :: 22:04
luqui rather than just assuming that it's the constant strings
TimToady <stuff> :: maybe
but then you have to think about how much exhaustive searching you want to do to find the longest one
luqui in regard to <stuff> :: ?
TimToady for example, / foo \d+ :: / 22:05
luqui okay, so here's the optimization I have in mind, which you probably already know
get the "next token" set, and compile them into a dfa
TimToady a trie is just a hacked off DFA
luqui and it's not predictable! 22:06
you can't have optimizations change semantics like that!
There are *tokens* which require regexes to be specified
and you're not going to pick the longest one if you ignore the regex parts of them
TimToady I'm not primarily thinking of it as an optimization
luqui then it's even more important 22:07
(no, just as important :-)
luqui such as, say, numbers 22:08
luqui calms down 22:09
here's an example from a grammar tutorial 22:10
TimToady the lexers I'm familiar with don't apply longest-token to numbers.
luqui well, that wasn't a good example because there usually is no ambiguity with numbers
TimToady they commit to giving you a number as soon as they see a digit
luqui "A module name is two upper-case letters, followed by 3 or 4 digits:"
[A-Z][A-Z][0-9][0-9][0-9] | [A-Z][A-Z][0-9][0-9][0-9][0-9] 22:11
despite that being terribly inefficiently written
we'd break given that
because there is no initial constant string on either
so it'd just take the left one
TimToady okay, I think I'm convinced, but lemme stew on it a while more. 22:14
DFAs are well known, and would make for a very fast parser.
characterizing where the DFA is required is goodness 22:15
and where it is "prohibited"
but it has potential ramifications for captures and such 22:16
luqui we'd only want to make DFAs for sets of tokens
don't try to DFAize the whole grammar (or even a lot of it)
TimToady right, but if foo \d+ is a token then you want to be able to retreive foo042 at some point 22:17
SamB for one thing, wouldn't you need like a NIA?
luqui SamB, a what?
TimToady NIA?
SamB nondeterministic infinite-state automaton?
luqui a pushdown automaton...
TimToady you mean like the modern egrep algorithm?
generates states on the fly based on data? 22:18
luqui I think he was just commenting on "DFAize the whole gramar" 22:18
which is impossible, of course
SamB I mean, your states would form a recursive algebraic datatype
or something like that... 22:19
anyway, they'd have a tree-like nature
luqui so of course if foo \d+ is a token you can retrieve foo042...
you just can't try to retrieve it within the token rule itself 22:20
lest it not be dfaizable
TimToady we can just stop when we see :: or ( or {...} or... 22:21
as long as we're clear about how far it goes
SamB ?
TimToady but I think I can certainly be argued into quantifiers
luqui so you're still talking about automatically determining the token set based on the structure of the rule? 22:22
TimToady yes
luqui i'm arguing against that...
TimToady I know :)
luqui okay, good.
SamB what is a token set? 22:24
TimToady the set of prefix strings that you can aim a poor user at and say "it picked this one because it was longer than that one."
SamB prefix strings? 22:25
TimToady head strings?
luqui My point with that, if you haven't picked it up already, is say you have a token byte = / [0-1][0-9][0-9] | 2[0-4][0-9] | 25[0-5] /
SamB why would you be talking to the poor user about prefix strings?
TimToady because one of the major goals of Perl 6 is to not confuse the user 22:26
luqui and you decide that you want to write it more cleanly: / (\d{3}) { fail unless $1 <= 255 } /
that shouldn't change any semantics
SamB but prefix strings sound very confusing
luqui only make it slower...
TimToady we could allow around everything between ^ and :: (speaking notionally) 22:27
allow () that is
since we already know the beginning and end of the DFA
SamB ?
luqui ugh 22:28
I want to support *any* refactor, not just this specific one
SamB where does he get these notions?
TimToady well, okay everything up to :: gets in the DFA, but if it matches by DFA you might have to rescan for () 22:28
luqui ... 22:29
let's see... 22:30
TimToady though I do have a paper sitting on my desk that explains how to use tagged transitions to do capture with a DFA
luqui so every rule that matches literal text ought to have a :: somewhere in it
TimToady or || 22:31
luqui and of course we would descend into subrules
*wouldn't
TimToady but only if you want to limit it to that rule
so / <digit>* <alpha>* / should still work 22:32
luqui why would that work?
TimToady why not?
luqui because you're descending into a subrule?
TimToady assuming the digit rule doesn't stop it with ::
the whole point of all this is the transitive set of prefixes 22:33
luqui why does :: matter though?
that only fails the current rule
::: I can see doing that
hmm, maybe not. it's not totally clear to me. 22:34
TimToady :: fails the current alternative
ingy can i have a pony?
TimToady not today dear
ingy but papa, you promised me one 3 years ago!! 22:35
TimToady sorry, on the way here it got run over by an M1 tank.
speaking of being run over by an M1 tank, the emperor needs to take a new nap. 22:37
thunk &
ingy I predict that TimToady will grandly unify all of Perl 6 during his nap 22:47
but then forget it all when he wakes up
TimToady DFA also fixes the problem of parsing recursive metaoperators, I thunk & 22:48
dduncan I've often thought it would be great to have a device that can record dreams and play them back in a way that the awake can experience them somewhat like the dreamer 22:54
in my case, I feel like I have a lot of creativity in some areas when dreaming that is next to impossible when awake 22:55
but this could help with the grand unification theory of perl 6 too
SamB dduncan: funny
dduncan s/of/that is/
SamB I can never get things to say the same thing twice when my eyes are closed!
dduncan part of what I mean by creativity, is in writing stories ... eg, I'm not generally someone who writes books or movies etc, but sometimes when dreaming I think, that would make a good book or movie, but I can't render it when awake ... easier to just show the video and sound my brain generated when dreaming 22:57
of course, sometimes thoughts are highly subjective and it may actually be a terrible result when put in front of others ... but when dreaming, one's emotions tend to highly influence perception 22:58
allbery_b usually finds that when he remembers some "key insight" from inside a dream, it turns out to be obviously flawed 23:09
lambdabot allbery_b: You have 1 new message. '/msg lambdabot @messages' to read it.
luqui it's like getting ideas when you're high 23:11
allbery_b my dream worlds invariably have some massively contra-factual component, often so obvious that I have something like a narrative "hm, that's odd" while I'm dreaming 23:14
dduncan still, my main point was the usefulness of using dreams to produce fictional stories 23:16
which can have flaws, being fiction