<< 22-06-2014 >>

00:00:07Araqjust edit vmdeps.nim
00:00:09Jehan_I can easily add a "\n" after each line, but that would work differently from one-liners for now.
00:00:38Jehan_Oh, hmm, I was looking at evalStaticExec.
00:00:55Araqjust add \n after each line but don't for the last line
00:01:32Jehan_Do I also have to do the same in evals.nim for evalStaticExec?
00:01:45Araqevals.nim is a dead module
00:02:25Jehan_I see.
00:04:20*brson quit (Quit: leaving)
00:04:49superfuncHmm, does a for loop through a sequence copy the elements by default?
00:04:52*brson joined #nimrod
00:09:00*superfunc quit (Quit: leaving)
00:09:15*superfunc joined #nimrod
00:09:21superfuncsorry, connection is awful in this place.
00:09:41Araqsuperfunc: yes, use mitems if you don't want that
00:09:57Araqif mitems has made it into system yet
00:11:05Jehan_Araq: PR submitted.
00:11:17Araqthanks
00:12:22Araqer
00:12:33Araqdoes this work when the program produces no output at all?
00:13:01Araqnot sure if output.readLine then blocks forever
00:13:30Jehan_Oops.
00:13:35Jehan_My bad.
00:13:37*askatasuna quit (Ping timeout: 244 seconds)
00:13:39Jehan_Will fix and resubmit.
00:13:39superfuncIf the object is 'var', should the for syntax go to mitems by default?
00:13:46Jehan_That's the one case I didn't test.
00:14:04superfuncI mean in the case of an object with holds a sequence as a member
00:14:22AraqI'd simply use result.setLen(result.len - "\n".len) to stip the final \n
00:14:51Araqsuperfunc: no, we all like the default 'items'
00:15:13Araqif you need something else, write it explicitly
00:15:29Jehan_Araq: That'll also break with an empty output?
00:15:54AraqI think setLen can deal with negative numbers just fine
00:16:16*shodan45 quit (Quit: Konversation terminated!)
00:18:06Araqnegative numbers are a great achievement of civilization and "unsigned" is from hell :-)
00:18:17Jehan_Araq: Umm, not sure I want to rely on that.
00:18:52superfuncFair enough, its probably a bad precedent to set.
00:21:41*OrionPK quit (Remote host closed the connection)
00:24:50*OrionPK joined #nimrod
00:24:53Jehan_Araq: updated accordingly. I decided, what the heck, if setLen does get changed at some point, there's probably a lot more that's going to break. :)
00:25:49NimBotAraq/Nimrod devel 672e724 Reimer Behrends [+0 ±1 -0]: Fixed gorge/staticExec to not strip newlines.
00:25:49NimBotAraq/Nimrod devel 989bf5f Andreas Rumpf [+0 ±1 -0]: Merge pull request #1295 from rbehrends/fix-staticexec... 2 more lines
00:26:57superfuncI don't have much knowledge on it, Araq, could you brielf explain your disdain for unsigned?
00:27:26Araqsuperfunc: argh not again
00:27:46superfunclol
00:27:47Araqin a nutshell: it breaks the precious minus operator
00:29:19gooblesi love unsigned
00:29:25gooblesALWAYS
00:29:33superfuncbye goobles, we'll miss you
00:29:39goobles:(
00:29:40Jehan_superfunc: This is one of the things that Araq and Bjarne Stroustrup agree on. :)
00:30:02superfuncjk, tell your friends of the gospel of nimrod
00:30:21gooblesi love my extra bit of positiveness
00:30:26Araqgoobles: for (int i = 0; i < str.size() - 3; ++i) // oops
00:30:26Jehan_Quote: "Using an unsigned instead of an int to gain one more bit to represent positive integers is almost never a good idea."
00:30:31superfuncI've been talking it up to a bunch of PhDs who will only write in Haskell and Coq
00:30:43superfuncand maybe Agda
00:30:57goobles for (int i = 0; i < str.size() - 3; ++i) // <-- raw loops ewww
00:31:07Jehan_superfunc: I'm not sure Nimrod is a competitor for fans of Haskell and Coq.
00:31:16superfuncJehan_: Hence the trolling
00:32:12Jehan_That said, I work with mathematicians, and Haskell isn't exactly popular with them, either.
00:32:19Jehan_Coq's a different story.
00:33:04Jehan_But many of them find Haskell's model too constraining for practical programming and the type system too limited for stuff that they like Coq for.
00:33:07superfuncCoq is interesting, one of the people I met is using it to verify Rust's type system
00:33:28flaviuI find it hard to say Coq seriously
00:33:59superfuncflaviu: I've heard Coq at least 500 times this week, so I'm used to it, but yeah, I almost lost it at first
00:34:00Jehan_flaviu: That's because you're not French.
00:34:31Jehan_I'm pretty sure that a lot of English speakers mispronounce "koch", too.
00:35:10gooblesAraq: msvc response to your code
00:35:11goobles error C2220: warning treated as error - no 'object' file generated warning C4018: '<' : signed/unsigned mismatch
00:35:18gooblesno compiles;0
00:35:32Araqgoobles: and yet it should compile
00:35:36flaviuLooks like "Koch", but I think wikipedia's fancy symbols say its pronounced "coke"?
00:35:47gooblesnot if you set warning level to level 4/warnings as errors
00:35:58Araqmaking size() return 'unsigned' is just braindead
00:36:23Araqit should compile and loop the right number of iterations, goobles
00:36:38Jehan_goobles: Just make i unsigned.
00:36:54Jehan_Then it should compile.
00:37:15goobleswell then u clearly wanted to loop for a really long time
00:37:19gooblesso its all good
00:37:38flaviugoobles: I think it was `--passc:\w`
00:37:44Jehan_The problem is that underflow can occur pretty easily by accident.
00:37:49superfuncI gotta get back to the uni where they dont believe in proper wifi. Later everyone
00:38:13Jehan_A similar example is to test whether a divides b.
00:38:34Jehan_Sorry, if a is congruent to b modulo m.
00:38:49Jehan_if ( (a - b) % m == 0) ...
00:39:03Jehan_blows up for unsigned integers, unless m is a power of 2.
00:39:50*superfunc quit (Quit: leaving)
00:40:01gooblesif blows up if you underflow?
00:40:46Araqgoobles: the C guys confused 'unsigned' with 'natural' and it stuck
00:41:31Jehan_goobles: There is no such thing as underflow for unsigned ints in C, they wrap around.
00:41:51gooblesi know they wrap, didn't know it wasn't called underflow
00:42:28Jehan_Terminology question, but basically, yes.
00:42:53Jehan_Because you're doing arithmetic in Z_{2^k}.
00:49:48*Jehan_ quit (Quit: Leaving)
00:58:34*goobles quit (Ping timeout: 246 seconds)
00:59:04*goobles joined #nimrod
00:59:43goobleschrome crashed guess they used unsigned HU
01:48:31*brihat joined #nimrod
02:02:05*gsingh93_ joined #nimrod
02:24:17*q66 quit (Quit: Leaving)
02:48:20*brson quit (Quit: leaving)
03:04:28*joelmo quit (Quit: Connection closed for inactivity)
03:23:14*BitPuffin quit (Ping timeout: 244 seconds)
03:32:47*hoverbear joined #nimrod
04:04:05flaviuI think everyone is asleep, but if someone isn't, I'd like to know how I can copy a value into a pointer
04:04:06flaviuI've tried memcpy, but I think that also brings along some bookkeeping fields somehow
04:08:48flaviunm, my fault. I was taking a pointer of a pointer
04:13:02*flaviu quit (Ping timeout: 240 seconds)
04:33:41*Jesin quit (Excess Flood)
04:34:12*Jesin joined #nimrod
06:10:26*Varriount|Deskto joined #nimrod
06:12:03*Raynes quit (Ping timeout: 240 seconds)
06:12:03*Skrylar quit (Ping timeout: 240 seconds)
06:12:31*Raynes joined #nimrod
06:13:33*Varriount quit (Ping timeout: 240 seconds)
06:29:06*hoverbear quit ()
08:02:03*joelmo joined #nimrod
08:26:09*Varriount|Deskto is now known as Varriount
08:37:40*kemet joined #nimrod
08:51:40*BitPuffin joined #nimrod
09:21:41*kemet quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
09:39:29*gsingh93_ quit (Quit: Connection closed for inactivity)
10:49:15flyxwhat's happening when I get "lib/pure/collections/sets.nim(1, 1) Error: redefinition of 'sets'"?
10:49:35flyxI don't see any definition of "sets" in my code
10:50:11flyxthis shouldn't happen just because I imports "sets" in multiple files, should it?
10:55:29dom96did you name one of your modules 'sets'?
10:58:43*Trustable joined #nimrod
11:08:25flyxdom96: no. I got it, I included one of my files twice
11:09:30flyxI have a curious problem that I get a SIGSEGV when trying to add stuff to a string
11:09:54flyxthe string seems fine, I get execute len() on it, but I cannot add anything
11:09:56flyx*can
11:10:19dom96Did you initialise it?
11:10:25flyxyes.
11:10:41dom96then maybe what you are trying to add is nil
11:11:33flyxwhen I change add to myString = myString & val, it works
11:11:39flyxinstead of myString.add(val)
11:12:07Araqlet me guess
11:12:14Araqyou're doing it all at compile-time
11:12:25flyxjup
11:12:30Araqbug report please
11:12:38flyxon it
11:13:29AraqI wonder if I'll get this VM stable ...
11:13:55Araqor if somebody else will ever be able to fix bugs in it
11:15:16*goobles quit (Ping timeout: 246 seconds)
11:20:21*q66 joined #nimrod
11:21:35flyxdone. https://github.com/Araq/Nimrod/issues/1297
11:22:41Araqah nice
11:22:52Araqyou reduced it to a simple test case
11:23:25flyxwell I'm trying my best to help fixing it ;)
11:29:05Varriount<3 Standalone test cases.
11:31:29Araqdom96: btw your "fix" for 'high' for the JS backend is wrong
11:31:35Araqsee gradha's bug report
11:36:16dom96I never "fixed" 'high'
11:36:20dom96only setLen IIRC
11:37:16Araqhmm I thought you did
12:00:00*XAMPP-8 joined #nimrod
12:00:13*XAMPP-8 quit (Read error: Connection reset by peer)
12:21:36*untitaker quit (Ping timeout: 244 seconds)
12:26:45*untitaker joined #nimrod
12:31:25*shevy quit (Ping timeout: 244 seconds)
12:35:46*shevy joined #nimrod
12:44:35*darkf quit (Quit: Leaving)
12:47:29*shevy quit (Ping timeout: 272 seconds)
12:47:46*shevy joined #nimrod
12:56:02*shevy quit (Ping timeout: 245 seconds)
12:56:27*noam quit (Ping timeout: 245 seconds)
12:56:59*kunev joined #nimrod
13:01:31*shevy joined #nimrod
13:11:43*flaviu joined #nimrod
13:13:24BitPuffinmaybe whoever made that command line parsing lib should look at Core.Command for inspiration on how to make it more complete
13:14:39flaviuI can't take the address of something allocated on the stack, I assume thats a missing feature?
13:15:11BitPuffinmaybe it's intentional
13:15:14BitPuffinwhy do you wanna do it?
13:16:07flaviuBitPuffin: https://gist.github.com/9af6abe9010ea10ff961
13:17:25BitPuffinnew(result)
13:17:33BitPuffinyou are calling new on something that isn't a ref?
13:17:42flaviuNo, result is a ref T
13:17:49BitPuffinoh, right
13:17:51BitPuffinlol
13:18:53BitPuffinwell still, why do you want to do this?
13:19:23BitPuffinfor gits and shiggles?
13:19:47flaviuSo I can get rid of the emit on line 8
13:20:00BitPuffinso this is your workaround?
13:20:41flaviuYep, my workaround is to write it in C
13:21:26BitPuffingood times
13:23:48flaviuAlso, if I rename it to `new`, the semantic checking recurses infinitely, although it does make sense why it'd do that]
13:24:09BitPuffinhm
13:24:14BitPuffincreate an issue?
13:24:49dom96I don't get why you need to emit that
13:25:07BitPuffinbecause it doesn't work if he writes it in nimrod dom96
13:25:56dom96ahh, you probably can't take the address of a param
13:26:08dom96I'm quite certain that is intentional.
13:26:39dom96Just write: var dummy = obj
13:26:43dom96and then take the address of dummy
13:27:18BitPuffineither that or take a var parameter right?
13:27:41flaviudom96: Nope
13:27:44dom96yeah, but he can't take a var param
13:27:53flaviuBitPuffin: I don't want to take a var param
13:27:57BitPuffindom96: neither can your mom
13:27:57dom96flaviu: why?
13:28:17BitPuffinflaviu: var god gör det ändå
13:28:18flaviuThat means the user has to do `var myvalue: T; new myvalue`
13:28:26flaviuand we're back where we've started
13:28:38BitPuffinno
13:28:50dom96what BitPuffin said
13:28:53flaviudom96: Oh, I have to make it var
13:28:57BitPuffindom96: no? lol
13:29:07BitPuffinor what did I say
13:29:12dom96yes
13:29:35BitPuffinso instead of typing "no" you saved time by saying "what bitpuffin said" xD
13:29:48BitPuffinlittle shit
13:29:50dom96:P
13:29:53BitPuffinlying, even, some would say
13:30:00dom96It wasn't meant to save time.
13:30:19BitPuffinno it was meant to be a bro I gotcha son
13:30:30dom96yea
13:37:07flaviuI doubt anything will be as clear as C, I'll just keep that
13:40:28dom96This is much clearer IMO: https://gist.github.com/dom96/51dfb4cfd341958985c8
13:40:59flaviuI'm really really not a fan of [] for derefrencing
13:41:20dom96Still better than emitting C.
13:42:00dom96You could also probably use this: http://build.nimrod-lang.org/docs/typeinfo.html
13:42:13flaviuIMO the emitted C is clearer
13:42:22flaviuWhy would I want to use typeinfo?
13:42:32BitPuffinyeah dom96's version is much better
13:42:54flaviuI don't really care about types, all I care about is that bytes move from obj to result
13:43:02dom96You could loop through each field of the object and set it in your new ref object.
13:43:11dom96But meh.
13:43:23BitPuffindom96's version has better guarantees with GC
13:43:45flaviuI don't think the performance of that is going to be very good, thanks for the suggestion though I guess
13:44:48BitPuffinwhy are you even doing this
13:45:46flaviudom96's version does a fieldwise copy of obj
13:46:06BitPuffinwell I mean why do you want this function
13:46:45flaviuBitPuffin: Because I think that having to do `type PMyThing = ref TMyThing; PMyThing(a: 1, b:"23")` is ridiculous
13:47:39BitPuffinwell that's a pretty common nimrod idiom
13:47:48dom96type PMyThing = ref object ... ?
13:47:49BitPuffindon't be such a rebel
13:48:07BitPuffinyeah
13:48:09dom96You can do that you know.
13:48:11BitPuffinyou don't have to have a stack version
13:48:26BitPuffinalthough if you can use something on the stack you should
13:48:26flaviuBitPuffin: Its a common idiom that many don't really like
13:48:37BitPuffinso?
13:48:37flaviudom96: I know, but I want both stack and heap allocation
13:49:34BitPuffinit's how it's meant to be used
13:49:57dom96if he wants to do it let him do it
13:50:00BitPuffinsure
13:50:04BitPuffinI'm not forcing him not to
13:50:13BitPuffinI'm just saying there is value in following convention
13:50:33flaviuThere is also value in _changing_ convention
13:52:41BitPuffinyeah, it's called making your own language :P
13:52:49BitPuffinotherwise you will have a split community
13:54:35flaviuDo people actually like the P and T prefixes?
13:55:05BitPuffinyeah
13:55:30BitPuffinthey tell you if a type is on the stack or on the heap without having to look at the definition
13:55:37BitPuffinI think that's valuable
13:55:59flaviu`ref MyType` gives you the same information
13:56:36BitPuffinsure
13:56:51BitPuffinbut it's 2 words or something I dunno
13:56:54BitPuffinI don't mind eihter
13:57:14BitPuffinI probably prefer ref Type
13:57:21BitPuffinbut PType is nimrod convention so hey
13:57:34BitPuffinto quote NA "shut up slave!"
14:02:58flaviuSince nimrod convention is being changed to get rid of P and T, then why not change it a bit more to use my awesome new statement?
14:03:55dom96Araq will allow (ref T)(a: blah) in the future
14:04:38flaviuI think my method looks much better: new T(a : blah)
14:05:24BitPuffindom96: that looks like C typecast lol
14:06:34dom96flaviu: Yeah. Suggest it to Araq.
14:07:24dom96flaviu: But that kind of makes things confusing. What would 'new PType()' do?
14:08:11dom96Not having the 'new' would suggest stack allocation when in fact it could be allocated on the heap if the type used is a 'ref'
14:09:32BitPuffindom96: compile time error
14:09:43BitPuffinwe can't have ref ref's can we?
14:10:11flaviudom96: Easy. It would allocate a pointer on the heap
14:10:38BitPuffinflaviu: also you could probably get even better performance by making it a macro instead of a function
14:10:41dom96flaviu: So a ptr ref T?
14:10:48BitPuffinconstructing it on the stack to copy over to the heap is wasteful
14:10:51flaviudom96: No, a ref ref T
14:10:53BitPuffinmake it go directly to heap son
14:10:57flaviuEverything is traced
14:11:01flaviuBitPuffin: I know
14:11:11BitPuffinis ref ref allowed?
14:11:13BitPuffinwtf
14:11:25dom96I don't think so.
14:11:38flaviuYes, it is
14:12:08dom96Anyway, the bigger problem is the assumption that people will definitely learn that the lack 'new' means the object is allocated on the stack.
14:12:33flaviudom96: Get rid of `ref object`
14:12:51dom96flaviu: lol. Good luck convincing Araq to do that.
14:13:28BitPuffinyeah
14:13:35BitPuffinyou just want to watch the world burn
14:13:58dom96Letting the user decide whether to allocate on the stack or the heap will cause a lot of breakage in the stdlib I think.
14:14:00BitPuffinAraq is pretty unwilling to break backwards compatibility, even with small things that are ugly
14:14:10BitPuffinimagine breaking every nimrod codebase on the planet
14:14:19dom96... yeah lol
14:14:48BitPuffinbreaking backwards compatibility is good
14:14:52BitPuffindon't know why people are so scared
14:14:59BitPuffinas long as you provide a tool to help cope
14:15:04BitPuffindoesn't Go do that?
14:15:30dom96Yeah, because we're just sitting bored. Looking for stuff to do!
14:17:11dom96Araq has a good reason for not breaking backwards compatibility.
14:17:15flaviudom96: Ok, so don't give the user the option to decide whether to use the stack or not. Give him a constructor, and get the constructor to take care of it
14:18:55BitPuffindom96: no he doesn't
14:19:25dom96BitPuffin: He does. If he breaks backwards compatibility he will have to deal with breaking code in the compiler.
14:19:28dom96Which takes time to correct.
14:19:40BitPuffindom96: just tell people what changed and if they have iq > 10 they can fix it with sed
14:19:52BitPuffindom96: tough shit
14:19:56BitPuffinnot a good reason
14:20:23flaviuBitPuffin: Not in this case. You need to have an AST to fix this breaking change
14:21:06BitPuffinflaviu: well the point is, you can fix it pretty quickly even without an ast
14:21:18flaviuBut I guess you're somewhat right, specific cases can be fixed with find replace since there aren't many types
14:21:35BitPuffinyou can check each replace before doing it for example
14:24:04BitPuffindom96: plus, most of the time he's refusing to change things in the stdlib as well
14:24:33dom96The compiler uses the stdlib :P
14:24:48BitPuffinnot hard to correct though
14:26:32flaviuIf it gets changed, I'd be willing to do the grunt work of updating everything. That's just a crap argument against changing things.
14:28:16*noam joined #nimrod
14:28:45BitPuffinI agree
14:28:51BitPuffinespecially when you are not even 1.0 yet
14:28:56BitPuffinbut even then it's a bad argument
14:29:20BitPuffinit's like great, you started off with ugliness
14:39:58dom96Perhaps. Araq probably has better arguments than me.
14:41:49BitPuffinmeh
14:44:39*Jehan_ joined #nimrod
14:49:26Jehan_I guess it's better when your computer breaks three weeks before the warranty ends rather than three weeks after. :)
14:55:41*kunev quit (Quit: leaving)
15:08:00dom96Jehan_: oh dear, how did it break?
15:08:20Jehan_One of the graphic cards is on the fritz, apparently.
15:08:50dom96that sucks
15:08:53Jehan_It's still working if I don't use that, but if I don't have it repaired, it'll eventually affect the logic board, too.
15:09:02Jehan_Eh, there are bigger problems in life. :)
15:09:23Jehan_Luckily, I have Applecare until middle of next month.
15:10:30Jehan_That laptop was oddly cursed, anyway. First, the trackpad stopped functioning, then the battery turned out to be defective, and now this.
15:11:18Jehan_I suspect that it may have been part of a bad batch.
15:14:30*hoverbear joined #nimrod
15:22:18*exirctest joined #nimrod
15:25:49*vendethiel quit (Ping timeout: 272 seconds)
15:27:10*kunev joined #nimrod
15:34:17*io2 joined #nimrod
15:42:34*hoverbear quit ()
15:43:20OrionPKmornin
15:45:47dom96afternoon
15:49:04flaviupython doesn't really have any functional methods
15:49:35flaviuI want to do select, but nope
15:51:10Trixar_zaDon't even get me started on Python 3
15:51:24flaviulol ok
15:51:46Trixar_zaYes, adding less abstraction is good for programmers, but it needlessly complicates it for newbies
15:52:23Trixar_zaTransform b'' to proper strings without me having to decode it :|
15:58:20Trixar_zaBut yeah, some parts I like, most parts I hate
15:58:42Trixar_zaGetting into using str format for example
16:05:33shevyif you hate python 3 then you hate the future man
16:06:11BitPuffinPython 2 fappers are pathetic
16:06:13*BitPuffin runs
16:07:01*OrionPK quit (Remote host closed the connection)
16:09:11*OrionPK joined #nimrod
16:10:48*KevinKelley joined #nimrod
16:11:29KevinKelleySo I'm needing some tricks for debugging dynlib loading.
16:12:07KevinKelleyI'm wrapping the bgfx library, which is mostly C++ but has a C99 api exported.
16:12:17*flaviu quit (Ping timeout: 245 seconds)
16:12:40KevinKelleyAll I get is, "could not load: libbgfx.so"
16:13:05KevinKelleyno explanation of why. No idea where the error occurred.
16:14:52Jehan_Dynamic libraries are loaded using dlopen().
16:16:56Jehan_I'd suspect that dlopen() couldn't find the library.
16:17:31KevinKelleyHow does that tie in with the '{.importc: "bgfx_init", dynlib: "libbgfx.so".} syntax? I can't tell where the errors are... why it isn't working.
16:17:38Jehan_Depending on your system, it may be in a directory that the dynamic loader consults, in LD_LIBRARY_PATH, etc.
16:19:04KevinKelleyDoes the dlopen work with libs in arbitray locations, or does it have to be in system dirs (on the LD_LIB_PATH)?
16:19:50Jehan_Depends on the system. I'm honestly a bit fuzzy at the moment where Linux looks, for example.
16:19:59Jehan_rpath may also play a role.
16:21:06Jehan_If you don't need portability across multiple architectures, you can also use {.passL:"-lname".}
16:21:09*Jesin quit (Quit: Leaving)
16:21:21Jehan_To load a library, that is.
16:21:40KevinKelleyI'll try that
16:22:08Jehan_Not sure if it can be part of an importc pragma or has to be done at the module level.
16:22:36Jehan_I recommend making a custom pragma for the importc stuff so that you don't have to retype everything all the time, anyway.
16:24:27Jehan_You can also try and see if --dynlibOverride:bgfx --passL:-lbgfx works better.
16:24:37*Jesin joined #nimrod
16:24:45Jehan_That you should be able to do without rewriting any code.
16:25:01KevinKelleyokay will try
16:25:20Jehan_May also give you a better error message if you can't find it.
16:25:36*Jehan_ honestly isn't a big fan of using dlopen() to access dynamic libraries.
16:26:34Jehan_And the problems with figuring out what went wrong is exactly why.
16:27:15Jehan_Unix systems have tools to debug the regular dynamic library loading process, but those are of no or only limited use for dlopen().
16:29:21KevinKelleyOkay that might have helped, using the passL to static link.
16:29:54Jehan_--passL:-lwhatever will link dynamically or statically depending on what's available.
16:30:00KevinKelleyThanks Jehan_, think you fixed me
16:33:43*hoverbear joined #nimrod
16:54:36*io2 quit (Ping timeout: 260 seconds)
17:36:03*Matthias247 joined #nimrod
17:37:42KevinKelleyanybody got a gallon of gasoline? I want to burn C++ with fire.
17:45:55Jehan_KevinKelley: Heh. :)
17:47:17Jehan_I sympathize, but, alas, C++ is sort of the COBOL of system programming.
17:48:40Jehan_We can't get rid of it without destroying too many of the foundations we stand on.
17:49:16Jehan_And, honestly, many of the problems with C++ are with how it's being used and what it's used for, not with the language design itself.
17:51:25Jehan_Not to mention that until a few years ago, there weren't a great many realistic alternatives for many application domains.
17:57:07*goobles joined #nimrod
18:05:31KevinKelley@Jehan_, yeah, it's a tool that gives you all the control you might want, but it always cuts your hand.
18:08:03KevinKelleyThe ABI is a problem -- in that there isn't one. Or, that there's one for every different version of every compiler that's out there.
18:20:44goobleshow come this doesn't compile;0
18:20:45gooblesproc '?'(x, y): auto = return y + x
18:20:59gooblesindentifier expect but found '?'
18:21:34exirctestit's `, not '
18:21:52exirctest'?' would be a char literal
18:22:33gooblesoh ic, backticks like lisp
18:31:15*io2 joined #nimrod
18:43:57Araqso ... what's in the history ... ah yeah
18:44:12Araqpeople not understanding nimrod's memory model and complaining about it
18:44:20Araqand it's all my fault
18:44:36Araqbecause I don't like to "break backwards compatibility"
18:44:55Araqwho cares if it fucks up memory safety in major ways
18:45:20goobleswhat what
18:45:57*superfunc joined #nimrod
18:47:49*vendethiel joined #nimrod
18:48:53Araqah and ofc 'new T(a: 1)' is much better than 'T(a: 1)' ...
18:57:37superfuncloving the new anon. proc syntax, really cleans up some code for me
18:59:55goobleswhat does it look like
18:59:57dom96superfunc: I'm glad somebody is using it :)
19:00:18superfuncfrom my code:
19:00:50superfuncw.debris = map( w.debris, ((p:Point2D) => (p.x, p.y - PROJ_RATE_Y)))
19:01:07superfuncwhich basically filters out all projectiles that have left the map in one clean statement
19:01:29superfuncActually, I have a filter after that, that removes them
19:01:36superfuncThe map is what updates their position
19:02:11superfuncw.debris = filter( w.debris, ((p: Point2D) => (p.y > 0)))
19:02:34def-superfunc: i think you don't need "w.debris = "
19:02:48superfuncI thought it returned a new sequence
19:02:55Araqyes, nice clean. Also iterates twice where one iteration would suffice ... but hey, who cares about that
19:03:03def-there is also a version of map that modifies the data directly
19:03:19*Araq is tired of functional map+filter.
19:04:25*superfunc am ashamed for my algorithmic misgivings
19:04:35Trixar_zaIf it's reasonable to break backward compatibility, then break backward compatibility
19:04:51AraqTrixar_za: that's what we do
19:04:54superfuncdef-: Thanks, I had not seen that one
19:05:03Araqbut the raised issues have *nothing* to do with that
19:13:28dom96json.`{}` should return nil when its first param is nil right?
19:14:08AraqI guess
19:14:16Araq"Google initiated a $50 million coding project on Thursday to increase girls interest in computer science. " omg
19:14:27Araqthey could have funded Nimrod with this money instead ...
19:15:49Araq"This comes after the technology giant revealed one-sided diversity statistics that showed a global workforce comprised just 30% women. The Mountain View, California.-based company blamed education for the uneven diversity figures, and vowed to invest in computer science education for minorities and women."
19:16:59Araq30% women is actually quite a lot, isn't it?
19:17:00Jehan_Good intentions, but as they say, at least Sisyphus had a boulder that could be moved. :)
19:17:39AraqI don't even see how these are "good intentions" ...
19:17:55Araqis working in front of a computer all that desirable?
19:17:56Jehan_Araq: Not really. And that's not even considering how many of them are probably in secretarial jobs.
19:19:00Jehan_Araq: You mean secretaries still use typewriters?
19:20:00superfuncNo, but the money to do so is
19:20:32dom96Araq: Also, isn't allowing varargs for {} but not [] inconsistent?
19:20:44superfuncMost students I meet, especially where I am(San Jose), go into CS for the paycheck
19:20:58Araqdom96: I don't care, fix it
19:21:20Araqsuperfunc: ah so girls don't know about the paychecks
19:21:31Araqand we need 50 Million to tell them
19:21:52superfuncAraq: lol
19:22:37superfuncdef-: I see map() in system, but I don't see a version of filter there
19:23:00Matthias247those wo do id for the paycheck ususally don't pass the exams
19:23:23superfuncIf they do, I end up fixing their code.
19:23:23Matthias247and ... it's not worth for the paycheck
19:23:39Matthias247better go for medicine, law or banking
19:23:58Araqspending 50 million for girls under the assumption they are too stupid to do CS otherwise is misogynic
19:24:02def-superfunc: i guess it makes less (no) sense to make filter work on the data structure directly
19:24:15def-modifying it directly*
19:25:07superfuncdef-: I suppose, though I've seen it handled both ways
19:25:38superfuncdef-: STL basically moves all "filtered things" to the end then chops it off
19:26:11def-superfunc: ah, true, you could do that
19:26:17AraqMatthias247: I agree
19:26:22NimBotAraq/Nimrod devel 38cdd75 Dominik Picheta [+0 ±1 -0]: Remove varargs from json.`{}`
19:26:22NimBotAraq/Nimrod devel 0449791 Dominik Picheta [+0 ±1 -0]: Merge branch 'devel' of github.com:Araq/Nimrod into devel
19:26:35exirctestand if they were indeed too stupid, then maybe they should do something else instead. tell em :p
19:26:46Araqdom96: argh.
19:26:49superfuncMatthias247: Most end up there. I think my CS department had a retention rate of like 35% lol
19:26:55AraqI liked the varargs
19:27:02dom96Araq: ...
19:27:06Araqthe compiler doesn't really like them, but will soon
19:27:15dom96Araq: You just said you didn't care.
19:27:27AraqI trusted you to do the right thing :P
19:28:20exirctestlol
19:31:28*vendethiel quit (Ping timeout: 244 seconds)
19:31:30*vendethiel- joined #nimrod
19:31:38*vendethiel- is now known as vendethiel
19:32:17superfuncAraq: Does the compiler elide copies?
19:32:26Matthias247superfunc: was the same at my unverisity. Most then switched to some media stuff
19:32:38Matthias247which is finished by 99% of all people
19:33:38Araqsuperfunc: sometimes
19:33:52superfuncAraq: Neat, thanks
19:39:14superfuncMatthias247: What country did you go to school in?
19:43:47goobles'MERICA
19:44:19superfunclol
19:45:10Matthias247superfunc: germany
19:46:46gooblesi bet german CS is fun
19:48:09gooblesis nimrod hot in germany
19:49:28superfuncnimrod is hot worldwide
19:50:01Araqthat's news to me
19:51:47dom96Nimrod is hot on Venus.
19:52:09*steeb joined #nimrod
19:53:22gooblesnimrod is safe cause you don't use unsigned
19:53:33gooblesand also nimrod has memory safety
19:54:14gooblesD is dumb cause it is boring and has a GC which takes forever to GC
19:54:30*steeb left #nimrod (#nimrod)
19:54:47superfuncI wouldn't call D dumb, just not for me.
19:55:18Jehan_I wouldn't even go that far.
19:55:45superfuncIt just didn't excite me enough to bother using it over C++11(14)
19:56:01gooblesya its boring like i said;0
19:56:09Jehan_It did clear that bar for me (admittedly, not a very high one).
19:57:07Jehan_I had honestly hoped for some feature deprecation and streamlining in C++11.
19:57:21goobleswhat you want deprecated?
19:57:34gooblesunsigned?
19:57:45Jehan_Why would I want to get rid of unsigned integers?
19:57:49superfuncJehan_: It would be nice, I just didn't expect it.
19:57:55gooblesidk cause you hates them?
19:58:05gooblesAraq hates them
19:58:06Jehan_Then you got the wrong message last night.
19:58:32Jehan_I don't hate unsigned integers. But when you're doing arithmetic, signed integers are the safer default.
19:58:43goobles yessir
19:59:03Jehan_Conversely, unsigned integers tend to be superior when you're dealing with bitpatterns.
19:59:03gooblesi want header files deprecated
19:59:19gooblesi fucking hate header files
19:59:51gooblesi don't understand how C++ is stull using this header file crap after 30 years:(
20:00:00Jehan_Inertia.
20:00:11Jehan_They may be on their way out come C++14, though.
20:00:19gooblesit better
20:00:32Jehan_But yeah, probably the biggest problem that C++ is facing in practice.
20:00:42Jehan_Because of what they do to compile times.
20:01:01Jehan_Not to mention writing tons of stuff twice is tedious beyond belief.
20:01:26gooblesya thankfully my IDE does most of that
20:01:49Jehan_Which one are you using?
20:01:56gooblesvisual studio 2013
20:02:02goobleswith visual assist pluggin
20:02:09Jehan_Ah, not an option for me, alas. :)
20:02:24Araqthis is exactly what people mean when they say "IDEs patch over language warts"
20:02:40Jehan_Araq: Yeah, I know.
20:03:03Araqa sensible IDE feature would be "extract this header-file-like view for me"
20:03:38Araqbut an IDE *writing code for you* is just madness
20:03:40Jehan_Heh. I remember when that was an actually novel feature (short/flat for Eiffel).
20:03:45gooblesmy process is to write the header, then tell it to generate the .cpp contents from the header;0
20:03:51gooblesstill hate the stupid headers
20:04:12Jehan_goobles: I use a script that generates the header from the (annotated) source.
20:04:52goobleshum how does that work, you classes have to be visible in header..?
20:04:56Jehan_Unfortunately, it's somewhat fragile if I use too many exciting C++ syntax features.
20:06:00Jehan_I write a class definition with all methods inline, basically. The ones that I don't want to actually be part of the header get a body that begins with {{ and ends with }}.
20:06:22Jehan_The script removes those bodies from the header and puts them (along with a proper method header) in the source.
20:06:41Jehan_Same goes for functions not associated with a class.
20:06:48gooblesoh so you are basically writing the header first?
20:06:59Jehan_It's more that I'm writing the header only. :)
20:07:09gooblesyes i can do the same thing in VS
20:07:13Jehan_Or rather, a combined header/source thing.
20:07:15gooblesi just tell it to move the function
20:07:26Jehan_From which I then generated header and source.
20:07:35superfuncJehan_: I thought Modules weren't making it into 14
20:07:39Jehan_Yeah. The thing is that I can use that as part of the build process.
20:07:50Jehan_superfunc: I said I'm hoping for it, not that it's a rational hope. :)
20:07:54gooblesoh that is kinda useful
20:08:45gooblesbut what about all the extra headers, like the ones only used by your {{}} functions, do you include those in both?.. C++ basically requires you to manage the build yourself to avoid horrible compile times
20:09:04gooblesi think modules is definitely not making c++14
20:09:07Jehan_Yeah. The downside is that the script isn't really a C++ parser, so I have to be somewhat careful with how I write code so that it can be processed.
20:09:27Jehan_I have an implementation part to denote code that only goes in the source, not the header.
20:09:51Jehan_#implementation, everything after that is non-header stuff.
20:10:09gooblesah ok
20:10:20gooblesmy guess is modules no sooner than C++17
20:10:38gooblesthey are slow and don't seem to care enough about modules
20:10:46gooblesmore interested in transactional memory etc
20:10:47Jehan_In my ideal world, I won't need to use C++ anymore by then. :)
20:11:39Jehan_One or more of the alternatives will have matured enough so that people transition to them for new projects and may think about rewriting some of the older ones.
20:11:50Jehan_Not stuff like KDE, though. :)
20:13:01BitPuffinAraq: didn't say that there was anything wrong with the memory model because you don't want to break backwards compatibility. I was saying that you don't want to break backwards compatibility even when something is bad. In general. If you read you'd see that I don't really care which one is the convention :P
20:13:14superfuncIts not really an issue of being slow, per say. Getting things into that standard are very hard. You have to be able to guarantee backwards compatibility and offer a seemingly optimal implementation.
20:13:33Jehan_superfunc: Yup. They have good reason.
20:14:00Jehan_Source: A former officemate of mine is on the C++ standards committee.
20:14:05gooblesnimrooooooooooood to the rescue!
20:14:15AraqBitPuffin: "when something is bad" -- well ...
20:15:06BitPuffinAraq: yeah, like stuff in the stdlib etc
20:15:11BitPuffinI've seen it multiple times
20:15:29Araqusually the stuff that "is bad" works
20:15:31BitPuffinyou worrying, "would fixing this break people's code dom? omg dom will it break? TELL ME DOM"
20:15:39BitPuffinwho cares if it works
20:15:41BitPuffinC++ works
20:15:56BitPuffinwhy make something better if it works
20:16:02BitPuffingreat logic
20:16:07Jehan_Well … I point you to the widespread adoption of Python 3.
20:16:22BitPuffinlike I said earlier Python 2 fappers are pathetic
20:16:49AraqBitPuffin: I'm sure people enjoy a non-compiling compiler with a stdlib that is "better"
20:17:02goobleslua breaks backward compatibility when they update it
20:17:12BitPuffinif you don't like python 3 then you should find another ship, not sink with the one you are currently on
20:17:18BitPuffinAraq: boohoo, fucking fix it then
20:17:26*Matthias247 quit (Read error: Connection reset by peer)
20:17:44BitPuffinto quote yourself "activate brain"
20:18:51AraqI'll keep in mind the next time you complain about your code not compiling
20:19:06BitPuffinhow does that make any sense?
20:19:08*Raynes quit (Remote host closed the connection)
20:19:30BitPuffinI complain when your code in the compiler has bugs that make my code not compile
20:19:37BitPuffinnot when the stdlib changes and I can fix it :P
20:20:09Araqand yet both take up my time
20:20:11BitPuffinthe point is, I don't bitch if there is changes in libraries I use that I have to update in MY codebase, but you bitch if you have to update your codebase :P
20:20:22Jehan_Are there any important backward-compatibility breaking features that people think Nimrod should have?
20:20:36Jehan_Other than the great T/P prefix exodus ...
20:20:46Araq'defined' would be high on my list
20:20:57Jehan_Araq: What about defined?
20:21:04Jehan_Make it a keyword, remove it, rename it?
20:21:12Araqit conflates 2 different things
20:21:20Jehan_Gotcha.
20:21:21Araqthe --define:foo stuff
20:22:04Araqand the defined(strutils.toUpper) usage
20:23:31*kunev quit (Quit: leaving)
20:24:12Araqalso I plan to get rid of 'static[T]'
20:24:25BitPuffinwoopwoop
20:24:28Araqnot sure how to do it, but it needs either to be fixed
20:24:33BitPuffinit barely got a chance lol
20:24:37Araqor replaced by something better
20:24:48BitPuffinit's zahary's code isn't it?
20:25:00Araqof course :P
20:25:03BitPuffinyeah
20:25:04Jehan_Don't you like the concept or the syntax? Or do you mean how it's being used for type parameters?
20:25:06AraqI don't make any mistakes
20:25:08BitPuffinhard to fix then
20:25:12BitPuffinAraq: lol
20:25:14BitPuffinsure :P
20:25:44AraqJehan_: the concept of this *type* is flawed
20:25:57Araqit shouldn't be a type, it should be a constraint
20:26:14Jehan_Yeah, I'd agree with that.
20:26:30Araqalso it doesn't really work with the language, is 3 of type static[int] ?
20:26:37Araqno it's not
20:26:47Araqvar foo: type(3)
20:26:52Araqshould be
20:26:54Araqvar foo: int
20:27:22Araqit's like C++'s const
20:27:26BitPuffinthe name is also pretty bad
20:27:30BitPuffinstatic[T]
20:27:38BitPuffindoesn't say much about what it is
20:27:42Araqwell it used to be expr[T]
20:27:51Araqso .. the name already improved :P
20:28:26Jehan_x: immediate T :)
20:29:09Jehan_Sigh, it's depressing how slow a 6-year old laptop with 2GB RAM feels.
20:29:19Araqalso first class types give me the creeps
20:29:31Araqvar foo = int # yeah, it's an = here
20:29:47Araqvery newbie unfriendly
20:29:54Araqwho often confuse = with :
20:30:05Araqand then they get nice errors or even compiler crashes
20:30:18Araqcan only guess how many users this "feature" did cost us
20:30:38def-Araq: yeah, those error messages had me confused a few times
20:32:30superfuncJehan_: Try a chromebook: you may enjoy it
20:32:58Jehan_superfunc: Not for this kind of stuff, thank you.
20:33:27Jehan_Chromebooks have their use, being a primary software development machine isn't one of them.
20:33:39NimBotnimrod-code/babel master 05d9956 Dominik Picheta [+0 ±3 -0]: Implements babel uninstall.
20:33:39NimBotnimrod-code/babel master 45f0a20 Dominik Picheta [+0 ±1 -0]: Added uninstall test.
20:33:39NimBotnimrod-code/babel master dd1cc21 Dominik Picheta [+0 ±1 -0]: Fixes crash when installing using git URL.
20:33:39NimBotnimrod-code/babel master 014b897 Dominik Picheta [+0 ±2 -0]: Packages with URL dependencies are now removed properly.
20:33:39NimBot2 more commits.
20:34:10gooblesso can you do like constraints in nimrod(c++ enable_if)
20:34:11Araqdom96: how do you remove dependencies?
20:34:15dom96Test if you can please^
20:34:42dom96Araq: babel uninstall/remove/delete?
20:34:47dom96Araq: or what do you mean?
20:34:50Araqdom96: yes
20:35:15Araq(also add 'del' and 'rm' to this list please ;-) )
20:35:43dom96those are already on that list
20:35:48dom96I just didn't feel like listing them here
20:36:02Araqok well
20:36:09AraqI have package A and B and B depends on A
20:36:12superfuncJehan_: idk, I threw ubuntu on one and found it sufficient, but I was hardly leaving vim
20:36:16Araqbut is useful on its own
20:36:31Araqwhen I remove B and Babel also removes A that's annoying
20:36:44Araqbut it's also annoying if it doesn't remove deps
20:36:53Araqso how do you deal with this problem?
20:37:57Jehan_superfunc: I need to compile C++ programs with a few hundred KLOC and the build process shouldn't take forever.
20:38:56superfuncJehan_: Oh wow, haha. Mine was like 20k max I think
20:39:10dom96Araq: Babel doesn't remove dependencies.
20:39:17superfuncJehan_: and Qbs helped mitigate it some
20:39:19dom96Araq: it only removes what you ask it to
20:39:19Jehan_MInd you, it's not code that I've written, I'm just stuck with it.
20:39:36dom96Now you'll tell me that that is annoying :P
20:39:52BitPuffinAraq: thought you hated aliases :P
20:40:04dom96Maybe i'll add a flag which removes a package's dependencies too
20:40:12dom96in fact, that's pretty simple to do I think
20:40:23dom96but by default it only removes the packages you ask it to remove.
20:40:26def-superfunc: after writing an inline filter (it's much faster) i guess i know why it's not in sequtils by default: Ambiguous call when using filter, because arguments have same type
20:41:32*OrionPK quit (Remote host closed the connection)
20:41:42superfuncdef-: That makes sense. We could have one and call it inPlaceFilter or something to be clear
20:41:45*OrionPK joined #nimrod
20:41:54*Raynes joined #nimrod
20:42:03OrionPKdom96 about?
20:42:04*Raynes quit (Changing host)
20:42:04*Raynes joined #nimrod
20:42:18def-superfunc: yeah, but i'm not sure which name would be best, filterDirectly, keepIf or something entirely different?
20:42:29dom96OrionPK: what?
20:42:54OrionPKim having an issue w/ nginx chunked and scgi on jester, wonder if you had any ideas
20:42:57BitPuffindom96: you should also have a command that lists orphans
20:43:08OrionPKlike when my response gets too big, it seems like it just gets cut off
20:43:14OrionPKit gets to like 64kb
20:43:25dom96OrionPK: oh. Yes, I am about.
20:43:42Araqdom96: ok that's a good solution
20:43:52dom96BitPuffin: sure
20:44:23dom96OrionPK: Yeah. I think that's a known bug.
20:44:52OrionPKoh really...
20:45:06dom96OrionPK: I believe I ran into that.
20:45:09OrionPKwell i guess glad it's not just me
20:45:17Araqdom96: how can you still like socket handling?
20:45:18OrionPKit's happening in ircfamiliar
20:45:40dom96OrionPK: IIRC the problem is that jester does not do async properly yet
20:46:02dom96OrionPK: so if you're sending a lot of data, the socket gets filled up and the rest gets dropped because it cannot send anymore.
20:46:39OrionPKokay
20:46:47dom96Araq: Did I ever say I liked it?
20:46:47OrionPKso you think your current work might resolve that?
20:46:52dom96OrionPK: yeah.
20:47:08OrionPKdom96 alrighty cool. I'll set ircfamiliar to preserve less irc log for now
20:47:11dom96OrionPK: Just have to wait for Araq to finish his fixes.
20:47:29dom96OrionPK: I already rewrote Jester to use the new async stuff
20:47:35OrionPKsweet dude
20:47:48dom96OrionPK: https://github.com/dom96/jester/tree/new-async in case you wanna take a look
20:47:52AraqI really think with these fixes we should release 0.9.6
20:48:03Araqor perhaps 0.9.4.2
20:48:05exirctestso, are we fixing those typedesc related issues then? we've often discussed how to make the language more popular after all
20:48:11dom96OrionPK: still untested because I need nested closures and so I need to wait for Araq to implement them
20:48:21OrionPKdom96 okay
20:49:29exirctestI might've missed something. My own client has one foreground and one background, which makes reading walls of text difficult. will switch to weechat again
20:49:41*exirctest quit (Remote host closed the connection)
20:50:06*EXetoC joined #nimrod
20:50:28goobleshow do you have "few hundred KLOC" omg
20:50:32dom96But anyway. Please test babel's new uninstall feature guys!
20:50:40Jehan_goobles: It's an old project.
20:50:50Jehan_I've seen bigger ones, too.
20:50:54dom96I may release a new version of it soon.
20:51:02gooblesin 1 file?
20:51:08EXetoCdom96: ok. let's see if "babel install babel" breaks the installation now :>
20:51:09Jehan_goobles: God, no.
20:51:12gooblesoh ok;0
20:51:19gooblesi thought u meant u had a giant ass file of doom
20:51:22Araqcan somebody please run this:
20:51:37Araqnimrod c tests/closure/tinvalidclosure2.nim
20:52:00dom96tinvalidclosure2.nim(10, 17) Error: illegal capture 'A'
20:52:04Jehan_tests/closure/tinvalidclosure2.nim(10, 17) Error: illegal capture 'A'
20:52:08Araqfuck
20:52:13Araqbut thanks
20:52:21Jehan_Do we need to pull a more recent version?
20:52:27OrionPKbrb
20:52:28*OrionPK quit (Remote host closed the connection)
20:52:35Araqwell it compiles with my version
20:52:38dom96EXetoC: lol
20:52:40Araqso I broke it
20:52:44EXetoCdom96: tried to uninstall termbox, but it segfaulted after "Checking reverse dependencies..."
20:52:57superfuncdef-: Not sure either. We could have something called remove_if()
20:53:04*OrionPK joined #nimrod
20:53:11dom96EXetoC: hm
20:53:28EXetoCI will build a debug version
20:53:40dom96EXetoC: works for me
20:53:42superfuncdef-: Maybe have a sig of proc remove_if[T](s: seq[T], proc(t: T): bool) ...
20:53:56def-superfunc: but then it's the other way around than filter, hm
20:54:27gooblesdoes it work like C++ remove_if that doesn't remove anything;0
20:54:27superfuncdef-: Well, remove_if is essentially an in place filter, no?
20:54:28EXetoCdom96: ok I might have to pull in the latest json changes
20:54:37BitPuffinAraq: alias bblrm="babel remove"
20:54:37dom96EXetoC: ahh yes.
20:54:44dom96EXetoC: Should have mentioned that lol
20:55:12EXetoCsorry for taking ages on that dependency fix. I also need to fix the babel-git package. I'm as motivated as always
20:55:38def-superfunc: except remove_if takes true to remove and filter false to remove
20:55:53dom96EXetoC: it's ok.
20:56:03*dom96 really likes that Windows 8 has an Alarms app
20:57:03superfuncdef-: Oh, I see what you mean
20:57:06superfuncmy bad
20:57:23OrionPKcant build babel
20:58:00dom96OrionPK: what's the error?
20:58:11OrionPKbabel.nim(280, 14) Error: type mismatch: got (TSet[string], TSet[string])
20:58:26OrionPKi havent used my desktop much though, maybe nimrod's out of date
20:59:04dom96possibly
20:59:41*Raynes quit (Quit: ZNC - http://znc.sourceforge.net)
21:01:45superfuncdef-: remove_if would still give us the functionality we want though. So long as we don't call it filter, it could be useful
21:06:09OrionPKdom96 yeah updating fixed it
21:07:19dom96good
21:07:20def-superfunc: yeah, i guess it's a matter of taste. According to wikipedia most programming languages do it the filter way instead of the remove_if way
21:08:00superfuncdef-: true, I come from mostly a C++ perspective, which is probably why I skew that way
21:28:02*hoverbear quit (Read error: Connection reset by peer)
21:28:33*hoverbear joined #nimrod
21:28:54*hoverbear quit (Max SendQ exceeded)
21:32:11*hoverbear joined #nimrod
21:36:50*shodan45 joined #nimrod
21:40:26dom96So, who's watching US vs. Portugal?
21:40:54*Raynes joined #nimrod
21:42:17*dioq joined #nimrod
21:42:46*f0wl quit (Changing host)
21:42:46*f0wl joined #nimrod
21:48:34superfuncdom96: I would be, if the internet here could handle it lul
21:50:58dioqHi, does anyone know how to create an uint8 literal in a macro? I've tried newNimNode(nnkUInt8Lit), but it doesn't have a setter (nnkInt8Lit has intVal), am I missing something?
21:55:36dom96dioq: I think it also uses intVal
21:57:16*brson joined #nimrod
21:57:39f0wldioq, intval seems to be missing from uint*lit
21:57:51OrionPKUSA! USA!
21:58:27f0wldioq, you can get around it in the meantime by using parseexpr("4'u8")
21:59:38dom96OrionPK: I'm rooting for USA too!
22:00:03OrionPK:D
22:00:18OrionPKcant help but root for the underdogs;)
22:00:26dom96lol
22:00:32OrionPKi even had a friend from PT wish the USA luck :p
22:01:24BitPuffinI'm hoping they all die
22:02:27OrionPKyou suck
22:02:37OrionPKjust cuz sweden didnt make it to the world cup finals
22:02:38OrionPK?
22:02:44dioqf0wl, this works, thanks
22:03:16OrionPKjust noticed that nimrod's bindings for sfml are up on sfml's page
22:03:16OrionPKhttp://www.sfml-dev.org/download/bindings.php
22:03:31BitPuffindidn't even knowo that so no
22:03:34BitPuffinbecause it's boring
22:04:10BitPuffinIf we are gonna bitch that google isn't giving money to nimrod imagine all the money that nimrod could get if we didn't finance any football/soccer ever :P
22:04:18gooblesugh usa don't loose ;0
22:04:54BitPuffinlose*
22:05:19dom96OrionPK: Awesome
22:05:29dom96also their new site looks nice
22:05:32OrionPKfuck
22:05:34OrionPKme
22:05:43OrionPKits gonna be a long game
22:05:46dom96damn it
22:05:49dom96they scored
22:06:21goobleswell this is going to be ugly
22:10:16f0wlOrionPK, i emailed sdl2 and allegro people but i couldnt get ahold of anyone
22:10:34OrionPKwhats the status of the sfml plugin
22:10:55f0wl0 issues reported
22:10:58BitPuffinf0wl: why not bitch in the irc?
22:11:00OrionPK;)
22:12:36BitPuffinthey usually respond there
22:13:48f0wlthey said to send emails
22:14:22*musicalchair quit (Ping timeout: 245 seconds)
22:14:28BitPuffinsend emails they said
22:14:32BitPuffinit will be fun they said
22:14:41BitPuffinwe will do it they said
22:17:18OrionPKf0wl no issues, but how much of the api do you have covered
22:21:00*Trustable quit (Quit: Leaving)
22:22:37EXetoCBitPuffin: football monies -> nimrod? great idea
22:24:27f0wlOrionPK, of csfml? all of it i think
22:25:51BitPuffinEXetoC: exactly
22:26:13BitPuffinso all of you watching football right now are stealing money from nimrod
22:26:14BitPuffinyou bastards
22:26:18BitPuffinyou should be ashamed
22:26:38BitPuffindom96: I think the new nimrod mascot should be a little shit
22:27:04BitPuffinwith a surf shirt
22:27:18dom96BitPuffin: only if it's a lying little shit
22:27:32BitPuffinyes
22:27:37BitPuffinit should have a speech bubble
22:27:44BitPuffinsaying something like "Go is the future"
22:28:10dom96perfect
22:28:28dom96better yet, let's have the honey badger taking a crap
22:28:33dom96and that crap is the lying little shit
22:28:43dom96with the speech bubble
22:28:59BitPuffindon't forget the surf shirt
22:29:11dom96Yes, it will be a piece of art.
22:29:13EXetoCBitPuffin: you think Araq could work fulltime on nimrod then?
22:29:17EXetoCyeah I think so
22:29:25EXetoClots of money in it innit
22:29:28BitPuffinwith all the football moneys in the world?
22:29:42BitPuffinI think araq would never stop demanding more money for working full time :P
22:31:12*musicalchair joined #nimrod
22:32:51AraqIs a man not entitled to the sweat of his brow?
22:39:51OrionPKwow
22:39:52OrionPKwater break
22:39:55OrionPKnever seen that in world cup ;)
22:40:18dom96lol
22:41:31OrionPK"the sweat is dripping off everbody - including your commentators"
22:45:45Araqdamn you guys
22:45:52Araqdo I need to watch this match?
22:46:48EXetoCnah
22:47:09BitPuffinAraq: if you want to steal funds from nimrod yes
22:52:43superfuncdom96: has the json module been updated recently?
22:52:55dom96superfunc: yes
22:53:15superfuncok, the example wasn't compiling, this makes more sense
22:53:38*io2 quit ()
22:55:28dom96superfunc: which example?
22:56:21superfuncfrom the generated documentation on module json
23:01:22*superfunc quit (Quit: leaving)
23:01:24dom96The one at the top of the page?
23:01:28dom96argh
23:01:41*superfunc joined #nimrod
23:01:57dom96EXetoC: So does Babel work for you?
23:10:52*superfunc quit (Quit: leaving)
23:11:43*dioq quit (Quit: Page closed)
23:13:16*darkf joined #nimrod
23:22:13dom96Yes! USA!
23:22:55goobleswoooooot
23:23:13*superfunc joined #nimrod
23:23:21superfuncdom96: New version seems to have fixed it
23:23:40EXetoCdom96: yes
23:23:49Araqhmm there is a youtube video with the title "Infinity is bigger than you think"
23:24:02dom96EXetoC: good
23:24:24OrionPKWOOOOOO!
23:24:26OrionPKYEAH!
23:24:27OrionPKUSA!
23:24:29OrionPKomg
23:24:36OrionPKI stepepd out of the room for 30 seconds to pee
23:24:38OrionPKand missed the goal
23:24:44BitPuffinlol
23:24:47BitPuffinnubs
23:24:59dom96wow, Portugal seems much more aggressive now
23:25:56superfuncdom96: thanks for this module, made a part of my game much simpler
23:26:07dom96BitPuffin: There is a guy playing who reminds me of you, he has dreadlocks :P
23:26:11superfuncusing it to define enemy patterns
23:26:25gooblesportugal has to win or they dead
23:26:34dom96superfunc: heh, sure. It wasn't all me though. Araq wrote the parser, I wrote most of the high-level interface.
23:27:22superfuncAraq: Thanks too
23:28:34OrionPKyeah pt is peesed
23:28:55dom96is US still in if they lose?
23:28:56BitPuffindom96: that probably means we are the same him and I
23:30:13dom96BitPuffin: of course
23:39:53dom96ANOTHER ONE!
23:39:54dom96USA!
23:40:21gooblesYAAAA
23:40:41OrionPKWOOOO
23:40:46OrionPKUSA!!!
23:40:51OrionPKgo dempsey!
23:40:58OrionPKbroken nose? no problem :D
23:42:16BitPuffinnurds
23:43:33superfunceat it portugal
23:44:36*Jehan_ quit (Quit: Leaving)
23:48:52*superfunc quit (Quit: leaving)
23:49:04*superfunc joined #nimrod
23:53:40dom96fuck
23:55:14Varriount?
23:57:04superfuncVarriount: US got scored on
23:57:07BitPuffindom96 is just stating his desires
23:57:23*Varriount doesn't watch sports, and thus could care less.
23:57:34dom96Varriount: *couldn't
23:57:45Varriount^
23:58:19BitPuffin^
23:58:25BitPuffinstupid muricans
23:58:49BitPuffincould care less has actually been defined to mean couldn't care less
23:58:50BitPuffinit's retarded
23:59:22VarriountBitPuffin: That's the way of language. It's like when people as the question "Do you mind"