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:12:58 <kmc> i'll be employee #1 at a startup founded by a bunch of former ksplice people
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: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:20 <copumpkin> except I'm across the ocean right now
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: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: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: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:32 <kmc> so there were Damages
00:20:09 <augur> did the building collapse
00:20:23 <kmc> just cost someone a bunch of money
00:21:02 <kmc> not sure if the expense was collectivized to the Lime Group
00:21:11 <copumpkin> because he was the one who did the damage
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:53 <kmc> we were actually there to loot the remaining non-damaged furniture
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: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: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: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.
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:05:48 <lambdabot> shachaf said 58s ago: what's the another post?
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: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:14:17 <elliott> shachaf: Are you reading???
01:15:50 <elliott> monqy: Did you ever read that one?
01:16:21 <monqy> i read at least the first paragraph
01:16:29 <monqy> but i wasnt in a reading mood
01:16:41 <elliott> did mspell get any furthre btw ..
01:17:35 <monqy> i removed both kinds of special abilities!
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:06 <elliott> switch :: (a -> r, b -> r) -> (a | b) -> r; swotch :: (a -> r | b -> r) -> (a * b) -> r
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:23:00 <shachaf> (a -> r) + (b -> r) = (a*b)^r
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: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:27 <shachaf> Well, it's not polymorphic.
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: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:47 <shachaf> monqy: THINK ABOUT WHAT YOU'RE DOING
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:23 <shachaf> http://logitext.mit.edu/main
01:30:23 <shachaf> DID YOU PROVE ALL THE PROOFS
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: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:46 <shachaf> monqy: are you a "bad person" too
01:36:54 <shachaf> because "it takes one to know one"
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:39 <monqy> it takes one to know that it takes one to know one
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:07 <monqy> is that wrong of me.....
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: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:48 <elliott> What do you mean but still?
01:44:29 <elliott> shachaf: I don't understand what your question is.
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: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:16 <tswett> Once, it gave a number that was too high by over a hundred orders of magnitude.
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: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:14:18 <kmc> the latest mosh release is in the topic in #mosh
05:14:20 <kmc> and on mosh.mit.edu
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:52 <shachaf> So I can't file bug reports until I upgrade.
05:14:55 <shachaf> But upgrading is a hassle!
05:15:11 <elliott> Also I don't even know what version I have, so ha.
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: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: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: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 <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:34 <kmc> git show commitish:filename
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:42 <kmc> that's some code
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: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:50 <elliott> shachaf: The joke is const correctness.
05:35:20 <elliott> shachaf: Do you want to hear another joke?
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: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:39:11 <kmc> yes i sleep quite a lot
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:23 <shachaf> elliott: What's the another joke?
06:39:41 <shachaf> elliott: He has, like, a job and stuff now, man.
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:40 <HackEgo> zzo38 is not actually the next version of fungot, much as it may seem.
06:47:46 <fungot> shachaf: he looks gay.
06:47:49 <HackEgo> fungot cannot be stopped by that sword alone.
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 <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:49:07 <fizzie> In retrospect, "of course".
06:49:26 <fungot> Selected style: darwin (Books by Charles Darwin -- you know, that evilution guy)
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: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: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:13:17 <shachaf> Oh, you mean the noreturn comes *after* the return from the function call.
07:13:56 <fizzie> The unreachable, you mean?
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:33 <shachaf> 00:13 <fizzie> The unreachable, you mean?
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: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: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:26:08 <elliott> shachaf: 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:31:22 <shachaf> elliott: I know what it is. I have.
07:32:11 <olsner> nice, I'll have to try that
07:32:36 -!- elliott has left (": - )").
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:52 <Deewiant> Re. the clang flag, it's called -Weverything
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: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: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: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.
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:04:41 <coppro> that's actually not that bad of a greeting
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: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 <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:27 <shachaf> `run echo "import Random;main=mapM_((>>(י=<<randomRIO('̀','ͯ'))).י)=<<getContents;י=putChar" > zalgo.hs
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: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: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: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:46 <lambdabot> Couldn't match expected type `GHC.Types.Double'
11:20:59 <atriq> > sum.map(1/)$scanl1(*)[0..18]
11:21:09 <atriq> That's why that doesn't work
11:21:13 <atriq> > sum.map(1/)$scanl1(*)[1..18]
11:21:18 <atriq> > sum.map(1/)$scanl1(*)[1..18]+1
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:36 <atriq> > 1 + (sum.map(1/)$scanl1(*)[1..18])
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:08 <atriq> > 1 + (sum.map(1/)$scanl1(*)[1..1000])
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: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: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:47:23 <fizzie> > let scf [] = 1; scf (a:b) = a + 1/(scf b) in scf . take 10 $ 2 : ([2,4..] >>= (1:).(:[1]))
11:47:46 <fizzie> > let scf [] = 1; scf (a:b) = a + 1/(scf b) in scf . take 50 $ 2 : ([2,4..] >>= (1:).(:[1]))
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: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: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: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:28 <Arc_Koen> did you just make up an entry in the wiktionnaire?
20:18:52 -!- pikhq has joined.
20:19:37 <oerjan> also with time travel.
20:19:45 -!- lifthrasiir has joined.
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: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:41 <atriq> You now know more about Fueue than the language's creator
20:27:16 <Arc_Koen> the wiki said something about a certain "Taneb"
20:27:24 -!- atriq has changed nick to Taneb.
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 <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:56 <Taneb> It's not the best designed language
20:31:38 <Arc_Koen> most languages are imperative and many esolangs use stacks
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: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: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: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: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: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:17 <Taneb> Character set of your choice
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: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:46 <Arc_Koen> well to print the ascii in ocaml I would just do "print_char (char_of_int 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: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: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: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: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: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: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: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: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: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:54 <Arc_Koen> isn't Fueue missing an if statement or something?
21:10:54 <Taneb> I think you can use $ on a block as an if
21:11:46 <Arc_Koen> ok, so let's forget I ever said it would be easy
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: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: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:31:05 <Arc_Koen> as far as I'm concerned, yes, that's an infinite loop
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: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:02:27 <Arc_Koen> I think we should add that kind of stuff to the wiki
22:03:45 <Arc_Koen> at first I thought "since we have binary + and unary -, we trivially have binary -"
22:04:34 <oerjan> +-1 works to decrement
22:05:24 <oerjan> turn synchronization is probably going to be a big part of programming queue
22:05:40 <Arc_Koen> +-1n doesn't work, since the n is popped out immediately
22:06:43 <oerjan> the -1 gets popped then
22:07:55 <Arc_Koen> we get a +-1n at the end of the queue with yours
22:08:24 <zzo38> How easy could a Muxcomp computer be made from 74xx parts?
22:09:01 <Arc_Koen> but that's the same isn't it :)
22:09:23 <oerjan> yeah it doesn't matter where you put the + since it always waits for all numbers
22:09:55 <oerjan> no but yours and mine do the same thing to it
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: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:50 <oerjan> well not quite, the n copy gets printed
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:48 <Arc_Koen> I mean, does $0x destroy the x?
22:19:53 -!- atriq has joined.
22:20:08 <Arc_Koen> and thus $1x is the proper ignore we were looking for
22:20:26 <oerjan> oh right that would woek
22:20:48 <Arc_Koen> atriq, does $0x destroy the x?
22:21:10 <atriq> It pushes 0 copies of x
22:21:19 <Arc_Koen> the ! function is not needed then
22:21:55 <oerjan> well you might want to do !! or something :)
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: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: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: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: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: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: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
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:44 <Arc_Koen> I was about to ask atriq a question
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:19:17 <Arc_Koen> except some parts are comments in english of what that part is supposed to do
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:29:37 <oerjan> ok mr. soundandcheateraf
23:41:59 <coppro> oerjan: I didn't know you played agora
23:52:16 <kmc> so why don't you leave shachaf
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: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: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: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