00:02:19 -!- ski_ has joined.
00:02:37 -!- newsham_ has joined.
00:02:47 -!- yorick_ has joined.
00:02:55 -!- ineiros_ has joined.
00:04:04 -!- fizzie has quit (Remote host closed the connection).
00:07:39 -!- newsham has quit (Remote host closed the connection).
00:07:41 -!- yorick has quit (Read error: Connection reset by peer).
00:08:23 -!- ski has quit (Remote host closed the connection).
00:10:21 -!- fizzie has joined.
00:11:31 -!- ineiros has quit (Ping timeout: 250 seconds).
00:21:18 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
00:21:30 -!- copumpkin has joined.
00:21:50 -!- copumpkin has quit (Client Quit).
00:46:27 -!- newsham_ has changed nick to newsham.
00:54:17 -!- AndoDaan has quit (Ping timeout: 252 seconds).
00:57:04 -!- rodgort has quit (Remote host closed the connection).
01:01:57 -!- ^4 has quit (Ping timeout: 240 seconds).
01:08:46 -!- rodgort has joined.
01:17:04 -!- rodgort has quit (Remote host closed the connection).
01:22:19 -!- AndoDaan has joined.
01:22:55 -!- rodgort has joined.
01:28:51 <oerjan> <Taneb> Is the antiderivative always the integral? <-- depends how you define each of them.
01:29:21 <oerjan> you can have something that has a derivative but the derivative isn't lebesgue integrable
01:32:45 -!- AndoDaan has quit (Ping timeout: 240 seconds).
01:33:20 -!- AndoDaan has joined.
01:33:34 <oerjan> but there's an integral definition that corresponds closer, known as Henstock integral
01:33:58 <oerjan> (another student studied those when i was at university)
01:35:17 <shachaf> just read http://cr.yp.to/papers/calculus.pdf hth
01:38:15 <oerjan> shachaf: you need restrictions on the function for it to be true that antiderivative = riemann integral
01:39:10 <shachaf> that's why that pdf uses the integral you mentioned instead, and talks about that in the last paragraph
01:40:00 <oerjan> shachaf: you cannot expect me to read to the end on something that looks like ordinary first year stuff on a brief glance hth
01:40:30 <Bike> oh luzin, i vaguely remember that
01:45:14 -!- FireFly has quit (Ping timeout: 240 seconds).
01:51:27 -!- FireFly has joined.
01:52:17 <shachaf> oerjan: i should learn some analysis hth
01:55:53 <Sgeo_> JetBrains is stil running an ad for an expired contest. Isn't that kind of expensive/
01:57:27 <shachaf> i don't know who jetbrains is and why anyone cares that they're running an ad
02:03:50 -!- boily has quit (Quit: ALFALFALFA CHICKEN).
02:03:53 <fungot> eliott elliot eliott eliott elliot elliott eliot elliot eliott elliot elliot eliott eliott elliot eliott eliot elliot elliott eliott elliot eliott eliott elliot elliot eliott eliot elliott eliott elliot eliott eliott elliot elliott eliot elliot eliott eliott elliot elliot eliott elliot elliott eliot elliot elliott eliott e ...too much output!
02:04:21 <fungot> ((io)S(t)~^( )S~:)((e)S(l)~^~:):(S)~^(:SS)~^(*a((((S)~^)~a*^)~a*^~:)~*^~)(:**a((((:SS)~^)~a*^)~a*^~:)~*^~):(~:()~)~*^(a(:^)*~a(*()~)~*^~^):^
02:04:50 -!- shikhout has joined.
02:05:22 <oerjan> elliott: i may be having it bad. i got 260 rep and mortarboard yesterday, and am apparently #2 on the monthly haskell rank
02:07:22 -!- shikhin has quit (Ping timeout: 240 seconds).
02:20:12 -!- copumpkin has joined.
02:39:03 -!- ChrisMM has joined.
02:39:31 <ChrisMM> i assume fungbot is doing well
02:39:41 <fungot> ChrisMM: the electronic feel of this crap on another site. its not exactly a classic rendition. it's not a fan! 3 " fuck you", and now your hostile feelings have clouded your past good judgment and you didn't see that one"
02:39:50 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube*
02:45:34 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate wiki chr ha rainbow rainbow2 welcome me tell eval elikoski list ping def a thanks tmp2 backwards output
02:45:46 <fungot> >2,[>,]<[<]>[.>2]<[>2]<2[.<2]
02:48:34 <fungot> (\o| c.c \o/ ಠ_ಠ \m/ \m/ \o_ c.c _o/ \m/ \m/ ಠ_ಠ \o/ c.c |o/)S
02:48:34 <myndzi> | c.c.c | ¯|¯⌠ `\o/´ | c.c.c | `\o/´ ¯|¯⌠ | c.c.c |
02:48:34 <myndzi> /| c.c /| /| | | /| c.c |\ | |\|/'\ c.c >\
02:48:48 <fungot> ((ha)(ha))(~:^:(. )*S( )~**a~^!a*~:^):^
02:49:34 -!- zzo38 has joined.
02:55:58 <fungot> Selected style: jargon (UNIX-HATERS mailing list archive)
02:56:45 -!- ^4 has joined.
02:58:36 -!- Sorella has quit (Remote host closed the connection).
03:02:08 <ChrisMM> in Thue is the string replacement chosen entirely at random?
03:02:48 <Bike> nondeterministically, iirc
03:03:13 <oerjan> where nondeterministally means "you cannot even count on random"
03:03:39 <ChrisMM> because you're 'too good' for pseudorandom numbers
03:03:56 <oerjan> always taking the first one is perfectly legal :P
03:04:09 <oerjan> (well maybe. i haven't actually checked the spec.)
03:04:15 <Bike> one can imagine an optimizing thue implementation that chooses in some deterministic but hard to think about fashion based on the rule contents
03:04:38 <ChrisMM> my problem is on the wiki page it says '...The program outputs bits in an undefined (and quite possibly random) sequence.'
03:04:51 <ChrisMM> where, if the string rewrites were nondeterministic, it WOULD be ENTIRELY random
03:04:57 <ChrisMM> and it has that (and quite possibly...) in there
03:05:05 <Bike> it /can/ be random, but it doesn't have to be
03:05:10 <Bike> it could implement all zeroes probably
03:05:51 <Bike> output, not implement
03:06:29 <oerjan> i had this vague idea of implementing thue in itflabtijtslwi which has no randomness, but because of the implementation idea it wouldn't be easily predictable either
03:06:30 <Bike> catseye's interpreter lets you choose a deterministic rule, if you want
03:06:46 <Bike> but you can also not do that, see.
03:07:41 <Bike> (it has left-to-right and right-to-left, so you could make that program output all zeroes or all ones)
03:09:35 <oerjan> mine would be essentially "do all substitutions in turn globally, but in such a way that you cannot substitute on something that's already been changed this round"
03:11:15 <ChrisMM> I'm gonna look into thue now, it seems very nice...
03:18:15 <ChrisMM> I think that's generating simlish
03:19:03 -!- not^v has joined.
03:19:39 <Bike> couldn't it wipe out the c's first
03:19:59 <Bike> or well... why do you ahve both the ac::=abc and c::= rules.
03:20:30 <ChrisMM> well I want it to generate them but I also want it to halt
03:20:38 <ChrisMM> if it runs out of c's it'll halt
03:20:50 <ChrisMM> yes, it could wipe out all the c's first. Ya just hope. This isn't a good program.
03:20:52 <Sgeo_> Should I privilege the function profunctor in my code? I feel like maybe I shouldn't, since forget is also a profunctor
03:20:57 <Sgeo_> And conceptually a function too
03:21:13 <Sgeo_> Although I guess Haskell privileges it
03:21:38 <Sgeo_> (By priviledge I mean not doing a Racket equivalent of a newtype)
03:21:55 <Bike> ChrisMM: if you want a fixed finite output, you could do the b::=~ rules, and then just have ::=bbbbb, no?
03:22:02 <Bike> (to output five, of course)
03:22:21 -!- ^4 has quit (Ping timeout: 240 seconds).
03:27:53 <AndoDaan> Wrote a script to interpret http://esolangs.org/wiki/Verbose. what a chore.
03:28:37 <ChrisMM> the roman numerals must be the most annoying part
03:28:42 <ChrisMM> what programming language has like
03:29:06 <AndoDaan> Yeah, just looked up the algorithms and translated them to lua.
03:29:27 <Bike> common lisp has a function to print an integer in roman. still not sure why
03:33:47 * Sgeo_ wouldn't be surprised if Factor had something
03:34:03 <Sgeo_> http://docs.factorcode.org/content/article-roman.html
03:35:04 <Bike> "Computes the quotient and remainder of two Roman numerals."
03:35:12 <ChrisMM> Hmmm... I can't figure out thue
03:35:26 <ChrisMM> I'm trying to figure out how to properly make code
03:40:29 <zzo38> Roman numeral is not difficult to implement
03:42:49 <FreeFull> More difficult than brainfuck numerals?
03:43:20 <Bike> optimized brainfuck numerals are uncomputable, so that's probably harder than romans
03:43:32 <FreeFull> The shortest possible program that outputs a given numeric value
03:44:30 <FreeFull> Are you sure it's an uncomputable problem rather than just an infeasible one?
03:45:00 <Bike> yeah, it's perfect compression
03:45:12 <Bike> which is uncomputable bla bla kolmogorov.
03:45:20 <FreeFull> Yeah, I can see why it'd be uncomputable
03:46:51 <FreeFull> . and +. are provably the shortest possible representations
03:47:03 <FreeFull> Bike: What if you add some restriction that ensures halting?
03:47:28 <Bike> http://en.wikipedia.org/wiki/Kolmogorov_complexity#Uncomputability_of_Kolmogorov_complexity behold
03:47:44 <FreeFull> I mean, it won't be kolmogorov complexity
03:47:49 <FreeFull> And it will become actually computable
03:48:06 <zzo38> There may be other restrictions too that might be possible, such as restricted amount of memory use, and maximum number of steps; you don't need necessarily a restriction that ensures halting, although if there is one that will work too.
03:50:05 <FreeFull> There are ones which ensure halting and allow multiplication
03:50:18 <FreeFull> I'm not sure about how powerful you can go though
03:51:52 <Bike> i think the shortest representations in presburger arithmetic or something are computable in double exponential time
03:52:18 <Bike> oh no that's some other bullshit about presburger. eh.
03:52:56 <Jafet> I'd believe that, given that you can only add numbers
03:56:33 <oerjan> (someone here managed to do goodstein sequences in it, that's more powerful than peano arithmetic
04:08:52 -!- axtens has joined.
04:09:30 -!- axtens has quit (Quit: Leaving.).
04:13:57 -!- not^v has quit (Ping timeout: 240 seconds).
04:14:04 -!- shikhout has quit (Ping timeout: 260 seconds).
04:19:18 <Sgeo_> 'http://docs.factorcode.org/content/word-binary-roman-op%2Croman.private.html
04:19:26 * Sgeo_ runs in the opposite direction
04:23:52 -!- ^v has quit (Ping timeout: 240 seconds).
04:44:34 -!- ChrisMM has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
04:48:10 -!- AndoDaan has quit.
05:00:38 -!- J_Arcane_ has joined.
05:01:57 -!- J_Arcane has quit (Ping timeout: 240 seconds).
05:02:01 -!- J_Arcane_ has changed nick to J_Arcane.
05:08:09 <Sgeo_> I forgot to save a part of my forget code.
05:08:18 <coppro> Sgeo_: apparently it works
05:12:32 <Sgeo_> I don't know if (provide gen:profunctor) is the proper way to provide a generic
05:14:38 <Sgeo_> So yeah https://github.com/Sgeo/racket-optics/blob/master/profunctors.rkt
05:14:44 <Sgeo_> Still a work in progress
05:17:57 -!- Lorenzo64 has joined.
05:19:26 <Sgeo_> I definitely wrong dimap's order of arguments that way for a reason: If there's a consistent flow that's easier for me to remember
05:26:16 <Bike> racket is more reliant on reader macros than i thought.
05:26:58 <Sgeo_> I don't think #:foo are reader macros
05:27:20 <Bike> oh, are they just symbols
05:27:59 <Sgeo_> They're keywords. I think natively parsed, but every piece of data is surrounded by a macro which by default rejects keywords
05:28:15 <Bike> ...surrounded by?
05:28:22 <Sgeo_> Well, hmm. (f a b c) where f is a macro, gets a different macro, so hmm
05:28:45 <Sgeo_> Well, (f a b c) where f is a macro gets turned into (#%app f a b c). I think something similar happens to bare data
05:28:57 <Sgeo_> erm, where f is a function.
05:50:33 -!- Frooxius has joined.
05:53:37 -!- ^v has joined.
06:16:30 -!- augur has quit (Quit: Leaving...).
06:34:26 -!- TieSoul-mobile has joined.
06:37:22 -!- TieSoul has quit (Ping timeout: 240 seconds).
06:37:31 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
06:51:18 <Sgeo_> I guess a hypothetical 'sum' is an example of a optics Fold?
06:52:08 -!- copumpkin has joined.
06:53:55 <lambdabot> Num a => Getting (Endo (Endo a)) s a -> s -> a
06:54:30 <oerjan> Sgeo_: a Fold is something you _can_ take a sum (or any monoidal summary) of.
06:55:13 <lambdabot> Getting (Endo (Endo r)) s a -> (r -> a -> r) -> r -> s -> r
06:57:07 <lambdabot> Profunctor p => Accessing p (Endo r) s a -> p a (r -> r) -> r -> s -> r
06:57:18 <Sgeo_> Ok, so a quick test of my code at the REPL failed... and I have no idea if my definitions are wrong or my REPL test is wrong
06:58:19 <Sgeo_> REPL code was wrong
07:08:19 -!- TieSoul-mobile has quit (Read error: Connection reset by peer).
07:36:43 -!- oerjan has quit (Quit: leaving).
07:37:04 -!- variable has quit (Ping timeout: 260 seconds).
07:45:44 -!- mtve has joined.
07:47:32 -!- variable has joined.
08:26:53 -!- Patashu has joined.
08:28:45 <zzo38> I notice sometimes the computer screen is getting blurry horizontally when the CPU is busy; does this have anything to do with the fan?
08:30:12 <zzo38> It doesn't seem to give me any problems with any programs though, with the exception of Visual Pinball.
08:31:25 <zzo38> (Not only is it fuzzy horizontally but also vertically makes scanlines brigher and darker)
08:38:40 <b_jonas> zzo38: I can think of two things:
08:40:04 <b_jonas> firstly, if it's a notebook, then it's usually a problem with that the notebook isn't grounded because there is no ground pin in the cable from the power supply to the notebook, and this can cause problems. the solution is usually to replace your power supply, or,
08:40:54 <b_jonas> if it only causes problems with the image on your monitor, not static when you touch the keyboard, and your video card has a DVI or HDMI output, then use an all-digital cable to the monitor.
08:42:21 <b_jonas> Secondly, if you're using a VGA cable (even on a desktop computer), it could be an inductive interference between a power cable and your VGA cable, or something simliar inside the machine, in which case moving to all digital DVI or HDMI often helps.
08:42:21 -!- zzo38 has quit (Read error: Connection reset by peer).
08:43:05 -!- zzo38 has joined.
08:43:08 <mroman_> Can I deactivate certain keycombinations in the Dvorak layout
08:43:22 <b_jonas> zzo38: Secondly, if you're using a VGA cable (even on a desktop computer), it could be an inductive interference between a power cable and your VGA cable, or something simliar inside the machine, in which case moving to all digital DVI or HDMI often helps.
08:43:25 <zzo38> Sorry my computer turned off while I was trying to figure out what a power cord was connected to. I wonder if that is the problem?
08:43:26 <b_jonas> Other possibilities are that you have an extra-long VGA cable or a faulty KVM switch or a very old and bad quality monitor, but you probably know if you do that.
08:44:05 <zzo38> I am not using a KVM switch
08:44:11 <b_jonas> zzo38: in that case hope that the power cable was connected losely somewhere and you accidentally moved it, so try to unplug and plug everything.
08:44:13 <zzo38> I do have a surge protector though.
08:44:40 <zzo38> It only happens when it is computationally intensive though.
08:45:01 <b_jonas> it's also possible that you simply have a faulty motherboard (or possibly power supply or something) which is why the computer sometimes turns off at random times, but that's hard to debug. find someone who is good with hardware.
08:45:23 <b_jonas> zzo38: are you using a VGA cable?
08:45:41 <zzo38> Yes, although it is pretty close to the computer and monitor
08:45:57 <zzo38> It is a "Certified Data" LCD monitor
08:46:20 <b_jonas> zzo38: in that case, try to move around the cables a bit, especially try to make sure the VGA cable isn't close to power cables, and check if that makes the image better.
08:47:35 -!- augur has joined.
08:50:42 -!- Hjulle has quit (Ping timeout: 245 seconds).
09:03:31 <zzo38> But I wonder if it is really just an effect of a different kind of problem inside of the computer.
09:03:51 <zzo38> I did have many other problems before but replacing the power supply fixed most of them.
09:04:13 <zzo38> (The picture is the only thing it did not fix.)
09:08:00 <mroman_> I hate typing '+space+s for 's
09:08:21 <zzo38> Disable that function then (or change it)
09:08:25 <fizzie> You should have a separate key for ' and ´ like we do.
09:08:42 <mroman_> I wanna use Dvorak with support for german Umlauts
09:08:48 <zzo38> Yes, using separate dead keys would help
09:08:53 <mroman_> which Dvorak international with deadkeys has
09:09:07 <mroman_> but that Layout also has this silly śáń combination-keys
09:09:44 <shachaf> I use US International with AltGr deadkeys.
09:10:49 <fizzie> I'm using the "nodeadkeys" variant of the standard Finnish layout, which is slightly silly in that it has a key for ' and a key for ´ and you can get e.g. á with composing with either one of those, which makes the ´ relatively useless, since I don't think I've ever needed a standalone ´.
09:11:14 <mroman_> although it's technically , for dvorak
09:11:30 <mroman_> (dvorak's , is where qwert'z w is)
09:12:21 <zzo38> The TI-92 uses the 2ND key together with a letter has a prefix to indicate if you want an accented or Greek letter.
09:12:35 <zzo38> (with the exception of theta, which has its own key.)
09:21:22 <zzo38> fizzie: Except now in order to explain its working, but that's only because it has it anyways
09:23:16 <zzo38> I suppose another way to make typing accented letters would be for example you can push the apostrophe and while holding it down, push the A and the software could be designed to accept that.
09:28:22 <zzo38> I noticed that a lot of old UNIX programs use a filter interface, although many new programs don't (except for the ones I wrote); why is that, and can we fix this?
09:29:47 -!- Lorenzo64 has quit (Ping timeout: 245 seconds).
09:33:24 <b_jonas> zzo38: well, part of that is safety, making sure you don't overwrite files you don't want to,
09:33:57 <b_jonas> and of course some programs allow using either filter or filename-in-command-line interface, and some programs I write take input from a file but output to stdout.
09:37:31 <zzo38> It is really the user's job to figure out which files you want to overwrite and don't; if you are worried about it you can also set permissions/file-attributes, too.
09:38:32 <zzo38> I know that dvilj4 supports filter but requires that it is explicitly specified by putting - as the filename; if you put nothing at all you get a help message and I think would be better to put the help message in the man page and make it use a filter interface.
09:38:54 <zzo38> (And, the filter interface by putting - is normally how I use it, too)
09:41:35 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
09:43:38 <zzo38> Something like this, generally: tex abcde; dvilj4 - < abcde.dvi | lp (although generally I would preview first)
09:55:09 <zzo38> Many other kind of program would be useful to work by filter as well, such as, to capture a picture from a scanner or webcam, to read captions from a TV broadcast, to do OCR or reading barcodes, preprocessors for text (or possibly even binary inputs), conversion from one format to another, and many more, too. This way you can use it with pipes and/or redirect to files.
09:55:29 <zzo38> Or even just to put the text on the screen, or typed in on the keyboard.
09:55:49 -!- AnotherTest has joined.
09:59:16 <b_jonas> zzo38: yes, maybe. I'm not sure really.
10:00:15 <b_jonas> of course some programs require at least a seekable input file, and some even require a seekable output file.
10:00:52 <b_jonas> for example, a video encoder like ffmpeg may or may not need to seek the input and output files, depending on the formats and options used.
10:00:55 <zzo38> b_jonas: Yes, I am aware of that, but many don't, even if it normally seems like it does, there are often (not always) simple ways around it.
10:01:37 <zzo38> I have also written a program for writing music in Amiga format; it is also working using filters (so far it ignores all command-line parameters as I have had no need to add any; however later I may want to add options for version information, search paths, and extra diagnostic outputs)
10:02:25 <b_jonas> can you give particular examples of programs that you would like to work as a filter but they don't?
10:03:31 <b_jonas> there's one program that I sometimes try to use with the filename in command line but that actually requires the input from stdin always: tr
10:04:19 <b_jonas> it makes sense for avoiding human errors actually because tr takes one or two non-filename arguments, so you could make a mistake where a filename argument is interpreted as a transliteration key or the opposite
10:05:25 <zzo38> b_jonas: Well, dvilj4 can, but it doesn't unless you put a minus sign. And of course a lot of GUI programs are such examples too; many could possibly be designed for filter
10:06:31 <b_jonas> maybe it's that I don't use filters too much because I'm overcompensating for how some people try to avoid temporary files at all costs even when temporary files aren't the problem (especially on sane modern operating systems where the files typically don't even have to hit the disk, and when they do have to hit the disk, then they'd better hit the swap even if you don't use a temporary file)
10:06:51 <zzo38> Programs such as ppMCK also are not a filter.
10:07:21 <b_jonas> zzo38: oh, I don't use dvilj4 because I print through postscript or pdf, but I do write the laser jet printer output file with ghostscript to a temp file
10:07:59 <b_jonas> gui programs are different, there the problem is often that the program is gui-only, and it's very hard to automate them. but I don't meet many of those programs except at work.
10:08:24 <zzo38> ppMCK is program for writing .NSF musics.
10:09:02 <zzo38> Do you know anything about .NSF musics?
10:12:26 <zzo38> Also is there a way for a pipeline with several programs to redirect its output to the first program's input? In some cases this would be useful for making some kind of programs that could take advantage of this.
10:14:18 <b_jonas> zzo38: there is, but most often that just leads to deadlocks that you don't discover at first
10:14:31 <b_jonas> which is why that ability should not be well known
10:14:49 <b_jonas> you should do that only if you're certain your program and use case can handle it
10:15:41 <b_jonas> if you mean per #esoteric, then yes, you can do that, though I don't know why it helps
10:16:37 -!- Hjulle has joined.
10:18:47 <b_jonas> (this seems to be a faq btw, people often want that, even if it's a bad idea.)
10:21:06 <zzo38> Yes I know you would have to be careful about such deadlocks and that kind of stuff
10:22:40 <b_jonas> especially careful about deadlocks if you want the programs to be portable, because the default buffer size for the pipes depends heavily on the OS kernel you're using
10:23:27 <fizzie> b_jonas: libbfd is unable to read/write object files from/to streams (it needs a seekable file, which is reasonable, though it could work around that in memory), which makes it slightly more awkward to do things like a script to convert between assembly/hex given on the command line.
10:24:57 <fizzie> I use "echo ... | gcc -x c - -o - -S" reasonably often to check what sort of code gets generated by C constructs, which is nice.
10:25:15 <zzo38> It may also depend if a program is using nonblocking I/O and may be doing other things at the same time such as internet
10:25:30 <b_jonas> maybe what we need is more easier and safer syntax in the shell to pass temporary files to programs such that the files are already unlinked before starting the programs and passed as /dev/fd stuff, to ensure they're always cleaned up.
10:26:10 <zzo38> But I think filters are the best way
10:26:12 <b_jonas> bash has the starts for this: it has such redirection syntax now that doesn't require you to hardcode file descriptor numbers, instead bash choses them and puts them to a shell variable.
10:26:28 <b_jonas> now we just need a syntax for such redirection that opens an unlinked temp file.
10:27:44 <b_jonas> maybe we already have that? let me ask the bash folks.
10:33:37 <zzo38> Maybe what might help a bit is a syntax to start a process and pass it as a parameter to another program, so that such other program controls its file descriptors and so on.
10:34:50 <zzo38> (And, this process it start could actually be a pipeline instead; it shouldn't necessarily have to be a single program)
10:35:01 <b_jonas> zzo38: I don't think you can do that. you have to start the process after you open its file descriptors to somewhere. you can make a program that does fancy setup stuff with file descriptors and then starts a program whose command line you pass to it.
10:39:00 -!- KingOfKarlsruhe has joined.
10:40:21 -!- tromp has quit (Ping timeout: 240 seconds).
10:44:51 <mroman_> I have no sound on this thing :(
10:48:23 <b_jonas> fungot, any idea about zzo38's problem with the monitor image?
10:48:23 <fungot> b_jonas: swiss federal institute of technology. the
10:49:05 <fizzie> fungot: Do you mean they're to blame?
10:49:05 <fungot> fizzie: the behavior of your modifications of the utmost importance. implementations should be
10:49:30 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon* lovecraft nethack oots pa qwantz sms speeches ss wp youtube
10:49:45 <fungot> Selected style: europarl (European Parliament speeches during approx. 1996-2006)
10:49:46 <fizzie> fungot: Do you have a statement at this juncture?
10:49:47 <fungot> fizzie: mr president, mr president-in-office, commissioner, the euro is allowed to go on forever. we condemn attacks on jewish symbols and institutions in the member states in improving nuclear safety.
10:49:51 <mroman_> b_jonas: if it were that easy...
10:50:21 <fizzie> `addquote <fungot> fizzie: mr president, mr president-in-office, commissioner, the euro is allowed to go on forever. we condemn attacks on jewish symbols and institutions in the member states in improving nuclear safety.
10:50:22 <fungot> fizzie: madam president, under our proposals for reform, but it is not acceptable either to parliament or any parliament, even if the cost is very high and each project's timescale is measured over many years and decades. but in thinking about and working on this issue was raised by a number of other factors involved and we have to ensure that it is right to raise the issue of preventing and combating drug addiction. i should l
10:50:22 <HackEgo> 1217) <fungot> fizzie: mr president, mr president-in-office, commissioner, the euro is allowed to go on forever. we condemn attacks on jewish symbols and institutions in the member states in improving nuclear safety.
10:51:07 <fizzie> fungot: I'm pretty sure it's right to raise the issue of preventing drug addiction. Go on.
10:51:08 <fungot> fizzie: madam president, commissioner, over the past months, i have evidence that this is a very good example when it comes to the presence of certain ingredients for health reasons.
10:55:38 <Jafet> I wonder how much the formalities affect their productivity
10:55:50 <Jafet> (or possibly, their productivity is zero)
10:58:56 <fizzie> IIRC, there's about a 10% chance of fungot in europarl mode starting with something else than one of the customary formalities.
10:59:37 <b_jonas> fungot, the winners of the ICFP 2014 contest will be announced tomorrow. are you excited?
10:59:38 <fungot> b_jonas: mr president, i find it regrettable for them, are extremely harmful? i hope i have replied to all the members who have spoken before in this chamber and that therefore the policies that the commission does share the feelings of my group that we wish to call on all my fellow members that it is important for them to grant their approval or not, whether to work part-time or not, which is being managed so well by my collea
11:00:55 <fizzie> ICFP 2014 tagline: "extremely harmful".
11:01:53 <Jafet> Their victories are regrettable.
11:14:33 <J_Arcane> Neat. One of the Racket folks is giving a talk there.
12:00:21 <Melvar> b_jonas: Since you were advising on monitor problems, on my netbook, since a while ago, every scanline wiggles left and right independently.
12:01:11 <b_jonas> hey, I'm not a hardware guy really
12:03:07 <b_jonas> (I'm not even really a "programmer with a screwdriver". I only do hardware only so much as I'm required for myself so I can work with software, or quick troubleshooting for my mother or things like that.)
12:09:12 <Jafet> If telling off the lvds ribbon sternly doesn't work, you may need to make veiled threats against the panel.
12:10:02 <Jafet> fungot knows how to deal with panels.
12:10:03 <fungot> Jafet: mr president, this time, aid to afghanistan, i find it extremely harmful should this not produce a single kilo of bananas, requiring a study of possible consequences for a person to have any impact on the banana market and is the first time, has been the subject of enlargement and the accession of a further court judgment will be able to move easily around the european elections, for the council and the commission share
12:12:19 -!- Lorenzo64 has joined.
12:41:42 -!- Lorenzo64 has quit (Ping timeout: 250 seconds).
13:12:46 -!- boily has joined.
13:20:55 -!- ski_ has changed nick to ski.
13:31:15 <lambdabot> Generates Haskell code from a type.
13:31:15 <lambdabot> http://darcs.augustsson.net/Darcs/Djinn
13:31:24 <Melvar> That doesn’t lead anywhere.
13:34:01 <Melvar> @djinn (Functor f, Functor g) => (a -> b -> c) -> f a -> g b -> f (g c)
13:34:28 <mroman_> I don't know if it can work with "concrete" types
13:34:54 <Melvar> No, but these are classes, and AIUI it can use Monad at least.
13:35:06 <Melvar> @djinn (Monad f, Monad g) => (a -> b -> c) -> f a -> g b -> f (g c)
13:35:25 <mroman_> @djinn Num a => a -> a -> a
13:36:10 <Melvar> Thing is, I would have liked to read on the exact restrictions, but the help link goes nowhere.
13:36:22 <mroman_> @djinn Functior f => f a -> a
13:36:27 <mroman_> @djinn Functor f => f a -> a
13:36:33 <mroman_> Maybe is a Functor, right?
13:36:45 -!- Patashu has quit (Ping timeout: 240 seconds).
13:37:25 <mroman_> Functors don't have f a -> a
13:37:52 <mroman_> @djinn Functor f => (a -> b) -> f a -> f b
13:38:06 <mroman_> Ah right. It doesn't know Functors at all
13:40:08 <Melvar> @hoogle (Functor f, Functor g) => (a -> b -> c) -> f a -> g b -> f (g c)
13:40:10 <lambdabot> Data.IntMap.Strict intersectionWith :: (a -> b -> c) -> IntMap a -> IntMap b -> IntMap c
13:40:11 <lambdabot> Data.IntMap.Lazy intersectionWith :: (a -> b -> c) -> IntMap a -> IntMap b -> IntMap c
13:40:11 <lambdabot> Data.Sequence zipWith :: (a -> b -> c) -> Seq a -> Seq b -> Seq c
13:40:35 <Melvar> @let tabulate op rs cs = fmap (\r => fmap (op r) cs) rs
13:40:41 <Melvar> @let tabulate op rs cs = fmap (\r -> fmap (op r) cs) rs
13:42:22 <lambdabot> (Functor f1, Functor f) => (a -> a1 -> b) -> f a -> f1 a1 -> f (f1 b)
13:43:02 -!- Melvar has quit (Quit: WeeChat 0.4.3).
13:43:20 -!- gyrusbam has joined.
13:43:20 -!- Melvar has joined.
13:45:46 <fizzie> @djinn (a -> b -> c) -> (a -> b) -> a -> c
13:46:46 -!- conehead has joined.
13:47:25 -!- tromp has joined.
13:48:39 -!- nisstyre has quit (*.net *.split).
13:48:44 <Melvar> @djinn (forall a b. (a -> b) -> f a -> f b) -> (forall a b. (a -> b) -> g a -> g b) -> (a -> b -> c) -> f a -> g b -> f (g c)
13:49:22 <Melvar> @djinn (forall a b. (a -> b) -> f a -> f b) -> (forall a b. (a -> b) -> g a -> g b) -> (x -> y -> z) -> f x -> g y -> f (g z)
13:50:03 -!- nisstyre has joined.
13:50:24 -!- gyrusbam has quit (Read error: Connection reset by peer).
13:53:48 -!- TieSoul-AWAAAY has changed nick to TieSoul.
14:12:52 -!- b_jonas has quit (Quit: Changing server).
14:18:45 -!- impomatic_ has quit (Ping timeout: 240 seconds).
14:58:08 <mroman_> @djinn (a -> b) -> (b -> c) -> (a -> c) -> Bool
14:58:24 <mroman_> @djinn (a -> b) -> (b -> c) -> (a -> c) -> a -> b -> Bool
14:58:56 <mroman_> @djinn (a -> c) -> (b -> c) -> a -> b -> Bool
14:59:38 <mroman_> @let apCmp f g a b = (f a) == (g b)
14:59:45 <lambdabot> Eq a => (t -> a) -> (t1 -> a) -> t -> t1 -> Bool
14:59:48 <Taneb> @djinn (a -> c) -> (b -> c) -> (c -> c -> d) -> a -> b -> d
15:00:02 <mroman_> Taneb: You highlighted me some hours ago?
15:00:26 <Taneb> Regarding ESOSC and the brainfuck survey
15:00:51 <mroman_> I remember that I wrote a draft based on the survey results
15:01:49 <mroman_> http://eso.mroman.ch/ESOSC/s/2014-3/ESOSC-2014-D3-R1.pdf
15:02:02 <mroman_> I'm not sure what the state of that Draft was though
15:03:54 <Taneb> Could you close the poll and release the results?
15:05:17 <mroman_> Let me just use this "Forgot password" function :D
15:06:20 -!- b_jonas has joined.
15:08:07 <mroman_> Taneb: https://de.surveymonkey.com/results/SM-JZ78GR8L/
15:09:16 <mroman_> produce error on leave the tape to the left
15:09:25 <mroman_> has just barely won the race
15:09:30 <mroman_> a while ago it was clearly behind
15:10:39 <Taneb> I think perhaps we should make the standard say that should be implementation defined
15:11:26 <mroman_> otherwise we'd ignore the poll if we keep it "unbounded to the left"
15:11:56 <mroman_> We *could* recommend to make it unbounded to the left but it's implementation defined in the end
15:12:26 <mroman_> we'd ignore the poll by that too
15:12:34 <mroman_> since the poll says it should produce an error
15:13:01 <mroman_> so the first question is: How seriously do we take the results?
15:14:01 <Taneb> We asked for them, so I think we should take them fairly seriously
15:14:24 <Taneb> Although for question 1 I would have rather answered "the cells should be unbounded"
15:14:29 <Jafet> You could start a poll for that.
15:16:09 <mroman_> Well, then leaving the tape to the left is an error
15:18:03 <Taneb> Because it was so close, can we add a note that says something to the effect of "Implementations are welcome to expand the tape to the left also, but programs should not depend on this behaviour"
15:18:59 <mroman_> You can always add something like "but your interpreter might offer a language extension that can be enabled to support unbounded cells to the left" as well
15:19:51 <mroman_> generally I'd recommend not relying on unbounded memory to the left, yes
15:20:22 -!- AndoDaan has joined.
15:20:36 <mroman_> technically a standard compliant interpreter *has to* produce an error
15:20:41 <mroman_> at least in standard compliant mode
15:21:05 <mroman_> but you could add a switch --non-std or whatever
15:21:19 <Taneb> I'd still prefer "May produce an error or may extend to the left"
15:22:35 <mroman_> but just be aware, that we somehow interpret the close lead differently than a huge lead ;)
15:22:57 <Taneb> They're one vote away from parity!
15:23:22 <mroman_> I'll vote for "implementation defined" too
15:24:45 <Jafet> When reaching an intersection, you should yield to the left. But it's ok to yield to the right, too. Some drivers may do that.
15:27:30 -!- boily has quit (Quit: VARNISHED CHICKEN).
15:29:00 -!- Ando has joined.
15:29:15 -!- AndoDaan has quit (Ping timeout: 255 seconds).
15:44:21 -!- Ando has quit.
15:50:14 -!- impomatic_ has changed nick to impomatic.
16:04:18 <fizzie> fungot: Will you make yourself standards-compliant now?
16:04:19 <fungot> fizzie: we have voted ecu 200 billion per year, and is a credit to the substantive improvements which are being presented to this tribunal. i hope that in the neighbouring country of cambodia? this question is vital, and urgent, for the closing-down of sellafield?
16:04:47 <fizzie> Man, making a brainfuck interpreter is more expensive than I thought.
16:05:53 <Taneb> I used to have a teddy bear called "Sellafield Bear"
16:05:58 <Taneb> Because he glowed in the dark
16:06:13 -!- Phantom_Hoover has joined.
16:09:33 -!- Hjulle has quit (Ping timeout: 240 seconds).
16:11:32 <b_jonas> how do you say: pack an umbrella (eg. for the vacation)? {se bevri punji lo santa}?
16:11:58 <b_jonas> or, um, {se bevri setca lo santa}?
16:12:04 <b_jonas> I feel there must be some better way to say this
16:12:24 <Taneb> What language is this?
16:12:31 <b_jonas> ah, sorry, wrong channel then
16:12:48 <b_jonas> (it's lojban, and supposed to go to #lojban )
16:19:07 <Melvar> I thought for a moment this was #jbopre and Tene had sarcastically commented.
16:32:06 -!- TieSoul has left.
16:43:07 <nortti> Taneb: I'd say left on cell 0 is an error
16:44:32 -!- boily has joined.
16:49:37 -!- DootBot has quit (Remote host closed the connection).
16:52:30 <mroman_> Taneb: The problem with implementation defined is
16:52:41 <mroman_> that you can't say no more "it will run in any ESOSC-BF compliant interpreter"
16:53:20 <mroman_> I just thought about that in the train
16:53:33 <mroman_> so I've changed my opinion to "it has two be one of those two but not both"
16:54:07 <mroman_> What again were the reasons for unbounded/error?
16:54:14 <mroman_> unbounded because of symmetry to >?
16:54:48 <nortti> error because most BF implementations don't support unbouned-to-left
16:55:10 <mroman_> I think a great amount of implementations really don't support it, yes
16:55:26 <mroman_> although some implementations use an array of size N
16:55:35 <mroman_> and have the pointer initialized to N/2
16:55:49 <mroman_> but then the array is of fixed size
16:55:55 <mroman_> so neither unbounded to the left nor right
16:56:33 <mroman_> also moving to the left requires a realloc
16:57:00 <mroman_> (as realloc usually appends more space to the right, and not to the left)
16:58:03 <mroman_> regarding that error looks really like a good option
16:58:14 <mroman_> and it's still the leading option in the poll
16:58:36 <mroman_> also "unbounded to the left but not recommended to rely on" is well....
16:58:41 <mroman_> might as well say it's an error
16:58:49 <mroman_> rather than supporting it but not recommending it
16:59:00 <Bike> maybe you could allocate to the right but use even cells as greater than zero and odd as less than zero, or something
16:59:07 <mroman_> Implementors are always free to add a command line switch to switch to "unbounded to the left"
16:59:19 <mroman_> Bike: some implementations do that
17:01:56 -!- MoALTz has joined.
17:11:40 -!- boily has quit (Quit: WeeChat 0.4.2).
17:15:34 <nortti> https://ghc.haskell.org/trac/ghc/ticket/9439
17:22:03 <Sgeo_> The Factor subreddit is called "Factor wanking"
17:22:25 <Sgeo_> I do not know why... and I assume nor does the person who asked about it 3 years ago and received 0 responses
17:24:46 <Sgeo_> "Macros akin to those in Common Lisp, but hygienic like Scheme, because if you don’t have variables, you can’t capture them."
17:25:06 <Sgeo_> Hmm.... but there's a lexical variable macro... how might other 'macros' interfere with that?
17:51:48 <J_Arcane> How strict are you with respect to the functional style in your own programs?
17:53:47 <Bike> i only write in snobol, so that would be impractical
17:54:39 <zzo38> J_Arcane: I do not quite understand the question.
17:54:57 <J_Arcane> Well, when working with Lisps or other functional programming languages.
17:55:22 <zzo38> I don't know; I have not written a program in Lisp.
17:55:56 <J_Arcane> Like, I know we have some Haskellers here, and that always seems to me like it more or less doesn't work any other way, but Lisp is more flexible, and it seems like there's an attitude in the community towards nevertheless programming in the functional style as much as possible.
17:56:02 <coppro> J_Arcane: I always try to adhere to functional style, especially when coding in an imperative language
17:56:36 <zzo38> Actually I have thought that combining Haskell and Lisp might be good idea
17:56:51 <Bike> i only write lisp as our forfathers intended: with prog
17:58:38 <J_Arcane> zzo38: Well, there have been a number of efforts to introduce monads into various lisps.
18:00:02 <J_Arcane> I confess to having no familiarity with them at all yet, so I wouldn't know what to do with them.
18:00:30 <zzo38> I am not talking about monads
18:00:44 <zzo38> I mean Haskell with Lisp-like macros
18:00:46 <Bike> monads are just a particular API, if you want "haskell" you're gonna want more like, recursive data whatever
18:02:15 <Sgeo_> Sum types. Sum types are good.
18:03:46 <zzo38> Monads are just a particular type class; or, in object oriented programming, is like an interface. But there are also comonads and stuff like that too.
18:06:34 <zzo38> But anyways I meant macros
18:09:42 -!- Imaginer1 has joined.
18:09:58 <Imaginer1> Anyone here versed a bit in Python? I need a smidge of help.
18:10:41 <Imaginer1> Well, I'm not exactly dealing with a low-level problem.
18:10:55 <Imaginer1> I'm trying to allow Python to accept inputs from command-line, would that be a sys module?
18:11:44 <Imaginer1> It's interpreting code in another language
18:11:51 <Imaginer1> once it's interpreted it might prompt the user for input
18:12:08 <Imaginer1> thanks, I'll look up the syntax...
18:23:48 -!- Lorenzo64 has joined.
18:29:15 -!- Vorpal has joined.
18:31:52 <Melvar> < nortti> error because most BF implementations don't support unbouned-to-left – Why is that?
18:32:33 <nortti> why most don't support it?
18:32:56 <nortti> probably since it would, in many cases, be harder to implement
18:44:35 <mroman_> Melvar: It's harder to implement, I'd say
18:45:36 <mroman_> @aks Taneb Can you live with error on leaving left?
18:45:48 <mroman_> @ask Taneb Can you live with error on leaving left?
18:46:06 <Melvar> data Tape a = Tape a [a] a [a]
18:46:35 <Sgeo_> Why does Tape a have two heads?
18:46:51 <HackEgo> [wiki] [[Cork]] http://esolangs.org/w/index.php?diff=40381&oldid=40329 * 173.17.62.235 * (+102)
18:46:57 <Sgeo_> That's not what Melvar emitted
18:47:35 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
18:48:29 <Melvar> Sgeo_: I decided I wanted to be able to dump the touched portion of the tape, so I made only the touched portion exist. The first a is the value of untouched cells.
18:52:20 <Melvar> left (Tape z [] m rs) = Tape z [] z (m:rs); left (Tape z (l:ls) m rs) = Tape z ls l (m:rs)
18:53:52 <Melvar> Apparently that file is from 2011.
18:53:55 <mroman_> If it aint Zippers, Functors, Monads you ain't doi'n it wrong.
18:54:11 <Melvar> Which is newer than I thought.
18:54:23 <mroman_> It's got to have at least Zippers
18:54:41 <mroman_> and you should work some lenses in there too
18:55:19 <Melvar> I’m pretty sure I had never heard of lenses when I wrote that file.
18:55:34 <Melvar> I mean, in programming context.
18:55:39 <mroman_> Rule of thumb is that if I can understand it you're not using enough fancy stuff
18:56:22 <Melvar> branch :: (Boolesy a) => BF a -> BF a – And Boolesy, what silliness that was.
18:57:58 <Melvar> Apparently I did know what a monad transformer is: type BF a = StateT (Tape a) IO ()
18:58:05 <mroman_> left <$> inc `app` $>> right `app` dec
18:58:37 <lambdabot> Functor f => (a -> b) -> f a -> f b
18:59:10 <mroman_> why did I think <$> is some complicated cattheory stuff
19:00:10 <Melvar> In Haskell, anyway; one of the traps of Idris is that its (<$>) is Haskell’s (<*>) instead.
19:00:22 <idris-bot> Prelude.Applicative.(<$>) : Applicative f => f (a -> b) -> f a -> f b
19:00:22 <idris-bot> Effects.(<$>) : Eff (a -> b) xs (\v => xs) -> Eff a xs (\v7 => xs) -> Eff b xs (\v8 => xs)
19:00:22 <idris-bot> BotPrelude.LiftEq.(<$>) : (f = g) -> (x = y) -> f x = g y
19:00:31 <lambdabot> Applicative f => f (a -> b) -> f a -> f b
19:00:37 <Melvar> Or, well, one of them.
19:01:00 <mroman_> Just (\x -> x + 1) <*> Just 6
19:01:06 <mroman_> > Just (\x -> x + 1) <*> Just 6
19:01:47 <Bike> > [(+1), (+6), (*3)] <*> [8, 4, 8, 33]
19:01:52 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
19:02:08 <Bike> i guess [] isn't an applicative probably.
19:02:23 <Melvar> > [(+1), (+6), (*3)] <*> [8, 4, 8, 33]
19:02:24 <lambdabot> [9,5,9,34,14,10,14,39,24,12,24,99]
19:02:46 <Bike> lambdabot what'd i ever do to you
19:02:51 -!- doesthiswork has joined.
19:04:09 <Melvar> ( [(+1), (+6), (*3)] <$> [8, 4, 8, 33]
19:04:10 <idris-bot> (input):1:20:When elaborating an application of function BotPrelude.LiftEq.<$>:
19:04:43 <Melvar> Aha. I was wondering what the failure mode would be, and it did two failure modes at once.
19:04:49 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
19:05:00 <Melvar> ( with List [(+1), (+6), (*3)] <$> [8, 4, 8, 33]
19:05:00 <idris-bot> [9, 5, 9, 34, 14, 10, 14, 39, 24, 12, 24, 99] : List Integer
19:06:19 <Melvar> ( with Vect [(+1), (+6), (*3)] <$> [8, 4, 8]
19:07:51 <Bike> ha. so what's with do
19:08:52 <Melvar> I wonder, is there a name for Monads where for all mx and f, do { x <- mx; y <- mx; f x y } == do { x <- mx; f x x } ?
19:09:27 <Bike> with List, with Vect, wassat
19:10:26 <Melvar> “with NS expr” prefers names from namespace NS when elaborating expr, if ambiguity arises.
19:12:34 -!- AnotherTest has quit (Ping timeout: 250 seconds).
19:29:02 -!- Imaginer1 has joined.
19:29:20 <fungot> Imaginer1: i can confirm that technical measures cannot be allowed to continue, you also welcome the european commission’s argument, as regards the coordination of measures by the international criminal court is going to ask just one question: in this third series of speeches, even though not everything is, apparently, it is unacceptable, since a lot of difficulties with this.
19:37:36 -!- ais523 has joined.
19:42:26 <Imaginer1> I JUST WROTE A AWESOME PROGRAM IN THU
19:42:43 <Imaginer1> AND NOW THE THING FROZE AND I CAN'T SAVE IT OR EVEN COPY IT GAHDSIHG
19:49:58 <Imaginer1> I would add a counter to the javascript to let it prompt you every few hundred loops if you want to continue
19:57:58 <Sgeo_> Or don't use a Javascript loop at all?
20:00:35 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
20:04:41 -!- drdanmaku has joined.
20:05:49 -!- Phantom_Hoover has joined.
20:14:18 -!- Imaginer1 has joined.
20:14:21 <Imaginer1> Well, you kinda have to if you're using javascript to run Thue
20:14:51 <Imaginer1> i mean, the idea is 'find replacement -> substitute -> repeat while substitutions exist'
20:15:35 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate wiki chr ha rainbow rainbow2 welcome me tell eval elikoski list ping def a thanks tmp2 backwards output
20:16:35 <Imaginer1> Underload has no input support and that is soul-crushing
20:18:58 <ais523> I'm planning input support with Underlambda
20:19:01 <ais523> but it's actually really hard to do
20:19:03 <Imaginer1> Also, I have trouble understanding why -any- finite memory machine can be -entirely- turing complete
20:19:25 <ais523> Imaginer1: it can't be without some sort of access to an external memory store
20:26:19 -!- Hjulle has joined.
20:33:24 <Sgeo_> Is Unison considered good for file sync?
20:37:13 <fizzie> The Thue thing should probably just run a few hundred iterations and then reschedule itself using setTimeout; that way you don't need to prompt, yet you don't make an unresponsive browser (and can provide a "stop working" button somewhere on the page).
20:37:18 <fizzie> (Web Workers would be the fancy HTML5 solution to this.)
20:40:59 -!- barrucadu has joined.
20:45:19 <Sgeo_> Few hundred, instead of every?
20:45:48 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
20:48:29 <fizzie> Well, I'm no web developer, but my gut feeling is that there would be overly much overhead with an every-iteration setTimeout.
20:48:47 <fizzie> Depending, of course, how costly each iteration is.
20:52:27 <Melvar> I was remembering RequestAnimationFrame or whatever it’s called but that probably doesn’t work if you’re not animating something.
20:55:08 <fizzie> There seems to be a fixed 4ms lower bound for setTimeout(..., 0), so that'd give a hard upper limit of 250 replacements/second (if you were to call it on every round), which doesn't sound like very much.
20:55:40 <fizzie> Anyway, Web Workers lets you spawn real OS-level background threads so it's clearly superior, if more convoluted.
20:55:46 <ais523> Melvar: RequestAnimationFrame is basically the web equivalent of vsync
20:55:56 <ais523> except it isn't literally vsync IIRC, just vaguely similar
20:57:02 <fizzie> Apparently there's also a very non-standard interface called (silly name) setImmediate: https://developer.mozilla.org/en-US/docs/Web/API/Window.setImmediate
21:00:12 -!- rollertrump has joined.
21:03:39 -!- Patashu has joined.
21:08:26 <Melvar> ais523: To my understanding, it’s about the browser saying when and how often rendering should happen, such as not at all if none of the window or tab is visible.
21:25:12 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
21:26:27 -!- Patashu has quit (Ping timeout: 245 seconds).
21:32:22 -!- qlkzy has quit (Ping timeout: 240 seconds).
21:32:28 -!- impomatic has quit (Read error: Connection timed out).
21:35:51 -!- oerjan has joined.
21:36:03 -!- Phantom_Hoover has joined.
21:36:33 -!- callforjudgement has joined.
21:38:42 -!- ais523 has quit (Ping timeout: 255 seconds).
21:38:48 -!- callforjudgement has changed nick to ais523.
21:41:59 -!- qlkzy has joined.
21:58:05 -!- Imaginer1 has joined.
21:58:42 <Imaginer1> it stops after what should be the second loo and freezes up
22:01:02 <fizzie> elif cmd in responses.keys():
22:01:03 <fizzie> responses[prevout].append(cmd)
22:01:26 <fizzie> You test for 'cmd', yet try to look up 'prevout'.
22:01:45 <Imaginer1> thanks ^^ i knew it would be something dumb
22:01:54 <fizzie> (Same for the other branch.)
22:06:25 -!- vravn has joined.
22:07:17 <fizzie> Incidentally, foo.setdefault('key', []).append('x') may come in handy: http://sprunge.us/LZHd
22:07:20 <fizzie> Might be slightly suboptimal w.r.t. creating and discarding the [] every time.
22:12:57 <Imaginer1> I just wanted to demonstrate how I was told Cleverbot worked to a friend.
22:13:06 <Imaginer1> But actually, I think I might mess around with this :D
22:13:25 <Imaginer1> But for it to be useful I'll add a $(words) that lets you think 'for the computer'
22:20:31 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
22:41:43 -!- Hjulle has quit (Quit: Konversation terminated!).
23:45:24 -!- doesthiswork has quit (Ping timeout: 260 seconds).
23:45:49 -!- ais523 has quit.
23:52:12 <Sgeo_> It seems weird that to and from aren't opposites
23:52:32 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:57:44 <shachaf> with pure profunctor lenses you can make a much better from
23:58:31 <Sgeo_> I know how to write from I think, but what's the name of that profunctor?
23:58:40 <Sgeo_> Unless you mean make from and to actual opposites
23:59:16 <shachaf> That's boring. The inverse of to is view.