00:04:06 -!- aloril has quit (Ping timeout: 252 seconds). 00:04:23 the #2 link on reddit.com/r/haskell is incredible 00:05:23 * kmc fails a "better judgement" roll 00:06:40 i like "do" it lets me think that "i get into monad naow" 00:07:55 no kmc don't do it 00:07:56 this is no fucking idea? 00:08:19 is this spam 00:10:08 is what spam 00:10:13 the fork io thing 00:10:17 me talking about it in this channel? 00:10:31 who can tell what's spam 00:10:40 truly we live in a post-animal world 00:10:55 is people using @faq six times in a row in #haskell spam 00:11:26 prrrrrobably? 00:12:22 does that go to my faq now 00:12:39 no 00:12:40 it should 00:12:50 sigh 00:12:50 int-e: Can you make @faq link to the FAQ on the wiki? 00:12:52 @where faq 00:12:52 http://www.haskell.org/haskellwiki/FAQ 00:12:56 i thought that changed in the past 00:12:58 int-e: U+261D 00:13:03 maybe it changed back :'( 00:13:10 whatever Not My Problem™ 00:13:44 my /ignore list is now 37 entries long 00:13:51 perhaps i can make #haskell good that way 00:16:27 i like "do" it lets me think that "i get into monad naow" 00:16:45 > do '!' 00:16:47 '!' 00:17:00 that's a quote from the author in that reddit thread 00:17:03 :3 00:17:35 > Just $ do x :: Int 00:17:36 Couldn't match expected type `GHC.Types.Int' 00:17:36 with actual type `Debug.SimpleReflect.Expr.Expr' 00:17:36 Er. 00:17:42 > Just $ do 5 :: Float 00:17:42 Just 5.0 00:17:48 kmc: OKAY 00:18:35 :t \x -> \y -> x + y :: Int :: Int -> Int :: Int -> Int -> Int 00:18:35 Int -> Int -> Int 00:18:50 * oerjan blinks 00:19:12 ow 00:19:14 is that ... correct 00:19:19 why not 00:19:37 it's parsing as (\y -> x + (y :: Int)) :: Int -> Int etc right 00:19:58 Bike: um pretty sure the x + y go together. 00:20:04 The x + y go together. 00:20:08 whatevs 00:20:19 (\y -> (x + y) :: Int) :: Int -> Int and so on. 00:21:09 i suppose it's correct. 00:21:25 the second :: forces the inner lambda to end. 00:23:35 > do do do 5 :: Int :: Int :: Int 00:23:36 5 00:23:42 thought so. 00:24:02 i guess that's more plainly by the } insertion rule 00:25:02 -!- Sgeo has joined. 00:25:26 > let in let in let in 5 :: Int :: Int :: Int 00:25:28 5 01:05:56 -!- doesthiswork has joined. 01:08:25 -!- Phantom_Hoover has joined. 01:18:12 Tekmo is usually awesome, but is http://www.haskellforall.com/2013/02/you-could-have-invented-comonads.html ok, or is it just going to be bad? 01:18:29 (It's the 'comonads are objects' article) 01:20:05 istr people didn't generally agree with the assessment. 01:20:29 i disagree with most of his assessments 01:20:36 -!- muskrat has quit (Quit: Leaving). 01:20:47 shachaf: what, why do you hate categories 01:21:23 can't stand associative operations 01:21:32 esp. if they have identities 01:22:18 shachaf: hm, i think you may have dissociative identity syndrome. 01:23:06 oh sorry, *disorder 01:23:39 disørjan 01:25:46 -!- Sprocklem has joined. 01:29:08 -!- Slereah_ has joined. 01:29:49 -!- Slereah has quit (Ping timeout: 265 seconds). 01:30:53 -!- Sorella has quit (Remote host closed the connection). 02:03:31 http://cokmett.github.io/cokmett/ 02:05:18 wow 02:05:28 also i'm in that photo 02:05:57 i'm the guy in the back with the "Bevar Christiania" shirt 02:06:08 and no head or right arm or legs 02:09:19 i can confirm that kmc has no head 02:09:25 along with me and douglas harding 02:10:09 what happened you your heads and right arms and legs 02:10:38 i have right arms and legs 02:10:43 loaned them out for some quick cash 02:11:10 arms and legs are worth a lot 02:11:25 is a cis pair worth more than a trans pair 02:11:33 c.c 02:12:08 whew i was wondering if that type declaration was ever going to end 02:12:09 -!- Slereah_ has joined. 02:12:39 (3rd or 4th attempt) 02:12:54 i was hoping it wouldn't 02:13:33 -!- Slereah has quit (Ping timeout: 272 seconds). 02:19:30 * kmc -> afk 02:21:02 surely you mean kmc :: Semidetachedoid a f k 03:10:34 doesthiswork: context plz 03:11:06 * oerjan checks logs 03:11:16 -!- Phantom_Hoover has quit (Remote host closed the connection). 03:12:01 6:05 03:12:33 @time doesthiswork 03:12:41 now what 03:12:50 @time oerjan 03:12:53 oerjan: kmc's messages at :05. 03:12:53 Local time for oerjan is Fri Dec 13 04:12:51 2013 03:13:13 Bike: i'm really just making a timezone statement here. 03:13:14 woops sorry i forgot about time zones 03:14:01 also i found ph's message after missing it the first time i searched 03:14:58 and if it helps I was making a reference to full metal alchemist 03:15:44 OKAY 03:15:48 (tdnh) 03:16:55 Tall Dark and Not Handsome? 03:18:57 team devil not him, about a dispute in the power puff girls fan dom 03:21:05 `? tdnh 03:21:06 Traceback (most recent call last): \ File "/usr/bin/umlbox", line 296, in \ conff.close() \ IOError: [Errno 28] No space left on device 03:21:17 that should clear it up. 03:21:44 makes perfect sense now 03:22:40 awkward 03:22:49 `true 03:24:44 No output. 03:24:54 I need a bigger VPS @_@ 03:24:59 `run true; echo $? 03:25:01 0 03:26:36 `run filenotfound; echo $? 03:26:38 bash: filenotfound: command not found \ 127 03:27:39 `run cat filenotfound; echo $? 03:27:40 cat: filenotfound: No such file or directory \ 1 03:27:54 `run cat --filenotfound; echo $? 03:27:55 cat: unrecognized option '--filenotfound' \ Try `cat --help' for more information. \ 1 03:28:04 weak 03:28:26 i thought you weren't supposed to return 1 on syntax errors 03:37:13 There's not much in terms of exit code convention other than "0 is okay, anything else means something went wrong." 03:39:28 http://www.youtube.com/watch?v=qw7y4_JDkRM roguelike 03:39:49 yeah are exit codes even used for anything but && and so on. 03:41:13 Gregor: what exactly happens if we ask hackego to write a really big file? and then we keep doing that? it seems reasonable to think that we could write quite a lot of useless data in under hackego's timeout 03:41:14 some commands document multiple non-zero exit codes and some scripts may use them but i'm not thinking of an example right now 03:43:46 quintopia: It has filesize limits as well as time limits. 03:44:29 -!- LinearInterpol has quit (Ping timeout: 252 seconds). 03:44:48 Gregor: is there any limit on the rate of file creation 03:45:02 Not really, I suppose. 03:45:20 not that i'm actually going to try and ddos hackego 03:45:22 just curious 04:03:04 -!- ^v has quit (Quit: http://i.imgur.com/MHuW96t.gif). 04:05:44 -!- CADD has joined. 04:19:24 -!- carado has quit (Ping timeout: 252 seconds). 04:22:51 -!- conehead has joined. 04:24:54 -!- doesthiswork has quit (Quit: Leaving.). 04:26:58 -!- pikhq has quit (Ping timeout: 246 seconds). 04:28:54 -!- pikhq has joined. 04:29:00 -!- ^v has joined. 04:29:31 -!- ^v has quit (Client Quit). 04:59:12 -!- tromp has quit (Remote host closed the connection). 05:14:10 -!- Bike has quit (Ping timeout: 240 seconds). 05:19:03 -!- Sprocklem has quit (Ping timeout: 250 seconds). 05:19:46 -!- Bike has joined. 06:38:16 Maybe reading a paper about a hypothetical syntax for comonads may help 06:38:46 hypothetical, it may 06:38:51 *+ly 06:39:18 -!- conehead has quit (Quit: Computer has gone to sleep.). 06:41:25 Oh, I get it (well, the notation... I think) 06:47:17 `? monad 06:47:20 Monads are just monoids in the category of endofunctors. 07:00:01 -!- earthereal has joined. 07:03:25 http://www.geekwork.com/opportunity/2270-job-vintage-system-software-developer-and-administrator 07:06:13 `run echo 'Monads are just free monad monad monad algebras.' > wisdom/monads 07:06:17 No output. 07:07:17 `rm wisdom/monads 07:07:21 No output. 07:07:33 oerjan: ? 07:07:37 please learn how ? works thx 07:07:45 `? monoid 07:07:47 Monoids are just categories with a single object. 07:07:48 `? monoids 07:07:49 Monoids are the easy version of categories. 07:07:54 oh hm 07:07:55 imo precedent 07:07:58 `revert 07:08:02 Done. 07:08:10 * oerjan had forgot what he learned 07:08:51 i'm not sure i approve of having separate plural entries in general. 07:08:56 Oh, I could even have used `learn there. 07:09:01 no. 07:09:07 `cat bin/learn 07:09:08 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(a\|the\) //;s/s\? .*//') \ info=$(echo "$1" | sed 's/[^ ]* //') \ echo "$1" >"wisdom/$topic" \ echo "I knew that." 07:09:08 Oh, `learn drops the plural too? 07:09:13 h8r 07:09:13 yep 07:09:28 new feature, it now also drops articles 07:09:32 Can we have multiple possible values for a key? 07:09:40 Then `quote can be a special case of `?. 07:10:10 ಠ_ಠ 07:10:10 ¯|¯⌠ 07:10:10 /^\| 07:10:44 ttha_ttha 07:10:59 hi myndzi ꙮ_ꙮ 07:11:10 shachaf: btw i think the only reason wisdom/monoids exists is that both entries were added before learn/?'s plural handling. 07:11:38 -!- Bike has quit (Quit: Reconnecting). 07:11:52 -!- Bike has joined. 07:11:57 oerjan: Hmm, I think I added it to test how the plural handling works or something. 07:12:00 I don't remember. 07:12:21 Anyway, picking a random wisdom line sounds good to me. 07:12:27 it is possible i'm thinking about another entry. 07:13:24 `run echo 'Monoidal categories are just 2-categories with a single object.' > wisdom/'monoidal category' 07:13:28 No output. 07:14:03 is that true. 07:14:12 isn't it 07:14:38 i suppose i may be thinking of monoidally closed categories. 07:15:39 that's a monoidal category where tensor product has a right adjoint, right 07:16:04 "##Just like for any category E, the full subcategory spanned by any given object is a monoid, it is the case that for any 2-category E, and any object C∈Ob(E), the full 2-subcategory of E spanned by {C} is a monoidal category." 07:16:16 i suppose that hints at your claim. 07:17:07 https://unapologetic.wordpress.com/2007/08/16/2-categories/ 07:18:54 oh, that post talks about the category where the arrows are adjunctions 07:18:59 apparently it's a 2-category 07:19:24 i moved all kinda shit around on my computer, and now the shell and the launcher pane both can't find firefox automatically. and i was pretty sure the links were aimed correctly 07:19:35 i mean, an interesting one 07:19:39 ok 07:19:52 -!- oerjan has quit (Quit: Nite). 07:20:05 makes sense, i guess, pairs of natural transformations 07:20:12 does this extend to chu spaces somehow 07:20:24 if link to firefox, will the system chase all those softlinks to launch it? 07:20:28 what 07:20:31 lag 07:20:35 * quintopia retypes all that 07:21:43 if that one environment variable says to look for things to launch in /usr/bin and /usr/bin is actually a soft link to /usrbin and /usrbin contains a soft-link to firefox elsewhere, will the system properly chase all those links to launch it 07:23:55 -!- prooftechnique has quit. 07:25:37 -!- FreeFull has quit. 07:30:48 -!- Bike has quit (Quit: restarting). 07:31:07 -!- Bike has joined. 07:40:22 I think it was better before the retyping. 07:41:49 quintopia: it should yeah 07:41:54 why the hell do you have a /usrbin? 07:42:02 there is some maximum symlink depth 07:42:22 but also I think that would apply to a single filename lookup, and not to e.g. chasing links to find a directory, and then to find files in that directory 07:43:00 There can be more than one maximum symlink depth, it's not terribly well standardized, but I concur with kmc that it doesn't aggregate across different path name components. 07:43:07 -!- earthereal has quit (Quit: Leaving). 07:43:39 -!- ThatOtherPerson has joined. 07:43:42 myname: /usr is on a very small partition. i needed to install something new, so i just moved /usr/bin up to / to make space 07:43:44 hooray concurrency 07:43:53 Hey, can someone help me understand Lazy K? 07:43:53 :S 07:44:24 yeah i have no idea what's causing this problem then. 07:50:11 Processing Data: c02c0202.mfc; Label c02c0202.lab ERROR [+6510] LOpen: Unable to open label file /[REDACTED]/c02c0202.lc02c0202.mfc why are you looking for a file with a retarded name like that? 07:50:24 Oh, maybe it's yet another buffer overflow problem. 07:51:08 yabop 07:51:10 unable to open file \x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90 07:51:43 Oh yes, the (non-redacted) path is 268 characters, and "c02c0202.mfc" is 12, and 268-12 is 256, and 256 characters should be enough for everyone. 07:52:00 unable to clopen file 07:52:21 open(filename, O_CLOSE) 07:53:07 clearly creat is just clopen(filename, O_CREAT) 07:53:27 O_CANADA 07:53:42 O_NOW_I_SEE 07:53:51 O_M_G 08:01:14 -!- ThatOtherPerson_ has joined. 08:03:24 -!- ThatOtherPerson has quit (Ping timeout: 246 seconds). 08:08:38 -!- ThatOtherPerson has joined. 08:10:58 -!- ThatOtherPerson_ has quit (Ping timeout: 265 seconds). 08:16:55 is there a language where every command just toggles some binary state 08:19:17 "Haskell, the warm fuzzy nuclear waste." 08:20:47 @let (☢) = (>>=) 08:20:47 Parse failed: Illegal character ''\152'' 08:20:59 unicode 'fuck you' sign 08:21:27 wait they have that now, "Reversed Hand with Middle Finger Extended" 08:21:41 gah unicode 08:21:50 where do they come up with all that shit 08:21:53 japan 08:22:10 420 smoke japan every day 08:22:14 is the middle finger thing like UCS3 or something 08:22:50 hm? 08:23:25 !SENT_START BELIEVE ME WE HAVE BE KIND OF AMERICA THIS IS TO COST SAYS !SENT_END 08:23:37 it's in Unicode 7.0 and I don't think there's a corresponding ISO/IEC 10646 version yet 08:23:54 it's in the Supplementary Multilingual Plane 08:23:59 ah 08:24:11 U+1F595 08:24:12 apparently middle fingers are pretty universal 08:24:13 -!- farrioth has joined. 08:25:55 U+1F596 RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS 08:26:11 ...spock? 08:26:21 "ring finger"??? that's not culturally neutral 08:26:40 spock is not culturally neutral 08:26:47 http://www.babelstone.co.uk/Blog/Images/1F594_5_6.png that hand looks really awkward. 08:26:49 VERY AMERICA SO JEW 08:27:23 But it's good to finally get the REVERSED VICTORY HAND to complement the VICTORY HAND of the BMP. 08:27:40 (Now, is that REVERSED (VICTORY HAND) or (REVERSED VICTORY) HAND?) 08:27:56 now all we need is RAISED HAND WITH EXTENDED INDEX AND MIDDLE FINGERS TOGETHER AND EXTENDED LITTLE FINGER 08:28:07 Reversed victory, a well-known euphemism for a defeat. 08:28:20 I didn't fail, I just reverse-succeeded. 08:28:47 kmc: it's a total shocker to me they haven't already 08:29:44 * quintopia wonders if finland gets kmc's joke 08:29:56 hi finland 08:30:12 there are a lot of finland here. are you talking to all of them? 08:30:20 This part of Finland didn't. It must not be culturally neutral. 08:33:20 -!- ThatOtherPerson has quit (Ping timeout: 245 seconds). 08:33:53 Oh, it's that thing, I had in fact heard of it. 08:34:14 http://ru.wikipedia.org/wiki/%D0%A8%D0%BE%D0%BA%D0%B5%D1%80_(%D0%B6%D0%B5%D1%81%D1%82) w/ rhyme translations 08:34:15 Good morning. 08:34:24 good mroman to you too 08:35:09 I hope nobody reads my name as Mr. Oman 08:35:47 Although I'd have nothing against owning some rich-of-oil sultan-state 08:35:48 nope 08:35:51 mroman: I read it as morman for a second. 08:35:57 it's definitely Mr. O. Man 08:36:02 `relcome farrioth 08:36:06 ​farrioth: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 08:36:08 Mr. O-Man 08:36:17 Eww, colors. 08:36:25 taste the rainbow 08:36:34 mroman: how should I read it? 08:36:43 * farrioth prints. 08:36:47 * farrioth eats. 08:36:56 m. roman 08:37:01 As I said, eww, colors. 08:37:13 The m is just there because "roman" is already taken 08:37:15 `WeLcOmE farrioth 08:37:18 FaRrIoTh: WeLcOmE To tHe iNtErNaTiOnAl hUb fOr eSoTeRiC PrOgRaMmInG LaNgUaGe dEsIgN AnD DePlOyMeNt! FoR MoRe iNfOrMaTiOn, ChEcK OuT OuR WiKi: . (fOr tHe oThEr kInD Of eSoTeRiCa, TrY #eSoTeRiC On iRc.dAl.nEt.) 08:37:29 and the m is the first letter of my laste name 08:37:32 Is there a leet version? 08:37:43 `W31c0m3 farrioth 08:37:45 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: W31c0m3: not found 08:37:46 I hope not. 08:37:59 -!- CADD has quit (Ping timeout: 272 seconds). 08:38:06 Incedentally I've read the wiki for a while. 08:38:09 mroman: you could be Mr Oman 08:39:03 have you posted there 08:40:05 quintopia: From memory I made some minor edits to the Befunge page a while ago. 08:40:49 It's the only language I'm reasonably good at. 08:40:55 are you more of an implementation, use, or design sort of person 08:40:56 Well, that and Python. 08:41:36 quintopia: Use, although I wrote a Befunge-93 interpreter the other day. And I'v had a few vague design ideas. 08:55:40 -!- Slereah_ has quit (Remote host closed the connection). 08:56:44 -!- Slereah has joined. 08:57:47 You could write an interpreter for spacefish 1D 08:58:49 mroman: It's in need of one? 08:58:55 Yeah 08:59:34 It's based on the idea of antennas sending data at some specific level/amplitude 08:59:48 and an outside observer measures the level/amplitude/intensity of the signal 09:00:09 however, if other antennas near other antennas also emit signals they overlap and cause distortien 09:00:40 http://esolangs.org/wiki/Spacefish 09:00:58 That and you can't place antennas outside the range of other antenas 09:01:23 that's the idea. And I figured that could be applied to Brainfuck 09:01:41 mroman: I was about to say, it looks like Brainfuck2D with distortion. 09:02:01 It esentially is Brainfuck with distortion, yes 09:03:43 but it would be boring if you could just use every 256th cell so you'll always be out of distortion range of any other cell 09:03:49 therefore you only start with one cell 09:03:59 and the range of distortion expands the space 09:04:19 which means that a cell outside the range of distortion of any other cell is actually a non-existing cell 09:04:32 (i.e. that space does not exist outside distortion ranges) 09:04:45 I get it. 09:05:29 The code there is for the 1D version, right? 09:06:11 Yeah 09:06:34 The code there uses a fixed array and just skips over undistorted cells when doing > or < 09:06:40 there might be better approaches to handle this 09:06:58 What is the data structure of space[ptr]? It's a list of length 2... 09:06:59 the distortion is log2 09:07:09 * farrioth is better at writing code than reading it. 09:07:20 farrioth: space[ptr][0] is the level the antenna is sending at 09:07:28 and space[ptr][1] is the distortion 09:07:30 but yeah. 09:07:35 It's probably better to start with clean code :) 09:07:46 I'm not really a Python guy 09:09:39 Fair enough. 09:09:50 Python does allow for comments though, you know... 09:11:07 So the data is basically a tape which is writable only adjacent to filled cells? 09:16:58 i like python 09:17:02 Cells store integers, right? 09:17:25 it's only writable in *distorted* cells 09:17:29 which may not be adjacent 09:17:53 mroman: why "spacefish" 09:18:11 Cool. If a cell was distorted, but then ceases to be distorted does it remain writable? 09:29:05 Can you move the pointer to a cell that isn't writable? 09:30:12 !SENT_START NO ONE'S U. S. FOR THE F. S. R. I. C. NEEDS MORE MONEY !SENT_END 09:30:55 fungot: Why can't you ever sound as intelligible as these outputs? 09:30:55 fizzie: no, it's fun!!! fnord is not). 09:33:11 farrioth: Then the cell dies 09:33:26 if a cell moves out of the distortion range of another cell it ceases to exist 09:34:46 the fact is, that two non-adjacent cells can become adjacent if the space between those cells ceases to exist 09:35:07 like uhm 09:35:16 [1,2,1] 09:35:39 mroman: Oh hell. 09:35:55 hm wait 09:36:16 I assume that can happen :) 09:36:41 on wait no 09:37:10 farrioth: I think we recently discussed in this channel 09:37:20 that every cell must have a "path" to the initial cell 09:38:27 that means: If you have [1,0,*1*,1] (where ** denotes the initial cell) 09:38:37 you actually have to delete the first element 09:38:37 That means that, in practice, the indeces of your data change. 09:39:05 ah. replace the initial cell with 2 09:39:13 [1,0,*2*,1] <- so 09:39:15 And also that you can never read a 0, which makes ( useless. 09:39:40 If I'm not mistaken, which I might be. 09:39:55 But I know I am hungry, so will be back soon. 09:39:56 If you intially had [1,0,8,1] but decrement it to [1,0,2,1] 09:40:15 the space shrinks to [0,2,1] 09:41:00 i've just sneezed for the seventh time in a row help 09:41:15 this room has no tissues for my issues 09:41:18 You can think of it as every antenna must be able to send data to the initial antenna (other antennas might repeat that data) 09:41:37 nvm found some 09:41:45 farrioth: It's probably wise to have index 0 be the initial cell 09:41:51 and index -1 to be the cell left to it 09:41:56 and index 1 to be the cell right to it 09:42:38 farrioth: And you can read a zero 09:43:04 If you have the value 255 in a cell which is distorted by 1 09:43:12 the measurable value changes to 0 09:43:19 (wrap around like brainfuck) 09:43:25 mroman: Ah, yes, that makes sense. 09:44:03 Theres the cell's own value (the intensity the antenna is sending at) and a measurable value 09:44:46 mroman: So the cell disappears if the 'sending' value is zero, but not if the 'recieving' value is zero. 09:44:54 mroman: ? 09:45:24 mroman: you know what would be fun? a language where you can put antennas anywhere, but they are the only way to modify cells. Plus, they don't just attenuate normally, they create standing alternating waves that constructively and destructively interfere. 09:45:48 farrioth: Well... 09:45:57 a cell disappears if it is not affected by distortion 09:46:10 so cell with sending value 0 do exist 09:46:28 Initially you start with [0] 09:46:34 ^- your initial cell 09:46:39 if you increment it to two 2 09:46:47 you have a distortion range of 1 around that cell 09:46:52 therefore space expands to [0,2,0] 09:47:21 if you decrement the initial cell to 1 the distortion range drops to zero 09:47:30 and therefore space shrinks to [1] 09:48:28 mroman: If the sending value can never be 0, that would mean that it is impossible to read a 0. 09:48:50 farrioth: you know how when you hold an antenna close to another antenna there's a lot of feedback and things change rather unexpectedly and nonlinearly? 09:49:06 farrioth: be warned that situations like that are common in spacefish 09:49:33 * farrioth is warned. 09:49:41 farrioth: the sending value can be zero. just probably don't want to try to read a zero from the initial cell 09:50:07 farrioth: Like I said: The sending value can be zero 09:50:42 A sending value expands the space by log2 of its sending value 09:52:21 mroman: < mroman> so cell with sending value 0 do exist 09:52:36 so a cell with value zero makes contracts all of space to a point (by expanding space by negative infinity) 09:53:16 or does that just expand space infinitely in the opposite direction? 09:53:36 You want to expand space by 1/inf I think. 09:53:46 And so the point does still exist? 09:53:59 farrioth: but log_2(0)=-infty 09:56:10 But you were using the log values to calculate the effect on other cells, not to move/delete them, right? 09:56:37 A cell with sending value 0 does not expand space 09:56:42 it does not distort anything 09:56:44 but it can exist 09:57:04 Okay. 09:57:09 farrioth: You have to delete all cells (except the initial cell) that are not distorted 09:57:16 -!- mrclarinet has joined. 09:57:20 http://codepad.org/foE6Odji 09:57:24 ^- see here 09:58:59 mroman: That makes much more sense, thanks. 10:00:19 You can start at the initial cell 10:00:26 and search to the left for the first undistorted cell 10:00:46 and then remove the undistorted cell and every cell to the left of that cell (because it has no connection to the initial cell anymore) 10:00:51 then the same thing to the right 10:01:54 Ah okay, so the undistorted cells don't just cease to exist and collapse, but the 'tape gets cut off' at an undistorted cell. 10:02:25 Which means I can implement it as left and right lists, which is handy. 10:02:34 Like INTERFUNGE. 10:03:06 http://codepad.org/VUryyN4C <- like in this scenario 10:03:16 the two eights would keep each other alive 10:03:25 but they have no connection to the initial cell (4) 10:03:35 so the two eights must die 10:03:42 farrioth: Yes @Left and right lists 10:04:12 farrioth: Yep @cut off 10:04:25 Cool. 10:05:48 Using log_2() for distortion means that the values may be floats, but the cells only store ints, right? 10:06:27 So how does it work if I read a value (with distortion), which is a float, increment it, and store it in a cell (as an int)? 10:06:30 Cells are 8 bit values unsigned integeres 10:06:38 farrioth: Use floor 10:06:48 it's much harder in spacefish 2D. you have to reverse the distortion of a deleted cell before you can figure out what else needs deleting. unless you maintain a tree that maps the connections of every written cell to the initial cell. 10:08:08 farrioth: count the number of bits starting from the most significant 1 bit. then subtract 1. that's how far out the distortion goes. the distorted cell has floor (1/2*sending cell). 10:08:15 farrioth: The distortion of 255 is 127, 63, 31 and so on 10:08:28 mroman: Okay. 10:09:11 quintopia: Can't you just use the distortion matrix itself to check for connections? 10:09:31 farrioth: in the 2D case or what? 10:10:12 math.floor(math.log(sendingValue)/math.log(2)) is how far a cell distorts 10:10:24 and the distortion is cut in half at every cell 10:10:33 quintopia: Yes. 10:11:54 farrioth: that's the first method. modify the distortion matrix as a result of a cell deletion, then see if that caused any other deletions. propagate as needed. it works, but means some operations might suddenly hang the interpreter while it propagates a massive wave of cell deletions. 10:12:23 quintopia: You'd get that with any method, wouldn't you? 10:13:05 mroman: That's the same as math.floor(math.log(sendingValue, 2)), isn't it? 10:13:08 farrioth: it's even harder than that. you can't just check to see if a cell's distortion is zero to delete it. a cell with with positive distortion might require deleting. 10:13:49 quintopia: Oh? 10:14:08 somehow you have to keep track of whether it is being distorted by something connected to the root or not. which means tracing everyone that's distorting it and seeing if any lead to the root. 10:14:21 so i think storing the tree of connections ends up being much faster 10:14:27 s/tree/graph 10:14:38 or DAG really 10:14:46 Anyhow, I though you were using log_2(foo) to calculate the value of the distortion, not its distance, am I wrong? 10:14:56 farrioth: righto. 10:15:12 No 10:15:25 oh no 10:15:29 listen to mroman 10:15:29 The distortion is sendingValue * (0.5^distance) I think 10:15:40 It's just halfed with increasing distance 10:15:49 mroman: don't forget the floor 10:15:59 and yeah. Floor 10:16:07 So we don't actually use a log? 10:16:15 farrioth: No you don't have to use log at all 10:16:18 mroman: also floor(log(sending,2))=number of bits of sending -1 :D 10:16:28 mroman: Okay, that makes it easier. 10:17:10 mroman: except at zero where floor(log(sending,2)) = -infty, but #bits-1 = 0. which means #bits-1 is better 10:17:13 You can just iterate to the left and right and divide by two 10:17:26 until it is 0 10:17:29 mroman: Cool, doing that now. 10:17:57 That's what my sucky-python-demo did 10:18:59 mroman: do you think you're up to the challenge of writing a working 2D version? :D 10:19:14 Probably not :( 10:19:38 You can get irregularly shaped space I think 10:19:44 well 10:19:54 should be posible with bounding rectangle magic 10:19:58 *possible 10:20:21 but you'd still have to keep track of actuall *existing* cells when moving around with > whatever space is, it will always be a finite union of rectangles 10:20:36 quintopia: Yep. 10:20:41 union of overlapping squares really 10:20:59 true 10:21:33 farrioth: Btw: IO and loops work on measurable values 10:21:38 mroman: it's not really a hard problem i think. just iterate quick over undistorted cells in your array (wrapping if necessary) until you hit another distorted one 10:21:53 quintopia: But that would not be very efficient 10:22:09 I think 10:22:16 mroman: in practice it would not be nearly so slow as the huge mess that space deletion would be 10:22:28 Good point 10:22:45 yeah 10:22:46 mroman: How do you output a float as a character? 10:22:58 you'd just need to handle the occasional space expansion 10:23:01 farrioth: There are no floats 10:23:08 Everything is an integer 8bit 10:23:08 farrioth: why are you using floats 10:23:10 like in brainfuck 10:24:14 Since a cell is 8bit 0-255 and distortion is also an integer 10:25:13 quintopia: Because I forgot we were using floor; ignore me. 10:25:28 You can just do integer arithmetic 10:25:47 Integer arithmetic automatically floors stuff ;) 10:25:56 5 / 2 = 2 10:26:17 `python print (5 / 2) 10:26:18 python: can't open file 'print (5 / 2)': [Errno 2] No such file or directory 10:26:27 mroman: i think if you used a linked-grid instead of an array as your data structure, you could do some real magic. so in addition to each cell having its address (which is used to figure out when you should stop filling space between and start modifying existing space), it has links to cells above and below, left and right, cyclic. you can insert space and remove space in constant time anywhere you need it. 10:27:03 then > and < and v and ^ would be constant time too 10:27:07 `run python -c 'print 5 / 2' #itym 10:27:08 2 10:27:32 Though in Python 3, IIRC, it doesn't. (You have to write // explicitly for the integer division.) 10:28:05 `run python -c 'from __future__ import division; print 5 / 2; print 5 // 2;' 10:28:07 2.5 \ 2 10:28:46 mroman: imagine a relativistic spacefish, where rather than expanding the distortion distance, incrementing a cell actually *created space* 10:29:01 i feel like such a language needs to exist 10:30:42 uhm 10:30:50 Spacefish does exactly that? 10:31:06 it doesn't create space 10:31:15 it just expands into space 10:31:28 What's the difference? 10:31:34 if i write to two cells five apart, those two cells will always be five cells apart 10:31:56 unlike in the universe, where distance galaxies get ever further away due to the expansion of space between us and them 10:31:57 ah. I see what you mean 10:31:58 How's this for calculating distortion? http://susepaste.org/20821743 10:33:20 What's in arr? 10:34:21 mroman: You pass it a single-item list containing the sending value which causes the distortion. 10:35:04 does this distort in both directions? 10:35:15 and it does not seem to be iterative 10:35:30 if I pass in [255] it becomes [255,128], right? 10:35:38 ah wait 10:35:42 it's recursive :D 10:35:54 yeah, seems about right 10:37:26 -!- ThatOtherPerson has joined. 10:40:00 mroman: Cool. It doesn't do it in both directions; you just copy it and flip it over. 10:42:24 -!- Taneb has joined. 10:44:44 farrioth: in practice, you might have to distort cells that already exist. so you can't just blithely append. check if there's already a cell first!!!!! 10:45:30 quintopia: I'm not appending the distortion values output by that function, I'm summing them with the relevant part of the distortion map. 10:45:48 oh 10:45:51 okay :) 10:46:03 currentDistortion = Distort([value]) 10:46:03 for i in range(1, len(foo)) 10:46:04 distortionMap[pointer+i] += currentDistortion[i] 10:46:28 Which distorts to the right. 10:46:42 s/foo/currentDistortion/ 10:47:13 Except that only sums, it won't handle appending. 10:47:21 Appendages? 10:47:24 and in the same loop doing pointer-i gets the left side. got it. 10:47:46 Yeah. 10:47:50 appending would be a simple if statement 10:48:01 deleting a bit more complicated but i think you got it 10:48:01 Until pointer goes negative. 10:48:42 when pointer goes negative you append and shift? 10:48:48 *prepend 10:50:02 Yeah. I just need some methods for a distortionMap class to handle that transparently. 10:50:39 makes sense 10:53:01 -!- Sorella has joined. 10:53:37 -!- Sorella has quit (Changing host). 10:53:37 -!- Sorella has joined. 10:53:52 farrioth: don't negative indices address from the end of the list? 10:54:05 in python 10:54:53 quintopia: Yes, but we don't want that to happen. 10:55:11 farrioth: then i have a way to do it that will require less program logic 10:55:20 quintopia: Go ahead. 10:57:03 farrioth: what is the pythonic linked list that allows constant time insertions "in the middle" 10:57:37 quintopia: I have no idea, sorry. 10:57:48 You can insert into regular lists 10:57:55 it's probably not constant time but who cares :) 10:58:22 farrioth: okay cool. just start with a marker element (-1 would be out of band here) and have the represent "infinity". if you go to add distortion to this element while distorting to the right, insert an element before it and use that instead. if you go to add distortion to it while distorting to the left, insert a cell after it and use that instead. 11:00:21 and when you delete to the right, delete the same cell until it is the sentinel. when you delete to the left, compute a bit, and delete after the sentinel enough to bring the new "left" there, or go delete from the beginning. 11:00:22 That seems equivalent to prepending/appending if the element to be distorted is out of range to the left/right, which is what my plan was. 11:01:29 farrioth: it MAY be equivalent. but in my mind, it seemed like it would eliminate the need for bounds checking. 11:01:59 forget i mentioned it 11:02:01 it's late 11:02:07 slash early 11:02:16 quintopia: -1 is basically a boundary marker, so checking for it is just like checking for bounds. 11:02:29 And for deletion, I was going to use slices. 11:02:35 righto 11:02:55 but you're doing a bad job slicing out the part of your own memory where i said all that 11:03:55 -!- aloril has joined. 11:04:01 My memory is large, so the slice operation takes a while to return. 11:04:25 fungot: how large is your memory 11:04:25 shachaf: the lectures are better than fnord. so maybe in february, i was 11:04:39 fungot was 11:04:39 shachaf: it's like programming in general). however, i think we're going to be 11:04:51 fungot: you're bad at complete sentences, you know that? 11:04:51 shachaf: i can imagine it's not that the definitions come after the effect, there's no reason to define both a procedure foo* and a thin macro wrapper foo, afaict. 11:06:12 Can't really argue with that, can you. 11:06:39 fungot: ... 11:06:39 mroman: appears to be a 11:06:54 fungot: a? 11:06:54 mroman: python is similar enough to these languages." false false false 11:07:07 fungot: you're false 11:07:08 shachaf: as am i 11:07:08 well 11:07:19 false is a language. and both it and python are turing-complete 11:07:20 so 11:07:23 similar enough. 11:07:26 fungot: You should balance your " 11:07:26 mroman: ought to be a 11:07:37 otherwise somebody is gonna make a graph of unbalanced quotes 11:07:40 fungot: This very night, before the rooster crows, you will deny the similarity of Python three times. 11:07:40 fizzie: what i'm wondering. free software is teh winner! http://www.chick.com/ reading/ tracts/ 0084/ 0084_01.asp in 11:07:45 fizzie: Please balance fungot's " 11:07:46 shachaf: that's really wrong. i can be myself... we don't need no stinkin' r. fnord has to be fnord/ fingerprints 11:08:09 you heard it from fungot. no quote balancing 11:08:10 quintopia: the previous sentence, so that i can sense the hesitation to use promises in that way... 11:08:13 fungot: You tell him. I'm fed up with people always being "up my grill" about the balanced punctuation. 11:08:13 fizzie: perhaps you've heard of that, though.) python it wouldn't be very hard 11:08:30 fungot: Yes, but you're not written in Python. 11:08:31 fizzie: no i didn't. nice. the switch is because i want to 11:08:49 fungot wishes to be written in python 11:08:49 quintopia: x86_64 has been historically chosen, and not even necessarily the same as 11:08:55 sorry fizzie. time to get writing. 11:09:21 I have the babbling (with balanced parentheses and quotes, no less) already done in Perl for prototyping. 11:09:44 I better start documenting more. I wrote this function less than an hour ago and now I need to figure out what it does. 11:10:22 fizzie: so now just plug in your perl->befunge code generation functions and off we go! 11:21:57 So, is + (foo = foo + 1) or (foo = foo + 1 + distortion)? 11:22:09 (Please remind me if I asked already.) 11:24:24 + increases ONLY the sending value 11:24:43 Got it. 11:24:57 otherwise distortion would cause distortion and such 11:25:02 wich would get really messy 11:25:07 -!- nooodl has joined. 11:25:17 esentially + tell's your antennas commander to increase it's intensity :) 11:25:24 so foo += 1 11:26:05 -!- mrclarinet has quit (Ping timeout: 250 seconds). 11:29:28 -!- AnotherTest has joined. 11:32:43 -!- Bike has quit (Ping timeout: 252 seconds). 11:35:29 -!- Bike has joined. 11:36:00 Well I need a break from coding after 130 lines. 11:46:25 I should be off to bed, but this has been enjoyable. Catch you all here another time. 11:48:40 -!- farrioth has quit (Quit: leaving). 11:59:24 -!- LinearInterpol has joined. 12:07:08 Linear International Police 12:27:50 Is it wrong of me to assume that farrioth is not as experienced as I thought :) 12:27:55 -!- pikhq has quit (Ping timeout: 245 seconds). 12:29:32 -!- pikhq has joined. 12:30:02 shachaf: Re: @faq. I can. I still think it's funny but I guess what worked well when #haskell had 300 people (and many who had seen lambdabot's conception) doesn't really scale to 1200. 12:32:37 Huh. I connected to the shared Windows Terminal Server, and it gave me the Windows Server "Shutdown Event Tracker" "Why did the computer shut down unexpectedly?" dialog. 12:33:54 `run df 12:33:55 df: cannot read table of mounted file systems: No such file or directory 12:34:09 * int-e hugs HackEgo 12:35:30 -!- carado has joined. 12:35:37 Did Gregor say where all the space had gone? 12:41:11 `run du 12:41:13 14776./.hg/store/data/bin \ 2100./.hg/store/data/lib \ 52380./.hg/store/data/paste \ 12152./.hg/store/data/share/_word_data \ 20./.hg/store/data/share/lua/5.2/luarocks/build \ 28./.hg/store/data/share/lua/5.2/luarocks/fetch \ 8./.hg/store/data/share/lua/5.2/luarocks/fs/unix \ 8./.hg/store/data/share/lua/5.2/luarocks/fs/win32 \ 36./.hg/stor 12:42:07 It's not like it's just HackEgo's space. 12:52:38 -!- MindlessDrone has joined. 13:03:56 -!- boily has joined. 13:04:01 -!- metasepia has joined. 13:04:37 -!- MindlessDrone has quit (Ping timeout: 272 seconds). 13:06:31 -!- Slereah_ has joined. 13:07:25 -!- Slereah has quit (Ping timeout: 246 seconds). 13:08:26 good unpentadactyl morning! 13:08:51 -!- pikhq has quit (Ping timeout: 260 seconds). 13:09:22 -!- pikhq has joined. 13:09:55 `run du / | sort -rn 13:10:26 du: cannot read directory `/proc/tty/driver': Permission denied \ du: cannot read directory `/proc/1/task/1/fd': Permission denied \ du: cannot read directory `/proc/1/task/1/fdinfo': Permission denied \ du: cannot read directory `/proc/1/task/1/ns': Permission denied \ du: cannot read directory `/proc/1/fd': Permission denied \ du: cannot read dir 13:10:38 `run du / 2>/dev/null | sort -rn 13:11:01 4251168/ \ 1629696/var/irclogs \ 1629696/var \ 1059104/usr \ 1013416/opt \ 919000/opt/ghc \ 785888/opt/ghc/lib \ 784204/opt/ghc/lib/ghc-7.6.1 \ 688872/var/irclogs/_esoteric \ 618232/var/irclogs/raw \ 608152/usr/lib \ 518600/hackenv \ 336564/usr/share \ 318236/opt/ghc/lib/ghc-7.6.1/ghc-7.6.1 \ 292452/hackenv/.hg \ 292088/hackenv/.hg/ 13:17:09 `run ls /var/irclogs 13:17:10 _ai \ _corewars \ _esoteric \ _esoteric-chess-variants \ _esoteric-minecraft \ _esoteric_shadow \ _\FRIends*foR*evEr\ \ _FRIends*foR*evEr \ _glogbot \ index.php \ log \ log.css \ log.js \ _plof \ raw \ _scapegoat \ stalker.php \ _weaaM 13:17:12 -!- Sgeo has quit (Read error: Connection reset by peer). 13:17:18 `run ls /var/irclogs/_esoteric 13:17:20 2003-01-18-raw.txt \ 2003-01-18.txt \ 2003-01-19-raw.txt \ 2003-01-19.txt \ 2003-01-20-raw.txt \ 2003-01-20.txt \ 2003-01-21-raw.txt \ 2003-01-21.txt \ 2003-01-22-raw.txt \ 2003-01-22.txt \ 2003-01-23-raw.txt \ 2003-01-23.txt \ 2003-01-24-raw.txt \ 2003-01-24.txt \ 2003-01-25-raw.txt \ 2003-01-25.txt \ 2003-01-26-raw.txt \ 2003-01-26.txt \ 2003-01- 13:17:33 obviously. 13:18:19 `run head -1 /var/irclogs/_esoteric/2003-01-18-raw.txt 13:18:21 ​< 1042851425 ? :clog!unknown@unknown.invalid JOIN :#esoteric 13:18:39 `run head -1 /var/irclogs/_esoteric/2003-01-18.txt 13:18:41 00:57:05: -!- clog has joined #esoteric. 13:18:43 -!- MindlessDrone has joined. 13:18:48 makes sense. 13:20:21 `run cd /opt/ghc/lib/ghc-7.6.1; echo */ 13:20:22 array-0.4.0.1/ base-4.6.0.0/ binary-0.5.1.1/ bin-package-db-0.0.0.0/ bytestring-0.10.0.0/ Cabal-1.16.0/ containers-0.5.0.0/ deepseq-1.3.0.1/ directory-1.2.0.0/ filepath-1.3.0.1/ ghc-7.6.1/ ghc-prim-0.3.0.0/ haskell2010-1.1.1.0/ haskell98-2.0.0.2/ hoopl-3.9.0.0/ hpc-0.6.0.0/ html/ include/ integer-gmp-0.5.0.0/ latex/ old-locale-1.0.0.5/ old-time-1.1 13:22:03 -!- impomatic has joined. 13:23:29 Weird! http://www.youtube.com/watch?v=mjJORYJWR6w 13:23:36 imphellomatic. 13:27:06 -!- aloril has quit (Ping timeout: 252 seconds). 13:27:36 Boujoily. 13:27:55 Bonjoily even... 13:28:36 -!- aloril has joined. 13:31:19 bon impomatin, also. 13:42:35 -!- aloril has quit (Ping timeout: 250 seconds). 13:51:16 -!- nisstyre has joined. 13:55:11 -!- aloril has joined. 14:05:59 -!- aloril has quit (Ping timeout: 252 seconds). 14:07:08 -!- aloril has joined. 14:08:16 Is anyone here from Northfield, Vermont? 14:08:54 impomatic: let me check the The File... 14:09:58 -!- ^v has joined. 14:10:27 impomatic: nobody in Vermont. either LinearInterpol or myself is the nearest. 14:10:41 Thanks boily. I just need someone to drop by someone's house for me :-) 14:10:57 lol, The File. 14:12:00 I've been trying to track down Philip K Hooper who wrote a few programming articles about 35 years ago! 14:12:15 impomatic: I'm about 240 km away by car, and LinearInterpol is 265 mi. 14:12:55 Hmmm... maybe I'll just send a letter. Just in case he still lives in the same house. 14:13:14 ~duck philip k hooper 14:13:14 --- No relevant information 14:13:57 He wrote the last quote on this page http://corewar.co.uk/earlycw.htm 14:14:23 Core War is alive and well?! 14:14:45 Alive and well :-) 14:15:16 Damn. 14:15:54 -!- nisstyre has quit (Quit: Leaving). 14:20:59 * impomatic googles for Dave Cutler's email address! 14:21:25 (I'm harassing random people today about Core War history!) 14:44:44 -!- mrhmouse has joined. 15:18:43 -!- yorick has joined. 15:39:35 -!- pikhq has quit (Ping timeout: 245 seconds). 15:41:08 -!- pikhq has joined. 16:21:55 -!- CADD has joined. 16:27:50 -!- LinearInterpol has quit (Read error: Connection reset by peer). 16:32:56 -!- nooodl_ has joined. 16:33:48 -!- nooodl has quit (Read error: Connection reset by peer). 16:33:49 -!- heroux has quit (Read error: Operation timed out). 16:37:03 -!- jconn has quit (*.net *.split). 16:37:03 -!- shachaf has quit (*.net *.split). 16:37:04 -!- clog has quit (*.net *.split). 16:38:03 -!- heroux has joined. 16:38:22 -!- shachaf has joined. 16:38:45 -!- conehead has joined. 16:42:45 -!- Bike_ has joined. 16:43:37 -!- Bike has quit (Disconnected by services). 16:43:38 -!- Bike_ has changed nick to Bike. 16:44:25 -!- iamcal has quit (Ping timeout: 338 seconds). 16:44:34 -!- glogbackup has quit (Write error: Broken pipe). 16:44:34 -!- nortti has quit (Write error: Broken pipe). 16:44:54 -!- CADD has quit (Remote host closed the connection). 16:44:56 -!- shachaf_ has joined. 16:46:15 -!- iamcal has joined. 16:49:41 -!- nortti has joined. 16:49:42 -!- CADD has joined. 16:49:48 -!- shachaf has quit (*.net *.split). 16:50:07 -!- CADD has changed nick to Guest2828. 17:01:53 -!- Sprocklem has joined. 17:06:03 -!- zzo38 has joined. 17:06:18 -!- jconn has joined. 17:12:17 -!- clog has joined. 17:12:55 -!- jconn has quit (Ping timeout: 245 seconds). 17:16:24 -!- glogbackup has quit (Ping timeout: 246 seconds). 17:16:31 -!- Slereah_ has quit (Read error: Connection reset by peer). 17:17:42 -!- Slereah has joined. 17:19:51 -!- jconn has joined. 17:35:44 -!- ThatOtherPerson has quit (Ping timeout: 250 seconds). 17:38:02 -!- FreeFull has joined. 17:41:33 -!- LinearInterpol has joined. 17:42:48 -!- Phantom_Hoover has joined. 17:47:12 In Haskell, you can use . to compose functions like "f . g == \x f (g x)"; is there any built-in operator ? such that "f ? g == \x g (f x)"? 17:48:29 -!- zzo38 has quit (Remote host closed the connection). 17:51:28 mrhmouse: (flip .) 17:51:47 ;) 17:53:57 coppro: I know that I could write it myself; I was wondering if there was a built-in operator already :) Thanks! 17:56:30 there's probably some typeclass function that simplifies down to it 17:56:41 >=> maybe 17:56:45 :t > 17:56:46 parse error on input `>' 17:56:48 :t >=> 17:56:49 parse error on input `>=>' 17:56:53 :t (>=>) 17:56:53 Monad m => (a -> m b) -> (b -> m c) -> a -> m c 17:57:00 I can't think straight right now 17:57:12 :t (>->) 17:57:13 Not in scope: `>->' 17:57:13 Perhaps you meant one of these: 17:57:13 `>>' (imported from Control.Monad.Writer), 17:58:01 @hoogle (b->c)->(a->b)->a->c 17:58:02 Prelude (.) :: (b -> c) -> (a -> b) -> a -> c 17:58:03 Data.Function (.) :: (b -> c) -> (a -> b) -> a -> c 17:58:03 Control.Parallel.Strategies (.|) :: (b -> c) -> Strategy b -> (a -> b) -> (a -> c) 17:58:11 -!- pikhq has quit (Ping timeout: 245 seconds). 17:58:15 @hoogle (a->b)->(b->c)->a->c 17:58:16 Prelude (.) :: (b -> c) -> (a -> b) -> a -> c 17:58:16 Data.Function (.) :: (b -> c) -> (a -> b) -> a -> c 17:58:16 Control.Parallel.Strategies (-|) :: (a -> b) -> Strategy b -> (b -> c) -> (a -> c) 17:58:19 -!- pikhq has joined. 17:58:25 -!- doesthiswork has joined. 17:58:41 @pl \g f x -> f (g x) 17:58:41 flip (.) 17:59:03 it seems there isn't 17:59:08 so just define one yourself if you need one 17:59:41 but if you want to be sure, ask on #haskell 18:01:03 b_jonas: thanks :) 18:01:37 wait a minute 18:01:44 those listings can't be complete 18:02:03 shouldn't hoogle have found fmap as a result? 18:02:18 I thought it was magical enough 18:02:27 :t fmap 18:02:28 Functor f => (a -> b) -> f a -> f b 18:02:33 with what functor? 18:03:07 coppro: unify the types yourself or ask #haskell 18:03:34 oh wait, I misread you 18:03:46 yeah, I'm surprised it didn't catch fmap there 18:04:28 @hoogle (a -> b) -> f a -> f b 18:04:29 Data.Traversable fmapDefault :: Traversable t => (a -> b) -> t a -> t b 18:04:30 Prelude fmap :: Functor f => (a -> b) -> f a -> f b 18:04:30 Data.Functor fmap :: Functor f => (a -> b) -> f a -> f b 18:04:43 I think it's limited to three matches here 18:04:46 let's ask him on http 18:05:25 b_jonas: I checked Hoogle for (a -> b) -> (c -> a) -> (c -> b), but didn't see anything at a quick glance 18:06:03 check it for (a -> b) -> f a -> f b tpp 18:06:42 mrhmouse: it will show (<**>) which is (flip (<*>)) I think 18:06:57 and might or might not be exactly what you asked for 18:08:23 b_jonas: I was just curious if there was a way to compose functions by listing them from left to right in the order of application, preferably using some infix operator 18:08:44 mrhmouse: yes, and doesn't <**> do that? 18:09:04 b_jonas: no clue, I'm only just starting to learn Haskell :) I'll check its documentation, though 18:09:24 you might get more definite answers on #haskell, I'm affraid to tell anything here 18:14:49 @type (<<<) 18:14:50 Category cat => cat b c -> cat a b -> cat a c 18:15:15 > ((+1) <<< (*2)) 0 18:15:16 1 18:15:22 > ((+1) >>> (*2)) 0 18:15:23 2 18:15:27 > ((+1) . (*2)) 0 18:15:28 1 18:19:34 > ((+1) <**> (*2)) 0 18:19:35 Occurs check: cannot construct the infinite type: a0 = a0 -> b0 18:19:36 Expected type: a0 -> a0 -> b0 18:19:36 Actual type: a0 -> a0 18:20:18 > ((+1) <$> (*2)) 0 18:20:19 1 18:20:24 > ((+1) <$ (*2)) 0 18:20:25 Integer> 18:22:23 -!- ThatOtherPerson has joined. 18:22:31 -!- Guest2828 has quit (Ping timeout: 250 seconds). 18:26:23 (<$>) is the same as (.) when used on functions 18:26:39 (<<<) is also the same as (.) on functions 18:27:45 every operator are born the same, but some are more generic. 18:30:42 mrhmouse wanted (>>>) 18:36:02 So anyway 18:36:06 After that assembly class 18:36:12 i deduced that I hate RISC 18:37:42 x86 I'm so sorry for those mean things I said 18:39:34 -!- Sprocklem has quit (Ping timeout: 246 seconds). 18:40:20 Slereah, why do you hate risc 18:42:26 Reading instructions *after* a jump? 18:42:30 That is just bananas 18:43:40 it helps unclogging your pipelines 18:44:00 The prof was all "Well programming straight in assembly isn't much of a problem in those days of compilers so who cares!" 18:44:08 But I want to program in assembly :( 18:44:18 so put nops after your jumps 18:44:26 optimize later 18:44:46 (btw it's not even true that every risc architecture does this) 18:45:46 Still, madness! 18:46:07 Also he scared me for a while when he talked about the problems with register use over the pipeline 18:46:26 Thank goodness it doesn't matter in the end 18:46:44 Slereah: What's the relationship of assembler<->compiler 18:46:54 IT's easy to program in assembler because of compilers? 18:46:58 the things they do for implementing x86 efficiently is true madness. 18:47:16 int-e : Sure, but that's electronics people 18:47:21 I don't care what they do! 18:47:38 also 18:47:45 what's wrong with linear prefetching? 18:48:24 -!- Slereah_ has joined. 18:48:25 [19:47:14] int-e : Sure, but that's electronics people 18:48:26 [19:47:19] I don't care what they do! 18:48:26 [19:47:39] mroman : That having harder to program assembly doesn't matter since few people code straight in assembly directly 18:48:26 [19:48:01] * Disconnected. 18:48:27 You should align your jumps/conditions in a way, so that the jump is not taken most of the time 18:48:51 because jumps taken are bad 18:48:53 they cost more cycles 18:49:01 they flush the pipeline 18:49:08 the cpu already prefetched stuff after the jump 18:49:28 unless your cpu employs some kind of dynamic branch prediction 18:49:55 19:47 < mroman> what's wrong with linear prefetching? 18:50:25 also that's why RISC have conditional execution flags on almost every instructions 18:50:29 well, some RISCs at least do 18:51:20 What register use over pipeline? 18:51:37 -!- Slereah has quit (Ping timeout: 252 seconds). 18:51:39 CPUs tend to reorder instructions to optimize memory bus access 18:51:48 and to prevent lots of pipeline stalls 18:51:59 due to the writeback phase of the pipeline for example 18:53:08 x86 CPUs have a pipeline too btw 18:53:30 Yes, but it is 18:53:33 A peace pipeline 18:54:15 You've managed to confuse me 18:54:36 http://en.wikipedia.org/wiki/File:Peace_pipe.jpg 18:55:27 that thing. it is strangely Canadian. 18:56:05 Knowing that some CISC CPUs internally translate CISC instructions to more RISCish instructions 18:56:20 I had a dream that I has a secret esoteric lair 18:56:31 what was in it 18:56:51 I don't mind 18:56:51 I'm not an electron man 18:56:51 I don't have to navigate the CPU 18:56:57 I'm not in miss Frizzle's class, I'm not going to take a magic school bus ride on a CPU 18:57:26 Any weed? 18:58:43 -!- Slereah has joined. 18:59:11 taking a magic schoolbus ride on a CPU.. 18:59:22 * int-e loved the bus lines in the intercal manual 18:59:32 (to new york. (and philadelphia)) 18:59:44 born and raised. 19:01:25 * mroman wonders why stack machines are not so popular 19:01:44 like Forth CPUs 19:01:52 stack machines are goddamn awesome. 19:02:02 Yeah 19:02:04 Phantom_Hoover, a lot of computers, a pointless catwalk 19:02:09 -!- Slereah_ has quit (Ping timeout: 252 seconds). 19:02:09 But I assume they suck in some way 19:02:09 simple to implement, simple to write code for.. 19:02:12 they do. 19:02:22 Taneb, idk, maybe it helped you avoid walking on the computers 19:02:33 -!- Slereah_ has joined. 19:02:39 mroman: It takes more to actually perform more common operations. 19:02:39 fug 19:03:13 It was underneath a museum exhibit on Boolfuck (!?) 19:03:46 boolfuck! BIT TWIDDLING! 19:03:57 -!- Slereah has quit (Ping timeout: 265 seconds). 19:04:09 There were displays and statues and everything 19:04:09 Slereah_: Fear, Uncertainty and Gdoubt? 19:04:27 F is for fun! 19:04:31 U is for u and me 19:04:34 the dark art of bit manipulation is one of the most powerful techniques in this world. 19:04:42 g is for god my internet is so terrible 19:04:48 fug? 19:05:05 ("fuck") 19:05:30 sayword("fuck); 19:05:36 fungot: fug 19:05:36 mroman: http://en.wikipedia.org/ wiki/ fnord help? i might like syntactic closures, etc.) and not fnord fault. 19:05:51 * boily coppoles Slereah_'s connection 19:05:51 at least it gave you wikipedia.. 19:05:53 fungot: Are you censoring hyperlinks? 19:05:53 mroman: yow!! now i'm playing with it. :p 19:06:16 LinearInterpol: Yeah. But there's an unbalanced bracket 19:06:17 fungot is citing zippy the pinhead. YOW!! 19:06:17 boily: it's nice if i'm deeply down in some sort of identifier renaming thing, too, but quite. 19:06:33 meh. 19:06:42 fizzie: fungot uses 4-grams, right? 19:06:43 mrhmouse: omniweb uses fnord/ down etc... and not ( 3 2)? how would you make an error about no clear 19:07:16 the fuck is fnord. 19:07:31 fungot: Bake cookies him you must 19:07:32 mroman: ah, used egrep matches every line beginning with a single one) and the p should depend on neither addresses of functions nor their names 19:07:33 LinearInterpol: you are not seeing it. obey. fnord. 19:07:46 * LinearInterpol 's eyes glaze over. 19:12:37 ^botsnak 19:12:41 ^botsnack 19:19:37 `buttsnack 19:19:38 ewww 19:20:16 lol. 19:20:19 * boily mapoles mrhmouse with a +3 Mapole of Holy Wrath {Dex+3, rN++} 19:20:35 +3 dexterity? wtf. 19:20:37 LinearInterpol: glazed eyes, hmm. a snack? 19:20:53 only in america. 19:20:58 @dice d20+2-2d6 19:20:58 int-e: 11 + 2 - (6+1) => 6 19:21:38 Ooh, poor roll :( 19:22:09 LinearInterpol: dex is important. 19:22:29 @dice 99d99 19:22:29 boily: 4843 19:22:36 @dice 99d99+99d99 19:22:36 boily: 4915 + 4984 => 9899 19:22:59 @dice 1000d1000 19:22:59 boily: 487162 19:23:07 @dice 1000000000d100000000000 19:23:07 boily: 49999530616131924008 19:23:10 Taneb: it was above average, actually. 19:23:29 boily: it uses some normal distribution when the numbers get too high 19:24:17 int-e, average roll :( 19:24:59 huh. Doom turned 20 on the 10th. 19:25:01 int-e: nooooooooooooooo! my believes are shattered! 19:25:42 @dice 1000000000d100000000000 19:25:43 int-e: 50001499192932328406 19:25:44 @dice 1000000000d100000000000 19:25:44 int-e: 50000522949243404535 19:27:21 @dice 4d6/3 19:27:21 boily: 11 / 3 => 11/3 => 3.6667 19:27:27 ... 19:29:18 @dice 2d6 * 3d8 19:29:19 boily: (4+1) * (6+8+2) => 80 19:29:27 @dice 2d6 ^ 2 19:29:27 unexpected '^': expecting operator or end of input 19:29:31 @dice 2d6 ** 2 19:29:31 unexpected '*': expecting operator 19:30:00 oh well. next step would have been exponential rolls, complex rolls, hyperreal roles... 19:30:12 s/les/lls/ 19:31:51 surreal rdice, hmm. 19:31:52 -r 19:32:56 normally distributed glazed eyes served over bouchées of surreal bread rolls. 19:34:12 I mean https://en.wikipedia.org/wiki/Surreal_number obviously 19:37:37 (But apparently boily is obsessed with food. ... oh dinner time!) 19:37:48 ω². ow. my brain suffers. 19:38:03 Omega squared? 19:38:10 What about it? 19:38:11 int-e: as previously stated, I do not have a food obsession. I am also very sane. 19:38:33 FreeFull: it's infinity squared, which obviously is infinitely more than the infinite. 19:38:47 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 19:38:51 Depends on which omega you're talking 19:38:59 You might be doing circular motion 19:39:05 FreeFull: just an ordinary ... ordinal number. 19:39:17 -!- Sprocklem has joined. 19:39:20 Ok 19:39:21 So 19:39:30 FreeFull: who wants to run in circles when you can go past infinity instead? 19:39:40 Does Spacefish have Infinite Memory according to the definition of infinite memory you science guys have? 19:40:00 What's a spacefish? 19:40:03 FreeFull: I went through EE classes, with nice ωs. mathematicians are spreading lies and propaganda, I say! 19:40:23 what's science? 19:40:25 FreeFull: You can always ask for a finite memory amount more 19:40:26 like 19:40:32 while(1) { malloc(100000); } 19:40:43 You can always malloc more memory 19:40:53 but only a finite amount with each malloc of course 19:40:55 Oh, a programming language 19:41:02 It depends on the spec 19:41:13 -!- Phantom_Hoover has joined. 19:41:18 spacefish is capable of infinite memory? 19:41:20 shit show me more. 19:41:59 oh hey! a cellular automata based upon peturbation! who made this? 19:42:22 FreeFull: The spec says, that you can always ask for more memory 19:42:30 but 19:42:45 mroman: so what happens if I do > as the first step in a program? 19:42:49 at any given point you'd still only have a finite amount of memory available 19:43:13 int-e: You'd move to the initial cell 19:43:16 hm. 19:43:36 solution: construct a toroidal memory model. :P 19:44:04 commit topological seppuku. 19:44:42 mroman: does memory ever shrink? 19:44:59 In Spacefish, yes 19:45:59 But you can just place 255 values in some cells to allocate more space 19:46:14 and then never touch those alloca values 19:46:19 so space wouldn't shrink back 19:46:47 mroman: also, shouldn't 8 be surrounded by 3 squres, with values 8,4,2 and 1? 19:46:58 -!- ^v has quit (Quit: http://i.imgur.com/MHuW96t.gif). 19:47:09 int-e: It should 19:47:20 -!- mrclarinet has joined. 19:49:07 The question is merely if it counts as infinite memory of you can always ask for a finite amount of memory more 19:49:32 because to actually have infinite memory, the program itself could never stop 19:49:45 because if it stopped it only had allocated a finite amount of memory 19:50:03 You can't fill an infinite amount of memory with a program that stops anyway 19:50:04 yes. 19:50:27 However, you can't run out of memory 19:50:36 technically, I would not talk of infinite memory but of "unbounded memory". 19:50:37 if you can always allocate more of it 19:50:38 It's effectively infinite 19:50:54 -!- guest10 has joined. 19:50:57 so for all that matters it should be infinite as far as my opininon goes 19:51:17 but that's really mincing words. there is no practical difference between the two. 19:52:17 -!- guest10 has left ("Leaving"). 19:53:31 `relcome mrclarinet 19:53:33 ​mrclarinet: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 19:55:02 -!- MindlessDrone has quit (Quit: MindlessDrone). 20:10:20 -!- trout has changed nick to variable. 20:33:33 ~yi 20:33:33 Your divination: "Corrupting" to "Gnawing Bite" 20:34:04 as usual, it is completely useless re my XML problems. 20:34:19 ~yi 20:34:19 Your divination: "Corrupting" to "Arguing" 20:34:23 hah. 20:40:08 -!- Taneb has quit (Ping timeout: 260 seconds). 20:51:33 ~yi 20:51:33 Your divination: "Grouping" to "Centre Confirming" 20:53:40 -!- Sprocklem has quit (Ping timeout: 265 seconds). 20:54:24 ~yi 20:54:25 Your divination: "Shake" to "Great Possessing" 20:54:48 * mrhmouse is possessed by the Great Shaking 20:55:16 ~yi 20:55:16 Your divination: "Prospering" to "Prospering" 20:55:21 oh. 20:55:22 lovely. 20:55:48 * boily steals LinearInterpol's divination away 20:55:52 mine! MINE! 20:55:58 haah 20:57:05 -!- Taneb has joined. 20:57:34 atangevlobriq. 20:58:33 -!- Sprocklem has joined. 21:01:17 ~duck haah 21:01:17
ASPH (aspartate beta-hydroxylase)
Protein-coding gene on human chromosome 8q12.1, also known as BAH, CASQ2BP1, HAAH, JCTN, humbug, junctate, junctin. 21:01:31 humbug? 21:01:47 ~duck humbug 21:01:47 humbug definition: something designed to deceive and mislead. 21:01:53 -!- shachaf_ has changed nick to shachaf. 21:02:00 -!- shachaf has quit (Changing host). 21:02:00 -!- shachaf has joined. 21:02:17 boily: perhaps an Easter-egg, since > "also known as BAH"? 21:02:45 mrhmouse: I realised. I was staying silent in shameful acceptance. 21:02:47 int-e: It is abused far beyond the funny limit. 21:06:01 ~duck duck goose 21:06:01 --- No relevant information 21:06:06 daww 21:06:36 ~duck goose 21:06:37 --- No relevant information 21:06:50 * boily shakes metasepia a bit 21:06:56 ~duck bird 21:06:56 --- No relevant information 21:07:06 ~duck avian 21:07:06 boily: you get better results when using DDG's API with an API key 21:07:06 avian definition: of, relating to, or derived from birds. 21:07:33 mrhmouse: the keyful version will be integrated in the Next Version. 21:09:51 ~duck string rewriting system 21:09:51 In theoretical computer science and mathematical logic a string rewriting system, historically called a semi-Thue system, is a rewriting system over strings from a alphabet. 21:09:56 awesome. 21:09:59 boily: when is that? 21:10:06 -!- ThatOtherPerson has quit (Ping timeout: 265 seconds). 21:10:40 * boily puts his hands on his ears ♪ LA LA LA WHEN IT'LL BE READY LA LA LA THE NEXT VERSION IS NOT VAPOROUS AT ALL LAL ALL LALALALALALA ♪ 21:14:59 boily: I would contribute, but your GitHub repo seems a bit out of date :P 21:16:18 elliott, do you happen to know if the X84 has free wifi? 21:16:19 boily: also is your profile image a persimmon? those are delicious. 21:16:44 Taneb: no 21:17:32 Is that a "No, I don't", or a "No, it doesn't"? 21:18:27 It's a "No, I don't" 21:18:55 mrhmouse: the out of dateness was pointed out by Roujo in an issue. I am conscious of the lack of content in the repo >_>'... 21:18:57 (Unless I'm wrong. I guess I could be wrong.) 21:19:15 mrhmouse: it indeed is a persimmon. persimmons are good. they are also orange, which is more good. 21:19:58 boily: most of them are. when I was growing up, we had several persimmon trees of the variety in your picture. later on, we starting growing another variety that was firmer and more red. 21:22:06 -!- mrclarinet has quit (Ping timeout: 246 seconds). 21:22:21 hoily 21:22:43 hintopia. 21:24:06 next version of what 21:25:46 mrhmouse: It uses variable-length grams. 21:26:11 fungot: Could you bother counting up some statistics on your models, please? 21:26:12 fizzie: but then hand it 1 time for me to finish in time, but i 21:26:40 fizzie: does any literature exist beyond the source code that describes how it works? 21:26:47 fungot: I.. is that a yes or a no? I mean, I don't want much, just some n-gram length histograms. 21:26:48 fizzie: i think it's funnier that way, sorbet. we're loading her down with terrible associations tonight. 21:27:25 fizzie: particularly, I'm interested in how fungot chooses a starting fragment based on input 21:27:25 mrhmouse: are there any fnord languages? :) ( aren't i lazy :p) 21:27:38 fungot: you are lazy. try Googling it. 21:27:38 mrhmouse: you could do aliased pointers.) 21:27:46 quintopia: metasepia. the Truth is that it is still the old cuttlefish code in disguise. the True Metasepia doesn't exist yet. 21:28:05 mrhmouse: There's a paper on the model construction part, but that's not really part of fungot. As for choosing starting context based on input, that's easy: it doesn't. 21:28:05 fizzie: define ' suckier.') the interesting question is: 21:28:18 fungot: You don't have to be so harsh. 21:28:18 fizzie: i only see you once planning a srfi on object, operation friends would be welcomed?) 21:28:35 boily: some day eh. some day. 21:28:42 fizzie: darn :( I was looking for inspiration for the next ruddy (which I have named "roskat") 21:29:12 mrhmouse: That's the Finnish word for trash/garbage, if you didn't know. 21:29:29 fizzie: classic ruddy checked for similar messages in history, then chose the "response" from that 21:29:34 -!- ThatOtherPerson has joined. 21:29:46 fizzie: that's why I chose it. I chose "ruddy" because it has similar meaning. 21:29:48 ThellotOthelloPellorsellon. 21:29:57 http://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/?single_page=true 21:30:25 Anyhoo, all fungot's replies start with the context "START". There's not even any reasonable (built-in) way currently for it to go back from strings into the token indices the model uses, since I don't think the token lists are necessarily sorted. 21:30:25 fizzie: i think it hasn't been srfi'd mostly as-is. is it documented somewhere? 21:31:09 fungot: probably, but you are written in Unhighlightable Befunge. 21:31:10 boily: though marker fnord probably isn't clear unless you know where the difficulty comes in. 21:31:41 hm. I'll just come up with something on my own, I suppose. The best I've gotten out of Roskat so far was "hello there, roskat!" --> "I've received an uncommon phrase; what's the context? fnord" 21:31:41 boily: untrue! befunge is totes highlightable with the right UI 21:33:33 mrhmouse: There's one sort of trivial thing that I think I've seen done in a chatbot, which is to select a single "keyword" from the input (based on TF-IDF weights on words or whatnot), do a search over some database like WordNet for related terms (both synonyms and antonyms), pick a random one, and then generate from n-grams both forwards and backwards so that the keyphrase is in an ... 21:33:39 ... unpredictable spot of the response. 21:34:00 (Also add hyponyms and hypernyms and whatevernyms to that list.) 21:34:20 ~duck hyponym 21:34:20 In linguistics, a hyponym is a word or phrase whose semantic field is included within that of another word, its hypernym (sometimes spelled hyperonym outside of the natural language processing community). 21:34:47 fizzie: that's a good idea :) currently roskat picks a word from the input (preferring uncommon words, based on message history) and starts with a random trigram whose predecessor includes that word 21:36:12 it helps, but it's far from acceptable as a form of "chatter". I intend to have the next version examine preceding messages & their sources for prompt/response patterns 21:36:13 That's really kind of similar, except without the WordNet step. 21:38:39 I need to diagram the whole thing first to see what sort of data I'll have to store regarding messages - then I can decide on other details 21:39:20 There's also quite a lot of work for natural language parsing; when you've got parse trees (or other such things), you can do things in terms of them. But those are kind of brittle, and might have trouble with informal chat-text. (Also it's an easy way to end up in a very Elizaey responses.) 21:39:37 for this bot, I don't particularly care about the semantic value of the messages 21:40:08 but I did have an idea to have another bot which understood e.g. Gellish English and could create relationships between terms 21:40:17 ~duck gellish 21:40:17 Gellish is a formal language that is natural language independent, although its concepts have 'names' and definitions in various natural languages. 21:40:24 ~duck gellish english 21:40:24 Gellish Formal English is the English variant of Gellish and is a formal language, which means that it is a structured and formalized subset of natural English that is computer interpretable. 21:41:01 Back on the statistical side of the fence, you can probably also boost the probability of "relevant" responses with some kind of a scheme based on clustering of "topic" words. 21:41:38 fizzie: uncommon words that appear in the chatter at around the same times? 21:42:14 freebie uncommon word → paramycète. 21:42:24 ~duck paramycète 21:42:25 --- No relevant information 21:43:11 -!- mrclarinet has joined. 21:43:36 Something like that, yes. Or just models trained on text with a specific topic, though if your source materials are irclogs, that's harder. (Unless you want to pay some Amazon Mechanical Turk people to label a gigabyte of logs with "current topic" annotations.) 21:44:06 (I'm sure they'd do a splendid job on annotating #esoteric logs.) 21:44:14 -!- mrclarinet has left. 21:45:47 IRC chatter is hard enough to parse :) I think the biggest amount of parsing I'll do will be name extraction and directed responses/prompts (e.g. "mrhmouse: hello" is a directed prompt) 21:46:18 what about the chimæric helloes? 21:46:39 boily: I can't parse those, so they'll remain in the chatter history as uncommon words 21:47:27 fungot: You can parse those sillyhelloes, right? 21:47:28 fizzie: later tell drewr may be slime wants you to do 21:47:58 the best thing about those, though, is that they're usually clumped together. so prompting the bot with, say, "belloily", might result in "mrhmellouse" 21:48:32 `ello fungot 21:48:33 mrhmouse: it's a classic, i mostly wanted to take out fixnums and to put it later on?' what relevance does it have cons? 21:48:35 fungellot 21:48:46 Sir Fungellot. 21:48:54 (Fungels a lot.) 21:49:25 `run echo 'Sir Fungellot cannot be stopped by that sword alone!' >wisdom/fungot 21:49:25 boily: or is my code 21:49:29 No output. 21:50:09 ` run cat ./wisdon/fungot 21:50:09 LinearInterpol: from reading the wikipedia entry for er, parachuting.)" at http://paste.lisp.org/ display/ 4408 21:50:10 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found 21:50:39 LinearInterpol: try `? 21:50:39 Regarding the related-word thing, you can also do LSI instead of a WordNet-style a-priori-knowledge database. 21:50:44 `? 21:50:45 ​? ¯\(°​_o)/¯ 21:50:49 `? fungot 21:50:50 mrhmouse: when you get to function calls, 21:50:50 LOL. 21:50:51 Sir Fungellot cannot be stopped by that sword alone! 21:50:57 `? 21:50:59 ​? ¯\(°​_o)/¯ 21:51:08 LinearInterpol: you have to provide a phrase 21:51:08 `? boily 21:51:10 boily is the brother of Roujo's brother and he's monetizing the company Roujo works at, or something Canadian like that. He's also a NaniDispenser, and a Man Eating Chicken. 21:51:13 oh. 21:51:33 fizzie: LSI? I'm not familiar with the acronym.. 21:51:47 ~duck LSI 21:51:47 lsi definition: large-scale integrated circuit; large-scale integration. 21:51:56 mrhmouse: Latent Semantic Indexing, it's p. fancy. 21:52:28 fizzie: do you mean for the Gellish English bot? I intend for it to be fully spoon-fed :) 21:52:51 No, just for something statistical based on irclogs. 21:52:54 -!- muskrat has joined. 21:53:17 e.g. if it knows what a cat is (but not a dog), and it sees the word "dog" in a noun position, it would prompt the user to describe a dog 21:53:46 after that point, it now has some knowledge of what a dog is (based on the description and all recognized words in the description) 21:55:21 you might describe it as "an animal which chases cats". now it knows that a dog is an animal, and has the property that it chases cats (also an animal) 21:56:55 Very Cyc-ic. 21:57:04 (How's that thing doing, anyway?) 21:57:59 Cyc is still going? 21:58:11 ~duck cyc 21:58:11 It is not based on numerical methods such as statistical probabilities, nor is it based on neural networks or fuzzy logic. 21:58:17 "Stable release .. 17 months ago" well 21:58:46 metasepia: That's a good summary as far as it goes, but you could consider also saying something about what it *is* based on. 21:59:03 'tis a knowledge database using connectives! 21:59:34 effectively a highly.. sophisticated prolog. 21:59:47 "Cyc-based solutions have helped government agencies and Global 100 commercial enterprises leverage their knowledge and expertise over a wide range of business verticals and across the full operational spectrum." 22:00:01 Leverage over a wide range of business verticals. 22:00:07 Across the full operational spectrum. 22:00:15 I see they've managed to leverage some marketing people, at least. 22:00:28 marketing superlatives. 22:00:52 a friend of mine from MIT published a book like this. in fact... 22:00:57 http://www.lulu.com/us/en/shop/mike-wolf/bitkit/paperback/product-233305.html 22:23:30 -!- mrhmouse has quit (Quit: Oh fnordy fnordy). 22:31:03 -!- AnotherTest has quit (Ping timeout: 246 seconds). 22:33:50 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds). 22:54:29 -!- glogbackup has quit (Read error: Connection reset by peer). 23:01:20 -!- boily has quit (Quit: UNHUMONGOUS DECHICKEN). 23:01:22 -!- metasepia has quit (Remote host closed the connection). 23:03:32 shachaf: good /part 23:10:11 -!- muskrat has quit (Quit: Leaving). 23:14:44 nooodl_: I don't understand 23:14:59 (from #haskell) 23:16:59 -!- ThatOtherPerson has quit (Read error: Operation timed out). 23:21:26 -!- Sprocklem has quit (Ping timeout: 240 seconds). 23:24:57 -!- ThatOtherPerson has joined. 23:26:11 -!- LinearInterpol has quit (Read error: Connection timed out). 23:26:13 XCOM has a slight Z-order problem for a fraction of a second whenever switching soldiers. http://cloud-4.steampowered.com/ugc/452907883059778581/E033A703267A6B165B926905057AFF60C2896574/ 23:26:23 -!- glogbackup has quit (Ping timeout: 265 seconds). 23:28:56 -!- LinearInterpol has joined. 23:34:23 -!- prooftechnique has joined. 23:41:43 -!- Sgeo has joined. 23:43:00 * quintopia moves the smorgases from the bord to the stomach 23:43:50 how are you LinearInterpol 23:45:10 This is the perfect way to release a Linux distro and get maximum community participation. http://repo.steamstatic.com/download/ 23:45:17 back. 23:45:22 quintopia: prettyyy good. 23:45:41 LinearInterpol: do you like swedish food 23:45:54 sure. 23:46:28 mmm whipped marshmallow cream with a hard chocolate shell 23:46:41 this probably has a name 23:46:44 stop making me jealous. 23:48:47 what you don't have an ikea near you 23:48:54 -!- RJones has joined. 23:48:57 -!- oerjan has joined. 23:49:21 helloerjan 23:49:31 helioerjan 23:50:32 hellopiaf 23:51:25 tonight is swedish buffet night 23:51:33 the only food i'm eating all day 23:51:55 it's also s. lucia day 23:52:10 or was, an hour ago 23:53:23 a most peculiar scandinavian holiday based on taking an italian song about a harbor named s. lucia and pretending it's about the actual saint 23:53:43 and then singing that in processions of children. 23:53:52 st. lucia is a p cool island from what i've heard 23:57:47 https://en.wikipedia.org/wiki/Santa_Lucia also https://en.wikipedia.org/wiki/Borgo_Santa_Lucia i think i'm going to add a [citation needed] to the latter.