00:19:01 <fowl> Declarative...
00:19:15 <newsham> "from this day on forward, I shall never write a JIT again without Jesse". https://www.squarefree.com/2015/07/28/releasing-jsfunfuzz-and-domfuzz/
00:42:04 <lambdabot> Not in scope: data constructor ‘Void’
00:42:04 <lambdabot> variable ‘void’ (imported from Control.Monad.Writer),
00:42:10 <lambdabot> Not in scope: type constructor or class ‘Void’
00:44:52 -!- boily has quit (Quit: PARADISIAC CHICKEN).
00:45:10 <lambdabot> <hint>:1:1: parse error on input ‘:’
00:51:45 <oerjan> it's a non-imported module, so cannot be run from >
00:53:46 -!- heroux has quit (Ping timeout: 250 seconds).
00:55:41 -!- heroux has joined.
00:55:55 -!- hppavilion[1] has joined.
00:58:43 -!- Herbalist has joined.
00:58:56 -!- Herbalist has left.
01:02:06 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
01:05:07 -!- hppavilion1 has joined.
01:20:15 -!- Wallacoloo has joined.
01:24:48 <ais523> oerjan: how is absurd implemented? a pattern match with an empty body?
01:25:12 <ais523> @source Data.Void.absurd
01:25:19 <lambdabot> What module? Try @listmodules for some ideas.
01:25:39 <lambdabot> activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search slap source spell system tell ticker todo topic type undo unlambda unmtl version where
01:26:51 <oerjan> ais523: i think that depends on the Data.Void version
01:27:13 <lambdabot> Source not found. Take a stress pill and think things over.
01:27:29 <oerjan> also @src isn't a good source of sources hth
01:27:33 -!- Wallacoloo has left.
01:28:32 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:28:59 <oerjan> latest version has newtype Void = Void Void
01:29:33 <oerjan> so it's still not based on empty datatypes
01:30:20 <oerjan> absurd a = a `seq` spin a where spin (Void b) = spin b
01:31:30 <ais523> interesting use of `seq`, there
01:31:33 <shachaf> "data Void; absurd :: Void -> a; absurd x = case x of {}" is a valid implementation.
01:31:52 <oerjan> yes, but not the one used in the void package
01:31:52 <shachaf> (With recent GHC, at least.)
01:32:08 <ais523> is this one of the few places you actually require braces in Haskell?
01:32:16 <ais523> or does it have a pass keyword?
01:32:50 <shachaf> I think "case x of" would be OK.
01:33:11 <oerjan> yeah, the layout rules should insert {} if what follows is indented right
01:33:28 <shachaf> Well, if it's not indented any further right.
01:35:22 <oerjan> edwardk is presumably keeping it in old style due to his policy of supporting at least 3 Haskell Platform versions
01:36:19 <shachaf> https://hackage.haskell.org/package/void says "Haskell 98"
01:36:39 <shachaf> But I proposed a Void type in base and everyone was in favour.
01:36:46 <shachaf> Then I didn't do anything about it.
01:36:58 <shachaf> One of you folks who get things done, like oerjan, can pick it up.
01:39:25 <oerjan> sarcasm and serious reality disconnect are so hard to distinguish
01:40:53 <oerjan> oh wait it actually _was_ added to base
01:45:09 -!- hppavilion1 has quit (Ping timeout: 246 seconds).
01:45:59 <oerjan> shachaf: i used my great powers to do it in the past hth
01:46:58 <shachaf> https://ghc.haskell.org/trac/ghc/ticket/9814
01:47:00 <oerjan> still, amusing is-this-a-bug-or-not? http://stackoverflow.com/questions/31689305/haskell-data-void-undefined-turns-into-infinite-loop
01:47:07 <shachaf> hvr kept bugging me about filing that.
01:47:40 <ais523> oerjan: oh, so /that's/ what the `seq` is for
01:47:52 <ais523> answer: it isn't a bug, Haskell defines exceptions and infinite loops as equivalent
01:48:08 <shachaf> Oh, I didn't realize you were asking.
01:49:29 <oerjan> i knew it wasn't technically a bug, still unexpected
01:49:52 <oerjan> and the seq ought to prevent it
01:50:44 <shachaf> seq doesn't give any guarantees there.
01:50:52 <shachaf> a `seq` b can force either b or a first.
01:50:58 <ais523> well, if "undefined :: Void" is an infinite loop by itself
01:51:07 <ais523> then changing the definition of absurd won't help
01:51:18 <oerjan> that explains absurd undefined, although not undefined :: Void alone...
01:51:31 <ais523> does Void implement Show?
01:51:31 <oerjan> hm maybe the Show will explain that
01:51:39 <ais523> "show" on a value of type void
01:51:42 <ais523> doesn't need to look at the value at all
01:51:49 <ais523> because it has only one constructor
01:52:07 <shachaf> > show (undefined :: Void)
01:52:08 <lambdabot> Not in scope: type constructor or class ‘Void’
01:52:12 <oerjan> oh and show uses absurd...
01:52:13 <ais523> there was one constructor in the version oerjan linked earlier
01:52:24 <oerjan> i think i might be able to answer that question
01:52:32 <ais523> oh, if the impl of show uses absurd
01:52:34 <ais523> then yes, it's obvious
01:52:39 <ais523> I assumed it'd just be "deriving Show" :-)
01:54:04 <oerjan> nope, that would probably have printed "Void (Void (Void ...
01:54:35 -!- h0rsep0wer_znc has quit (Quit: ZNC - http://znc.in).
01:54:38 <shachaf> Which would have been unexpected for ais523 yesterday.
01:55:16 <ais523> shachaf: it was unexpected due to me not thinking about the implications
01:55:32 <shachaf> Right, not unexpected if you think about it.
01:57:31 <shachaf> Or maybe you'd expect it in Haskell and not in a strict language.
01:59:11 <ais523> nah, it's possible to create an infinite structure in a strict language using self-reference
01:59:16 <ais523> OCaml actually has explicit syntax for doing so
01:59:51 <shachaf> I know it's possible, I'm just saying that maybe you would find it more unexpected.
02:00:10 <shachaf> In Haskell a cyclic data structure is just a special case of an infinite data structure.
02:00:28 -!- hppavilion[1] has joined.
02:00:36 <hppavilion[1]> I want to see a BF derivative with A tape of trees of stacks
02:05:30 -!- GeekDude has joined.
02:08:37 * oerjan posted his answer to the thread
02:12:51 <oerjan> http://stackoverflow.com/questions/31689305/haskell-data-void-undefined-turns-into-infinite-loop
02:13:18 <oerjan> hm i guess "thread" isn't the right word for SO
02:16:42 <oerjan> i note that edwardk hasn't updated void to reexport the base version yet
02:18:53 <shachaf> edwardk: Any plans to do that?
02:21:59 <hppavilion[1]> I thought of a way to make a more legible Funge-like language
02:35:06 <oerjan> there was some 2d language with legible words...
02:49:26 <HackEgo> [wiki] [[Wittgen's Zucchini]] N http://esolangs.org/w/index.php?oldid=43633 * MDude * (+1147) Created page with "A programming language meant to combine elements primarily of [[Wittgen]] and [[Zucchini]] to create a language for programs related to neural activity, noting that node behav..."
02:50:56 <MDude> I dunno what that would mean.
02:52:05 <MDude> Maybe to something like X3D, where you have a grid of characters, but each one represents a subprogram written in a non-fungoid language.
02:53:23 <MDude> Though the non-fungoid parts would need to be limited in a way as to make sure it can't be sued to effectively bypass using any fungoidness.
03:18:58 -!- MDude has changed nick to MDream.
03:25:40 -!- ent0nces has quit (Remote host closed the connection).
03:37:30 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
03:43:09 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
03:49:00 -!- |f`-`|f has quit (Ping timeout: 264 seconds).
03:49:46 -!- |f`-`|f has joined.
03:56:30 -!- hppavilion[1] has joined.
04:12:44 -!- copumpkin has joined.
04:16:27 -!- copumpkin has quit (Client Quit).
04:18:50 -!- rdococ has joined.
04:38:39 <hppavilion[1]> I'm writing an article for an Esoteric data Structure
04:39:45 <rdococ> esoteric data structure?
04:43:21 <zzo38> What kind of esoteric data structure is it?
04:45:56 <HackEgo> [wiki] [[Disney queue]] N http://esolangs.org/w/index.php?oldid=43634 * Hppavilion1 * (+2040) Created Page
04:46:21 -!- Wright has quit (Read error: Connection reset by peer).
04:46:36 -!- Wright has joined.
04:46:54 <hppavilion[1]> It's badly written, but it gets the point across, I hope
04:54:30 <HackEgo> [wiki] [[1mpr0mp2]] M http://esolangs.org/w/index.php?diff=43635&oldid=37953 * Xavo * (+19) changed "Quintopia" to "[[User:Quintopia|Quintopia]]"
04:55:27 <zzo38> I do not quite understand the last section so well
04:55:42 <HackEgo> [wiki] [[1mpr0mp2]] M http://esolangs.org/w/index.php?diff=43636&oldid=43635 * Hppavilion1 * (-10) The style guide clearly states to leave on the User: prefix
04:58:46 <hppavilion[1]> Basically, when a child is too short to ride a rid
04:59:08 <hppavilion[1]> Parent A can ride and Parent B stays behind with the child
04:59:32 <hppavilion[1]> Parent B rides and Parent A stays back to care for the child
04:59:48 <hppavilion[1]> They let the pair who aren't riding wait by the gate
05:00:32 <hppavilion[1]> Should I explain how Child Swaps work at disney to clarify in the article?
05:00:53 <zzo38> Yes, I suppose so.
05:02:12 <hppavilion[1]> Did you like the use of the (r) in the function on FastPass?
05:04:09 -!- oerjan has quit (Quit: Fnord).
05:04:26 <HackEgo> [wiki] [[Disney queue]] http://esolangs.org/w/index.php?diff=43637&oldid=43634 * Hppavilion1 * (+396) Explained Child Swap
05:04:27 <zzo38> I don't really care. An actual implementation would likely not use any of the same syntax as mentioned there
05:05:02 <hppavilion[1]> Disney Queue isn't a language, it's a Data Structure
05:05:21 <zzo38> I know, I can see that
05:05:45 <zzo38> That is why aAn actual implementation would likely not use any of the same syntax as mentioned there .
05:06:38 -!- Wright has quit (Ping timeout: 272 seconds).
05:18:03 <zzo38> How to view Windows .HLP files in Linux?
05:40:38 <HackEgo> [wiki] [[ResPlicate]] http://esolangs.org/w/index.php?diff=43638&oldid=38936 * Quintopia * (+0) wrong year
05:54:20 -!- ineiros has quit (Ping timeout: 264 seconds).
06:37:22 <hppavilion[1]> I just discovered Irreparably Confused Foundations of Mathematics
07:06:52 <HackEgo> [wiki] [[Generic Brainfuck Derivative]] N http://esolangs.org/w/index.php?oldid=43639 * Hppavilion1 * (+390) Created Page (Note to self: Get back to this later)
07:41:17 <mroman> a doubly-linked list is just a binary tree whose left node is its parent.
08:05:36 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
08:05:44 -!- x10A94 has joined.
08:09:23 -!- AnotherTest has joined.
08:11:57 -!- MDream has quit (Ping timeout: 255 seconds).
08:12:07 -!- ineiros has joined.
08:13:50 -!- J_A_Work has joined.
08:25:36 -!- hppavilion[1] has joined.
08:28:51 <myname> http://www.ebay.de/itm/191586916547?clk_rvr_id=875456501399&rmvSB=true
08:37:06 -!- white_bear has joined.
08:50:45 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
09:00:38 -!- shikhin has quit (Read error: Connection reset by peer).
09:04:55 -!- shikhin has joined.
09:10:36 -!- Loop has joined.
09:13:39 -!- Loop has quit.
09:30:32 -!- j-bot has joined.
09:30:39 -!- j-bot has quit (Remote host closed the connection).
09:31:24 -!- j-bot has joined.
09:43:09 <mroman> fungot: What do you usually eat?
09:43:10 <fungot> mroman: at which point does -infinity become infinity? how many schemes use a gc.
09:43:40 <mroman> You mean... if you keept subtracting from -infinity it will wrap-around eventually
09:44:58 <Taneb> mroman, fungot exclusively uneats, ending up full
09:44:59 <fungot> Taneb: i am hungry. time for japanese is cut, your time for japanese is cut, your time for japanese is cut, your time for japanese is cut, you can't
10:00:39 -!- idris-bot has quit (*.net *.split).
10:00:39 -!- Melvar has quit (*.net *.split).
10:00:40 -!- TodPunk has quit (*.net *.split).
10:00:41 -!- Hoolootwo has quit (*.net *.split).
10:00:41 -!- olsner has quit (*.net *.split).
10:00:41 -!- mroman has quit (*.net *.split).
10:00:41 -!- Slereah__ has quit (*.net *.split).
10:00:42 -!- tromp_ has quit (*.net *.split).
10:00:46 -!- Hooloovoo42 has joined.
10:00:50 -!- Slereah__ has joined.
10:00:56 -!- mroman has joined.
10:01:02 -!- tromp_ has joined.
10:01:04 -!- Melvar has joined.
10:01:05 -!- TodPunk has joined.
10:01:38 <mroman> fungot is the reason why entropy increases?
10:01:38 <fungot> mroman: i just wrote an interpreter, but it's become pretty common parlance. decorate-sort-undecorate. it's still cheap to study
10:05:51 -!- sebbu has quit (Ping timeout: 240 seconds).
10:05:53 -!- lambdabot has quit (Ping timeout: 240 seconds).
10:05:57 <b_jonas> it's common, but often not a good idea.
10:06:05 <b_jonas> fungot: why don't you use indices instead?
10:06:05 <fungot> b_jonas: not that you can't tell me olivier danvy is an fnord simulator for a variety of programming paradigms styles.
10:06:20 <b_jonas> fungot: have you considred logarithms?
10:06:20 <fungot> b_jonas: i don't find them that sexy
10:06:39 <fizzie> fungot: Stop appearing sentient, please.
10:06:40 <fungot> fizzie: http://www.scheme.dk/ macros-and-modules.txt javascript actually working comfortably together to minimize the effort.
10:09:01 -!- olsner has joined.
10:10:43 -!- lambdabot has joined.
10:12:08 -!- J_A_Work has quit (Quit: J_A_Work).
10:27:24 -!- J_A_Work has joined.
10:28:15 -!- GoToTell has joined.
10:32:14 -!- boily has joined.
10:41:34 <Taneb> Is the vertex graph of an icosahedron planar?
10:52:33 -!- Phantom_Hoover has joined.
10:55:28 <b_jonas> I need a macro to cast feather fall before falling off five levels of conditionals at the same time
10:56:04 -!- sebbu has joined.
10:56:08 <b_jonas> falling three levels are already deadly, and falling two levels usually takes a hit point
10:56:46 -!- sebbu has quit (Changing host).
10:56:46 -!- sebbu has joined.
11:16:40 -!- idris-bot has joined.
11:16:48 <boily> who the fungot writes, by their own volition, more than one level deep of conditionals...
11:16:48 <fungot> boily: yup, i ran out of black helicopters?
11:17:07 <boily> ah, those who run out of black helicopters. makes perfect sense.
11:17:27 <boily> b_jhellonas. you're talking about #defines and #ifdefs, right?
11:22:24 <boily> (if I'm declinating Taneb, maybe I should hungarify b_jonas. b_jónapotkívánokas?)
11:24:34 <b_jonas> boily: no, only ordinary if() conditionals and similar
11:27:33 <boily> oh. well, may your black helicopters be plentiful in your conditional journey!
11:27:48 -!- boily has quit (Quit: STRUCTURAL CHICKEN).
11:32:24 <mroman> fungot: Do you have other coloured ones left?
11:32:24 <fungot> mroman: and there are good odds, that you declare the type in advance, just in case... the font that gets used for lists as well as
11:41:47 <b_jonas> "that intermediate result is saved to a cache, so clearly the expensive computation generating it won't run again every time" is faulty logic, right?
11:43:38 <fizzie> Yeah, it could be a write-only cache.
11:47:50 <ais523> on the subject of esolangs, Raymond Chen seems to have started a series on his blog about Itanium assembler
11:47:56 <ais523> which counts as an esolang, I think
11:58:34 <b_jonas> ais523: yeah, same as bancstar
11:58:56 <ais523> in the case of itanium asm you can actually see what they were getting at
11:58:59 <ais523> but it's all terribly wrong anyway
11:59:35 <b_jonas> ais523: I mean, itanium probably wasn't intended to be written by hand much, but only compiled to
11:59:57 <ais523> even as a compiler target it's bizarre
12:00:00 <b_jonas> that it's terribly wrong is irrelevant for being an esolang.
12:00:13 <ais523> there are a ton of reasonable-looking things that you can't do
12:00:39 <b_jonas> ais523: well sure, but then what actual hardware cpu designed for practical purposes isn't bizarre as a compiler target?
12:00:54 <b_jonas> itanium is just bizarre in a new way that compilers aren't used to.
12:01:54 <ais523> b_jonas: the problem is more that I don't see how it can be efficient on the hardware end
12:02:22 <b_jonas> ais523: I don't know about that, but probably sure
12:07:22 <int-e> itanium seems to be dying slowly anyway
12:08:59 <int-e> this chart is so sad. https://en.wikipedia.org/wiki/File:Processor_families_in_TOP500_supercomputers.svg
12:23:22 <fizzie> Is that a small uptick of SPARC at the right edge?
12:25:35 <Jafet> Just Moore's law for new fabs.
12:33:01 <mroman> ais523: link to that blog?
12:33:15 <ais523> http://blogs.msdn.com/b/oldnewthing/
12:34:52 -!- J_A_Work has quit (Quit: J_A_Work).
12:49:33 <mroman> http://blogs.msdn.com/b/oldnewthing/archive/2015/06/29/10624284.aspx
12:49:42 <mroman> why would you parse an unsigned long and then cast it to long?
12:50:12 <mroman> "Unfortunately, this doesn't work if the input is 9223372036854775808, which is the value of 1 << 63, a value that is representable as a 64-bit unsigned value but not a 64-bit signed value. "
12:50:35 <oren> because whoever printed it out cast it first to unsigned?
12:51:53 <mroman> The problem is, that the input 923... can't be parsed?
12:52:03 <mroman> So he recommends parsing it as an ulong
12:52:21 <mroman> even though in the end he casts it to a long
12:52:25 <mroman> which can't hold the value he just parsed
12:53:12 <oren> a ulong can hold the same values as a long, they are just mathematically interpreted differently
12:53:34 <mroman> so by casting the parsed 92... to a long you don't get 92...
12:54:07 <oren> I assume that MS C compilers are always -fwrapv
12:54:28 <mroman> That's like byte parseSomehow() have it legally parse 257
12:54:31 <mroman> but interpret it as -1
12:55:50 <mroman> I don't see why you'd ever want to have it parse a value whose value is larger than you can actually accept.
12:56:25 <oren> because you hate throwimng exceptions?!
12:56:38 <mroman> well then catch the exceptions?
12:56:42 <fizzie> Nitpick: the value ranges for 'unsigned long' and 'long' aren't necessarily the same size. (But I'm not sure about the Little Program either, it seems a bit vague.)
12:57:21 -!- diginet has quit (Ping timeout: 264 seconds).
12:57:26 <mroman> also you can still get an exception probably by using a string with a number larger than UINT64_MAX
12:58:18 <oren> fizzie: right but Microsoft defines tham to be the same size
12:58:45 <oren> https://msdn.microsoft.com/en-us/library/0eex498h.aspx
12:59:11 <ais523> fizzie: a) Little Programs are intentionally sloppy to get the points across faster; b) unless stated otherwise, everything on that blog assumes Windows
12:59:22 <fizzie> oren: Well, the program is C# anyway.
12:59:57 <fizzie> I think maybe the idea is that the string you have might have interpreted some 64 bits as signed or unsigned, and you just want a 'long' that has those bits.
13:00:41 <mroman> That'd be reasonable, yes.
13:00:59 <Jafet> `cc #include <stdio.h> \ #include <errno.h> \ main() { errno = 0, strtoul("0x10000000000000000", 0, 0), printf("%d", errno); }
13:01:13 <fizzie> Although I'd prefer it to return an ulong instead.
13:02:08 <mroman> I would prefer bits64 or something :D
13:02:08 -!- rdococ has quit (Read error: Connection reset by peer).
13:02:15 <mroman> but those data types usually don't exist.
13:02:15 <oren> C# looks so much like a microsoft-finagled c++
13:02:49 <Jafet> `echo Some output.
13:02:57 <oren> well I guess that's that it is
13:04:35 -!- rdococ has joined.
13:05:29 <oren> int64_t is too long a name
13:05:43 <oren> #define i8 int64_t
13:05:50 <oren> #define u8 uint64_t
13:06:07 <oren> #define u1 uint8_t
13:06:18 <Jafet> It used to be too long long, but now it's just too long.
13:06:57 -!- ais523 has quit.
13:07:01 <Taneb> `addquote <oren> int64_t is too long a name <Jafet> It used to be too long long, but now it's just too long.
13:07:07 <HackEgo> 1250) <oren> int64_t is too long a name <Jafet> It used to be too long long, but now it's just too long.
13:07:16 <fizzie> The "normal" convention is i32, u32 and so on.
13:07:25 <Taneb> fizzie, i64 in this case
13:07:54 <oren> right but here I'm going by the sizeof it
13:08:09 <oren> #define f8 double
13:08:17 <oren> #define f4 float
13:08:28 <oren> #define f10 long double
13:08:35 <Taneb> #define f12 triple
13:08:39 <fizzie> That's normally not the sizeof of long double.
13:08:40 <Jafet> #define float (fix your code)
13:09:24 <fizzie> You can get 12 or 16 out of GCC, but not 10.
13:10:02 <Taneb> #define f20 pentuple
13:10:16 <Jafet> `cc main(){ printf("%zu", sizeof(long double)); }
13:10:34 <oren> well the olny sane way to use long double is in a register variable...
13:10:34 <fizzie> What what? GCC has -m96bit-long-double and -m128bit-long-double flags, the default is different on x86-32 vs. x86-64. There's no -m80bit-long-double.
13:12:18 <Jafet> Only in the frag shader.
13:12:24 <oren> depends on archictecture
13:13:50 <oren> on x86 float operations use an intermediate 80-bit representation, which maps to register long double variables
13:15:05 <oren> my computer has the last of that line
13:18:02 <mroman> oren: mind you that you should use int64_fast_t anyway
13:19:19 <mroman> unless you need a fixed width for memory purposes or whatever
13:20:28 -!- staffehn_ has quit (Ping timeout: 244 seconds).
13:22:15 <mroman> int64_t reads/writes aren't guaranteed to be atomic, right?
13:22:28 <Jafet> CPUs should just trap on signed overflow, then this problem would go away.
13:22:37 -!- staffehn has joined.
13:22:39 <mroman> sig_atomic_t read/writes on the other hand are guaranteed to be atomic
13:23:20 <fizzie> mroman: It needs to be a volatile sig_atomic_t, I think.
13:24:04 <fizzie> (C11 has the _Atomic qualifier, but it's not required, and no particular types are required to be supported with it, if any are.)
13:24:06 <mroman> It's funny how much of these things don't matter usually unless you're an embedded sytems developper
13:24:53 <mroman> also you usually don't have stdlibc there anyway :)
13:25:23 <mroman> and no standard compliant C compiler
13:25:36 <mroman> the C world is fucked up
13:27:03 <oren> Yeah. Confirmed, I have a 'Yonah' intal processor, the last 32-bit core
13:27:16 <mroman> fizzie: what does _Atomic guarantee?
13:27:26 <mroman> or even operations such as += to be atomic?
13:27:40 <Jafet> Most C code isn't standard, regardless of platform. (Wiedijk has argued that, depending on how you read the standard, there might not exist a fully standard program.)
13:29:17 <fizzie> mroman: There's a set of operations on them in <stdatomic.h>. The kind of ones you'd expect -- store, load, exchange, compare_exchange, fetch-and-modify with add/sub/or/xor/and.
13:29:36 -!- `^_^v has joined.
13:29:37 <mroman> ah so it doesn't work for structs?
13:29:39 <oren> Well maybe the standard should be descriptive rather than prescriptive
13:31:00 <fizzie> mroman: Actually, I think it works for structs. But the fetch-and-modify ones are only applicable to atomic integer types.
13:31:04 <mroman> like uhm _Atomic struct point_t myAtomicPoint;
13:31:15 <mroman> myAtomicPoint.foo += i;
13:31:22 <mroman> which would be atomic in this case
13:31:43 <fizzie> I don't think the qualifier guarantees anything when you're not using the atomic operations.
13:31:57 <fizzie> And they're not guaranteed to be lock-free -- you can ask whether an atomic object is, though.
13:32:20 <mroman> not all platforms support atomic operations anyway
13:32:45 <mroman> which is tricky for portability reasons
13:33:11 <mroman> on some microcontrollers you have no other choice than to
13:33:24 <mroman> DISABLE_INTERRUPTS; /* do things */ ENABLE_INTERRUPTS;
13:36:18 <Jafet> I don't think you can find a C11 compiler for a microcontroller in any case.
13:42:44 <mroman> they are usually vendor C compilers
13:43:24 -!- lleu has quit (Quit: That's what she said).
13:43:41 -!- staffehn has quit (Quit: No Ping reply in 180 seconds.).
13:43:41 -!- lleu has joined.
13:43:41 -!- lleu has quit (Changing host).
13:43:41 -!- lleu has joined.
13:44:55 -!- vifino has quit (Ping timeout: 246 seconds).
13:46:22 -!- staffehn has joined.
13:58:19 -!- vifino has joined.
14:02:50 -!- fractal has quit (Ping timeout: 244 seconds).
14:05:56 -!- kline has quit (Ping timeout: 244 seconds).
14:06:01 -!- staffehn has quit (Ping timeout: 265 seconds).
14:06:21 -!- ethiraric has quit (Ping timeout: 264 seconds).
14:07:36 -!- staffehn has joined.
14:07:58 -!- ethiraric has joined.
14:10:23 -!- lambdabot has quit (Read error: Connection reset by peer).
14:10:59 -!- kline has joined.
14:16:59 -!- lambdabot has joined.
14:18:51 -!- atrapado has joined.
14:18:54 -!- GeekDude has joined.
14:20:55 -!- lleu has quit (Ping timeout: 244 seconds).
14:27:50 -!- oerjan has joined.
14:33:50 -!- fractal has joined.
14:50:52 -!- MDude has joined.
14:54:30 -!- Patashu has quit (Ping timeout: 240 seconds).
15:00:42 -!- white_bear has quit (Ping timeout: 244 seconds).
15:27:17 -!- GoToTell_ has joined.
15:29:22 -!- GoToTell has quit (Ping timeout: 260 seconds).
15:29:23 -!- GoToTell_ has changed nick to GoToTell.
15:32:12 -!- idris-bot has quit (Quit: Terminated).
15:32:20 -!- Melvar has quit (Quit: cleaning).
15:42:35 -!- MoALTz_ has quit (Quit: Leaving).
15:44:23 -!- _256Q has joined.
15:44:23 -!- _256Q has quit (Changing host).
15:44:23 -!- _256Q has joined.
15:52:47 -!- _256Q has quit (Read error: Connection reset by peer).
15:57:24 -!- _256Q has joined.
15:57:24 -!- _256Q has quit (Changing host).
15:57:24 -!- _256Q has joined.
16:01:06 <oerjan> finally i understand spanish names http://www.mezzacotta.net/pomh/?comic=27
16:13:22 -!- bb010g has quit (Write error: Connection reset by peer).
16:13:24 -!- ocharles__ has quit (Remote host closed the connection).
16:16:57 -!- Wright has joined.
16:17:39 -!- nycs has joined.
16:18:51 -!- `^_^v has quit (Ping timeout: 255 seconds).
16:20:37 -!- mauris has joined.
16:20:58 <quintopia> oerjan: i didn't realize anyone actually used Krita
16:23:59 <shachaf> spot of the oerjan, governor?
16:24:46 -!- MoALTz has joined.
16:28:04 <Taneb> Well, I am doing a talk on lens in about two hours
16:28:44 <Taneb> shachaf-style-esque slides
16:28:57 <Taneb> That are still being written
16:29:01 <shachaf> are the slides on the internet somewhere
16:35:06 <int-e> Nothing, I'm just going to give 3 talks on Sunday, that will be ... interesting.
16:35:16 <Taneb> What sort of subject?
16:36:03 <int-e> abstract rewriting, term rewriting. somewhere in the overlapping area of math and computer science.
16:36:30 <int-e> in any case, I'm working on slides.
16:37:06 <Taneb> I've got slides describing up to "Iso", now working on Prisms
16:37:39 <shachaf> whoa, you're talking about profunctors?
16:37:45 <Taneb> shachaf, not in great detail
16:38:55 <shachaf> edwardk: Did you see the discussion yesterday about void?
16:39:08 <edwardk> what new noise machine got started
16:39:22 <shachaf> The question was whether there's anything stopping void from reexporting Void from base.
16:39:30 <shachaf> It wasn't much of a discussion, really.
16:43:07 -!- ocharles__ has joined.
16:43:41 -!- bb010g has joined.
16:44:13 <oerjan> edwardk: well it started with a SO question about why absurd undefined looped infinitely (which it can in some versions and circumstances)
16:44:34 <edwardk> it shouldn't loop any more
16:44:42 <edwardk> we always force the thunk we're given now
16:44:56 <edwardk> shachaf: oh, wait, doesn't Void do that yet?
16:45:08 <oerjan> edwardk: no, because seq doesn't enforce ordering
16:45:28 <edwardk> on ghc >= 7.9 it re-exports
16:45:43 -!- Melvar has joined.
16:45:44 <shachaf> edwardk++ for fixing it retroactively.
16:45:59 <shachaf> https://github.com/ekmett/void/blob/master/void.cabal confirms it hth
16:46:07 <edwardk> oerjan: have you observed the spin you worry about?
16:46:18 <edwardk> we could use pseq but that has complications
16:46:27 <Taneb> edwardk, that seems a very arbitrary upper bound on base
16:46:33 -!- `^_^v has joined.
16:47:01 <edwardk> it inherited it from bytestring i think
16:47:56 -!- nycs has quit (Ping timeout: 265 seconds).
16:48:01 <Taneb> bytestring has base < 5
16:48:02 <edwardk> using pseq means it needs parallel, which means you lose it in base
16:48:10 <oerjan> edwardk: oh i was looking at the module source, not the cabal file
16:48:40 <oerjan> the module has no indication of the reexport
16:48:51 -!- idris-bot has joined.
16:48:55 <edwardk> Taneb: back in the stoneage IIRC one of the fairly standard dons packages used to use base < 10
16:49:12 <edwardk> oerjan: it has no way to =)
16:49:26 <edwardk> the indication is it is in an old-src dir
16:49:28 <shachaf> edwardk: Sounds like pseq should be in base.
16:49:34 <shachaf> It's not really a parallel thing.
16:49:53 <Taneb> edwardk, right, I guess
16:50:04 <oerjan> Taneb: int-e: good luck
16:50:06 <edwardk> feel free to chase after creating an issue and even using this to motivate it if you like
16:50:52 <shachaf> Yay, that sounds fun and productive.
16:54:06 -!- oerjan has quit (Quit: Later).
16:54:24 <quintopia> let it be known that dropping a pint glass on your toe is extremely painful even from one foot up
17:02:28 -!- lleu has joined.
17:12:26 <FreeFull> That's because glass is a dense material
17:13:26 <zzo38> I might be able to make a better kind of HSTS specification. The same header format is used for compatibility, but many of meanings are different.
17:15:19 <shachaf> Isn't that the opposite of compatibility?
17:25:09 <zzo38> From the server's perspective it is the same
17:30:03 <fizzie> I assume your version will allow the user to override everything?
17:30:40 -!- mauris_ has joined.
17:32:44 <zzo38> Yes, that is one thing it does
17:33:25 <zzo38> But there are several other things too
17:33:38 -!- mauris has quit (Ping timeout: 244 seconds).
17:37:46 -!- GoToTell has quit (Ping timeout: 272 seconds).
17:39:14 -!- GoToTell has joined.
17:40:38 -!- TieSoul has joined.
17:41:08 <zzo38> In contexts where an absolute URL may be entered without the scheme (which results in not even a valid absolute URL), the automatic redirect to HTTPS still applies. For example in many browsers if you enter something that looks like a domain name into the location bar it will automatically add "http://" in front; it will put "https://" in front instead if HSTS is enabled. The user can still delete this though.
17:41:21 <zzo38> Also it does not apply if the user explicitly enters "http://".
17:43:38 <zzo38> Other things might or might not automatically change depending on user configuration, but even if most features are disabled, it still causes cookies, whitelists, etc associated with the site to store the certificate as well, and if it does not match the cookies aren't sent (the user can still manually edit the cookies to specify the new certificate if wanted).
17:49:25 -!- rdococ has quit (Read error: Connection reset by peer).
17:49:46 <fizzie> Does that mean that a website by default loses access to cookies when it updates its certificate?
18:03:04 -!- hppavilion[1] has joined.
18:14:13 -!- TieSoul has quit (Remote host closed the connection).
18:31:30 -!- J_Arcane_ has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]).
18:35:39 -!- J_A_Work has joined.
18:36:14 -!- J_A_Work has quit (Read error: Connection reset by peer).
18:36:54 -!- J_A_Work has joined.
18:43:33 -!- J_A_Work has quit (Quit: J_A_Work).
18:44:04 -!- J_Arcane has joined.
18:46:27 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
18:51:24 -!- hppavilion[1] has joined.
19:00:39 <b_jonas> zzo38: is it compatible both ways?
19:00:54 <b_jonas> zzo38: as in, between old servers and new clients, or between odl clients and new servers
19:02:39 -!- _256Q has quit (Ping timeout: 255 seconds).
19:41:26 -!- _256Q has joined.
19:41:26 -!- _256Q has quit (Changing host).
19:41:26 -!- _256Q has joined.
19:41:33 <zzo38> fizzie: Well, the cookie would apply to all the same certificates that the HSTS appplies to.
19:42:42 <zzo38> So if only one certificate is pinned, then yes it will lose the cookies by default.
19:43:27 <zzo38> b_jonas: Yes, both ways. Although if a server wants to enable *only* the new way and not the old way for client features, it can call the header "X-Strict-Transport-Security".
19:46:13 <zzo38> HSTS supercookies also no longer work in this new way.
19:47:18 <Taneb> shachaf, http://runciman.hacksoc.org/~taneb/LT.pdf
19:48:14 -!- AnotherTest has quit (Ping timeout: 272 seconds).
19:48:36 <zzo38> So this cookie disabling can also depend on whether HPKP is used together with HSTS or not, as well as the lifetime of various certificates, and so on.
19:54:25 -!- GoToTell has quit (Quit: HydraIRC -> http://www.hydrairc.com <- Chicks dig it).
19:54:26 <zzo38> My own kind of HSTS would also automatically enable secure-only on all cookies for that server as well as prevent cookies set over an insecure connection from affecting the secure connection by default (although they can still be resent over an insecure connection if the user has not disabled cookies for that domain over insecure connections).
19:59:04 <zzo38> Deleting cookies by default when the certificate is change can also help so that they are not sent if the domain is purchased by a new company. Such certificate pinning can be used also in script whitelists and so on as well.
20:01:11 <shachaf> Taneb: where's "shachaf saves the day" twh
20:03:49 <fizzie> Yes, I was about to say that HSTS and HPKP are entirely (well, FSVO) separate.
20:04:03 -!- nycs has joined.
20:05:59 -!- mauris_ has quit (Read error: Connection reset by peer).
20:06:10 -!- nycs has quit (Client Quit).
20:06:10 <zzo38> It also depends on what ciphers are used and so on. So, if it is connect with HSTS and HPKP with TLS v2, and then later on it is TLS v1, you will get a warning message (which can still be overridden by the user though; if they do the cookies are gone though unless the user manually edits the cookies).
20:06:25 -!- `^_^v has quit (Ping timeout: 246 seconds).
20:06:31 -!- nycs has joined.
20:09:07 -!- x10A94 has quit (Read error: Connection reset by peer).
20:09:52 <zzo38> So not only cookies are affected, but also whitelists and HTTP authentication methods.
20:14:36 <b_jonas> zzo38: so will you document this somewhere, and make a reference implementation in a http[s] client library?
20:14:52 <zzo38> But if you want real security, you should use neither HTTP nor HTTPS anyways; the mess they make can cause other problems with security.
20:18:33 <zzo38> Yes I should document it, although I might not necessarily implement it. Anyways the implementation can differ depending on some things; for example the client might not be a web-browser.
20:19:11 <b_jonas> zzo38: yes, that's why I said "reference implementation". I don't expect you to implement it in all https-capable clients ever.
20:19:26 <b_jonas> zzo38: eg. you could try to implement it in libcurl (if cookie jar is enabled or something like that)
20:20:15 <b_jonas> or in whatever library you prefer
20:20:21 <b_jonas> there's ton of https client libraries
20:38:05 -!- _256Q has quit (Ping timeout: 244 seconds).
20:41:28 -!- _256Q has joined.
20:41:28 -!- _256Q has quit (Changing host).
20:41:28 -!- _256Q has joined.
20:59:06 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
21:15:04 -!- nycs has quit (Quit: This computer has gone to sleep).
21:24:23 -!- hppavilion[1] has joined.
21:32:41 <HackEgo> [wiki] [[LOLCODE]] http://esolangs.org/w/index.php?diff=43640&oldid=43600 * Hppavilion1 * (+360) Criticism section
21:47:11 -!- oerjan has joined.
22:01:53 <oerjan> <Taneb> Is the vertex graph of an icosahedron planar? <-- specifically, it's essentially a graph on a sphere and those are planar
22:02:11 <oerjan> @tell Taneb <Taneb> Is the vertex graph of an icosahedron planar? <-- specifically, it's essentially a graph on a sphere and those are planar
22:17:55 <FreeFull> All regular polyhedra have planar graphs
22:19:11 <FreeFull> I think something torus-like won't have a planar vertex graph
22:22:41 <HackEgo> [wiki] [[LOLCODE]] http://esolangs.org/w/index.php?diff=43641&oldid=43640 * Hppavilion1 * (+917) Added example code to criticism section
22:23:42 <HackEgo> [wiki] [[LOLCODE]] http://esolangs.org/w/index.php?diff=43642&oldid=43641 * Hppavilion1 * (-21) Fixed output
22:25:03 <shachaf> http://esolangs.org/wiki/Weirdlang looks a lot like a category
22:25:45 <shachaf> Saying "X is technically a Y" when Y is a term that you've invented is a little fishy.
22:27:03 -!- _256Q has quit (Read error: Connection reset by peer).
22:30:55 <hppavilion[1]> However, Weirdlang is a term I invented to correspond to a concept I'm pretty sure all of us already acknowledged
22:31:55 <HackEgo> [wiki] [[Weirdlang]] http://esolangs.org/w/index.php?diff=43643&oldid=43610 * Hppavilion1 * (+7) Removed made up terms :P
22:35:58 <HackEgo> [wiki] [[Esoteric algorithm]] N http://esolangs.org/w/index.php?oldid=43644 * Hppavilion1 * (+368) Created page
22:37:38 <oerjan> <FreeFull> I think something torus-like won't have a planar vertex graph <-- well the four-color theorem doesn't apply to a torus, so...
22:40:55 <FreeFull> oerjan: It's 7 colours for a torus
22:42:22 <oerjan> hm a more obvious proof is that you can easily put K_3,3 on the torus
22:43:03 <HackEgo> [wiki] [[Dropsort]] N http://esolangs.org/w/index.php?oldid=43645 * Hppavilion1 * (+645) Created page
22:43:24 <oerjan> put 3 vertices on the outside edge, 3 on the inside edge, connect each to 2 over the top and 1 under the bottom, e.g.
22:43:45 <oerjan> hppavilion[1]: um what exactly are you doing
22:44:36 <HackEgo> [wiki] [[Dropsort]] http://esolangs.org/w/index.php?diff=43646&oldid=43645 * Oerjan * (-3) /* Algorithmic Description */ thus
22:44:47 <oerjan> cannot use spaces, apparently
22:48:07 <HackEgo> [wiki] [[Langar.io]] N http://esolangs.org/w/index.php?oldid=43647 * InputUsername * (+5465) Created Langar.io, a language inspired by Agar.io (I'm so sorry for this)
22:48:56 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=43648&oldid=43594 * InputUsername * (+16) Added Langar.io to the language list
22:49:48 <HackEgo> [wiki] [[Langar.io]] M http://esolangs.org/w/index.php?diff=43649&oldid=43647 * InputUsername * (+10) Fixed category
22:52:17 <HackEgo> [wiki] [[User:InputUsername]] M http://esolangs.org/w/index.php?diff=43650&oldid=43558 * InputUsername * (+120) Added Langar.io to my user page
22:54:23 <HackEgo> [wiki] [[Weirdlang]] http://esolangs.org/w/index.php?diff=43651&oldid=43643 * Hppavilion1 * (+330) Not Evil Section.
22:55:53 <HackEgo> [wiki] [[User talk:InputUsername]] N http://esolangs.org/w/index.php?oldid=43652 * Hppavilion1 * (+355) IRC invite
22:58:16 <HackEgo> [wiki] [[Langar.io]] M http://esolangs.org/w/index.php?diff=43653&oldid=43649 * InputUsername * (+10) Fixed external resource
23:00:49 <HackEgo> [wiki] [[Talk:Langar.io]] N http://esolangs.org/w/index.php?oldid=43654 * Hppavilion1 * (+41) Sorry for putting this here, but I doubt he was going to check it otherwise
23:07:26 -!- nisstyre has joined.
23:09:17 -!- InputUsername has joined.
23:21:04 -!- variable has joined.
23:23:02 -!- atrapado has quit (Quit: Leaving).
23:27:31 -!- variable has quit (Quit: 1 found in /dev/zero).
23:30:20 -!- a21 has joined.
23:42:34 <nortti> http://hackaday.com/2013/01/29/genetic-algorithms-become-programmers-themselves/
23:53:06 -!- boily has joined.
23:53:08 <lambdabot> CYUL 292300Z 20008KT 15SM FEW035TCU FEW150 30/23 A2982 RMK TCU1AC1 TCU TR AC TR SLP098 DENSITY ALT 2000FT
23:54:11 <boily> bon... sœr... ja...........
23:55:07 <lambdabot> ENVA 292320Z 36004KT 9999 BKN021 13/10 Q1003 RMK WIND 670FT 28008KT
23:55:34 <lambdabot> KOAK 292253Z 30014KT 10SM CLR 24/15 A2989 RMK AO2 SLP122 T02390150
23:55:48 <lambdabot> KSJC 292253Z 30012KT 10SM CLR 31/12 A2987 RMK AO2 SLP114 T03060122
23:56:07 <boily> 31/12! woaaahhh...
23:56:08 <oerjan> InputUsername: the other people are dying of heat while i'm just cooling it
23:58:42 -!- Patashu has joined.