←2015-05-11 2015-05-12 2015-05-13→ ↑2015 ↑all
00:03:57 -!- hjulle has quit (Ping timeout: 265 seconds).
00:11:28 -!- zzo38 has quit (Remote host closed the connection).
00:18:46 <pikhq> ais523: Well, I can now answer "it's non-zero".
00:19:30 <ais523> huh, I didn't realise C99 allowed non-prototype declarations
00:20:03 <pikhq> As does C11.
00:20:32 <ais523> C11 didn't change syntax much
00:20:35 -!- ZombieAlive has quit (Remote host closed the connection).
00:20:36 <pikhq> *nod*
00:20:52 <pikhq> C11 was *mostly* an addition to the libraries.
00:27:05 <pikhq> Which interestingly means that it's not especially hard to port at least *some* old K&R C to C11.
00:32:13 <pikhq> I was not actually expecting it to be as easy to write moderately universal C as it is.
00:32:26 <pikhq> Ends up being a bit weird, but still.
00:33:01 <pikhq> (and limited in functionality if you want to support certain spectacularly low-quality environments. :))
00:39:50 -!- daniel_13 has joined.
00:39:54 <fizzie> K&R function declarations are mentioned an "obsolescent feature" both in C99 and C11.
00:40:02 <fizzie> Maybe next century they'll actually drop the support.
00:40:12 <shachaf> Does K&R C have function declarations?
00:40:21 <shachaf> What is the syntax?
00:41:04 <fizzie> return_type function(); for a non-definition declaration, and return_type function(a, b, c) type a; type c; { ... } for a declaration that is also a definition.
00:41:16 <fizzie> With implicit ints allowed for the return type and the parameter types.
00:41:20 <pikhq> K&R C has function *declarations*, but not prototypes.
00:41:22 <shachaf> OK. So there's no way to specify anything other than the return type.
00:41:27 <pikhq> Yep.
00:41:44 <pikhq> And in ISO C you're permitted to use such a declaration, but not required.
00:41:45 <shachaf> they should change that twh
00:42:05 <pikhq> C99 does not allow implicit int.
00:42:30 -!- daniel_13 has left.
00:45:28 <fizzie> At least it still lets you do int f(x, y, z, w, a, b, c) int x, y, z, w, a, b, c; { ... } saving you from repeatedly typing the 'int'.
00:45:35 <fizzie> Clearly the K&R style is superior.
00:45:56 <shachaf> The K&R style makes a lot of sense.
00:46:39 <shachaf> int (*f)(); means that (*f)() is an int. So it makes sense that "int f(x)" means that f(x) is an int.
00:47:11 <shachaf> But then you specify "int f(x) char x; { ... }" -- f(x) is an int only for char x.
00:47:30 <shachaf> int f(char x) makes no sense, though. char x isn't even an expression.
00:50:52 -!- a2 has joined.
00:51:05 -!- a2 has changed nick to CADD.
00:51:34 -!- CADD has changed nick to Guest89181.
00:55:35 -!- Guest89181 has quit (Ping timeout: 264 seconds).
01:26:25 -!- aretecode has quit (Read error: Connection reset by peer).
01:28:28 -!- aretecode has joined.
01:35:18 -!- PinealGlandOptic has quit (Ping timeout: 240 seconds).
01:42:21 -!- callforjudgement has joined.
01:42:44 -!- ais523 has quit (Disconnected by services).
01:42:46 -!- callforjudgement has changed nick to ais523.
01:52:20 -!- ais523 has quit (Read error: Connection reset by peer).
01:52:25 -!- callforjudgement has joined.
01:52:42 -!- callforjudgement has changed nick to ais523.
02:13:57 -!- ais523 has quit.
02:14:12 -!- ais523 has joined.
02:14:42 <Jafet> int f((char)x)?
02:15:02 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:31:56 -!- teakey has joined.
02:33:11 -!- Left_Hand_6969 has joined.
02:34:41 -!- Left_Hand_6969 has changed nick to Theophrastus_Bom.
02:35:47 -!- ais523 has quit (Read error: Connection reset by peer).
02:35:55 -!- ais523 has joined.
02:36:20 -!- lleu has quit (Ping timeout: 272 seconds).
02:36:27 -!- Theophrastus_Bom has changed nick to Empedoclean.
02:36:58 -!- Empedoclean has left.
02:38:07 -!- heroux has quit (Ping timeout: 256 seconds).
02:42:25 -!- teakey_ has joined.
02:44:36 -!- teakey has quit (Ping timeout: 245 seconds).
02:44:43 -!- teakey_ has changed nick to teakey.
02:49:35 -!- augur has quit (Ping timeout: 255 seconds).
02:52:32 -!- ais523 has quit (Read error: Connection reset by peer).
02:52:42 -!- ais523 has joined.
02:54:23 -!- ais523 has quit (Remote host closed the connection).
02:54:30 -!- ais523 has joined.
02:57:51 -!- augur has joined.
03:17:13 -!- aretecode has quit (Read error: Connection reset by peer).
03:17:47 -!- FreeFull has quit (Ping timeout: 264 seconds).
03:18:00 -!- FreeFull has joined.
03:18:01 -!- FreeFull has quit (Changing host).
03:18:01 -!- FreeFull has joined.
03:19:17 -!- aretecode has joined.
03:20:50 -!- doesthiswork has joined.
03:40:14 -!- ais523 has quit (Read error: Connection reset by peer).
03:40:17 -!- callforjudgement has joined.
03:40:23 -!- callforjudgement has changed nick to ais523.
03:46:07 -!- ais523 has quit (Read error: Connection reset by peer).
03:46:15 -!- ais523 has joined.
03:49:11 <oerjan> :t forever
03:49:12 <lambdabot> Monad m => m a -> m b
03:51:03 <quintopia> helloefjan
03:51:07 <quintopia> meh
03:52:30 <shachaf> hijan
03:52:50 <quintopia> shichif
03:56:41 <ais523> oerjan: forever is the monad version of an infinite loop?
03:56:48 <ais523> (I figured that out based on the type)
03:57:17 <ais523> (and the name)
03:59:44 <oerjan> yes
04:00:04 <oerjan> i was checking if they'd updated it to Applicative instead of Monad
04:01:20 <ais523> wouldn't being a monoid be sufficient (or, well, you don't even need an identity, just associativity)? or is that a different operatoin?
04:01:23 <ais523> *operation
04:02:10 <oerjan> you could make a monoid forever, but it wouldn't have a compatible type
04:03:11 <oerjan> and for those monadic values that are also monoids, it's not necessary the same operation
04:03:19 <oerjan> *ily
04:03:28 <oerjan> e.g. it's not the same for list
04:03:32 <oerjan> *lists
04:04:54 <shachaf> oerjan: did you see the thing where Applicatives are monoids in the category of endofunctors
04:05:27 <oerjan> i haven't looked at that yet, although edwardk keeps throwing the word day convolution around
04:05:36 <shachaf> (with Day convolution as your monoidal product hth)
04:05:48 <shachaf> day convolution is great
04:06:01 <shachaf> it's p. much like regular convolution
04:06:51 <oerjan> O KAY
04:07:15 <shachaf> Day f g a = exists x y. (f x, g y, x -> y -> a) hth
04:07:18 <oerjan> so what product do you use to make Functors monoids in the category of endofunctors
04:07:36 <ais523> `? monad
04:07:37 <HackEgo> Monads are just monoids in the category of endofunctors.
04:07:56 <shachaf> you can get Alternative in two different ways
04:08:02 <ais523> the problem here is that the category of endofunctors is really general
04:08:14 <shachaf> Well, "the category of endofunctors" is underspecified.
04:08:22 <shachaf> Since it's a monoidal category.
04:08:44 <ais523> "monoidal category" normally implies it has some /specific/ monoid
04:09:31 <shachaf> Does it?
04:09:42 <shachaf> It's a useful concept independently of talking about monoid objects, I think.
04:09:45 <oerjan> shachaf: so can you get every subtype of optics this way
04:10:07 <shachaf> oerjan: can you get any subtype of optics this way twh
04:10:31 <oerjan> well i mean, Applicative <-> Traversal.
04:11:05 <oerjan> Functor <-> Lens
04:11:12 <oerjan> oh darn, profunctors
04:11:43 <oerjan> please note that i'm not actually engaging my brain here
04:12:05 <ais523> shachaf: oh, the definition I know is that a monoidal category has some operation \otimes on both objects and arrows that is associative, and has an identity object I (and identity arrow id_I), and some coherence rules
04:12:21 <shachaf> Yes, that's the one.
04:12:33 <ais523> admittedly, sometimes we come across categories that are monoidal two different ways
04:12:47 <ais523> but normally you assume there's a specific \otimes that you can talk about
04:12:57 <shachaf> The category of endofunctors is monoidal in at least five different ways.
04:13:07 <oerjan> obviously there is a category of ways a category is monoidal hth
04:13:43 <shachaf> Anyway, when people say "monoid" in this context they usually mean a monoid object in a monoidal category.
04:14:30 <shachaf> I.e. some specific object X along with arrows : X ⊗ X -> X and : I -> X
04:14:57 <ais523> right, the concept of monoid objects sort-of passed me by because it isn't something I'm used to having in my categories
04:15:01 <shachaf> (In Set, when you make it a monoidal category using cartesian product, you get the usual notion of a monoid.)
04:16:07 <ais523> Set has an arrow X → X × X, doesn't it? (where × is cartesian product)
04:16:21 <ais523> or have I got that backwards?
04:16:29 <ais523> I'm trying to remember what a cartesian category is
04:16:49 <ais523> (the main theme in my research being categories where you can't do that)
04:17:00 <shachaf> Are you thinking of comonoids here?
04:17:20 <ais523> no
04:17:23 <ais523> or, well, possibly
04:17:35 <ais523> I'm thinking of the normal model for contraction
04:17:49 <ais523> in programming languages
04:18:03 <ais523> (where contraction is something like \x -> x + x, i.e. a lambda that uses its argument twice or more)
04:18:28 <shachaf> Right. Set isn't a good category to talk about those things in.
04:18:56 <shachaf> A comonoid is an object X along with arrows : X -> X ⊗ X and X -> I satisfying the dual laws to the monoid laws.
04:19:16 <shachaf> In Set (or Hask) every object is a comonoid in exactly one boring way.
04:19:30 <shachaf> But e.g. in linear logic it corresponds to objects that you can duplicate and delete.
04:20:05 <ais523> ah right, yes
04:20:12 <ais523> I'm thinking of substructural categories
04:20:19 <ais523> where you might or might not have each of those two rules independently
04:20:36 <ais523> in particular, I normally use affine categories, where you can delete but not duplicate
04:20:52 <shachaf> Sure, you can talk about cosemigroups and -- copointed sets, I guess?
04:21:26 <shachaf> If you want a puzzle about comonoids, you can solve http://thue.stanford.edu/puzzle.html
04:21:30 <ais523> a pointed set is a set that has one specific element that you can identify
04:21:48 <ais523> so what's a copointed set? a set that has an element from which you can identify any of the others?
04:21:49 <shachaf> I think "copointed set" is probably a bad name.
04:22:13 <shachaf> I was just dualizing "point : I -> X"
04:23:24 <ais523> do you know about the concept of initial and terminal objects?
04:23:50 <ais523> in my case, there isn't just a copoint operator, I is actually terminal
04:23:56 <ais523> i.e. there's exactly one way to delete each object
04:24:11 <shachaf> Sounds reasonable.
04:24:24 <shachaf> The trouble with "pointed set" is that it's so lawless.
04:24:35 <shachaf> But you can do better here.
04:24:56 <ais523> anyway these are some of the most basic concepts in category theory, they come up all the time
04:25:15 <shachaf> Yes.
04:25:17 <ais523> (a category has at most one of each, incidentally, that's pretty easy to prove)
04:25:42 <shachaf> Yes, I've come across initial and terminal objects before. :-)
04:26:03 <ais523> oh right, I see
04:26:07 <ais523> pointing a set is different from this
04:26:19 <ais523> because we're picking out one particular arrow and saying "you can use this to find one particular object"
04:26:30 <ais523> which… from a category-theoretic point of view, doesn't gain you anything
04:26:42 <ais523> because now you have to identify one arrow rather than one object
04:26:56 <ais523> (and a copointed set would be one in which you can delete one particular object, which doesn't seem so useful)
04:27:22 <shachaf> By object do you mean element here?
04:28:05 <ais523> err, sorry, was mixing sets and categories
04:28:15 <shachaf> Why would a copointed set be one in which you can delete one particular element? It gives you an arrow : X -> I
04:28:31 <shachaf> Anyway I don't think "copointed" is the right notion, it's just the first thing that came to mind.
04:28:46 <ais523> I'm trying to figure out what X → I is, categorically
04:29:02 <ais523> in Set, it's a function which takes elements of a particular type and discards them
04:29:54 <ais523> actually, ignoring the return value of a function is very hard in Verity if you still want its side effects
04:30:11 <ais523> you have to assign it to a variable in order to force it, otherwise it doesn't get evaluated at all because call-by-name
04:30:18 <shachaf> If your arrows have side effects you're getting pretty far from any of this.
04:30:30 <shachaf> Anyway I don't quite know what the question is, but I'm sure Chu spaces are the answer.
04:31:09 <ais523> our arrows contain information about their side effects
04:31:42 <ais523> or basically, we're creating an Algol variant with a somewhat ML-like attitude
04:31:55 <ais523> so you can think of everything as being in the same big monad
04:33:31 <shachaf> The other day someone was talking about how instead of talking about "network partitions", people should talk about delayed, dropped, and duplicated packets.
04:33:39 <shachaf> It reminded me of substructural logic.
04:34:30 <ais523> "delayed" isn't one of the normal substructural logic operations
04:34:40 <shachaf> Well, reordered.
04:35:19 <shachaf> https://en.wikipedia.org/wiki/Substructural_type_system talks about affine, relevant, and ordered type systems.
04:37:49 <ais523> oh, discarding /exchange/?
04:38:06 <ais523> gah, this is going to make my future discussions with nominal set theorists awkward
04:39:26 -!- oerjan has quit (Quit: Brain saving mode engaged).
04:40:33 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:40:36 <ais523> that said, it doesn't interfere with the part of the Campaign for Strict Associators that I didn't remove from the manifesto as being too controversial
04:42:24 <ais523> (the Campaign, stated succintly: I believe that the categories that people use to model programming languages should be those in which (A⊗B)⊗C and A⊗(B⊗C) are not merely isomorphic, but equal)
04:45:47 <shachaf> i,i a strict 2-category with one object
04:46:01 <shachaf> Which categories, for instance?
04:46:46 <ais523> denotational semantics; for example, I use game semantics a bunch, and one thing you have to do there is implement a disjoint union on move names so that you can tell moves apart
04:46:54 <ais523> if you use inl/inr, then your associators aren't strict
04:47:04 <ais523> but if you number the moves and adjust numbers to keep sequence, then they are
04:47:41 <ais523> (e.g. (q+q)+q can become q_ll, q_lr, q_r with the first method, or q_1, q_2, q_3 with the second)
04:48:17 <shachaf> But then you have this global numbering.
04:48:58 <ais523> it's not global
04:49:10 <shachaf> I suppose that instead of numbering you could use a different sort of normalization.
04:49:11 <ais523> + basically takes the largest number on the LHS, and adds it to every number on the RHS
04:49:37 <ais523> i.e. q_1,q_2 + q_1 gives you q_1,q_2,q_3; so does q_1 + q_1,q_2
04:49:48 -!- bb010g has quit (Quit: Connection closed for inactivity).
04:51:15 <ais523> this actually extends all the way into the variable names we use in our output code, it's not just a theoretical point
05:11:00 -!- password2 has joined.
05:12:17 -!- Frooxius has joined.
05:13:13 -!- Froox has joined.
05:14:01 -!- Froo has joined.
05:16:17 -!- bb010g has joined.
05:16:47 -!- Frooxius has quit (Ping timeout: 256 seconds).
05:17:55 -!- Froox has quit (Ping timeout: 256 seconds).
05:24:12 -!- heroux has joined.
05:31:55 -!- impomatic has quit (Ping timeout: 240 seconds).
05:52:49 -!- password2 has quit (Remote host closed the connection).
06:07:09 -!- aretecode has quit (Read error: Connection reset by peer).
06:09:17 -!- aretecode has joined.
06:15:14 -!- aretecode has quit (Max SendQ exceeded).
06:18:15 -!- aretecode has joined.
06:41:33 -!- doesthiswork has quit (Quit: Leaving.).
06:56:05 -!- iamevn_ has quit (Quit: Leaving).
07:24:42 -!- AnotherTest has joined.
07:34:44 <mroman> fungot: fnord
07:34:45 <fungot> mroman: madam president, i would like to voice my criticism of the united kingdom, is that, if it arose, to be placed on lightening administrative burdens and costs in these member states so there is the need to legislate in this area near naples? there you are, you say you prefer natural families to homosexual partnerships, you risk being condemned once again, taking a snapshot of reality. the testimony of those north koreans
07:35:07 <mroman> fungot: what north koreans?
07:35:07 <fungot> mroman: fnord president, amending budget 4, the commission has followed up investigations launched by the institutions. all the same, undoubtedly lose some of their employment policies.
07:44:46 <nvd> You know, translating code from Haskell to C++ makes me really miss the list monad
07:45:14 <nvd> I keep going if {for {if {for {if {for {if...
07:45:23 <nvd> (with actual conditions and stuff)
07:52:55 -!- zadock has joined.
08:07:11 <ais523> surely the if () is a Maybe, not a List?
08:07:48 <nvd> ais523, the fors make it a list with guards
08:08:03 <nvd> I'm translating code that used the list monad quite heavily
08:09:01 <b_jonas> I'm going to write ugly code.
08:09:48 -!- bb010g has quit (Quit: Connection closed for inactivity).
08:10:04 -!- Froox has joined.
08:10:54 <ais523> nvd: hmm, why isn't there a "mixed Maybe and List" monad-like thing
08:11:05 <ais523> a polymorphic >>= that lets you connect a List with a Maybe to get a List
08:11:19 <nvd> :t maybeToList
08:11:20 <lambdabot> Maybe a -> [a]
08:11:40 <nvd> I think you can use that
08:12:04 -!- Frooxius has joined.
08:13:35 -!- Froo has quit (Ping timeout: 256 seconds).
08:13:36 <ais523> yes, I assumed it'd be something like that
08:13:53 <ais523> the type theorist in me is disappointed that the resulting [a] can only have 0 or 1 elements
08:13:59 -!- Froo has joined.
08:14:06 <ais523> but at this rate I'll end up inventing Agda :-(
08:14:09 -!- AnotherTest has quit (Ping timeout: 276 seconds).
08:14:40 -!- Froox has quit (Ping timeout: 264 seconds).
08:16:28 -!- Frooxius has quit (Ping timeout: 252 seconds).
08:22:35 -!- teakey has quit (Quit: Leaving).
08:23:41 -!- solid_whiskey has joined.
08:26:02 <elliott> nvd: you could do if (...) break; instead
08:26:09 <elliott> for guard (not ...)
08:26:30 <nvd> elliott, it'd have to be continue rather than break, I think
08:26:41 <elliott> er, yes
08:26:55 <nvd> But yes, I could
08:32:25 -!- Patashu has joined.
08:32:38 <nvd> I'm not personally a huge fan of that pattern
08:34:26 <ais523> I tend to use continue for guards
08:34:35 <ais523> especially in Perl, where it's called "next" instead
08:35:18 <b_jonas> I use next for those in perl, but I almost never use continue in C or C++
08:35:32 <b_jonas> and very rarely use break in loops (but use it in switches of course)
08:35:48 <b_jonas> apparently I have very difficult programming style in C++ and perl
08:36:12 <ais523> same for most people
08:36:20 <ais523> well, who know both C and Perl
08:36:30 <b_jonas> yes... most people here don't do perl
08:36:46 <ais523> here, let me find an example
08:37:39 <ais523> https://gitorious.org/intercal/intercal/source/ef74805b817199fefde98ed61bb024683b4fbae0:src/clc-cset.c#L245
08:48:49 <mhi^> Pretty.
08:50:00 <b_jonas> ais523: oh, but that uses return, not continue or goto
08:50:04 <ais523> I decided to sprinkle Perl idioms throughout that code because CLC-INTERCAL is written in IACC which is written in itself, but its bytecode interpreter is written in Perl
08:50:14 <ais523> it looks a lot uglier in C, though
08:56:58 <elliott> nvd: if you don't like that pattern, why did you use it in the haskell?
08:57:12 <nvd> elliott, it looks nicer in Haskell
08:57:17 <elliott> fair enough :p
08:57:35 <elliott> ais523: i'm so glad gitorious is shutting down
08:58:11 <ais523> the alternatives are even worse :-(
08:58:45 <elliott> that's not true, none of the alternatives give up on displaying medium-sized commits and say they're too big to display
08:59:00 <elliott> even traditional gitweb is like ten billion times better
09:16:36 -!- Vorpal has quit (Ping timeout: 252 seconds).
09:19:17 -!- Vorpal has joined.
09:58:36 -!- ais523 has quit (Read error: Connection reset by peer).
09:58:52 -!- ais523 has joined.
10:03:02 <mroman> nvd: Did you know that translating from Haskell to C++ is a sin?
10:03:18 <nvd> mroman, yes
10:03:40 <mroman> It's like taking a picture of a good old oil painting
10:03:46 <mroman> then apply some instagram filters to it
10:04:47 <mroman> and then make a screenshot of it
10:04:50 <mroman> put it into a word
10:04:53 <mroman> open explorer
10:04:59 <mroman> use the word-doc preview
10:05:02 <mroman> take a screenshot of it
10:05:09 <mroman> and upload it on imgur for likes
10:05:19 <nvd> Oh, I am fully in agreement
10:05:40 <ais523> mroman: this is missing a wooden table
10:05:51 <b_jonas> mroman: no, you have to photograph the screen showing the word document with a mobile phone too, and maybe add a black and white printer to it
10:10:00 <mroman> What programming languages can be transmitted with international morse code
10:10:48 <nvd> Piet
10:11:05 <ais523> that is not what I'd have said
10:11:15 <ais523> C probably can be, given trigraphs/digraphs
10:11:33 <mroman> there's no {} or []
10:11:42 <mroman> but there are parantheses
10:12:06 <mroman> s/ant/ent/
10:12:16 <ais523> {} and [] are trigraphable I think
10:12:20 <nvd> mroman, C can accept ??< and ??> for {} and ??( and ??) for []
10:12:49 <mroman> there's no <> in ITU morsecode
10:13:45 <ais523> OK, so C would need symbol substitutions
10:13:53 <ais523> you could likewise do substituted INTERCAL
10:13:58 <ais523> or probably nonsubstituted COBOL
10:14:04 <mroman> substitution is cheating
10:14:05 <mroman> :)
10:14:37 <mroman> BASIC dialects probably work
10:14:42 <mroman> LISP dialects too
10:14:43 <scoofy> qbasic
10:15:08 -!- solid_whiskey has quit (Remote host closed the connection).
10:15:08 <Jafet> Translating Haskell programs to C++ is like replacing a crystal chandelier with a kerosene heater, it does the job ten times faster except it will sometimes explode.
10:15:32 <mroman> letters have no case
10:15:38 <nvd> Jafet, the explosions give me something fun to do
10:15:42 <nvd> mroman, FORTRAN, maybe?
10:15:42 <scoofy> if haskell is correct, then the translated C++ program should also be correct, no?
10:15:43 <ais523> a kerosene heater seems like it has a rather different job from a crystal chandelier
10:15:45 <mroman> so case-insensitive languages are probably more suited for transmission through morse code
10:15:47 <ais523> you wouldn't hang it from a ceiling
10:15:59 <nvd> scoofy, not if the translation is manual and imperfect
10:16:00 <ais523> scoofy: only if the translation is correct
10:16:32 <scoofy> ais523: yes
10:16:47 <scoofy> so if you have a good translator, it won't blow up
10:17:32 <nvd> scoofy, unfortunately, the translator is me
10:17:41 -!- solid_whiskey has joined.
10:17:58 <ais523> well, if it's being translated by a translator of doom
10:18:03 <ais523> explosions seemed likely
10:18:10 <ais523> (I wanted to allcaps it but that would throw off the keming)
10:18:18 <nvd> :P
10:18:18 <scoofy> then it will blow up
10:18:32 <nvd> scoofy, I'm dealing with the blowing up now
10:19:02 <scoofy> why not C ?
10:19:38 <nvd> scoofy, I wanted to use certain features of the C++ standard library
10:19:43 <nvd> Such as bitsets and vectors
10:19:47 <nvd> Which would be harder in C
10:29:50 -!- boily has joined.
10:34:39 <mroman> C's most prominent feature is the lack of features.
10:35:00 <scoofy> that's an important feature.
10:35:47 -!- solid_whiskey has quit (Quit: Leaving).
10:37:16 <mroman> It certainly can be.
10:39:06 -!- solid_whiskey has joined.
10:49:51 -!- AnotherTest has joined.
11:21:05 <Jafet> C is lacking in features compared to languages implemented in C
11:22:40 -!- hjulle has joined.
11:23:22 <boily> C is taoist. it has all the features by not having them.
11:23:34 -!- boily has quit (Quit: RESOLUTIVE CHICKEN).
11:24:15 <mroman> C is just a syntactic extension of B
11:27:01 <mroman> speaking of B
11:27:26 <mroman> I should find a language reference for B
11:27:37 <mroman> seeing as links to bell-labs all result in "Object Not Found"
11:28:28 -!- callforjudgement has joined.
11:28:30 <callforjudgement> <ais523> mroman: the book I learned compilers from has examples in BCPL
11:28:34 -!- ais523 has quit (Disconnected by services).
11:28:36 -!- callforjudgement has changed nick to ais523.
11:28:54 <ais523> the main interesting features of BCPL is that everything is a pointer-sized int, types don't exist
11:29:02 <ais523> this probably explains implicit int in C
11:32:14 <mroman> It's astonishing how fnord many programming languages are out there
11:32:53 <ais523> (BCPL is the direct ancestor of B)
11:33:00 <ais523> parent, I guess
11:33:04 <mroman> Mesa, Euclid, Turing, Sp/K, CMS-2, JOVIAL ....
11:33:16 <mroman> SYMPL
11:33:24 <ais523> mroman: anyway, just look at all the BF derivatives we have
11:33:34 <mroman> http://99-bottles-of-beer.net/language-sympl-1167.html
11:33:35 <ais523> then think how much real language designers must outnumber esolang designers
11:35:33 <Jafet> Don't forget the languages that evolve by themselves
11:35:39 <ais523> Snowflake?
11:35:39 -!- lleu has joined.
11:35:49 <ais523> I think pretty much every other language requires at least some human input
11:35:55 <ais523> and even Snowflake has to observe the programs it's running
11:40:40 <orin> Most of the newest featurs of C came from compiler-specific extensions and such, I think that's what he meant
11:42:23 <orin> like for example, the inline keyword
11:42:32 -!- AnotherTest has quit (Ping timeout: 252 seconds).
11:44:00 <ais523> inline wasn't really compiler-speciifc
11:44:00 <orin> and people using C++ compilers on C code led to introducing // as a standard comment type
11:44:03 <ais523> most of them supported it
11:44:17 <mroman> http://codepad.org/BS1nkUTx
11:44:22 <mroman> luckily I have a BF derivative generator
11:44:29 <orin> true, in slightly different ways
11:44:52 <mroman> which produces prefix-free strings of course
11:44:54 <b_jonas> mroman: oh no...
11:45:01 <b_jonas> mroman: that's a kitty-killer
11:45:31 <b_jonas> oh argh
11:46:28 <b_jonas> in the morning, I was thinking on the bus about whether there's a cpu architecture where the instruction pointer normally goes backwards, that is, after executing an instruction, the next instruction is usually the one adjacent to it on a lower address.
11:46:42 <b_jonas> now I realized this is also a kitty-killer because you can get a bf-derivative from it.
11:47:09 <mroman> http://codepad.org/jLZdvBSv
11:47:21 <mroman> now all I need to do is add a wiki bot to create wiki pages
11:47:40 <b_jonas> though the esolang wiki doesn't seem to list a kcufniarb language
11:47:50 <b_jonas> hmm... would the meaning of brakcets be reversed in that?
11:48:13 * orin wats mroman ーー蟲蟲
11:48:21 <b_jonas> and how about the meaning of less than and greater than?
11:50:02 <ais523> b_jonas: it's been done, probably multiple times
11:50:05 <b_jonas> mroman: change it so it also generates a page title you can use on the wiki when the name of the language isn't valid as a page title
11:50:08 <ais523> just different names
11:50:28 <b_jonas> mroman: in particular, that one you pasted has a # sign, which is invalid in a page title
11:51:14 <b_jonas> mroman: make sure the title doesn't have any of # < > [ ] | { }
11:51:24 <orin> So C11 can be said to be the result of agglomerating the changes made in differnet dialects of C
11:51:36 <b_jonas> no wait there's more
11:51:55 <mroman> I could just use a-zA-Z obviously
11:51:57 -!- ais523 has quit.
11:52:05 -!- ais523 has joined.
11:52:24 <b_jonas> mroman: make sure the title doesn't have any ascii control character nor any of # & : / < > [ ] | { }
11:52:38 <b_jonas> no, still no good
11:52:47 <b_jonas> mroman: make sure the title doesn't have any ascii control character nor any of # & : % ~ / < > [ ] | { }
11:52:51 <b_jonas> and is at most 255 byte long
11:53:01 <b_jonas> no,
11:53:01 <b_jonas> um
11:53:04 <b_jonas> argh
11:53:12 <b_jonas> yeah, a-zA-Z is safe
11:53:21 <b_jonas> https://www.mediawiki.org/wiki/Manual:Page_title tells the details, it's complicated
11:53:22 <mroman> http://codepad.org/HVZEzvVI
11:53:24 <mroman> ^- there you go
11:53:44 <b_jonas> mroman: um, you can still use those in instructions, just not the page title
11:54:27 <mroman> yeah but this way it's morse friendlier
11:54:30 <mroman> let me just use a-z
11:54:31 <b_jonas> ok
11:56:21 <HackEgo> [wiki] [[Btjzxgquartfrqifjlv]] N http://esolangs.org/w/index.php?oldid=42832 * * (+366) Created page with "'''btjzxgquartfrqifjlv''' is a brainfuck derivative. It has the same instructions but... <pre> Replace [ with btj Replace ] with zxg Replace + with qua Replace - with ..."
11:56:36 <mroman> Oops.
11:57:25 <b_jonas> mroman: needs a category
11:57:34 <mroman> oerjan will fix that
11:57:44 <mroman> he likes to do these kind of things.
11:57:57 <HackEgo> [wiki] [[Btjzxgquartfrqifjlv]] http://esolangs.org/w/index.php?diff=42833&oldid=42832 * B jonas * (+36)
11:57:59 <b_jonas> actually
11:58:01 <b_jonas> I will
11:58:40 <Jafet> Incidentally, there is a subset of brainfuck that is valid morse code
11:59:00 <mroman> without []?
11:59:05 <mroman> and <>?
11:59:21 <b_jonas> mroman: no, just . and -
11:59:37 <mroman> oh
11:59:52 <mroman> right
12:00:08 <b_jonas> mroman: if it's a modulo 256 bf interpreter, you can even output anything with it
12:00:15 <mroman> yeah
12:01:00 <b_jonas> it seems the api is enabled on the esowiki, good: http://esolangs.org/w/api.php?action=query&prop=info&meta=siteinfo&format=xmlfm&siprop=general|namespaces|namespacealiases|interwikimap|specialpagealiases|magicwords
12:01:07 <b_jonas> makes it easy to do automatic queries and edits
12:01:19 <b_jonas> like that one
12:05:26 <mroman> b_jonas: modulo 256 where the sign is equal to that of the modulus
12:05:32 <mroman> which
12:05:41 <mroman> unlike Java :D
12:06:17 <b_jonas> mroman: yeah yeah, mathematician's remainder, not C/C++/cpu modulo
12:06:42 <b_jonas> (nor any of the two crazy variants scheme r5rs includes INSTEAD OF any of these two sane ones)
12:07:03 <b_jonas> (that always bugs me... how did they come up with that?)
12:08:01 -!- AnotherTest has joined.
12:12:43 <mroman> why?
12:12:47 <mroman> what variants does r5rs have?
12:13:50 <b_jonas> mroman: one that gives the remainder with the lowest absolute value, and one that behaves different from one of the two sane variants for negative divisors
12:14:04 <b_jonas> I don't quite recall the exact details
12:18:57 -!- solid_whiskey has quit (Ping timeout: 256 seconds).
12:24:07 <mroman> "Beside zsh, this is the only golfed program. Burlesque is quite awesome, it has a very large range of different functions, like ro. Sadly there's nothing like the Python [::a] slicing operator. "
12:24:11 <mroman> what
12:24:19 <mroman> I'd be damned if Burlesque wouldn't have that
12:24:27 <mroman> I'm pretty certain there's an EveryNth built-in
12:26:39 -!- PinealGlandOptic has joined.
12:28:59 -!- Patashu has quit (Ping timeout: 256 seconds).
12:30:09 <mroman> `quote Burlesque
12:30:10 <HackEgo> 1221) <mroman_> piece of cake doing this stuff in Burlesque :P [19 lines later] <mroman_> I hate Burlesque :(
12:31:21 -!- solid_whiskey has joined.
12:37:44 -!- bunbunbot has joined.
12:37:50 <mroman> ^\blsq 7mo10.+
12:37:50 <bunbunbot> {7 14 21 28 35 42 49 56 63 70}
12:37:55 <mroman> ^\blsq 7mo10.+?iBS
12:37:55 <bunbunbot> 8 15 22 29 36 43 50 57 64 71
12:38:01 -!- callforjudgement has joined.
12:38:29 -!- ais523 has quit (Disconnected by services).
12:38:36 -!- callforjudgement has changed nick to ais523.
12:42:14 <orin> There should be a version of morse code for vikings.
12:42:22 <orin> A norse morse code.
12:45:20 <mroman> You mean norse code?
12:57:55 -!- doesthiswork has joined.
13:01:02 <Melvar> @def type a $ b = a b
13:01:03 <lambdabot> Defined.
13:01:23 <Melvar> > Nothing :: Maybe $ Int -> Int
13:01:25 <lambdabot> Couldn't match expected type ‘Maybe $ Int -> Int’
13:01:25 <lambdabot> with actual type ‘Maybe a0’
13:01:25 <lambdabot> In the expression: Nothing :: Maybe $ Int -> Int
13:02:12 <Melvar> > const Nothing :: Int -> Maybe $ Int
13:02:14 <lambdabot> <Int -> Maybe Int>
13:03:14 <Melvar> Looks like (->) has a lower precedence than ($)?
13:14:50 <orin> haskell has precedence?
13:16:11 <Melvar> @info (+)
13:16:11 <lambdabot> (+)
13:16:29 <Melvar> Hm.
13:18:22 <Melvar> orin: In case that was an honest question, yes, it does. One assigns it with fixity declarations.
13:18:43 <orin> @ 2 + 3 * 5
13:18:58 <orin> > 2 + 3 * 5
13:18:59 <lambdabot> 17
13:19:41 <orin> if internet memes are accurate, most people would actually expect 25
13:29:49 <orin> > 1 | 3
13:29:51 <lambdabot> <hint>:1:3: parse error on input ‘|’
13:29:57 <orin> > 1 ^ 3
13:29:59 <lambdabot> 1
13:30:06 <orin> > 3 ^ 5
13:30:08 <lambdabot> 243
13:30:18 <orin> ????
13:30:40 <orin> > 0x10
13:30:42 <lambdabot> 16
13:30:42 -!- `^_^v has joined.
13:30:47 <mroman> orin: probably because for humans it's actually more convenient to do arithmetic "in-order"
13:30:49 <Jafet> fungot: ????
13:30:50 <fungot> Jafet: i will vote or i will come to the conclusion that parliament and the commission is entitled to safe products and sound information. clear danger maps, which identify the special risks to residents, constitute a negative factor on economic growth in europe, therefore to have more time to apply the parliamentary method, which dates back to the beginning of a gradual abolition of overtime, on the eve of the introduction of
13:31:03 <mroman> rather than perform a look-ahead for operators with higher precedence
13:31:09 <orin> > 0xf7 & 0x7f
13:31:11 <lambdabot> Could not deduce (Num a0)
13:31:11 <lambdabot> from the context (Num a, Num (a -> b))
13:31:11 <lambdabot> bound by the inferred type for ‘e_10707’:
13:31:16 <orin> ARGH
13:31:43 <orin> > 5 ^ 2
13:31:45 <lambdabot> 25
13:31:48 <orin> OH
13:32:14 <orin> > 25 ^ 0.5
13:32:16 <lambdabot> Could not deduce (Integral b0) arising from a use of ‘^’
13:32:16 <lambdabot> from the context (Num a)
13:32:16 <lambdabot> bound by the inferred type of it :: Num a => a at Top level
13:32:21 <orin> QWHAT
13:32:56 <Jafet> > 0x7f & (.&.) 0xf7 & (`showHex` "")
13:32:58 <lambdabot> "77"
13:33:44 <orin> 25.0 ^ 0.5
13:33:54 <orin> > 25.0 ^ 0.5
13:33:56 <lambdabot> Could not deduce (Integral b0) arising from a use of ‘^’
13:33:56 <lambdabot> from the context (Fractional a)
13:33:56 <lambdabot> bound by the inferred type of it :: Fractional a => a at Top level
13:34:13 <orin> But. But it worked for 2
13:35:10 <Jafet> mroman: one language natural they use how wonders then
13:35:33 -!- `^_^v has quit (Read error: No route to host).
13:35:40 -!- nycs has joined.
13:35:54 -!- AnotherTest has quit (Ping timeout: 276 seconds).
13:36:47 <orin> Ok srsly
13:36:49 -!- augur has quit (Quit: Leaving...).
13:36:56 <orin> > 5 ^ 2
13:36:57 <lambdabot> 25
13:37:08 <orin> > 5 * 3.0
13:37:10 <lambdabot> 15.0
13:37:15 <orin> > 5 ^ 2.0
13:37:17 <lambdabot> Could not deduce (Integral b0) arising from a use of ‘^’
13:37:17 <lambdabot> from the context (Num a)
13:37:17 <lambdabot> bound by the inferred type of it :: Num a => a at Top level
13:37:24 <Jafet> > 25 ** (1/2)
13:37:26 <lambdabot> 5.0
13:37:45 <orin> There are two different exponent operators?
13:37:52 -!- Sprocklem has quit (Ping timeout: 265 seconds).
13:37:55 <orin> Whyyyyy
13:38:13 <orin> thye could have iuse ^ for xor then
13:38:28 <b_jonas> orin: three
13:38:30 -!- AnotherTest has joined.
13:38:37 <orin> b_jonas: wut
13:38:37 <b_jonas> orin: (^) and (**) and (^^)
13:38:46 <orin> dude what
13:38:50 <b_jonas> @type (^)
13:38:51 <lambdabot> (Integral b, Num a) => a -> b -> a
13:38:52 <b_jonas> @type (^^)
13:38:53 <lambdabot> (Fractional a, Integral b) => a -> b -> a
13:38:54 <b_jonas> @type (**)
13:38:56 <lambdabot> Floating a => a -> a -> a
13:39:08 <Jafet> xor is just zipWith (/=), what's the problem?
13:40:26 <orin> ^ why do they need three
13:40:30 <ais523> zipWith works on ints?
13:40:45 <orin> the last one covers all reals anyay
13:40:46 <b_jonas> orin: different types
13:40:54 <b_jonas> Jafet: no way
13:40:57 <b_jonas> > xor []
13:40:58 <lambdabot> No instance for (Typeable t0)
13:40:58 <lambdabot> arising from a use of ‘show_M374984897116395339918141’
13:40:58 <lambdabot> In the expression:
13:41:08 <b_jonas> > xor ([]::[Bool])
13:41:10 <lambdabot> No instance for (Bits [Bool]) arising from a use of ‘xor’
13:41:10 <lambdabot> In the expression: xor ([] :: [Bool])
13:41:24 <b_jonas> > xor True True
13:41:26 <lambdabot> False
13:41:32 <b_jonas> Jafet: no it's not
13:42:01 <orin> xor 3 1
13:42:06 <orin> > xor 3 1
13:42:08 <lambdabot> 2
13:42:18 <orin> hey that works
13:42:18 <Jafet> @instances Bits
13:42:21 <lambdabot> Bool, Int, Int16, Int32, Int64, Int8, Integer, Word, Word16, Word32, Word64, Word8
13:42:44 <Jafet> Huh, where does that instance come from
13:43:25 -!- nycs has changed nick to `^_^v.
13:44:10 <orin> > xor 2.0 -1
13:44:11 <lambdabot> No instance for (Typeable a0)
13:44:12 <lambdabot> arising from a use of ‘show_M465181737757271416918296’
13:44:12 <lambdabot> In the expression:
13:44:26 -!- augur has joined.
13:45:45 -!- AnotherTest has quit (Ping timeout: 272 seconds).
13:45:46 <orin> > xor 3.4 0x8000000000000000
13:45:47 <lambdabot> No instance for (Show a0)
13:45:48 <lambdabot> arising from a use of ‘show_M788904274569950582318343’
13:45:48 <lambdabot> The type variable ‘a0’ is ambiguous
13:46:11 <orin> whaaat so I can't flip the sign bit? boooo
13:46:32 <augur> orin: thats definitely not what it says
13:46:42 <augur> :t xor
13:46:43 <lambdabot> Bits a => a -> a -> a
13:46:51 <Jafet> > negate 3.4
13:46:53 <lambdabot> -3.4
13:47:13 <orin> > shl 3.4 24
13:47:14 <lambdabot> Not in scope: ‘shl’
13:47:21 <augur> :t xor 2 3 :: Int
13:47:22 <lambdabot> Int
13:47:27 <augur> > xor 2 3
13:47:29 <lambdabot> 1
13:47:54 -!- hjulle has quit (Ping timeout: 246 seconds).
13:48:05 <mroman> @type shr
13:48:06 <lambdabot> Not in scope: ‘shr’
13:48:06 <lambdabot> Perhaps you meant one of these:
13:48:06 <lambdabot> data constructor ‘Chr’ (imported from Text.PrettyPrint.HughesPJ),
13:48:10 <mroman> @type shiftRight
13:48:11 <lambdabot> Not in scope: ‘shiftRight’
13:48:14 <augur> :t 3.4 80 :: CFloat
13:48:15 <lambdabot> Not in scope: type constructor or class ‘CFloat’
13:48:15 <lambdabot> Perhaps you meant ‘Float’ (imported from Prelude)
13:48:15 <mroman> @type rightShift
13:48:17 <lambdabot> Not in scope: ‘rightShift’
13:48:18 <mroman> hu
13:48:19 <augur> :t 3.4 80 :: Float
13:48:20 <lambdabot> No instance for (Fractional (a0 -> Float))
13:48:20 <lambdabot> (maybe you haven't applied enough arguments to a function?)
13:48:20 <lambdabot> arising from the literal ‘3.4’
13:48:25 <augur> whoops
13:48:28 <augur> :t xor 3.4 80 :: Float
13:48:29 <lambdabot> No instance for (Bits Float) arising from a use of ‘xor’
13:48:29 <lambdabot> In the expression: (xor 3.4 80 :: Float)
13:48:33 <mroman> @type shiftL
13:48:34 <lambdabot> Bits a => a -> Int -> a
13:48:35 <mroman> ah
13:49:26 <orin> > shiftL 255 4
13:49:28 <lambdabot> 4080
13:49:35 <orin> > shiftR 255 4
13:49:37 <lambdabot> 15
13:49:43 <orin> yup
13:50:16 <orin> :t rotL
13:50:17 <lambdabot> Not in scope: ‘rotL’
13:50:20 <orin> :t rotateL
13:50:21 <lambdabot> Bits a => a -> Int -> a
13:50:26 <orin> cool
13:50:57 <orin> > rotateR 1 1
13:50:58 <lambdabot> 0
13:50:58 -!- idris-bot has quit (Ping timeout: 250 seconds).
13:51:15 <orin> aha. infinite-bit
13:51:47 -!- AnotherTest has joined.
13:52:11 <orin> > rotateR (Int16 1) 1
13:52:12 <lambdabot> Not in scope: data constructor ‘Int16’
13:52:32 <orin> > rotateR (Word16 1) 1
13:52:34 <lambdabot> Not in scope: data constructor ‘Word16’
13:52:45 <augur> :t 1 :: Int16
13:52:46 <lambdabot> Int16
13:53:03 -!- bunbunbot has quit (Remote host closed the connection).
13:53:08 <orin> > rotateR (1 :: Int16) 1
13:53:09 <lambdabot> -32768
13:53:14 <orin> aesome
13:53:49 -!- Melvar has quit (Ping timeout: 265 seconds).
13:54:00 <orin> so I can get all the types from C in Haskell, it just has its own default types.
13:54:53 <orin> > rotateR (0.5 :: Double) 1
13:54:54 <lambdabot> No instance for (Bits Double) arising from a use of ‘rotateR’
13:54:54 <lambdabot> In the expression: rotateR (0.5 :: Double) 1
13:55:04 <orin> boooo
13:56:24 -!- AnotherTest has quit (Ping timeout: 256 seconds).
13:56:37 <orin> well that wouldn't work in C either
13:57:18 <orin> actually C doesn't even have a rotate operator, unless one was added in C11
13:59:23 <orin> Major flaw for implementing certain cryptographies
14:01:06 <orin> #define rot64(x,n) ((x>>n)|(x<<(64-n)))
14:01:09 <int-e> well, compilers recognize things like uint32_t x; x = (x << 29) | (x >> 3);
14:01:29 <orin> One should hope so!
14:01:34 -!- Melvar has joined.
14:02:38 <orin> Probably it's a throw back to the PDP-11. Maybe it didn't have a rotate instruction
14:02:56 -!- idris-bot has joined.
14:04:53 <orin> It had an arithmentic shift,but could only rotate by one bit at a time
14:08:33 <int-e> woah. it had a separate add carry operation instead of an add-with-carry? that seems very inconvenient.
14:09:30 <orin> wow
14:14:04 -!- idris-bot has quit (Quit: Terminated).
14:14:22 -!- idris-bot has joined.
14:14:50 <Jafet> It's technically more flexible, though I can't think of an application
14:15:27 <Jafet> I guess you can implement addc using adc if you have a zero register
14:20:58 -!- atriq has joined.
14:30:52 <mroman> I need some volunteers
14:31:10 <mroman> You need to compare the pain of having a matchstick buring on your skin against being stung be a regular bee
14:31:14 <mroman> *burning
14:31:17 <mroman> *by
14:31:36 <mroman> also the matchstick burning is more likely to leave a scar so do it somewhere where it won't really matter
14:31:52 <ais523> what if you're allergic to bee stings? how are you comparing the bees for regularity?
14:31:59 <mroman> well
14:32:00 <mroman> honey bees
14:32:02 <ais523> and have you had this study ethically reviewed? I can imagine running into some problems
14:32:17 <mroman> I give a shit about ethics I guess
14:32:18 <mroman> :)
14:32:23 <ais523> (also, do you know how hard it is to find a honeybee nowadays?)
14:32:37 <mroman> You can also use a wasp
14:32:42 -!- doesthiswork has quit (Quit: Leaving.).
14:32:54 <mroman> they both have a pain index of 2
14:33:14 <mroman> unless you take the wrong kind of wasps
14:33:16 <int-e> Jafet: it's not. the point of add-with-carry is that it can use the old carry flag and update it as well
14:33:21 <mroman> there are wasps with an index of 3
14:34:02 <int-e> Jafet: so you can use it for implementing a very cheap arbitrary precision addition. I wonder how the PDP people would do that.
14:35:47 <mroman> ais523: As long as participants volunteer I see no reason to consult an ethics commission.
14:36:07 <mroman> Ok... the bee might not volunteer
14:36:13 <ais523> especially because it dies in the process
14:36:18 <mroman> which is why you can use wasps. Wasps keep on living after stinging you
14:36:53 <ais523> when starting my research at the CS department
14:36:59 <ais523> I had to fill out an ethics questionnaire
14:37:23 <mroman> were you involved in killing machines?
14:37:26 <ais523> there was a fast-track questionnaire to identify which projects were obviously safe and didn't need further scrutiny
14:37:28 <mroman> such as killer roboters?
14:37:54 <ais523> it had three questions; I forget one, but the other two were along the lines of "are you going to do any experiments on human subjects?" and "is your research likely to lead to the collapse of society?"
14:37:55 <mroman> hm
14:38:03 <mroman> 4 is considered to be "traumatically painful"
14:38:43 -!- Sprocklem has joined.
14:38:57 <mroman> 3 is "seriously painful"
14:39:39 <Jafet> That is, not humourously painful?
14:40:10 <mroman> If I log website traffic does that count as experiments on human subjects?
14:41:12 <mroman> I wouldn't say that a stapler is less painful than a bee sting
14:41:19 <mroman> I have stapled a finger once
14:41:23 <mroman> and it was pretty painful
14:42:07 <Jafet> That's not an experiment, because you don't have control logs of people who don't visit the website
14:42:09 <ais523> mroman: almost any interaction with humans counts as experimenting on them, but you can normally get those trials approved too
14:42:19 <ais523> it just takes more than a three-question questionnaire
14:42:24 <int-e> Okay, looking at a PDP11 handbook, ADC and SBC seem to be designed to enable 32 bit operations on a 16 bit machine, which barely works (3 instructions each, but resulting carries are wrong).
14:42:33 <mroman> If my research wouldn't lead to the collapse of society I wouldn't be interested in researching it.
14:42:53 <ais523> if your proposed study is "I want to ask humans to pick out faces in images and compare it to the performance of a computer", and the images are relatively innocuous, that'd probably get approved pretty quickly
14:43:14 <Jafet> Society may not like to give you funding for that sort of research, though
14:43:27 <mroman> Jafet: Surely the department of defense will.
14:43:50 <Jafet> Only the american one, which should tell you something about that society
14:44:20 <int-e> (each ==> addition and subtraction)
14:44:23 <mroman> My research is going to destroy facebook. That might lead to a collapse of society.
14:44:33 <orin> Good point
14:44:52 <mroman> "collapse of society" is very much under-defined.
14:45:00 <orin> Altohugh if it does, I would say society needed to be burnt to the ground
14:45:16 <mroman> ais523: Do they give you a "survival rate"?
14:45:18 <mroman> i.e.
14:45:36 <ais523> the questions were very generic
14:45:37 <mroman> If n-% of the human population would survive does it count as a collapse?
14:45:50 <ais523> I guess if there's the slightest chance we might bring about something that potentially qualifies as an apocalypse
14:46:00 <ais523> we're meant to send the research proposal in for further scrutiny
14:46:55 <mroman> Well... research requires sacrifices.
14:47:27 <mroman> Most notably in medicine.
14:47:48 <orin> Hmm... I would say no-one actually needs to (immediately) die or suffer for a study to be problematic.
14:48:07 <mroman> Sure. Long term suffering is also an issue.
14:48:45 <orin> Consider if I proved that people of a particular ethnic group are significantly more intelligent, and isolated the genetic factors causing it.
14:48:57 <mroman> but I'm pretty certain nobody did long term studies about cell phone "radiation" before bringing them to the market
14:49:01 <mroman> these studies are only done now.
14:49:28 <orin> That would not cause any suffering or death , but it could lead to massive societal issues
14:49:47 <ais523> orin: we already know what happens, given the publication of a book that contained one graph that appeared to indicate that
14:50:18 <ais523> that by itself was sufficient to cause problems
14:50:28 <mroman> We haven't even discussed what to do with unborn babies.
14:50:38 <mroman> There's a lot to discuss about genetics/genetic modification etc.
14:51:06 <Jafet> In the absence of conclusive results, I would recommend not providing unborn babies with cellphones
14:51:31 <mroman> That was aimed at testing babies for things like a third chromosome
14:51:48 <mroman> or other conditions such as having only one of a certain kind of chromosome
14:52:09 <mroman> *fetus
14:52:14 <mroman> let's not call them babies just yet.
14:52:52 <Jafet> Well, they're like pseudocode programs. Or esowiki language specifications.
14:53:31 <mroman> but... I'm pretty certain if we decide to allow certain research in genetics it will still take 100 years before we are actually capable of doing really crazy stuff with it
14:53:47 <mroman> I don't think anybody will be able to produce humans with wings that can fly within the next 15 years
14:53:54 <orin> My point is virtually any 'hard' results in anything near to eugenics would cause immediate political shitstorms
14:54:09 <mroman> orin: Agreed
14:54:11 <ais523> mroman: there's certainly a lot of opposition to germline changes
14:54:20 <ais523> (i.e. any genetic changes that can be inherited)
14:54:25 <Jafet> That's merely because it's physically impossible for human-sized mammals to fly
14:54:33 <mroman> well
14:54:37 <mroman> you can make them sub-human size !
14:54:51 <mroman> (which is also a generically inheritable condition)
14:54:54 -!- atriq has left.
14:54:55 <mroman> (sometimes)
14:55:07 <mroman> damn
14:55:09 <mroman> *genetically
14:55:15 <b_jonas> mroman: even that's too large
14:55:25 <orin> You would need giant muscles as well,but it is doable
14:55:35 <b_jonas> hobbits are still too heavy to fly with wings non-magically
14:55:36 <mroman> Well
14:55:42 <orin> pterodactlys were bigger than huamns
14:55:43 <mroman> Maybe we have cyborgs!
14:56:12 <mroman> we already have exo-skeletons
14:56:19 <b_jonas> sure, and airplanes too
14:56:22 <Jafet> It may be more efficient to work in the other direction and make sapient flying squirrels.
14:56:23 <mroman> yeah
14:56:26 <mroman> but airplanes aren't cool
14:56:34 <b_jonas> mroman: there are cool airplanes
14:56:51 <mroman> insect sized airplanes are cool
14:56:54 <orin> Like the SU-47 Berkut
14:57:10 <mroman> Murder by microdrone
14:57:38 <mroman> Obama should use microdrones that can inject deadly poison
14:57:49 <mroman> instead of regular old-school drones that just bomb the whole freaking place
14:58:45 <mroman> thinking of that
14:59:02 <mroman> they could just use gas that temporarily paralyzes people
14:59:08 <mroman> then go in, shoot the real guy
14:59:56 <mroman> (Assuming such a gas exists. Which it probably does)
15:00:13 <mroman> `? learn
15:00:14 <HackEgo> learn? ¯\(°​_o)/¯
15:00:18 <mroman> `? mroman
15:00:19 <HackEgo> mroman is a leading artist in password security (SFW). He also likes black madness. He can design password hashes that are worse than the identity function. He invented the identity function.
15:00:30 <ais523> mroman: well, there was the Russian theatre siege a few years ago
15:00:38 <mroman> `learn_append mroman He's also an artist in unconventional warfare.
15:00:40 <HackEgo> Learned 'mroman': mroman is a leading artist in password security (SFW). He also likes black madness. He can design password hashes that are worse than the identity function. He invented the identity function. He's also an artist in unconventional warfare.
15:01:04 <ais523> that's basically what the Russian military did, but many of the hostages died because they didn't admit to /which/ gas they used until some of them had already died fro mside effects
15:01:18 <Jafet> Airplanes work differently at insect size, due to viscosity effects at that scale
15:02:48 <orin> `? oren
15:02:49 <HackEgo> oren is a Canadian esolanger who would like to obliterate time zones so that he can talk to his father who lives in the same house.
15:02:54 <orin> `? orin
15:02:54 <HackEgo> orin? ¯\(°​_o)/¯
15:04:08 <orin> `learn orin Orin is known as oren. Orin was called Warren by half his teachers.
15:04:10 <HackEgo> Learned 'orin': orin Orin is known as oren. Orin was called Warren by half his teachers.
15:04:58 <Jafet> `learn orin is oren's evil twin, stalking him from the other side of the international date line.
15:05:00 <HackEgo> Learned 'orin': orin is oren's evil twin, stalking him from the other side of the international date line.
15:05:31 <orin> lol
15:06:03 <ais523> you're always on the same side of the date line
15:06:06 <ais523> just possibly 24 hours out
15:06:23 <orin> eaxtly
15:08:30 <orin> It would be so much easier if /ə/ had only one spelling
15:09:02 <orin> or maybe a sylabic n?
15:09:43 <orin> it's the same ending as steven or karen
15:10:34 <orin> screw it I'm a touhou character
15:10:52 -!- orin has changed nick to ORen.
15:11:06 -!- ORen has changed nick to ORin.
15:19:11 <int-e> @metar lowi
15:19:11 <lambdabot> LOWI 121450Z VRB03KT CAVOK 30/03 Q1018 NOSIG
15:19:40 <int-e> close to melting... but quite dry, at least.
15:20:00 <int-e> @metar lovi
15:20:00 <lambdabot> No result.
15:20:11 <int-e> @metar lowv
15:20:12 <lambdabot> No result.
15:20:25 <int-e> @metar loww
15:20:25 <lambdabot> LOWW 121450Z 14013KT CAVOK 23/08 Q1020 NOSIG
15:21:05 <int-e> @metar eddb
15:21:05 <lambdabot> EDDB 121450Z 20013KT CAVOK 27/09 Q1010 TEMPO 20015G25KT
15:22:10 <ORin> @metar CYYZ
15:22:10 <lambdabot> CYYZ 121500Z 27023G31KT 15SM BKN048 14/05 A2985 RMK SC7 SLP110 DENSITY ALT 600FT
15:22:36 <ORin> Blah, a little cold
15:23:07 <ORin> and windy
15:23:45 <int-e> not cold.
15:24:29 -!- ZombieAlive has joined.
15:24:30 <ORin> isn't 14 C cold?
15:25:17 <int-e> no
15:26:09 <int-e> slightly chilly, maybe.
15:26:44 <int-e> (meaning it's uncomfortable in a T-shirt)
15:34:47 <HackEgo> [wiki] [[Btjzxgquartfrqifjlv]] http://esolangs.org/w/index.php?diff=42834&oldid=42833 * Esowiki201529A * (+3)
15:40:58 <HackEgo> [wiki] [[Wepmlrio]] N http://esolangs.org/w/index.php?oldid=42835 * Esowiki201529A * (+397) Created page with "{{lowercase}} '''wepmlrio''' is a brainfuck derivative. It has the same instructions but... <pre> Replace [ with w Replace ] with e Replace + with p Replace - with m ..."
15:41:44 <myname> welmprio already sucks from reading that part
15:42:01 <ORin> while end plus minus left right input output
15:42:52 <myname> yeah
15:42:56 <myname> boring
15:45:11 <HackEgo> [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42836&oldid=42813 * Esowiki201529A * (+91)
16:00:13 -!- oerjan has joined.
16:01:33 <oerjan> eep, web is down
16:02:29 <Jafet> You're just too far up.
16:03:34 <oerjan> but somehow irc is working
16:03:41 <oerjan> (and putty)
16:04:16 -!- aloril_ has quit (Ping timeout: 255 seconds).
16:06:25 <oerjan> restarting router changed nothing
16:09:05 <oerjan> hm some norwegian sites load
16:09:53 <ORin> Did norway recently make a Great Firewall of Norway
16:10:15 <ORin> To prevent scurrilous foreign influence?
16:10:30 <oerjan> PROBABLY
16:11:09 <Melvar> Oh oerjan!
16:11:34 <Melvar> oerjan: Is it true that (->) has a lower precedence than ($)?
16:11:38 <oerjan> helvar
16:12:23 <oerjan> Melvar: you know, would you mind asking that at a time i've actually got web access to check it?
16:12:34 <Melvar> > Nothing :: Maybe $ Int -> Int
16:12:35 <lambdabot> Couldn't match expected type ‘Maybe $ Int -> Int’
16:12:35 <lambdabot> with actual type ‘Maybe a0’
16:12:35 <lambdabot> In the expression: Nothing :: Maybe $ Int -> Int
16:12:41 <Melvar> > const Nothing :: Int -> Maybe $ Int
16:12:43 <lambdabot> <Int -> Maybe Int>
16:13:05 <oerjan> Melvar: normally $ isn't a type, this must be something lambdabot has defined
16:13:15 <Melvar> I did. type a $ b = a b
16:13:37 <oerjan> if it has no fixity defined, it will be infixl 9, very high
16:13:52 <Melvar> Are there type fixities separate from value fixities?
16:14:10 <shachaf> oerjan: why don't you install ghc twh
16:14:35 <oerjan> Melvar: fixities go with a scope. if the type is defined in a different scope from the value, it may.
16:15:11 <oerjan> shachaf: i _have_ ghc. but i don't have the version that fixed my documentation request to give the fixity of -> hth
16:17:52 <oerjan> Melvar: or to be precise, fixity goes with a binding. for technical reasons if you define a type and a value with the same name at the top level of a module, a fixity declaration will encompass both.
16:18:23 <oerjan> but if they're in different modules there should be no reason why they need to have the same fixity.
16:18:52 -!- bb010g has joined.
16:19:07 <Melvar> oerjan: I see, thank you.
16:20:11 <shachaf> "technical reasons"
16:20:20 -!- solid_whiskey has quit (Ping timeout: 256 seconds).
16:20:42 <Melvar> @def infixr 0 $
16:20:43 <lambdabot> Defined.
16:20:58 <Melvar> > Nothing :: Maybe $ Int -> Int
16:20:59 <lambdabot> Nothing
16:21:18 <Melvar> Huh. Indeed.
16:22:41 <Jafet> > Nothing :: Maybe $ Maybe $ Int
16:22:43 <lambdabot> Nothing
16:23:32 <Jafet> :t Just (+) :: Maybe $ (->) Int $ Int -> Int
16:23:33 <lambdabot> Maybe $ ((->) Int $ (Int -> Int))
16:24:41 <Jafet> @def type a + b = Either a b; type a * b = (a, b); infixl 6 +; infixl 7 *
16:24:41 <lambdabot> Parse failed: Parse error: *
16:25:19 <Jafet> @def type a + b = Either a b; type a × b = (a, b); infixl 6 +; infixl 7 ×
16:25:20 <lambdabot> Defined.
16:25:27 -!- Phantom_Hoover has joined.
16:25:51 <Jafet> > Right (1, 2) :: Int + Int × Int
16:25:53 <lambdabot> Right (1,2)
16:26:01 <Jafet> > Left (1, 2) :: Int × Int + Int
16:26:03 <lambdabot> Left (1,2)
16:29:41 <Jafet> :t undefined :: Int × Int + Int
16:29:42 <lambdabot> (Int Int) + Int
16:34:54 -!- ais523 has quit (Ping timeout: 244 seconds).
16:43:43 -!- oerjan has quit (Quit: Later).
16:44:06 -!- `^_^v has quit (Read error: Connection reset by peer).
16:47:31 -!- `^_^v has joined.
16:51:58 -!- PinealGlandOptic has quit (Ping timeout: 255 seconds).
16:53:56 -!- aloril has joined.
16:54:13 <HackEgo> [wiki] [[Btjzxgquartfrqifjlv]] http://esolangs.org/w/index.php?diff=42837&oldid=42834 * * (+94) added morse code versions (and removed random s at end)
17:01:26 -!- TieSoul_ has joined.
17:01:41 -!- TieSoul has quit (*.net *.split).
17:01:41 -!- tromp_ has quit (*.net *.split).
17:01:41 -!- rodgort has quit (*.net *.split).
17:01:42 -!- TodPunk has quit (*.net *.split).
17:01:42 -!- trn has quit (*.net *.split).
17:01:42 -!- coppro has quit (*.net *.split).
17:01:42 -!- olsner has quit (*.net *.split).
17:01:42 -!- Tod-Autojoined has joined.
17:01:55 -!- coppro has joined.
17:02:37 -!- tromp_ has joined.
17:02:58 -!- trn has joined.
17:05:23 -!- rodgort has joined.
17:08:21 -!- GeekDude has joined.
17:19:42 <ORin> need to open file in ed just to use the N,Ms/name/newname/g command
17:20:08 <ORin> rename a varable without reanming same variable in another function
17:51:32 -!- olsner has joined.
18:01:26 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=42838&oldid=41512 * Orenwatson * (+261)
18:01:58 <ORin> there we go, updated
18:04:59 -!- Sprocklem has quit (Ping timeout: 276 seconds).
18:06:08 <ORin> I used alpha and beta as metasyntactic variables, because all the latin letters are taken
18:12:22 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=42839&oldid=42838 * * (+10) html problems
18:16:58 <ORin> @metar CYYZ
18:16:58 <lambdabot> CYYZ 121808Z 26020G25KT 15SM -SHRA FEW041 OVC052 13/06 A2987 RMK CU2SC6 SLP116
18:17:53 -!- password2 has joined.
18:49:03 -!- zadock has quit (Quit: Leaving).
19:23:05 <ORin> munich have no chance npw
19:26:05 -!- Somelauw has joined.
19:31:45 -!- Sprocklem has joined.
19:31:51 -!- GeekDude has quit (Read error: Connection reset by peer).
19:32:46 -!- GeekDude has joined.
19:32:59 -!- GeekDude has quit (Changing host).
19:32:59 -!- GeekDude has joined.
19:34:03 <ORin> just because the Illuminati is the Illuminati doesn't mean they can't raise the roof c:
19:52:17 <ORin> I should make a playlist of all these memetic songs
19:56:14 -!- Sprocklem has quit (Ping timeout: 272 seconds).
20:09:56 -!- nszceta has joined.
20:16:55 -!- password2 has quit (Remote host closed the connection).
20:21:32 -!- Sprocklem has joined.
20:29:36 <Phantom_Hoover> ORin, what's your stance on the matrix of solidity?
20:33:36 <ORin> never heard of it
20:33:43 <Somelauw> Do people still program esoteric nowadays?
20:34:58 <ORin> yeah
20:38:35 <Somelauw> I managed to program rot13 in brainfuck, but it's 622 chars long.
20:52:02 -!- Patashu has joined.
20:54:41 -!- zadock has joined.
20:55:38 -!- nszceta has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
21:08:23 -!- Somelauw has quit (Quit: WeeChat 0.4.2).
21:17:42 -!- Sprocklem has quit (Quit: [).
21:19:47 -!- bb010g has quit (Quit: Connection closed for inactivity).
21:23:45 -!- Patashu has quit (Ping timeout: 245 seconds).
21:33:33 -!- nszceta has joined.
21:35:54 -!- `^_^v has quit (Ping timeout: 240 seconds).
21:36:21 -!- zadock has quit (Quit: Leaving).
21:40:37 -!- PinealGlandOptic has joined.
21:57:04 -!- nszceta has quit (Quit: Textual IRC Client: www.textualapp.com).
22:03:36 -!- oerjan has joined.
22:06:25 -!- notfowl- has joined.
22:08:49 <b_jonas> I'm copying files to a directory accessible by another user with rsync -tvz -e "sudo -u" again
22:10:20 -!- notfowl has quit (Excess Flood).
22:44:14 <oerjan> `run sed -i "5invd" bin/slist
22:44:16 <HackEgo> No output.
22:46:03 <ORin> why did skype send me this email?
22:46:07 <ORin> Aktiveeri krediit uuesti
22:47:14 <ORin> And why did they think I can understand esonian?
22:47:19 <ORin> *estonian
22:47:35 <oerjan> hint: they probably didn't hth
22:47:42 * oerjan gets finnish spam all the time
22:48:29 <shachaf> i wish i got finnish spam twh
22:48:56 <shachaf> Yesterday I walked by a group of students and one of them was talking about how they took a class on Finland.
22:49:21 <oerjan> finland, finland, finland.
22:49:27 <shachaf> Turns out you can major in Scandinavian Studies here.
22:49:53 <ORin> My friend is going to finland this summer on some sort of physics... thing
22:50:07 <shachaf> i bet you wish you could study scandinavia
22:50:55 <oerjan> "The 46th IPhO will be held at Mumbai, India from 5 to 12 July 2015." ok not that then
22:51:38 <shachaf> i,i Initial Phở Offering
22:51:56 <oerjan> i could have gone to the ipho once, i think it was in poland
22:52:09 <oerjan> but i went to the imo in germany instead
22:52:42 <shachaf> Oh, physics olympiad.
22:53:11 <shachaf> you can't trust physicists hth
22:53:22 <shachaf> especially when tensors are involved
22:53:38 <oerjan> OKAY
22:53:47 -!- SirCmpwn has quit (Remote host closed the connection).
22:54:24 <ORin> I don't know anything about it exacpt he's going, to finland, with a physics professor
22:54:55 <oerjan> to finland to get physical with a professor, check
22:55:28 -!- SirCmpwn has joined.
22:55:40 <ORin> I haven't been to the IPHO but I have been to the IHOP
22:56:59 <oerjan> i just barely failed to visit the IHOP the half-year i stayed in seattle
22:58:14 <oerjan> i recall being scared away by the fact they had a dress code. although it was probably really lenient i practice...
22:58:22 <oerjan> *in
22:58:52 <shachaf> whoa whoa whoa
22:58:58 <shachaf> you were in seattle for a half-year?
22:59:09 <oerjan> yes, spring 1996
23:00:46 <shachaf> ihop spring's eternal
23:29:35 -!- Decim has joined.
23:29:48 <Decim> Is there a bot that deciphers short to text
23:33:54 -!- bb010g has joined.
23:40:04 <Decim> Sigh
23:40:21 <Decim> Once I get a new laptop
23:40:31 <Decim> Ill finally be my old self again
23:43:21 <fizzie> oerjan: I get Norwegian spam hardly ever. In fact, I don't recall any specific examples at all.
23:44:44 <fizzie> Also I don't know what "Scandinavian Studies" can be.
23:45:16 <oerjan> it's a course where you dissect swedish meatballs and the like
23:45:26 <fizzie> Hm, you can do Scandinavian Studies in London, too.
23:45:34 <fizzie> "Welcome to UCL Scandinavian Studies! We teach and research the language, literature, history, linguistics and visual culture of Denmark, the Faroe Islands, Iceland, Norway and Sweden from medieval times to the present day. Our department is also home to Norvik Press, the UK's only press specialising in Nordic literature and culture."
23:45:54 <shachaf> University of California, London?
23:46:40 <fizzie> Their web page is so confusing, I can't find out what it's short for.
23:46:46 <fizzie> University College London.
23:47:02 <fizzie> That's, like, just a collection of words.
23:47:22 <shachaf> "Universities that offer education and perform research in Scandinavian studies are typically found in North America and Europe. In North America, many activities are coordinated through the Society for the Advancement of Scandinavian Study and its journal, the quarterly Scandinavian Studies."
23:47:32 <shachaf> that's a little unsettling
23:49:01 <fizzie> It's not a conspiracy that aims for global domination, if that's what you are thinking.
23:49:04 <fizzie> I just wanted to make that clear.
23:50:25 <oerjan> yes, very important not to leave any misunderstandings.
23:50:44 * FireFly . o O ( http://tvtropes.org/pmwiki/pmwiki.php/Main/SuspiciouslySpecificDenial )
23:51:19 <nvd> Where did that thought bubble thing come from
23:51:38 <oerjan> i somehow connect it with int-e
23:51:45 <shachaf> nvd: i think it means "i,i" hth
23:51:45 <nvd> oerjan, int-e seems to do it a lot
23:52:05 <shachaf> ski does it a lot. But his thought bubbles are very well formatted.
23:52:07 <FireFly> I mostly associate it with ski
23:52:28 <nvd> I think the name of UCL predates the "college = university" thing
23:53:04 <nvd> Oh maybe not
23:53:53 <nvd> It was originally London University
23:54:22 <nvd> Then, with King's College, became one of the colleges of the larger University of London
23:55:33 <oerjan> shachaf: are you trying to make me believe there's a channel where ski actually talks. admittedly he's on a lot...
23:55:57 <shachaf> oerjan: not lately that i've seen
23:56:14 <shachaf> maybe #haskell but i'm not in there
23:56:22 <fizzie> . 。 ∘ ° ◦ o ο ○ ◯ O Ο 〇 and so on.
23:56:59 <oerjan> shachaf: he doesn't seem to be in #haskell, only every subchannel in existence
23:57:10 <shachaf> oerjan: good point
23:57:20 <FireFly> He used to be in #haskell
23:57:27 <shachaf> so did oerjan
23:57:41 <FireFly> He's also occasionally around in #haskell.se, but then again that place is mostly dead
23:58:00 <fizzie> Is the channel about the set of all channels included in the set of all channels? I guess it must be.
23:58:31 <FireFly> Have you proven the existence of such a set?
←2015-05-11 2015-05-12 2015-05-13→ ↑2015 ↑all