←2012-08-27 2012-08-28 2012-08-29→ ↑2012 ↑all
00:05:22 -!- DHeadshot has quit (Read error: Connection reset by peer).
00:05:27 -!- DH____ has joined.
00:05:57 -!- nooga has quit (Ping timeout: 272 seconds).
00:06:57 -!- DHeadshot has joined.
00:07:02 -!- DH____ has quit (Read error: Connection reset by peer).
00:09:03 -!- copumpkin has quit (Ping timeout: 244 seconds).
00:10:55 -!- copumpkin has joined.
00:11:43 * kmc starts a new job tomorrow
00:11:51 <copumpkin> where??
00:12:58 <kmc> i'll be employee #1 at a startup founded by a bunch of former ksplice people
00:13:06 <copumpkin> ooh!
00:13:14 <oerjan> kentucky fried splice
00:13:19 <copumpkin> doing what, and where geographically? still around boston area?
00:13:56 <kmc> doing secret things :) (for now)
00:14:01 <kmc> yeah, boston area
00:14:09 <kmc> will have offices in central square most likely
00:14:12 <copumpkin> zomg secret
00:15:11 -!- DHeadshot has quit (Read error: Connection reset by peer).
00:16:55 <augur> copumpkin: you should go by their offices and take some photos
00:17:11 <copumpkin> will do
00:17:20 <copumpkin> except I'm across the ocean right now
00:17:25 <augur> :O
00:17:25 <copumpkin> but maybe next week
00:17:29 <augur> where what why
00:17:36 <copumpkin> I'm in italy for family shit
00:17:40 <kmc> offices are currently being procured
00:17:46 <kmc> some walls need to be knocked down
00:17:58 <copumpkin> let me know if you need to burn any bridges
00:17:59 <copumpkin> I'm good at that
00:18:00 <kmc> haha
00:18:09 <kmc> i already offered to take down the walls myself, but noooooo
00:18:23 <kmc> when i was at the hedge fund in NYC, LimeWire's offices were one floor below us
00:18:25 <copumpkin> that sounds kinda fun actually
00:18:28 <copumpkin> with a sledgehammer
00:18:32 <kmc> and then they moved to new offices
00:18:49 <kmc> and they had a moving out party which consisted of everyone getting piss drunk, spraypainting the walls, and then hitting them with sledgehammers
00:19:00 <copumpkin> lol
00:19:02 <augur> o-o;
00:19:04 <copumpkin> nice
00:19:05 <augur> is that.. what
00:19:06 <augur> i dont even
00:19:20 <kmc> unfortunately in the heat of the moment, a distinction between interior walls and structural exterior walls was not observed with the degree of care one might hope for
00:19:29 <elliott> hahhahaha
00:19:32 <kmc> so there were Damages
00:20:09 <augur> did the building collapse
00:20:11 <kmc> no
00:20:14 <augur> o
00:20:23 <kmc> just cost someone a bunch of money
00:20:36 <elliott> was the someone limewire
00:20:49 <kmc> maybe
00:21:02 <kmc> not sure if the expense was collectivized to the Lime Group
00:21:04 <copumpkin> kmc had to pay out of pocket
00:21:11 <copumpkin> because he was the one who did the damage
00:21:14 <kmc> haha
00:21:15 <copumpkin> he neglected to include that detail
00:21:17 <kmc> no, i wasn't even at the party
00:21:23 <kmc> i just walked through the wreckage the next day
00:21:37 <copumpkin> if I were doing that, I'd have contributed a bit
00:21:39 <copumpkin> who's gonna notice, right?
00:21:43 <kmc> heh, true
00:21:53 <kmc> we were actually there to loot the remaining non-damaged furniture
00:21:57 <copumpkin> lol
00:21:59 <augur> wait
00:22:02 <kmc> which provided most of the tables and chairs necessary for a 3-person apartment
00:22:03 <augur> through the wreckage?
00:22:13 <augur> oh inside you mean
00:22:15 <kmc> my friend had the presence of mind to rent a U-Haul for this occasion
00:22:31 <augur> i thought you meant the wreckage of the exterior wall
00:22:58 <kmc> they also left some computers behind, but we weren't sure whether they were technically evidence in an ongoing lawsuit
00:24:33 <copumpkin> yeah, wouldn't want to do anything illegal
00:24:39 <copumpkin> that's why you only stole the furniture
00:24:40 <copumpkin> >_>
00:24:47 <copumpkin> <_<
00:25:01 <kmc> yeah well, petty theft > federal obstruction of justice
00:25:08 <kmc> besides we had the tacit approval of the CEO to take the furniture
00:25:15 <kmc> or so I was assured >_<
00:27:21 <elliott> `addquote <kmc> yeah well, petty theft > federal obstruction of justice
00:27:23 <HackEgo> 857) <kmc> yeah well, petty theft > federal obstruction of justice
00:34:37 -!- DHeadshot has joined.
00:38:12 -!- augur has quit (Remote host closed the connection).
00:38:21 <copumpkin> :)
00:44:28 <shachaf> kmc: Ah, tomorrow?
00:45:06 <shachaf> (Please disregard previous message.)
00:50:20 <kmc> what was previous message?
00:50:52 <shachaf> Are you asking because you've already disregarded it?
00:53:26 <kmc> no
00:53:30 <kmc> 'm confuseod
00:55:02 <shachaf> I asked if you were starting your new job tomorrow. Then I realized it was a silly question because you just said you did, and I didn't have anything to add.
00:55:07 <kmc> ok then
00:55:21 <shachaf> Exactly.
01:02:08 <shachaf> elliott: GUESS WHAT
01:02:19 <elliott> You didn't read the post?
01:02:23 <shachaf> WRONG
01:03:30 <elliott> You read the post?
01:03:38 <shachaf> Yes.
01:03:44 <oerjan> *gasp*
01:03:53 <shachaf> It was a grueling, arduous task.
01:04:05 <oerjan> i feel such responsible behavior sets a bad precedent for the channel.
01:04:15 <shachaf> But I grit my teeth and and did it!
01:04:17 <elliott> shachaf: I have another post for you to read.
01:04:25 <shachaf> I did it! I did it! You said I couldn't do it but indeed I did!
01:04:50 <shachaf> @tell monqy what's the another post?
01:04:50 <lambdabot> Consider it noted.
01:05:48 <monqy> @messages
01:05:48 <lambdabot> shachaf said 58s ago: what's the another post?
01:05:57 <monqy> @ask elliott
01:05:57 <lambdabot> Consider it noted.
01:06:09 <elliott> shachaf: OK so, read http://www.impredicative.com/ur/tutorial/tlc.html first. Then read http://blog.ezyang.com/2012/07/polymorphic-variants-in-urweb/.
01:06:09 <lambdabot> elliott: You have 1 new message. '/msg lambdabot @messages' to read it.
01:06:18 <ion> @ask monqy
01:06:18 <lambdabot> Consider it noted.
01:06:26 <elliott> Or just skip to the second one. But the other one is good too.
01:06:28 <shachaf> elliott: Can I other order ;(
01:06:31 <shachaf> Oh.
01:14:17 <elliott> shachaf: Are you reading???
01:14:31 <shachaf> @ask elliott no :"(
01:14:31 <lambdabot> Consider it noted.
01:15:07 <elliott> @clear-messages
01:15:07 <lambdabot> Messages cleared.
01:15:16 <shachaf> @clessages
01:15:16 <lambdabot> You don't have any new messages.
01:15:50 <elliott> monqy: Did you ever read that one?
01:16:03 <monqy> @clear-messages
01:16:03 <lambdabot> Messages cleared.
01:16:12 <monqy> the blog thing?
01:16:20 <elliott> ye
01:16:21 <monqy> i read at least the first paragraph
01:16:27 <elliott> good job monqy
01:16:29 <monqy> but i wasnt in a reading mood
01:16:41 <elliott> did mspell get any furthre btw ..
01:16:43 <elliott> *further
01:16:48 <elliott> oerjan: btw op me
01:16:59 <monqy> ye
01:17:14 <shachaf> elliott: btw op me :'(
01:17:15 <elliott> monqy: how frtuher
01:17:26 <monqy> um
01:17:35 <monqy> i removed both kinds of special abilities!
01:18:06 <elliott> grats
01:18:16 -!- derdon has quit (Ping timeout: 246 seconds).
01:18:19 <elliott> I like the symmetry between product and sum types.
01:18:40 <shachaf> YOU MEAN PRODUCTS AND COPRODUCTS
01:18:58 <shachaf> elliott: Did you know all monads were covariant??!?!
01:19:05 <shachaf> "amazing"
01:19:06 <elliott> switch :: (a -> r, b -> r) -> (a | b) -> r; swotch :: (a -> r | b -> r) -> (a * b) -> r
01:19:09 <elliott> shachaf: yes
01:19:37 <shachaf> switch swotch
01:20:13 <shachaf> switch : (a -> r * b -> r) -> (a | b) -> r
01:20:32 <shachaf> switch : (r^a * r^b) -> (a + b) -> r
01:20:40 <shachaf> swotch : (r^a + r^b) -> (a * b) -> r
01:22:28 <shachaf> r^a * r^b = r^(a+b)
01:23:00 <shachaf> (a -> r) + (b -> r) = (a*b)^r
01:23:07 <shachaf> Um, r^(a*b)
01:23:09 <shachaf> What?
01:23:23 <elliott> What?
01:23:24 <shachaf> r^a + r^b = r^(a*b)?
01:23:27 <shachaf> That's nonsense.
01:23:39 <elliott> It's not =.
01:23:45 <elliott> a -> b isn't a = b.
01:23:56 -!- derdon has joined.
01:24:00 <shachaf> Oh, it's not nonsenes because r^a + r^b has a bit more information.
01:24:15 <shachaf> (A BIT get it)
01:24:20 <monqy> :')
01:24:29 <shachaf> s/not //
01:24:33 <shachaf> It *is* nonsense because ...
01:24:47 <shachaf> elliott: You know the way foldr's type should mirror unfoldr's?
01:24:57 <elliott> switch and swotch let you get all the information out, right?
01:25:05 <elliott> swotch (Left id), swotch (Right id) are fst and snd...
01:25:11 <elliott> So I guess so.
01:25:27 <shachaf> Well, it's not polymorphic.
01:25:33 <elliott> Huh?
01:25:43 <shachaf> Oh, no.
01:25:44 <elliott> shachaf: Anyway, if you read that post I linked you'd understand why the sum-product relation is even more cool!
01:25:53 <elliott> It's a continuation of that other post. Except it does sum types instead.
01:25:56 <shachaf> What I'm saying is that you can't ((a * b) -> r) -> (a -> r | b -> r)
01:26:04 <shachaf> It's a one-way thing.
01:26:20 <shachaf> Just like you can't (a -> b) -> Either (Not a) b. Or something.
01:26:34 <monqy> i guess i'll read the post.......................................
01:26:41 <shachaf> monqy: NO WAIT
01:26:47 <shachaf> monqy: THINK ABOUT WHAT YOU'RE DOING
01:27:01 <elliott> monqy: ur gr8
01:27:09 <shachaf> monqy: ur web
01:27:24 -!- augur has joined.
01:27:35 <elliott> shachaf: The post also shows you how you can do scrap-your-boilerplate-type things with the system elegantly!
01:27:40 <elliott> As in "without any ugly deriving (Data) stuff".
01:27:59 <shachaf> elliott: Logitext is "vnev more ocool!!"
01:28:07 <elliott> What?
01:28:23 <shachaf> http://logitext.mit.edu/main
01:28:26 <shachaf> "the future"
01:30:08 <elliott> This looks boring.
01:30:23 <shachaf> DID YOU PROVE ALL THE PROOFS
01:31:32 <elliott> no
01:32:00 <coppro> elliott: i am a terrible person
01:32:08 -!- oerjan has quit (Quit: Good night).
01:32:17 <coppro> I have a ... -> x that I want to turn into a ... -> Type x
01:32:26 <coppro> where ... can be any arity
01:32:30 <coppro> and clearly TH is the way to go
01:32:43 <elliott> it's ok, everyone does shit like that when they start out
01:32:57 <elliott> you realise why it's a bad idea later
01:33:23 <shachaf> Unless you're Oleg.
01:33:46 <elliott> oleg doesn't really do things like that
01:34:18 <elliott> kmc: should i make a perfect language
01:35:34 <coppro> elliott: I know why it's a bad idea now
01:35:38 <coppro> and it's not stopping me
01:36:28 <monqy> are you what they call a "bad person"
01:36:40 <shachaf> monqy: oh no
01:36:46 <shachaf> monqy: are you a "bad person" too
01:36:54 <shachaf> because "it takes one to know one"
01:36:59 <shachaf> "as they say"
01:37:01 <monqy> ye
01:37:05 -!- azaq23 has joined.
01:37:07 <elliott> coppro: people think they know why it's a bad idea to start with, too
01:37:13 <shachaf> does that make me "a bad person" !
01:37:18 <monqy> ye
01:37:39 <monqy> it takes one to know that it takes one to know one
01:37:41 <monqy> as they say
01:38:38 <monqy> elliott this is a good blog post
01:38:38 <coppro> elliott: well then you tell me why i am wrong
01:38:49 <elliott> coppro: but being old is so much easier
01:38:56 <elliott> monqy: i can't tell if you're being serious or not...........................
01:39:03 <monqy> im serious it's good !!
01:39:06 <elliott> yaey
01:39:07 <monqy> is that wrong of me.....
01:39:23 <elliott> nop
01:39:30 <elliott> people are sarcastic often and it is had to tell!!
01:39:40 -!- derdon has quit (Remote host closed the connection).
01:40:04 <shachaf> elliott: When you say foo.bar in Rust, can bar just be a regular function?
01:40:26 <shachaf> Or is it a "method of the class of foo" "as they say"
01:40:27 <elliott> coppro: but in summary (a) TH in general is bleh for many reasons (some theoretical, most practical) and self-preservation dictates to avoid it wherever possible; (b) you will run into pain whenever you end up writing higher-order functions of some kind with this method; (c) it does not really save you much at all blah blah
01:40:37 <elliott> shachaf: I don't think Rust has "classes" proper?
01:40:44 <shachaf> elliott: Oh.
01:40:48 * shachaf doesn't know Rust.
01:40:56 <shachaf> elliott: How does "for 5.times" work?
01:40:59 <elliott> shachaf: It has ADTs and traits (which are like OOP interfaces).
01:41:02 <coppro> elliott: yes, those are the reasons
01:41:06 <elliott> And you can implement traits for ADTs.
01:41:09 <coppro> i am choosing to ignore them because i am stupid
01:41:31 <elliott> coppro: It's OK, you'll do it the proper way when it slows down your compilation times 2x.
01:41:45 <elliott> shachaf: I think that's the implementation of a trait for the integer types.
01:42:00 <elliott> So 5.times is actually implementation_of_times_for_the_relevant_integer_type.times(5).
01:42:08 <shachaf> OK.
01:42:12 <shachaf> "but still"
01:42:48 <elliott> What do you mean but still?
01:44:29 <elliott> shachaf: I don't understand what your question is.
01:44:44 <shachaf> Noq uestion.
01:47:19 <elliott> shachaf: https://github.com/mozilla/rust/blob/master/src/libcore/iter.rs#L19, https://github.com/mozilla/rust/blob/master/src/libcore/int-template.rs#L91, https://github.com/mozilla/rust/blob/master/src/libcore/uint-template.rs#L83, which are then instantiated like this: https://github.com/mozilla/rust/blob/master/src/libcore/int-template/i64.rs.
01:47:36 <shachaf> elliott: I thought there was no question. :-(
01:47:58 <shachaf> Also, please mark your URLs in an easy-to-copy way.
01:48:04 <shachaf> Don't mix valid punctuation into them. :-(
01:52:46 <elliott> shachaf: Does that answer your non-question?
01:53:06 <elliott> (Also apparently traits are like typeclasses in some way.)
01:53:13 <elliott> (So I guess they're more powerful than Java interfaces.)
02:20:39 -!- DHeadshot has quit (Read error: Connection reset by peer).
02:20:44 -!- DH____ has joined.
02:37:16 -!- DH____ has quit (Read error: Connection reset by peer).
02:37:21 -!- DHeadshot has joined.
02:37:45 -!- kinoSi0 has quit (Read error: Connection reset by peer).
02:38:13 -!- kinoSi has joined.
02:48:32 <shachaf> cvttsd2si
02:48:35 <shachaf> What a great instruction name.
02:55:35 -!- azaq23 has quit (Quit: Leaving.).
03:00:05 -!- DHeadshot has quit (Read error: Connection reset by peer).
03:00:28 -!- DHeadshot has joined.
03:38:44 <tswett> So, there's this library that's supposed to tell you the distance between a point you give it and the nearest point in the database.
03:39:01 <tswett> The thing is, the library breaks. You can only use it about ten times before it starts giving you numbers that are obviously wrong.
03:39:10 <shachaf> Trial period expired.
03:39:16 <tswett> Once, it gave a number that was too high by over a hundred orders of magnitude.
03:39:19 <shachaf> INSERT COIN
03:39:33 <shachaf> Anyway, that doesn't necessarily mean it's wrong.
03:39:53 <tswett> It was wrong by over a hundred orders of magnitude.
03:47:18 <kmc> a hundred orders of magnitude isn't cool
03:47:43 <kmc> you know what's cool? a hundred and three orders of magnitude
04:03:14 <kmc> https://www.google.com/search?q=goats+in+trees&tbm=isch
04:06:15 -!- DHeadshot has quit (Read error: Connection reset by peer).
04:18:38 -!- MoALTz has joined.
04:36:08 -!- heroux has quit (Ping timeout: 244 seconds).
04:41:30 -!- MoALTz has quit (Ping timeout: 264 seconds).
04:55:25 <zzo38> There is a open source FPGA, called ZUMA. However, no implementations exist, as far as I know.
04:56:04 <shachaf> I thought ZUMA was a game with marbles.
04:56:37 <kmc> http://www.computer.org/portal/web/csdl/doi/10.1109/FCCM.2012.25
04:56:51 <kmc> it's an FPGA implemented on another FPGA °_°
04:57:02 <kmc> "Previous attempts to map an FPGA architecture into a commercial FPGA have had an area penalty of 100x at best. Through careful architectural and implementation choices to exploit low-level elements of the host architecture, ZUMA reduces this penalty to as low as 40x."
05:03:02 -!- impomatic has quit (Ping timeout: 244 seconds).
05:04:09 <elliott> good
05:08:12 <kmc> progress
05:13:21 <elliott> hey kmc did mosh get any releases in the past ever
05:13:23 <elliott> maybe i should update my shit
05:13:53 <elliott> also does anyone know if that ghc version with type-level strings came out yet
05:13:54 <elliott> shachaf?
05:14:04 <shachaf> YAWG
05:14:18 <kmc> the latest mosh release is in the topic in #mosh
05:14:20 <kmc> and on mosh.mit.edu
05:14:39 <elliott> shachaf: Yawg?
05:14:43 <elliott> kmc: :(
05:14:46 <shachaf> My server is running an old version of mosh. :-(
05:14:49 <elliott> kmc: I need a personal social web 2.0 connection with my software, man!
05:14:51 <elliott> That means asking you.
05:14:52 <shachaf> So I can't file bug reports until I upgrade.
05:14:55 <shachaf> But upgrading is a hassle!
05:14:58 <shachaf> HLEP
05:15:11 <elliott> Also I don't even know what version I have, so ha.
05:15:35 <shachaf> $ mosh --version
05:15:38 <shachaf> 1.2.3
05:15:44 <shachaf> POINT 4
05:15:52 <elliott> I'm on 1.1.94d.
05:16:00 <elliott> I bet that's old.
05:16:16 <elliott> Apparently 1.2.2 is the latest release.
05:18:13 <elliott> shachaf: Is there a way I can tell g++ and/or clang++ that a macro I have is an assertion macro?
05:18:28 <shachaf> What should it do differently?
05:18:59 <elliott> shachaf: I don't know. Not complain about me assuming what I asserted later on?
05:19:23 <shachaf> Oh, be smart like that? Can it even do that?
05:19:32 <shachaf> Does it happen with #include <assert.h>'s assert()?
05:19:55 <elliott> shachaf: I think so?
05:20:03 <elliott> I want to be as fancy as assert.h.
05:20:14 <elliott> Alternatively, is there a way to hook into when an assert fails or something?
05:20:22 <elliott> I want my fancy stuff *and* the platform's fancy stuff. :(
05:21:09 <kmc> assert() raises SIGABRT doesn't it?
05:21:31 <kmc> it will still kill the process even if you handle SIGABRT
05:21:50 <shachaf> All the big C++ codebases I've used defined their own assert, but I've never noticed anything smart like "telling the compiler about your assumptions".
05:22:07 <shachaf> Some asserts raise SIGTRAP in debug mode. Or do other things.
05:22:34 <shachaf> Hmm, I wonder whether SIGTRAP has much of an advantage over SIGABRT.
05:22:35 <elliott> There's some inline asm in the current assert() implementation. :(
05:22:50 <shachaf> Is it asm("int3")?
05:22:56 <elliott> Snippet of the fun: http://sprunge.us/RQcf
05:23:05 <elliott> shachaf: Close enough: #define MyDebugBreak() _asm {int 3}
05:23:13 <shachaf> You're working with Win32 code?
05:23:23 <elliott> Oh, whoops. I actually removed IsDebuggerPresent95.
05:23:41 <elliott> BUT before I did,
05:23:47 <elliott> shachaf: (how do I see a file at a revision in git)
05:23:50 <elliott> (Without checking it out.)
05:23:57 <shachaf> git show?
05:23:57 <kmc> if you mark your custom abort function as attribute((noreturn)), and/or insert a __builtin_unreachable()
05:24:02 <kmc> then gcc can do clever things
05:24:19 <shachaf> I think unreachable is better than noreturn?
05:24:23 <elliott> [elliott@dinky source]$ git show 5e814759930bf282ba3b5741643bebe1587557f1 debug.cc
05:24:23 <elliott> [elliott@dinky source]$
05:24:24 <elliott> Help.
05:24:34 <kmc> git show commitish:filename
05:24:46 <elliott> thx
05:24:50 <kmc> yw
05:25:21 <elliott> shachaf: http://sprunge.us/FaBg
05:25:28 <elliott> kmc may also click that link. Everyone else is forbidden.
05:25:37 <shachaf> elliott: thx
05:25:42 <kmc> that's some code
05:25:43 <shachaf> on kmcs bhlf
05:26:02 <elliott> By the way, this isn't some 90s nonsense, this code is from ~2005-ish.
05:26:18 <elliott> (Okay, maybe this bit is older. But it's newer than, like, 2000.)
05:26:25 <kmc> what is it
05:26:28 <shachaf> Crawl?
05:26:56 <elliott> It's monqy.
05:27:16 <shachaf> monqy: ruopensouce?!!
05:28:00 <elliott> monqy's codebase has some great comments.
05:28:03 <kmc> monqypatching
05:28:04 <elliott> // XXX: must fix species abils to not use duration 15
05:28:04 <elliott> // -- ummm ... who wrote this? {dlb}
05:28:23 <elliott> The unforgivable faux pas of not signing your todo comments.
05:28:35 <shachaf> elliott: has this been in git since 2005??
05:28:58 <elliott> If by "2005" you mean "2011ish", then yes.
05:29:11 <shachaf> 2011 is the year of git on the desktop
05:30:37 <elliott> kmc: Did you know Windows still exists? :(
05:30:53 <shachaf> http://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/Function-Attributes.html
05:30:58 <shachaf> gcc has a lot of fancy attributes
05:32:18 <elliott> shachaf: Do you want to hear a joke? I know you love jokes.
05:33:19 <shachaf> elliott: Oh boy, a joke!
05:33:50 <elliott> shachaf: The joke is const correctness.
05:35:20 <elliott> shachaf: Do you want to hear another joke?
05:35:50 <elliott> Time's up.
05:35:54 <elliott> monqy: What about you?
05:36:11 <monqy> ye
05:36:14 <elliott> monqy: Tough.
05:36:35 <monqy> probably for the best
05:36:40 <monqy> im eating so if i laughed bad things might happen
05:36:46 -!- williannys has joined.
05:36:52 <monqy> like that
05:37:12 <elliott> `welcome williannys
05:37:15 <HackEgo> williannys: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
05:37:21 <elliott> Wait, are you the sneeze person?
05:38:44 <kmc> going to sleep, 'night all
05:38:53 <elliott> kmc sleeps?
05:39:11 <kmc> yes i sleep quite a lot
05:40:10 <elliott> Weird.
05:40:53 -!- williannys has left.
05:45:58 <Sgeo> Ok, so I heard JVM startup time is slow, but this is insane
06:19:20 <zzo38> Disadvantages of existing FPGA architectures includes: * Proprietary nature of hardware. * Requires you to use their software, specific to certain operating systems and certain computers. * Vendor locked. * No dynamic reconfiguration (some have this feature, but again, you need to use their software so you cannot do it with your own software).
06:19:40 <zzo38> Therefore you cannot use it to make your own computer system since it can only be used with the computer systems they say it can be used!
06:20:08 <zzo38> Another disadvantage: * They don't sell them for a long enough time. After they sell it, they will be obsolete and you have to buy another one.
06:39:07 <shachaf> elliott: Yes!
06:39:23 <shachaf> elliott: What's the another joke?
06:39:41 <shachaf> elliott: He has, like, a job and stuff now, man.
06:39:44 <shachaf> He sold out on us!
06:40:06 <shachaf> He's probably going to sleep early because of that!
06:44:32 -!- zzo38 has quit (Remote host closed the connection).
06:46:34 -!- nys has quit (Quit: quit).
06:47:35 <shachaf> `? zzo38
06:47:40 <HackEgo> zzo38 is not actually the next version of fungot, much as it may seem.
06:47:46 <shachaf> `? fungot
06:47:46 <fungot> shachaf: he looks gay.
06:47:49 <HackEgo> fungot cannot be stopped by that sword alone.
06:47:52 <shachaf> fungot: thx
06:47:52 <fungot> shachaf: what the hell would anyone srvive that the computer, it was dat. oh and apologies in advance for the most beautiful girl i've ever heard of nick pitera on this
06:48:30 <fizzie> ^style
06:48:30 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube*
06:48:34 <fizzie> Ah.
06:49:07 <fizzie> In retrospect, "of course".
06:49:26 <shachaf> ^style darwin
06:49:26 <fungot> Selected style: darwin (Books by Charles Darwin -- you know, that evilution guy)
06:49:31 <shachaf> fungot
06:49:33 <fungot> shachaf: :( i was too glad to accept :) this, in fact, take them away from any spot which itches: monkeys search each other for aid; and as they flit from tree to tree, and what i lay much stress on it, and really great, if we take/ fairest standard :) comparison because, :)/ corals just mentioned, and :)/ other photographs given by dr. o. regnelli,/ illegitimate unions :) dimorphic and trimorphic plants, as described by himsel
06:49:49 <shachaf> Charles Darwin sure used a lot of smileys.
06:50:00 <fizzie> He was just such a fun guy.
06:50:24 <shachaf> fungot: are you a fun guy???????
06:50:25 <fungot> shachaf: a species may depart from/ type :) both its parents were common peacocks. lastly, i have had some strange proceedings on board/ :( beagle" anchored a few miles, i could see this argument answered.
07:08:43 <elliott> shachaf: it seems like noreturn is the same as normal function call + unreachable
07:08:55 <elliott> http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html#index-g_t_005f_005fbuiltin_005funreachable-3286
07:09:12 <shachaf> elliott: Oh.
07:09:17 <shachaf> elliott: Is exit() noreturn?
07:09:43 <shachaf> If I write if (x == 0) exit(1); will the compiler assume that x is != 0 or something?
07:09:50 <shachaf> I think it ought to be allowed to assume that for unreachable.
07:11:41 <elliott> I think exit is noreturn, yes.
07:11:41 <fizzie> C11 standard prototype for exit is "_Noreturn void exit(int status);"
07:11:49 <elliott> At least in glibc.
07:12:13 <elliott> shachaf: I suspect GHC might insert a __builtin_unreachable() after every call to a noreturn function, implicitly.
07:12:42 <shachaf> That's very clever of GHC.
07:12:46 <elliott> gcc.
07:13:00 <shachaf> Anyway, that makes sense.
07:13:17 <shachaf> Oh, you mean the noreturn comes *after* the return from the function call.
07:13:30 <shachaf> Makes sense.
07:13:56 <fizzie> The unreachable, you mean?
07:14:03 <shachaf> Yes.
07:16:41 <fizzie> http://sprunge.us/hXUh -- assumptions: it has those.
07:17:25 <elliott> <shachaf> Oh, you mean the noreturn comes *after* the return from the function call.
07:17:26 <elliott> Huh?
07:17:33 <shachaf> 00:13 <fizzie> The unreachable, you mean?
07:17:34 <shachaf> 00:14 <shachaf> Yes.
07:18:31 -!- nooga has joined.
07:19:30 <fizzie> There's a GCC option '-Wsuggest-attribute=noreturn' that will make it add warnings that suggest attribute ((noreturn)) for functions that it thinks don't seem to be returning.
07:19:41 <fizzie> (It can do the same for pure, const, format.)
07:21:07 <fizzie> http://sprunge.us/SZXT like that.
07:21:37 <shachaf> That's not a default?
07:21:44 <shachaf> How do you get all the good warnings?
07:22:03 <fizzie> It's not a default, and it's not enabled by -Wall or -Wextra either.
07:22:17 <fizzie> Though -Wextra does cause a "comparison is always true due to limited range of data type" warning on it.
07:22:47 -!- heroux has joined.
07:23:33 -!- impomatic has joined.
07:23:55 <fizzie> The -Wsuggest-attribute=format can at least have false positives; don't know about the others.
07:24:56 <elliott> shachaf: There's a clang option to turn on every single warning.
07:24:58 <elliott> It's an experience.
07:25:12 <elliott> @time
07:25:13 <lambdabot> Local time for elliott is Tue Aug 28 08:26:58
07:25:15 <elliott> shachaf: tell me to go to sleep
07:25:28 <fizzie> Is it called "-Wfucking-all-and-i-mean-it"?
07:25:50 <shachaf> I hate IRC faux pas. :-(
07:26:08 <elliott> shachaf: fauxiliary pacification
07:26:11 <elliott> -fauxiliary-pacification
07:27:26 <pikhq> elliott: You should write some Forth.
07:30:28 <elliott> -forthxiliary-pacification
07:30:51 <elliott> shachaf: -Weverything. Try it on your nearest codebase.
07:30:54 <elliott> It's depressing :(
07:31:22 <shachaf> elliott: I know what it is. I have.
07:31:35 <elliott> )-:
07:31:40 <elliott> :-( )-:
07:31:45 <elliott> )-: :-(
07:31:47 <elliott> )-:-(
07:31:52 <elliott> :-()-:
07:32:11 <olsner> nice, I'll have to try that
07:32:14 <elliott> . .
07:32:15 <elliott> |
07:32:16 <elliott> (
07:32:22 <elliott> . .
07:32:22 <elliott> |
07:32:26 <elliott> /-\
07:32:36 -!- elliott has left (": - )").
07:32:40 <shachaf> · .
07:32:41 <shachaf> |
07:32:45 <shachaf> \_/
07:32:49 <olsner> I think most of "my" code isn't even -Wall clean (in gcc), so it might be ... interesting
07:34:53 <fizzie> On the other hand, you just might to find a bug not caught by your thorough set of unit tests.
07:35:27 <olsner> tests? what tests?
07:35:40 <fizzie> Unit ones.
07:35:52 <Deewiant> Re. the clang flag, it's called -Weverything
07:36:13 <fizzie> Deewiant: UR LATE
07:36:16 <olsner> <elliott> shachaf: -Weverything. Try it on your nearest codebase.
07:36:23 <shachaf> In case anyone was wondering what the clang flag was: It's -Weverything
07:36:54 <fizzie> -Weevil warns of extreme evil.
07:36:59 <Deewiant> Crap, I missed that line
07:37:04 <olsner> shachaf: but what's the flag called? elliott left
07:37:19 <Deewiant> I just saw the -fauxorth nonsense and that got mixed in it all
07:37:27 <Deewiant> Sorry for the noise
07:40:39 -!- asiekierka has joined.
07:41:59 -!- mig22 has joined.
07:42:41 <impomatic> Rebol to be killed off? http://www.rebol.com/article/0510.html :-(
07:48:45 <Sgeo> I think I installed REBOL once
07:49:48 <Sgeo> Maybe REBOL will just go open source?
07:49:55 <Sgeo> That wouldn't be a bad fate, would it?
07:51:39 -!- AnotherTest has joined.
07:51:52 <AnotherTest> Hello
07:53:15 <shachaf> `welcome ANOTHER TEST
07:53:18 <HackEgo> ANOTHER: TEST: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
07:53:36 <Sgeo> http://re-bol.com/rebol.html#section-1
07:54:05 <Sgeo> Uh, I... it's a thing also usable for non-programming tasks?
07:57:00 -!- AnotherTest has quit (Quit: Leaving.).
07:57:26 <fizzie> `WELCOME does_it_uppercase_the_nick_too
07:57:30 <HackEgo> DOES_IT_UPPERCASE_THE_NICK_TOO: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
07:57:37 <fizzie> Apparently the answer is YES.
07:58:00 -!- AnotherTest has joined.
07:59:37 <AnotherTest> since when am I getting greeted :D?
08:01:24 <lifthrasiir> `WELCOME will_it_correctly_uppercase_á
08:01:28 <HackEgo> WILL_IT_CORRECTLY_UPPERCASE_á: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
08:01:34 <lifthrasiir> Answer: no.
08:04:41 <coppro> that's actually not that bad of a greeting
08:04:51 <fizzie> `cat bin/WELCOME
08:04:54 <HackEgo> ​#!/bin/sh \ welcome "$@" | perl -ne 'print uc($_)'
08:05:04 <fizzie> `run welcome blärg | perl -ne 'BEGIN { binmode STDIN, ":utf8"; } print uc($_)'
08:05:08 <HackEgo> BLRG: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
08:05:46 <fizzie> That would, though I guess it'd really need an encoding-fallback kind of thing.
08:06:18 <Deewiant> `run welcome blärg | perl -CS -pe '$_=uc($_)'
08:06:21 <HackEgo> BLÄRG: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
08:06:44 <shachaf> `run runghc
08:06:46 <fizzie> Oh, there's a flag.
08:07:01 <shachaf> `run ghc -e 'print 1'
08:07:05 <HackEgo> ghc: can't find a package database at /usr/lib/ghc-6.12.1/package.conf.d
08:07:07 <Deewiant> `run welcome blärg | perl -CSL -pe '$_=uc($_)'
08:07:11 <shachaf> @where zalgo
08:07:11 <lambdabot> import Random;main=mapM_((>>(י=<<randomRIO('̀','ͯ'))).י)=<<getContents;י=putChar
08:07:11 <HackEgo> BLäRG: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
08:07:16 <HackEgo> No output.
08:07:27 <shachaf> `run echo "import Random;main=mapM_((>>(י=<<randomRIO('̀','ͯ'))).י)=<<getContents;י=putChar" > zalgo.hs
08:07:30 <HackEgo> No output.
08:07:33 <fizzie> Deewiant: No UTF-8 locale, I guess.
08:07:39 <shachaf> `run echo hello | runhc zalgo.hs
08:07:42 <HackEgo> bash: runhc: command not found
08:07:46 <shachaf> `run echo hello | runghc zalgo.hs
08:07:50 <HackEgo> ghc: can't find a package database at /usr/lib/ghc-6.12.1/package.conf.d
08:07:51 <Deewiant> fizzie: Evidently not. That'd be the right "fallback" method, I guess, though.
08:07:53 <shachaf> WHAT!
08:08:16 <shachaf> Who runs HackEgo?
08:08:21 <shachaf> Is it you, Gregor?
08:08:25 <fizzie> It is.
08:08:26 <shachaf> Gregor: ☝
08:18:14 -!- AnotherTest has quit (Quit: Leaving.).
08:18:24 -!- AnotherTest has joined.
08:21:42 <Sgeo> "REBOL is a mix of both closed and open source. The kernel of REBOL, which must be kept extremely consistent between hardware platforms and operating systems, is closed. This keeps platform specific variations to a minimum, allowing your programs to run on Windows, Linux, Unix, and other systems without modification. Our consistent, controlled design process also keeps REBOL very small - its core is less than 250KB."
08:21:43 <Sgeo> WTF?
08:22:31 <Sgeo> I guess they're saying that they're afraid if people fork it, it will be more annoying to write REBOL code because some must run on the forks?
08:23:12 -!- AnotherTest has quit (Ping timeout: 268 seconds).
08:24:27 -!- mig22 has quit (Quit: mig22).
08:24:49 -!- ais523 has quit.
08:30:24 <Sgeo> I wonder how well a REBOLNomic would work
08:33:36 -!- lahwran has quit (Ping timeout: 276 seconds).
08:35:01 -!- soundnfury has quit (Quit: recompiling).
08:35:18 -!- soundnfury has joined.
08:41:49 <Sgeo> Ok, I like REBOL's approach to optional/keyword arguments
08:41:55 <Sgeo> Well, maybe
08:44:52 -!- lahwran- has joined.
08:50:50 <Sgeo> This is a test of writing to the clipboard from REBOL
08:55:57 <Sgeo> I am giving this clipboard stuff more credit than it deserves
08:59:53 -!- DHeadshot has joined.
09:07:22 -!- kinoSi0 has joined.
09:12:02 -!- monqy_ has joined.
09:16:47 -!- DHeadshot has quit (*.net *.split).
09:16:48 -!- kinoSi has quit (*.net *.split).
09:16:48 -!- Nisstyre_ has quit (*.net *.split).
09:16:48 -!- monqy has quit (*.net *.split).
09:17:06 -!- monqy_ has changed nick to monqy.
09:17:19 -!- AnotherTest has joined.
09:24:15 -!- AnotherTest has left.
09:25:56 -!- DHeadshot has joined.
09:26:06 -!- Nisstyre_ has joined.
09:48:24 <Sgeo> I decided to try print layout [size 400x300]
09:48:40 <Sgeo> That is a lot of what I assume is code in the view DSL scrolling by on my screen
10:21:13 -!- derdon has joined.
10:49:08 -!- kinoSi has joined.
10:51:48 -!- kinoSi0 has quit (Ping timeout: 245 seconds).
10:54:05 -!- copumpkin has quit (Ping timeout: 252 seconds).
10:56:33 -!- copumpkin has joined.
11:03:08 -!- DHeadshot has quit (Read error: Connection reset by peer).
11:03:14 -!- DH____ has joined.
11:06:00 -!- soundnfury has quit (Quit: quIRC).
11:14:07 -!- atriq has joined.
11:14:23 <atriq> > sum.map(1/)$scanl1(*)[1..18]
11:14:25 <lambdabot> 1.7182818284590455
11:14:29 <atriq> > e
11:14:30 <lambdabot> e
11:14:32 <atriq> :(
11:14:45 <atriq> > e :: Double
11:14:46 <lambdabot> Couldn't match expected type `GHC.Types.Double'
11:14:46 <lambdabot> against inferred ty...
11:14:50 <atriq> :t e
11:14:51 <lambdabot> Expr
11:20:27 <Deewiant> > exp 1 :: Double
11:20:28 <lambdabot> 2.718281828459045
11:20:59 <atriq> > sum.map(1/)$scanl1(*)[0..18]
11:21:01 <lambdabot> Infinity
11:21:09 <atriq> That's why that doesn't work
11:21:13 <atriq> > sum.map(1/)$scanl1(*)[1..18]
11:21:15 <lambdabot> 1.7182818284590455
11:21:18 <atriq> > sum.map(1/)$scanl1(*)[1..18]+1
11:21:19 <lambdabot> No instance for (GHC.Num.Num [a])
11:21:19 <lambdabot> arising from a use of `e_1111181' at <...
11:21:27 <atriq> > 1+$sum.map(1/)$scanl1(*)[1..18]
11:21:28 <lambdabot> Not in scope: `+$'
11:21:36 <atriq> > 1 + (sum.map(1/)$scanl1(*)[1..18])
11:21:37 <lambdabot> 2.7182818284590455
11:21:42 <atriq> > exp 1
11:21:43 <lambdabot> 2.718281828459045
11:21:55 <atriq> Slightly more precise!
11:22:49 <fizzie> The last digit is worng. :/
11:22:53 <fizzie> 2.71828182845904523536028747135266249775724709369995... it goes.
11:23:00 <atriq> Hmm
11:23:08 <atriq> > 1 + (sum.map(1/)$scanl1(*)[1..1000])
11:23:10 <lambdabot> 2.7182818284590455
11:24:32 <fizzie> 16 decimal digits is the rule-of-thumb accuracy for doubles, so that's all you can ask, I suppose.
11:24:55 <fizzie> But I'd kind-of maybe expect "exp 1" to be the closest possible double to e; I wonder if it is.
11:25:19 -!- MoALTz has joined.
11:25:38 <fizzie> > 1 + (sum.map((1 :: CReal)/)$scanl1(*)[1..20])
11:25:40 <lambdabot> 2.7182818284590452353397844906664158861464
11:26:19 <fizzie> Numberwise, that seems to be correct up to 2.7182818284590452353.
11:26:27 <atriq> > 1 + (sum.map(1::CReal/)$scanl1(*)[1..100])
11:26:28 <lambdabot> <no location info>: parse error on input `)'
11:26:39 <atriq> > 1 + (sum.map((1 :: CReal)/)$scanl1(*)[1..100])
11:26:42 <lambdabot> mueval-core: Time limit exceeded
11:26:46 <atriq> > 1 + (sum.map((1 :: CReal)/)$scanl1(*)[1..50])
11:26:49 <lambdabot> 2.7182818284590452353602874713526624977572
11:27:29 <atriq> Where can I get CReal from in GHCi?
11:29:00 <fizzie> Wikipedia says Euler himself only computed it up to 23 decimal digits.
11:29:59 <fizzie> Hayoo says it's in Data.Number.CReal of 'numbers'.
11:30:01 -!- ogrom has joined.
11:30:10 <atriq> Thanks
11:30:29 <fizzie> @list
11:30:30 <lambdabot> http://code.haskell.org/lambdabot/COMMANDS
11:30:53 <fizzie> It has Hoogle, but I suppose it hasn't got a Hayoo.
11:31:37 <atriq> > 1+sum(map(1/)$scanl1(*)[1..34])::CReal
11:31:38 <lambdabot> 2.7182818284590452353602874713526624977572
11:36:35 <atriq> This method approaches e a lot faster than (1 + 1/n) ^ n, it seems
11:37:00 <atriq> > (1.001 ^ 1000) :: CReal
11:37:01 <lambdabot> 2.7169239322358924573830881219475771889643
11:37:08 <atriq> > (1.0001 ^ 10000) :: CReal
11:37:10 <lambdabot> 2.7181459268252248640376646749131465361138
11:37:16 <atriq> > (1.00001 ^ 100000) :: CReal
11:37:20 <lambdabot> mueval-core: Time limit exceeded
11:47:23 <fizzie> > let scf [] = 1; scf (a:b) = a + 1/(scf b) in scf . take 10 $ 2 : ([2,4..] >>= (1:).(:[1]))
11:47:25 <lambdabot> 2.7182817182817183
11:47:46 <fizzie> > let scf [] = 1; scf (a:b) = a + 1/(scf b) in scf . take 50 $ 2 : ([2,4..] >>= (1:).(:[1]))
11:47:48 <lambdabot> 2.7182818284590455
11:48:00 <fizzie> There's that, too.
11:49:07 <fizzie> It's the 2+1/(1+1/(2+1/(1+1/(1+1/(4+1/(1+...)))))) aka [2; 1,2,1, 1,4,1, 1,6,1, ...] expansion.
11:51:30 -!- azaq23 has joined.
11:51:31 <atriq> > let scf [] = 1; scf (a:b) = a + 1/(scf b) in scf . take 50 $ 2 : ([2,4..] >>= (1:).(:[1])) :: CReal
11:51:33 <lambdabot> 2.7182818284590452353602874713526624977572
11:51:42 <atriq> > let scf [] = 1; scf (a:b) = a + 1/(scf b) in scf . take 3 $ 2 : ([2,4..] >>= (1:).(:[1])) :: CReal
11:51:44 <lambdabot> 2.75
11:51:48 <atriq> > let scf [] = 1; scf (a:b) = a + 1/(scf b) in scf . take 34 $ 2 : ([2,4..] >>= (1:).(:[1])) :: CReal
11:51:50 <lambdabot> 2.7182818284590452353602874713525970360921
11:51:56 <atriq> > let scf [] = 1; scf (a:b) = a + 1/(scf b) in scf . take 36 $ 2 : ([2,4..] >>= (1:).(:[1])) :: CReal
11:51:58 <lambdabot> 2.7182818284590452353602874713526612384938
11:52:04 <atriq> > let scf [] = 1; scf (a:b) = a + 1/(scf b) in scf . take 40 $ 2 : ([2,4..] >>= (1:).(:[1])) :: CReal
11:52:06 <lambdabot> 2.7182818284590452353602874713526624977495
11:52:29 <fizzie> The terminating condition of scf might be a bit worng, though, I think optimally it should end up in just ...+1/t instead of the current ...+1/(t+1).
11:59:05 <fizzie> > let scf (a:[]) = a; scf (a:b) = a + 1/(scf b) in scf . take 40 $ 2 : ([2,4..] >>= (1:).(:[1])) :: CReal
11:59:07 <lambdabot> 2.71828182845904523536028747135266249819
12:12:05 -!- atriq has quit (Remote host closed the connection).
12:14:17 -!- ogrom has quit (Quit: begone).
12:17:53 -!- lahwran- has changed nick to lahwran.
12:17:54 -!- lahwran has quit (Changing host).
12:17:54 -!- lahwran has joined.
12:26:47 -!- lahwran has changed nick to lahwran-.
12:26:54 -!- lahwran- has changed nick to lahwran_.
12:26:58 -!- lahwran_ has changed nick to lahwran.
12:51:41 -!- t3cht| has joined.
12:57:52 -!- t3cht|_ has joined.
12:57:59 -!- t3cht|_ has quit (Client Quit).
13:01:23 -!- t3cht| has quit (Ping timeout: 245 seconds).
13:05:31 -!- boily has quit (Quit: Poulet!).
13:05:36 -!- cuttlefish has quit (Remote host closed the connection).
13:09:36 -!- cuttlefish has joined.
13:10:27 -!- nortti has joined.
13:10:48 -!- boily has joined.
13:37:10 -!- monqy has quit (Quit: hello).
13:38:56 -!- Arc_Koen has joined.
13:39:00 -!- ogrom has joined.
13:40:41 -!- augur has quit (Remote host closed the connection).
14:19:54 -!- soundnfury has joined.
14:26:55 -!- augur has joined.
14:32:24 -!- pikhq has quit (Ping timeout: 244 seconds).
14:32:25 -!- pikhq_ has joined.
14:37:10 -!- nortti_ has joined.
14:48:51 -!- nortti_ has quit (Remote host closed the connection).
14:49:51 -!- nortti_ has joined.
14:51:43 -!- nortti_ has quit (Remote host closed the connection).
15:06:31 -!- Yonkie has quit.
15:12:00 -!- nortti_ has joined.
15:13:11 -!- nortti_ has quit (Client Quit).
15:16:21 -!- nortti_ has joined.
15:18:37 -!- atriq has joined.
16:03:22 -!- zzo38 has joined.
16:15:26 -!- zzo38 has quit (Remote host closed the connection).
16:31:21 -!- Vorpal has joined.
16:54:25 -!- atriq has quit (Ping timeout: 260 seconds).
17:03:01 <impomatic> Hmmm... the esolang wiki doesn't like inline references.
17:10:17 -!- atriq has joined.
17:25:02 -!- ogrom has quit (Read error: Connection reset by peer).
17:41:40 -!- ais523 has joined.
17:48:41 -!- azaq23 has quit (Ping timeout: 272 seconds).
17:50:35 -!- nortti_ has quit (Ping timeout: 272 seconds).
17:55:51 -!- nortti_ has joined.
18:02:25 -!- Phantom_Hoover has joined.
18:03:57 -!- zzo38 has joined.
18:04:49 <zzo38> If ZUMA FPGA was made commercial, I would probably buy it; it eliminates the advantage of existing commercial FPGAs.
18:08:04 <zzo38> I wonder how efficient would be computer using LFSR based instruction pointer with reconfigurable taps?
18:22:15 -!- DH____ has quit (Ping timeout: 272 seconds).
18:34:55 -!- sirdancealot has quit (Read error: Connection reset by peer).
18:38:10 <kmc> that is a true mad genius idea
18:40:07 <zzo38> I have various other ideas too in the design of a computer microprocessor.
18:51:12 -!- sirdancealot has joined.
19:08:36 -!- sivoais has quit (Ping timeout: 248 seconds).
19:24:44 -!- oerjan has joined.
19:37:50 -!- Eladith has quit (Ping timeout: 268 seconds).
19:38:28 -!- nortti- has joined.
19:51:40 <oerjan> <elliott> shachaf: fauxiliary pacification
19:51:47 <oerjan> fauxiliary is a good word
19:55:48 -!- asiekierka has quit (Ping timeout: 244 seconds).
19:59:17 -!- sivoais has joined.
20:07:07 <fizzie> Oh, noerjan.
20:10:07 <Arc_Koen> don't we say "fauxiliarification" nowadays?
20:11:39 <oerjan> nah, too easy to confuse with floccinaucinihilipilification
20:12:14 <Arc_Koen> so many words are easy to confuse with floccinaucinihilipilification
20:12:47 <oerjan> you'd think
20:13:30 <Arc_Koen> so what exactly does it mean? flow control incinerated and annihilated in a pile of amplifications?
20:14:53 <Arc_Koen> or am I confusing it with floccinerannihilipilification
20:15:48 <Arc_Koen> (I'm glad; people used to make acronyms all the time and I couldn't figure them out... everything is so simple now)
20:16:09 <oerjan> "The act or habit of describing or regarding something as unimportant, of having no value or being worthless."
20:17:38 -!- lifthrasiir has quit (Ping timeout: 245 seconds).
20:18:17 <Arc_Koen> wait
20:18:28 <Arc_Koen> did you just make up an entry in the wiktionnaire?
20:18:47 <Arc_Koen> in ten languages
20:18:52 -!- pikhq has joined.
20:19:31 <oerjan> i work fast.
20:19:37 <oerjan> also with time travel.
20:19:45 -!- lifthrasiir has joined.
20:19:49 <Arc_Koen> ah, right
20:20:57 <Arc_Koen> (as long as you don't forget your jelly doughnuts)
20:21:41 -!- pikhq_ has quit (Ping timeout: 252 seconds).
20:22:04 <atriq> Did that guy who was implementing Fueue in OCaml get anywhere?
20:23:01 <Arc_Koen> that's me
20:23:20 <Arc_Koen> well, since the Queue module was not good enough, I switched to C
20:23:57 <Arc_Koen> actually I try to continue with the ocaml version, accepting the sacrifice of "not checking if the operation can be performed before trying to perform it"
20:24:04 <oerjan> you'd probably want a deque
20:24:13 <Arc_Koen> (which would not match the specifications from the wiki, but whatever)
20:24:31 <Arc_Koen> deque, is that already implemented?
20:24:42 <oerjan> in _some_ languages it is...
20:25:03 * oerjan knows not regarding ocaml
20:25:08 <Arc_Koen> I'm gonna check again but I don't think I found it in ocaml's standard library
20:25:17 -!- copumpkin has changed nick to stickle.
20:25:41 <Arc_Koen> so of course I could have made my own structure but in that case I thought I'd rather make it in C
20:26:23 <atriq> :)
20:26:41 <atriq> You now know more about Fueue than the language's creator
20:26:56 <Arc_Koen> that's scary
20:27:06 <atriq> That's me
20:27:16 <Arc_Koen> the wiki said something about a certain "Taneb"
20:27:24 -!- atriq has changed nick to Taneb.
20:27:32 <Taneb> I'm Taneb
20:27:47 <Arc_Koen> ooooh
20:27:48 <Taneb> I'm also Ngevd
20:28:02 <Arc_Koen> you're so many people!
20:28:11 <Taneb> No, only 4.
20:28:27 -!- stickle has changed nick to copumpkin.
20:28:30 <Arc_Koen> I heard you were also Superman, and an elf
20:28:47 <oerjan> but is he elvis?
20:28:47 <Taneb> Only one of those things is actually true!
20:29:03 <Arc_Koen> anyway yeah the problem was that the wiki page said "it's a queue-based language, and everything happens in the queue"
20:29:25 <Arc_Koen> so I started making a program in ocaml with the Queue module
20:29:31 <Arc_Koen> (or whatever a module is called in english)
20:29:52 <Taneb> You really need a deque, I'm afraid
20:29:56 <oerjan> it's like ocaml isn't even trying to be functional with that module
20:29:59 <Taneb> Or an immutable queue
20:30:11 <oerjan> see: haskell, Data.Sequence
20:30:35 <Arc_Koen> and then the wikipage told me "if you pop a function, you must first check if the arguments are in the queue, and then perform the operation; if they're not, send the function back to the queue
20:30:51 <Taneb> It's...
20:30:56 <Taneb> It's not the best designed language
20:31:09 <Arc_Koen> I found it quite interesting
20:31:34 <Taneb> :)
20:31:38 <Arc_Koen> most languages are imperative and many esolangs use stacks
20:31:45 <Arc_Koen> yours is a functional queue
20:31:53 <oerjan> Arc_Koen: i'm wondering _how_ efficient that transfer function is, if it's really constant time you might be able to use it to get around the lack of peeking
20:32:01 <oerjan> (it says it is)
20:32:09 <Arc_Koen> what's the transfer function?
20:32:17 <olsner> oerjan: does "stackars" mean the same in norwegian?
20:32:22 <oerjan> http://caml.inria.fr/pub/docs/manual-ocaml/libref/Queue.html last one
20:32:41 <oerjan> olsner: stakkars is a word, presumably means the same
20:32:58 <Arc_Koen> transfer q1 q2 adds all of q1’s elements at the end of the queue q2, then clears q1. It is equivalent to the sequence iter (fun x -> add x q2) q1; clear q1, but runs in constant time.
20:33:00 <olsner> i.e. stackars språk = language of stacks = poor language?
20:33:02 <oerjan> "poor" in a non-monetary sense
20:33:21 <oerjan> olsner: oh, that wouldn't be used
20:33:35 <Arc_Koen> oh
20:33:37 <Arc_Koen> what
20:33:40 <Arc_Koen> whao*
20:33:57 <Arc_Koen> ok, so the transfer function is kind of magical
20:34:07 <olsner> oerjan: probably wouldn't ever be used for language of stacks in swedish either, except if you're trying to make a pun
20:34:35 <olsner> vilka är det mest synd om i skogen? myrstackarna!
20:34:35 <oerjan> olsner: the referent of "stakkars" really needs to be something capable of suffering :P
20:35:20 <Arc_Koen> it's like my eyes stopped after the fold function. or maybe "transfer" sound too much different than what I needed
20:35:53 <oerjan> hm actually i could imagine it being used about something else in jest
20:36:02 <oerjan> like food
20:36:43 <Arc_Koen> Taneb: yeah, so thanks to oerjan I could continue the ocaml program
20:36:57 <Arc_Koen> though I've started the C one now, and kind of want to finish it first
20:36:58 <oerjan> Arc_Koen: i suspect it's not _really_ constant time if you do it repeatedly for concatenation
20:37:14 <Arc_Koen> I don't need to do it repeatedly, do I?
20:37:49 <Arc_Koen> they say the result is *the same* as the iter/push method, but I guess the reason they included it and why it's constant time is that it actually uses the way Queue is defined
20:37:51 <oerjan> well you might need to do it many times
20:37:54 <Arc_Koen> ie as some kind of chained list
20:38:00 <oerjan> oh right
20:38:21 <Arc_Koen> well basically it allows me to push_as_if_it_were_a_stack
20:38:22 <oerjan> so the clearing is essential because it uses that structure
20:38:25 <zzo38> Another idea for computer design is a harvard architecture but with the ability to swap the program memory with the data memory.
20:38:47 <Arc_Koen> except it pushes it in a new queue
20:39:03 <Arc_Koen> and since I'm lazy I made the queue a global variable
20:39:33 <Arc_Koen> so I'd need to make my interpreter fully-functional by making the queue an argument of the processing function
20:39:51 -!- copumpkin has changed nick to orifice.
20:40:41 <fizzie> Arc_Koen: But if the transfer function is really constant-time, you can just transfer the new queue into the (cleared) global queue.
20:40:44 <Arc_Koen> Taneb: when I'm finished do you have some example Fueue programs to test it on?
20:40:58 <Arc_Koen> good point
20:42:41 <oerjan> a few fueue programs
20:42:53 <Arc_Koen> nice
20:43:01 <Arc_Koen> which we could porte-manteau
20:43:16 <Arc_Koen> "a fueueue programs"
20:43:43 -!- orifice has changed nick to copumpkin.
20:43:44 <oerjan> i think yueue are taking it too far
20:45:42 <oerjan> where are the orifices of a pumpkin anyhow
20:46:53 <zzo38> There can be registers: * program address register * program value register * primary data memory address register * primary data memory value register * secondary data memory address register * secondary data memory value register * write enable register * memory switching register * arithmetic register * accumulator * stack pointer * LFSR tap register
20:46:57 <Taneb> Arc_Koen, no I don't, I'm afraid
20:46:59 <fizzie> oerjan: Wherever the knife goes, I suppose.
20:47:01 <Taneb> They're pretty hard to write
20:47:16 <Arc_Koen> well a hello world program would be pretty easy
20:47:27 <Arc_Koen> oh yeah I had a question though
20:47:30 <olsner> oerjan: maybe a copumpkin is made out of the orifices of a pumpkin
20:47:50 <Arc_Koen> "if the top element is a number, prints the character of matching unicode value"
20:47:56 <olsner> not sure which implications that has for the copumpkin
20:48:06 <Arc_Koen> do I really need to do that?
20:48:10 <Arc_Koen> I mean, unicode
20:48:17 <Taneb> Character set of your choice
20:48:23 <Taneb> > chr 100
20:48:24 <lambdabot> 'd'
20:49:06 <Arc_Koen> I mean, I understand ascii
20:49:40 <oerjan> göôd
20:49:45 <Arc_Koen> and from that I figured "then computers evolved and became more powerful, but you don't need to know how the heck they can display japanese and regular a-z at the same time"
20:49:54 <Taneb> > chr 1506
20:49:55 <lambdabot> '\1506'
20:49:57 <Taneb> Hmm
20:50:03 <Taneb> ascii should be okay?
20:50:13 <fizzie> I have a vague recollection that OCaml wasn't exactly Unicode-friendly either.
20:50:18 <oerjan> @read "\1506"
20:50:18 <lambdabot>
20:50:46 <Arc_Koen> well to print the ascii in ocaml I would just do "print_char (char_of_int n)"
20:51:02 <Arc_Koen> or even "print_char (char n)"
20:51:27 <Arc_Koen> or whatever other random name they have for the print_char function
20:51:34 <zzo38> Instructions can then be: * copy register to register * wait for multicore synchronization * multiplexer (as Muxcomp esolang) * push to stack * pop from stack
20:51:59 <fizzie> "val chr : int -> char: Return the character with the given ASCII code. Raise Invalid_argument "Char.chr" if the argument is outside the range 0--255." But what does it do if the argument is in the range 128--255? ASCII doesn't go that far.
20:52:00 <zzo38> And then arrange in checkboard pattern for multi-cores, as described on the esolang list of ideas they have a diagram of such thing
20:52:31 <Arc_Koen> fizzie: I'm guessing they use the latin-1 extension of ascii
20:52:43 <Arc_Koen> or something like that
20:52:44 <oerjan> that page with ocaml utf8 module won't load
20:52:59 <fizzie> Arc_Koen: They could, filthy liars that they are.
20:53:06 <Arc_Koen> which would have the same effect for me since my terminal doesn't work well with accents and the like
20:53:59 <Arc_Koen> (yes, char_of_int, char, Char.chr are the same function...)
20:54:17 <fizzie> How hörriblë.
20:54:54 <Arc_Koen> oerjan: I have the reference manual as a pdf and it doesn't have a utf8 module
20:55:05 <Arc_Koen> (though it may be date a couple years)
20:55:10 <oerjan> Arc_Koen: it was the "batteries included" site
20:55:12 <zzo38> Some algorithms can be implemented efficiently using only a few multiplexers.
20:55:27 <oerjan> which presumably contains more stuff
20:55:34 -!- Vorpal has quit (Ping timeout: 246 seconds).
20:55:50 <Arc_Koen> so the reference manual would not be the absolute reference?
20:56:07 * Arc_Koen 's been lied to
20:56:15 <fizzie> It's not the absolute reference to Swedish folk art, for example.
20:56:25 <fizzie> Nor nonstandard modules that hairy hippies may or may not have written.
20:56:28 <zzo38> What would you think about these strange ideas of a computer?
20:56:37 <fizzie> oerjan: It would be TYPICAL if that site did not, in fact, contain a "Battery" module.
20:56:47 <oerjan> fizzie: indeed
20:57:03 <oerjan> maybe its battery ran out, and that's why it doesn't load
20:57:29 <fizzie> I wonder how many battery-operated HTTP servers there are currently publicly available in the global internet network.
20:57:36 <fizzie> Certainly a few.
20:57:48 <fizzie> And/or crank-operated.
20:57:55 <fizzie> In the mechanical sense, not the psychological.
20:58:06 <fizzie> The latter there's no shortage of.
20:58:10 <Arc_Koen> and don't forget that guy who's hosting his website on his bicycle-driven personal computer
20:59:45 <fizzie> Wiki says that bicycle dynamos produce generally about 3W at 6V; that's certainly enough to run a computer.
21:00:05 <fizzie> I'm also grateful that the worldwide encyclopedia everyone can edit had this piece of information.
21:00:23 <fizzie> Sometimes, it has happened that I went to wikipedia looking for something, and it *wasn't there*.
21:01:03 <Arc_Koen> Taneb: "Hello world" in Fueue is as simple as "72 101 108 108 111 32 (etc.)"
21:01:06 * boily is shocked.
21:01:07 <Arc_Koen> isn't it?
21:01:42 <Taneb> I think so
21:03:08 <Arc_Koen> (also, the wiki page says in the case of a function, "the function and its arguments are popped", but it doesn't say so for a number, so I would be tempted to make it that when the top element is a number, you're stuck in an infinite loop of printing the first character)
21:03:44 <oerjan> fizzie: did you get a feedback button to tell them you found what you were looking for?
21:04:25 <fizzie> oerjan: No. It lacks even such a basic feature.
21:04:32 <fizzie> (I don't recall what I was looking for any more.)
21:04:36 <Arc_Koen> you can use the discuss page
21:04:46 <oerjan> fizzie: i occasionally get such buttons
21:04:46 <Taneb> Arc_Koen, that sounds mean
21:05:09 <fizzie> oerjan: Sometimes I get dialog boxes that ask "was this information useful to you?"
21:05:12 <Arc_Koen> well that certainly would solve the problem "is it Turing-complete"
21:05:17 <fizzie> Not on Wikipedia, though.
21:05:54 <Arc_Koen> fizzie: yeah but what when you're looking for certainly-not-useful stuff? that happens to me all the time
21:06:00 <oerjan> fizzie: i have got them on wikipedia
21:07:05 <Arc_Koen> Taneb: since we're lacking example programs, I could write my first 99 bottles of beer in fueue!
21:07:11 <Taneb> Good luck!
21:07:43 <Arc_Koen> would probably be slightly more complicated than it sounds though
21:08:01 <Arc_Koen> since making a loop uses the full queue
21:08:20 <Arc_Koen> oh no we can use blocks
21:08:32 <Arc_Koen> so it *should* be easy
21:09:17 -!- nortti- has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )).
21:09:20 <Arc_Koen> "until n is 0, make the 'n bottles of beer' stuff, then deblock the end of the song"
21:09:39 <Arc_Koen> wait
21:09:54 <Arc_Koen> isn't Fueue missing an if statement or something?
21:10:14 <oerjan> shocking
21:10:54 <Taneb> I think you can use $ on a block as an if
21:11:20 <Arc_Koen> oh
21:11:46 <Arc_Koen> ok, so let's forget I ever said it would be easy
21:13:07 <oerjan> forget what?
21:13:36 -!- Eladith has joined.
21:13:50 <Arc_Koen> something about a soishbeesy, but I don't remember what it means
21:18:30 -!- Taneb has quit (Ping timeout: 256 seconds).
21:19:40 -!- Taneb has joined.
21:27:23 <oerjan> does this give an infinite loop ):[65):]
21:28:13 -!- Taneb has quit (Ping timeout: 268 seconds).
21:28:18 -!- boily has quit (Quit: Poulet!).
21:28:23 <oerjan> Arc_Koen: ^
21:28:35 <olsner> oerjan: asking us to solve your halting problems for you?
21:29:08 <oerjan> i'm just trying to write a nontrivial loop in fueue
21:29:47 <Arc_Koen> oerjan : do you mean 65 or 6 5 ?
21:29:48 <oerjan> my interpretation is that it should print AAAAAAAAAAAAAAa...
21:29:53 <Arc_Koen> (though it doesn't change much)
21:29:55 <oerjan> er
21:30:01 <oerjan> Arc_Koen: 65
21:30:14 <oerjan> of course that can be an arbitrary string to print
21:30:38 <oerjan> it requires that the test for correct argument types works though (for the ( )
21:30:51 <oerjan> er )
21:31:05 <Arc_Koen> as far as I'm concerned, yes, that's an infinite loop
21:31:36 <oerjan> good, good
21:32:52 <Arc_Koen> http://pastebin.com/rF0xBtBU
21:32:53 <oerjan> hm this means that as long as your functions don't take functions as arguments, you get arguments evaluated with enough iterations
21:35:49 <Arc_Koen> oerjan: I think the hard part is make a non-infinite loop that deblocks the rest of the program when ended
21:36:44 <Arc_Koen> though as Taneb said you could use the $ to emulate an "if this is the last iteration, then deblock the remaining"
21:40:02 * Sgeo thinks the idea behind REBOL's... not sure what to call it is interesting
21:40:11 <Sgeo> But REBOL seems to be a wasteland of no activity
21:41:48 <oerjan> <<<<( will eventually swallow up 5 values
21:44:05 <Arc_Koen> but not necessarily the next 5
21:44:31 <oerjan> indeed
21:46:19 <oerjan> hm i sense the argument order of $ is inconvenient
21:46:46 <zzo38> Another idea is connect the data of one RAM chip to the address of another, to do indirect addressing.
21:47:28 <oerjan> it's the only command that can trigger when something is a number and produce something which isn't
21:47:47 <oerjan> but the number is squeezed in the middle
21:48:06 <olsner> Sgeo: is rebol related to cobol?
21:48:28 <Sgeo> olsner, only in the fact that the name is traditionally capitalized.
21:48:34 <Sgeo> And the last three leters.
21:48:35 -!- MoALTz has quit (Ping timeout: 252 seconds).
21:48:56 <Sgeo> And that there are 5 letters
21:49:43 <Arc_Koen> oerjan: what about : (dupplicate) and ~ (swap)? they should be helping
21:50:04 <oerjan> Arc_Koen: the problem is that neither of them can be delayed until the arguments are the right type
21:50:46 <olsner> oh, it's "a cross-platform data exchange language and a multi-paradigm dynamic programming language"
21:51:24 <olsner> and "Although it can be used for [programming], its greatest strength is [other stuff]"
21:51:42 <Arc_Koen> I guess the main purpose of blocks is to delay - though you still may have to delay the deblocking or something (but I don't really know what I'm talking about)
21:52:27 <oerjan> Arc_Koen: they ought to be useful for moving larger amounts of information around as well
21:53:10 <oerjan> by analogy with underload's () blocks
21:55:36 <oerjan> hm you can probably do some finer synchronization with nested )[)[ stuff
21:56:16 <oerjan> that way you can do a delayed : as )[)[)[:]]] and the like
21:56:54 <oerjan> which i guess follows from what you said
22:00:13 <Arc_Koen> Taneb: have you considered an "ignore" operator?
22:00:31 <oerjan> taneb has probably gone to bed
22:00:37 <oerjan> he has that weird habit
22:01:10 <oerjan> hm what do you mean by an ignore operator? maybe we can simulate it
22:01:11 <Arc_Koen> which would simply send the next value back at the end, not popping it nor evaluating it
22:01:43 <Arc_Koen> so basically would be like (, except you don't need to deblock it afterwards
22:01:50 <Arc_Koen> oh
22:01:53 <Arc_Koen> )( works
22:02:07 <oerjan> excellent
22:02:27 <Arc_Koen> I think we should add that kind of stuff to the wiki
22:03:25 <Arc_Koen> hmmm
22:03:43 <oerjan> $%: n [...]
22:03:45 <Arc_Koen> at first I thought "since we have binary + and unary -, we trivially have binary -"
22:04:07 <Arc_Koen> but it's not thzt simple
22:04:34 <oerjan> +-1 works to decrement
22:04:58 <oerjan> in two steps
22:04:59 <Arc_Koen> it will work next turn
22:05:24 <oerjan> turn synchronization is probably going to be a big part of programming queue
22:05:28 <oerjan> *fueue
22:05:40 <Arc_Koen> +-1n doesn't work, since the n is popped out immediately
22:05:58 <oerjan> oh right
22:06:03 <Arc_Koen> ok I think I can make it work
22:06:09 <oerjan> +-1)(
22:06:13 <Arc_Koen> yeah
22:06:18 <oerjan> or wait
22:06:43 <oerjan> the -1 gets popped then
22:06:59 <Arc_Koen> uh
22:07:10 <oerjan> )[+-1])(
22:07:16 <Arc_Koen> +)[-1])(
22:07:31 <oerjan> or that
22:07:37 <Arc_Koen> I don't think yours work
22:07:55 <Arc_Koen> we get a +-1n at the end of the queue with yours
22:08:21 <oerjan> no, we get +-1[n]
22:08:23 <oerjan> er
22:08:24 <zzo38> How easy could a Muxcomp computer be made from 74xx parts?
22:08:25 <oerjan> no, we get +-1)[n]
22:08:48 <Arc_Koen> oh, right
22:09:01 <Arc_Koen> but that's the same isn't it :)
22:09:06 <Arc_Koen> oh no it's not
22:09:22 * Arc_Koen 's starting to hate fueue
22:09:23 <oerjan> yeah it doesn't matter where you put the + since it always waits for all numbers
22:09:38 <Arc_Koen> yep but the -1 doesn't wait
22:09:55 <oerjan> no but yours and mine do the same thing to it
22:10:10 <Arc_Koen> right
22:10:15 <Arc_Koen> )( takes two turns
22:10:28 <Arc_Koen> so we should make it ))[[-1]]
22:10:46 <oerjan> oh hm
22:10:54 <oerjan> +-1+0
22:11:20 <Arc_Koen> oh wait, -1 pushes the -1 to the end
22:11:27 <oerjan> +0 only takes one turn
22:11:29 <Arc_Koen> so I was just talking nonsense for the last five minutes
22:11:53 <Arc_Koen> so i'll go back to implementing an interpreter and i'll let you master fueue :)
22:12:36 <Arc_Koen> about your $%: n [...] : what is it supposed to do?
22:12:44 <impomatic> Does anyone know a neat trick to find the highest of two signed integers in assembly? This is what I have http://twitcode.org/show/323/find-the-signed-max-of-ax-bx
22:12:56 <Arc_Koen> it evaluates as nn[...]$% and then I guess the n's are popped out
22:13:35 <oerjan> Arc_Koen: oh why did i put the : there...
22:13:42 <oerjan> oh right hm
22:13:54 <Arc_Koen> aaaaah no I'm wrong once again
22:13:59 <Arc_Koen> the : puts the nn back to the end
22:14:01 <oerjan> the idea was to get a test on a number while still preserving a copy
22:14:22 <Arc_Koen> so [...]$%nn
22:14:26 <Arc_Koen> which should work
22:14:50 <oerjan> well not quite, the n copy gets printed
22:14:58 <Arc_Koen> right
22:15:37 <oerjan> hm maybe best to keep the n's blocked until used
22:15:42 -!- nooga has quit (Ping timeout: 264 seconds).
22:16:53 -!- ais523 has quit.
22:19:36 <Arc_Koen> so how does $ work?
22:19:48 <Arc_Koen> I mean, does $0x destroy the x?
22:19:53 -!- atriq has joined.
22:20:01 <oerjan> i'd assume so yes
22:20:07 <oerjan> ah he's back
22:20:08 <Arc_Koen> and thus $1x is the proper ignore we were looking for
22:20:13 <Arc_Koen> heya atriq
22:20:26 <oerjan> oh right that would woek
22:20:26 <atriq> Hey
22:20:27 <oerjan> *r
22:20:48 <Arc_Koen> atriq, does $0x destroy the x?
22:21:02 <atriq> Yes
22:21:10 <atriq> It pushes 0 copies of x
22:21:19 <Arc_Koen> the ! function is not needed then
22:21:26 <oerjan> heh
22:21:44 <atriq> Neither's :
22:21:50 <atriq> : is $2
22:21:51 <Arc_Koen> right
22:21:55 <oerjan> well you might want to do !! or something :)
22:22:19 <Arc_Koen> !! is a nop
22:22:45 <oerjan> well i imagine the first ! is conditionally created
22:26:49 <oerjan> hm oh. $0~ vs. $1~ might be a nice way to do clean branching
22:27:39 <oerjan> if two blocks follow to be chosen between
22:28:04 -!- nooga has joined.
22:28:31 <atriq> Except the ~ will be pushed at the back
22:28:43 <atriq> So you'd need to wait for the entire thing to rotate round
22:28:49 <oerjan> well of course.
22:29:04 <Arc_Koen> (that's kind of the big issue with fueue but you're the one we're gonna blame)
22:29:06 <oerjan> i don't expect to do much in a single round here
22:30:09 <Arc_Koen> ok, the three block functions to go, then numbers, then I'm almost done
22:30:37 <Arc_Koen> (almost meaning "hey you forgot the complete rotation input thing")
22:30:50 <oerjan> heh
22:31:19 <Arc_Koen> so my idea is to have the size of the queue be part of the queue structure, and the (recursive) processing function have "time" as an argument
22:31:52 <Arc_Koen> with time set to 0 at every "I just did something" and time++ at every "I just sent your value back to the end"
22:32:25 <Arc_Koen> and a comparison between time and q.size at the beginning of each iteration
22:32:58 <oerjan> hm an interesting question. is the empty program a nop or a cat :)
22:33:37 <Arc_Koen> I would think cat
22:33:39 <oerjan> that will affect that check
22:33:56 <Arc_Koen> otherwise I'm sure atriq wouldn't have include the Halt function :p
22:34:13 <atriq> empty is a cat
22:37:04 <Arc_Koen> though your function / effect / before / after might imply that H clears the queue
22:37:18 <Arc_Koen> and thus every program that ends becomes a cat
22:37:37 <Arc_Koen> (also, empty is an infinite loop of cats, right?)
22:40:28 <Arc_Koen> on a totally unrelated matter, i'm kind of disappointed by how fast and easy it is to describe a new language like fueue, as opposed to how long and boring it is to implement that description
22:41:11 <Arc_Koen> maybe that ~english esolang fixes that
22:41:23 <oerjan> nah just use haskell >:)
22:41:47 <Arc_Koen> the c program is like an endless succession of "case 'x':" with nested if's
22:42:27 <Arc_Koen> maybe I should make a program that writes a C program that interprets fueue
22:44:04 * oerjan sneezes
22:44:20 <oerjan> i should have known nys and that other guy was an omen
22:49:07 <FreeFull> Arc_Koen: You should write a fueue interpreter in fueue
22:49:23 <Arc_Koen> interesting
22:49:48 <Arc_Koen> hmm
22:49:58 <Arc_Koen> not so much, actually
22:50:26 <Arc_Koen> oh wait yes
22:50:35 <Arc_Koen> should be pretty easy though
22:51:22 <Arc_Koen> hmmm
22:51:30 <Arc_Koen> now I'm just thinking out loud am I not?
22:52:16 <Arc_Koen> (and let's forget the soishbeesy again, shall we?)
22:53:23 -!- monqy has joined.
22:58:44 -!- nooga has quit (Ping timeout: 244 seconds).
22:58:57 <oerjan> )$-----0[][...] is a nice way to delay evaluation, i think
22:59:49 <Arc_Koen> empty block
22:59:50 <Arc_Koen> sweet
23:00:08 <Arc_Koen> and you're gonna destroy it anyway
23:00:11 <oerjan> )$------1[...] will also work if the number of -'s is even
23:00:34 -!- atriq has quit (Quit: Leaving).
23:00:39 <Arc_Koen> waaaait
23:00:44 <Arc_Koen> I was about to ask atriq a question
23:00:50 <Arc_Koen> are empty blocks legal
23:00:58 <oerjan> cannot imagine why not
23:01:03 <Arc_Koen> they can't be made during the evaluation
23:01:17 <Arc_Koen> the only way to have an empty block is to manually write [] when writing the program
23:01:52 <oerjan> heh
23:19:03 <Arc_Koen> ok, program is finished
23:19:17 <Arc_Koen> except some parts are comments in english of what that part is supposed to do
23:19:41 <Arc_Koen> time to sleep, see you
23:20:22 <oerjan> good night
23:20:48 <Arc_Koen> (also I lied, I haven't done the string fueue program -> queue conversion yet but that should be easy)
23:21:16 <Arc_Koen> and tomorrow i'll explain why I'm so happy to have found that #esoteric place
23:22:49 -!- Arc_Koen has left.
23:25:04 -!- augur has quit (Remote host closed the connection).
23:26:58 <shachaf> You know what's terrible?
23:26:59 <shachaf> #haskell
23:29:37 <oerjan> ok mr. soundandcheateraf
23:41:59 <coppro> oerjan: I didn't know you played agora
23:42:47 <oerjan> indeed
23:52:16 <kmc> so why don't you leave shachaf
23:52:40 <shachaf> hi kmc
23:52:53 <shachaf> How's $NEW_JOB?
23:52:56 <kmc> fun
23:53:09 * shachaf is slightly sick.
23:53:15 <shachaf> I need to finish the Stripe CTF today!
23:53:16 <oerjan> he's too drawn to the carnage
23:54:05 -!- oerjan has set topic: Virus spreading on channel, film at 11 | May contain: soy strawberries, chocolate people, vanilla computer programming, natto esoteric, tarragon THX deep note, mutton ecliptic longitude, camomile tea, some CPU locusts, rutabaga nonsensical analogies and theories, hummus matrices of solidity, pudding lovecraftian horrors, and no Ice-9. | http://codu.org/logs/_esoteric/ | http://esolangs.o.
23:54:12 <oerjan> oops
23:54:31 <shachaf> Esoleric tanguages.
23:54:35 -!- oerjan has set topic: Virus spreading on channel, film at 11 | May contain: soy strawberries, chocolate people, vanilla computer programming, natto esoteric, tarragon THX deep note, mutton ecliptic longitude, some CPU locusts, rutabaga nonsensical analogies and theories, hummus matrices of solidity, pudding lovecraftian horrors, and no Ice-9. | http://codu.org/logs/_esoteric/ | http://esolangs.org/wiki.
23:56:08 <kmc> shachaf: hope you feelbetter
23:56:19 <kmc> how many CTF levels do you have lefT?
23:56:27 <shachaf> Still at the same place I was at before.
23:56:34 <shachaf> Haven't started level 7 yet. I hear it's fun.
23:56:44 <kmc> It is!
23:57:27 <kmc> so fun
23:57:40 <shachaf> There's a Stripe CTF event in SF on Thu!
23:58:05 <shachaf> I guess you won't be there this time.
23:58:33 <shachaf> But I'll bug gdb if I end up being there.
23:58:39 <kmc> cool
23:58:49 <kmc> i think nelhage isn't there yet
23:58:52 <shachaf> I keep thinking of him when I see things like https://www.hackerschool.com/blog/5-learning-c-with-gdb
23:58:54 <kmc> i had lunch with him today in cambridgema
←2012-08-27 2012-08-28 2012-08-29→ ↑2012 ↑all