<< 26-01-2014 >>

00:02:24Varriountdom96: proactor.nim(169, 8) Error: redefinition of 'ol'
00:02:43dom96comment 169-172
00:02:59VarriountAh.
00:03:12*jbe joined #nimrod
00:03:32Varriountdom96: It's working for me.
00:03:44dom96interesting.
00:04:02Varriountdom96: I'll paste you my code. Perhaps I did something
00:04:04dom96Guess it's a 32bit only issue then
00:04:17Varriountdom96: Lemme check. I only ran it with 64 bit
00:05:38Varriountdom96: It's running with my 32 bit compiler.
00:05:59VarriountWhat version of windows are you running?
00:06:04dom967
00:06:24VarriountHrm. I'm running 8
00:07:36dom96Might also be because we have different C compiler versions.
00:07:36Varriountdom96: Here's the diff - https://gist.github.com/Varriount/637e63ef29d2581ba828/revisions
00:08:39dom96huh? You just added a space after the # ?
00:09:00VarriountNo.. One moment
00:09:34VarriountOh, silly me. I uncommented and recommented your block.
00:12:26Varriountdom96: Now - https://gist.github.com/Varriount/637e63ef29d2581ba828/revisions
00:12:39VarriountIs that right? That's the code that should crash?
00:13:05dom96yes
00:14:33Varriountdom96: On 32-bit debug, I get a ISA at line 233 of proactor.nim, then line 59 of same.
00:14:59dom96ISA?
00:15:02VarriountOn 64 bit debug, I get an "Unhandled Error: The handle is invalid"
00:15:07VarriountIllegal Storage Access
00:15:11dom96oh.
00:15:16dom96yeah.
00:15:39dom96Now figure out why :P
00:15:57VarriountI wonder. Should the signal handlers on windows print out the getLastError info?
00:16:15*jbe quit (Quit: Leaving)
00:17:15Varriountdom96: What's the difference between the two pieces of code?
00:17:40dom96One allocates on the heap the other on the stack
00:17:58VarriountOd..
00:18:23Varriountdom96: And the one that allocates on the heap is the one that crashes?
00:18:24dom96Removing 'retFuture.complete(0)' also gets rid of the crash.
00:18:41dom96no. The one that allocates on the stack is the one that crashes.
00:18:47dom96alloc0() allocates on the heap
00:20:58Varriountdom96: I'm willing to be it's something to do with addresses, or types whose characteristics change depending on 32 or 64 bit.
00:21:23VarriountWhy else would the errors on 32 be different from the one's on 64 bit?
00:21:24dom96Yes, or one of the winapi functions is wrapped incorrectly.
00:21:32VarriountWhich is quite possible.
00:21:58dom96I tried using gdb but it gives no info at all.
00:22:10dom96Try it, maybe you'll get something more.
00:22:21VarriountI'm gonna use process monitor.
00:22:42VarriountThat might give me an idea of what the api functions are doing
00:32:59Varriountdom96: Are you sure the handle isn't being cut off? Remember that the handle type in winlean.nim had to be changed to fix sockets
00:33:14VarriountI don't know if the corresponding type got changed in windows.nim
00:33:20dom96Varriount: I have no idea.
00:53:40Araqargh
00:53:50Araqwhere is github's commit history?
00:53:58Araqit used to exist ...
00:54:26dom96https://github.com/Araq/Nimrod/commits/devel ?
00:55:05Araqthanks
00:55:32Araqno idea how to find that on the site, but the url is good enough to remember
00:56:28dom96Click the "2,769 commits" below the repo description
00:56:35*ics joined #nimrod
00:56:48Varriountdom96: Do I wan
00:57:01VarriountDo I want to know why you've overriden wrapped functions?
00:57:32dom96Which are you referring to?
00:57:39VarriountconnectEx
00:57:55dom96How did I override it?
00:58:07VarriountOr maybe I'm getting confused
01:02:16VarriountSo Araq, what *should* tables be used for? What kind of situations?
01:04:50Araqwhen you need a growable set of keys? best example is a symbol table in a compiler
01:05:50Araqgood night guys
01:06:36VarriountGood night.
01:12:40*io2 quit (Read error: Operation timed out)
01:13:37Varriountdom96: Ping
01:13:49dom96yes?
01:14:17VarriountOn 32 bit, sizeof(TOverlapped) is 20, wherease on 64 bit, it's 24
01:16:17dom96Check what it is in C
01:23:26VarriountIt's a four byte difference, which probably means that something that should always be an int64 is being treated as an int.
01:24:01VarriountAlso, I'm getting a wierd inconsistancy with compiling on 64 bit. It all of a sudden started working. :/
01:26:59dom96I'm quite certain that the size is correct on 32bit
01:27:02Varriountdom96: Your code is haunted.
01:27:08dom96Because I checked it in C and it's 20 as well.
01:28:37dom96Anyway, I should head to sleep.
01:28:55dom96Godspeed :P
01:29:00Varriountdom96: Goodnight
01:29:01dom96'night
01:29:20VarriountIn the morning, look to see if you have a local exorcist.
01:29:50VarriountOr possibly a druid.
01:32:05VarriountOk, this is odd. It works on WIn64 in debug mode, but not in release mode.
01:33:34VarriountAnd on Win32, it works in release mode, but not in debug mode. What is going on here?
01:34:47*ics quit (Ping timeout: 260 seconds)
01:37:13*ics joined #nimrod
01:52:17reactormonkI assume there are sqlite3 bindings?
01:52:25Varriountreactormonk: Yes.
01:52:45Varriountreactormonk: Nimrod'
01:52:54VarriountNimrod's tester uses sqlite3 to store data
01:53:29reactormonkso I assume I can find some sample code there
01:53:56VarriountYes.
02:14:53*brson joined #nimrod
02:16:00*brson_ quit (Ping timeout: 252 seconds)
03:04:54VarriountAnyone here awake?
03:05:42renesachi
03:06:07Varriountrenesac: You have any experience with C or C++?
03:06:33renesacsome experience with C, but not that much
03:07:18VarriountHave you ever heard of a program working on not working because of a no-op like operation, such as printing something?
03:07:26Varriount*working or not working
03:07:49renesacprint isn't a no-op
03:08:14VarriountWell, no, not really, but it's close enough in the context I'm working in.
03:08:21VarriountWhich is networking.
03:08:25renesacif you give a invalid adress for printing, it may hang
03:08:32renesacsegfault, etc
03:08:36VarriountWhat about working?
03:08:58renesacI don't know
03:09:13VarriountI've added "if OSLastError().int != 0: echo(OSLastError())" to a piece of code dom96 is trying to get working
03:09:29Varriountand for some reason, it works. If I take the statement out, it fails
03:10:10renesacmistery
03:11:28*Varriount hides under the covers
03:12:54fowlquantum gremlins
03:13:14Varriountfowl: Do you have any idea what's going on?
03:14:11VarriountActually, are any of you running Windows?
03:14:26fowli have an xp vm
03:14:33Varriountfowl: That'll do.
03:14:43fowlbrb smoking
03:14:49Varriount-_-
03:15:17VarriountI don't know what it says about me, If, when I ask for things, others get the urge to smoke.
03:20:23renesacoh, I remember a bug I had in C of allocating one too few characters for a string
03:20:55renesacbut depending on what I done latter, the memory after that allocation would be filled by my program data, and then it would not be an out of bound acess
03:21:26VarriountHm. So that likely means that one of the data types is too small or incorrent. Lovely.
03:21:29fowlVarriount, lol what do i do
03:21:34Varriount*incorrect
03:21:36renesacso a aparently no-op could make the code work, or maybe make it fail in an even stranger way
03:21:58renesacI lost a whole day on that bug
03:22:06renesac>.<
03:25:50Varriountfowl: Download these in your vm, extract, open up the command prompt, and run each
03:25:51Varriounthttps://drive.google.com/file/d/0B077nrrf63xtN1lZTDNtb3BuT2M/edit?usp=sharing
03:27:28Varriountrenesac: Do you think whether something is allocated on the heap vs on the stack could also have similar effects?
03:27:35renesacactually, the problem is that the program overwrote the final '\0' of the string, because it allocated something else there
03:27:47renesacand then string functions would run out of bounds
03:27:55renesaclike printf
03:28:01fowlVarriount, lol its old IE cant download it, i have to install chrome
03:28:39Varriountfowl: Should I email it to you then?
03:28:53VarriountOr should I have it sent by courier?
03:28:54renesacVarriount: I'm not sure what the difference would be, but on the stack things are probably allocated more densely
03:29:10renesacand when you go forwards on the pointer, you actually go backwards on the stack
03:29:44renesacie: stack overflow
03:29:57renesacIIRC
03:30:10fowlVarriount, both of them segfault, notworking gives me a backtrace
03:30:15renesacno,
03:30:32Varriountfowl: What's the notworking backtrace give?
03:30:47fowlVarriount, backtrace is proactor.nim lines 234 (proactor) and 60 (poll)
03:31:00renesac*stack buffer overflow
03:31:03Varriountfowl: Thanks.
03:31:27Varriountrenesac: Thank you as well. I feel a bit less crazy now.
03:32:00Varriountfowl: I'm actually surprised neither gives a dll missing error :P
03:35:18fowlsure
03:36:17VarriountNow to find out how to have gdb watch the memory contained by an echo procedure for access >_<
04:13:55*BitPuffin quit (Ping timeout: 260 seconds)
04:28:39*DAddYE joined #nimrod
04:40:09*shodan45_ joined #nimrod
04:42:26*shodan45 quit (Remote host closed the connection)
04:42:44*mietek_ joined #nimrod
04:47:52*mietek quit (Remote host closed the connection)
05:08:38*Icefoz quit (Ping timeout: 264 seconds)
05:16:04*psquid_ joined #nimrod
05:17:42*psquid quit (Ping timeout: 252 seconds)
05:41:22*aruniiird joined #nimrod
05:48:17*DAddYE quit (Remote host closed the connection)
05:48:55*DAddYE joined #nimrod
05:53:37*DAddYE quit (Ping timeout: 272 seconds)
06:00:44*Demos joined #nimrod
06:09:16*xtagon quit (Ping timeout: 252 seconds)
06:19:01Demosyay! the visual studio project generator works. Right now I have it just going through the directory of the main file and adding all nim files. Is there a way to ask the compiler what files are needed for a given main file?
06:19:31VarriountDemos: Funny you should mention that
06:19:44VarriountDemos: Do you mean, files in nimcache?
06:20:05VarriountOr something like dependancy generation
06:21:37DemosI mean getting all the files in a directory (and subdirectories) that a file depends upon, that would probably be the contents of nimcache without anything from other libraries.
06:21:48DemosI guess I could use the listing of files I have now to generate that set
06:21:59Demosbut I kinda like just using all the nimrod files
06:23:02VarriountDemos: Do you have any experience with the windows WSAIoctl api call?
06:23:05Demoshmmmmmm
06:23:41Demosnot even a little bit
06:23:45VarriountDarn.
06:24:24VarriountI got a little closer in fixing the bug in iocp support for dom96's new asyncio stuff, but I need some outside experience.
06:27:23VarriountHuh. Demos, in the remarks section, read the paragraph starting with 'note' - http://msdn.microsoft.com/en-us/library/windows/desktop/ms737606(v=vs.85).aspx
06:28:11*shodan45_ quit (Quit: Konversation terminated!)
06:28:49Demosright, the stuff about the GUID?
06:29:00VarriountAnd about retrieving a pointer at runtime
06:29:14Demosyeah, that is something you need to sometimes do
06:29:22VarriountIsn't that thing kinda frowned upon by C programmers?
06:30:01Demoswell it is needed sometimes. To allow for extending systems without changing headers that you don't own
06:30:09Demosit /is/ annoying
06:30:13VarriountAh.
06:30:26DemosopenGL works the same way
06:30:37Demosas do some of the DXGI debug functions
06:31:18Demosin the end that is how you have to do it.... not much choice
06:31:42VarriountDemos: This nice bug I'm dealing with disappears when I insert an echo statement into a particular place in the program.
06:31:54Demosoh shit
06:31:59Demosthreading stuff?
06:32:15VarriountNope. It's likely mismatched types, or data errors
06:32:43VarriountThe bug also goes away when a certain data structure is allocated on the heap, instead of the stack.
06:33:17VarriountDemos: You know the pascal calling convention, right?
06:33:33VarriountOr at least, what calling conventions are?
06:34:49DemosI know about calling conventions. pascal is callee saved with a left-to-right param ordering right?
06:35:04VarriountYeah
06:35:33VarriountDemos: Do you have any idea what would happen if a function was assigned an incorrect calling convention in nimrod?
06:36:05VarriountWould it's arguments be.. passed backwards, sorta?
06:36:45Demoswell if the initial function was cdecl and the nimrod one is pascal you are fucked, since nobody is going to clean up registers
06:37:08VarriountOther way around
06:38:10VarriountI think a function that is being given to me as a procedure pointer is supposed to have a pascal calling convention, and it's being treated as if it has another calling convention
06:39:23Demosthat would be really strange
06:39:39Demosif it is from the windows API it is probably stdcall
06:39:41VarriountDemos: Look at that page I linked
06:40:02VarriountThe connectEx has a pascal calling convention, I think.
06:40:13Demosoh
06:40:16Demosthat is really wierd
06:40:24VarriountUnless the "PASCAL" next to it is just a hallucination
06:41:01Demosopen mswsock and follow the typedef turtles
06:41:06Demos*mswsock.h
06:41:18Varriount"typedef turtles" - I like it.
06:42:32VarriountDemos: I don't suppose there's a magical tool out there that can trace all the windows API calls a program makes, is there?
06:42:53Demosyeah, check what the actuall unmacroed version is. Well VS's "Go to definition" command does the trick
06:43:06fowlVarriount, callconv wouldnt be the problem unless you're dynamic linking, if you use header pragmas then the c compiler will handle the callconv right
06:43:18Demosand calling conventions can be part of function pointers, although if you are casting you are ofc screwed
06:43:38Varriountfowl, Demos: Casting is being done
06:43:44Demosright
06:43:57VarriountLook, here's the code - https://gist.github.com/dom96/74a81eb2001f1f9265c8
06:44:21fowl"PASCAL is a calling convention also used heavily in 16-bit days. It has since been replaced by stdcall.
06:44:21fowl"
06:44:24VarriountStarts on line 132
06:44:27DemosI was going to add that you should cast to LPFM_CONNECTEX
06:45:12Demoswhatever that happens to be
06:45:36VarriountDemos: That's not in windows.nim, unfortunately.
06:45:54Demosright, trace the mofo through mswsock.h
06:46:40*DAddYE joined #nimrod
06:48:48Demosif I wanted to compile the stuff in nimcache myself what kind of linker options would I use?
06:48:59Demosany dependencies or is everything I need there?
06:49:19VarriountDemos: I would use whatever the nimrod command that spits out build scripts uses
06:50:20DemosI was not aware of such a command
06:51:30*DAddYE quit (Client Quit)
06:51:41VarriountDemos: genscript option, when compiling
06:52:01VarriountIf you absolutely want to compile yourself, pair that with --nocompile
06:52:21VarriountOr was it --noLinking..
06:53:38VarriountDemos: Got it - https://gist.github.com/Varriount/8629473
06:54:42Demospascal and far look to still be macros
06:54:56VarriountYay, more searching
06:56:19Demoshm that files looks OK. Still wish I could just ask the compiler using an API. But CAAS needs to get fixed on a basic level first
06:57:17*DAddYE joined #nimrod
06:57:17VarriountHm. Did VS used to be able to compile things for Macs?
06:57:39DemosI don't think so
06:57:42VarriountI just saw an "ifndef REQUIRESAPPLEPASCAL"
06:57:44Demoswhy?
06:58:16DemosI think the windows sockets code is derived from BSD sockets or something
06:59:12Demosanyway I need to go to sleep.
07:03:40fowlVarriount, help me figure out how to put these in synchronus orbit instead of boring socket stuff http://i3.minus.com/ibtA2hAWDmKF2D.png
07:04:26Varriountfowl: Open up a memory editor and set their positions and velocities so that they are in synchronous orbit.
07:04:39Varriount:3
07:05:25*Demos quit (Ping timeout: 245 seconds)
07:06:17VarriountAnyway, I have to go to bed to. It's 2 in the morning here.
07:07:15*Demos joined #nimrod
07:07:43fowlgn
07:14:12*[1]Endy joined #nimrod
07:14:25*Demos quit (Read error: Connection reset by peer)
07:16:39reactormonkmafhmm, only getValue here with sqlite3
07:25:11*[2]Endy joined #nimrod
07:28:36*[1]Endy quit (Ping timeout: 252 seconds)
08:15:36*brson quit (Quit: leaving)
08:15:58*brson joined #nimrod
08:21:19*fowl quit (Quit: Leaving)
08:21:28*fowl joined #nimrod
08:54:09*io2 joined #nimrod
08:57:39*aruniiird quit (Ping timeout: 260 seconds)
09:05:21*brson quit (Quit: leaving)
09:12:18AraqVarriount: 'if osLastError() != 0', however, is obviously a good idea anyway
09:17:06Araqalso ... why don't you allocate 64 bytes of memory for the TOverlapped on the stack and call it a day?
09:17:24Araqvar overlapped: array [64, Byte]
09:17:44AraqcallIt(..., cast[POverlapped](addr overlapped), ...)
09:21:15*io2 quit (Ping timeout: 272 seconds)
09:35:23*io2 joined #nimrod
09:35:30*io2 quit (Changing host)
09:35:30*io2 joined #nimrod
09:36:08reactormonkAraq, any code somwhere that fetches stuff from sqlite in nimrod?
09:37:21Araqreactormonk: tests/testament/{htmlgen.nim, backend.nim}
09:40:38reactormonkAraq, only single values in backend. htmlgen only has strings - so sqlite only returns strings here?
09:41:07Araqyes
09:41:25reactormonkhttp://www.sqlite.org/c3ref/column_blob.html sqlite tells me otherwise
09:43:47reactormonkno way to get a row into its respective types?
09:43:56*bbodi joined #nimrod
09:53:19*DAddYE quit (Remote host closed the connection)
10:04:43Araqreactormonk: the db_*.nim modules are all string based
10:04:53Araqyou have to use the native API to get more features
10:05:08Araqbut sqlite internally stores everything as strings anyway
10:05:11Araqbbl
10:07:21reactormonkkk
10:49:05*[1]Endy joined #nimrod
10:53:05*[2]Endy quit (Ping timeout: 272 seconds)
10:53:45*DAddYE joined #nimrod
10:59:09*DAddYE quit (Ping timeout: 265 seconds)
11:04:10*DAddYE joined #nimrod
11:05:57reactormonkAraq, is it evil to execute sql commands at compile-type?
11:06:12reactormonkgrabbing some static data.
11:09:01*DAddYE quit (Ping timeout: 272 seconds)
11:12:03EXetoCthat was discussed a couple of days ago. I was thinking of having a go at that some time
11:15:36EXetoCoverkill or not, it's an interesting idea, and it'd demonstrate quite a few features
11:16:51EXetoCAraq: I asked you before if it would be possible. What were the compile-time restrictions that you mentioned?
11:18:56EXetoCyou ran SDL code at compile-time, yeah?
11:20:05reactormonkEXetoC, you can run everything at compile-type
11:22:19*io2 quit (Ping timeout: 260 seconds)
11:22:22*io2_ joined #nimrod
11:27:16EXetoCHe said something about limitations like I said, but perhaps it was only temporary
11:40:09EXetoCI'm getting case-related errors when bootstrapping with -d:useFFI
11:43:57reactormonkhow can I convert a string to TSchemanticID when I have type TschematicID = distinct string ?
11:46:14reactormonkjust cast it?
11:46:30EXetoCT("123")
11:47:10EXetoCI'd imagine that cast would work too
11:48:25dom96Varriount: You don't need to send me memos, you can just PM me. I have a BNC.
11:58:09reactormonkinitTable[schematicsID, seq[TReactionRow]]() # do I have to init the seq?
11:59:43dom96yes
11:59:49dom96For each schematicsID you have to.
12:00:09reactormonkif isNil(table[id]) ?
12:00:51reactormonkhasKey.
12:02:50EXetoCdon't you have to specify an explicit value anyway when inserting?
12:09:03reactormonkEXetoC, nah, wanna dd
12:09:21reactormonkoh, gotta use mget, right?
12:16:47EXetoCI don't know what you mean, but use that if you want an exception to be raised with the absence of said key
12:24:25*q66 quit (Quit: Leaving)
12:24:46*q66 joined #nimrod
12:24:46*q66 quit (Changing host)
12:24:46*q66 joined #nimrod
12:27:36EXetoCwhat about lookup functions that returns a pointer to said value? for the rare cases when traversing the structure twice is considered expensive
12:29:38*silven quit (Quit: No Ping reply in 180 seconds.)
12:30:06*silven joined #nimrod
12:31:14*tdc joined #nimrod
12:35:38reactormonkEXetoC, make a ref time outta it?
12:36:32*silven quit (Quit: No Ping reply in 180 seconds.)
12:36:56*silven joined #nimrod
12:37:09reactormonkhmmm, not sure how I deal with subdirs... don't do it at all?
12:39:00EXetoCok
12:39:21reactormonk... as in subdirs for src/*.nim and data/*.sqlite
12:43:28EXetoCI think it should be relative to the dir that the compiler is invoked from
12:44:15EXetoCis this about the compile-time reflection?
12:49:36bbodiHi all! This doeasnt work, why? for i, ch in runes(text):
12:50:02bbodithe compiler says: "Error: wrong number of variables"
12:50:23bbodirunes is the proc from unicde module
12:51:00EXetoCiterator you mean? The return type is TRune
12:51:15EXetoCan index var can't be implicitly added
12:51:47EXetoCso you'll have to declare an index var prior to entering the loop
12:52:10bbodiwhat is the different then in: for i, elem in [1, 2,3]:
12:52:17bbodi?
12:53:45dom96In that case the pairs iterator for that type is invoked implicitly.
12:54:01dom96So it's actually: for i, elem in pairs([1,2,3]):
12:54:28EXetoCright. there's no such iterator for 'runes' currently
12:54:42bbodigot it, thanks a lot. It is sad that it doesn't work on oll kind of iterator
12:55:38*io2_ quit ()
12:56:08reactormonkEXetoC, hmm
12:57:03*NimBot joined #nimrod
12:57:19EXetoCreactormonk: dunno
12:57:59reactormonkfor db_sqlite, I have to reference the impure libs directly?
12:58:18tdcDoes anyone know how I can see where a template is being instantiated?
12:58:24EXetoCbbodi: I've never considered doing that, but it should work.
12:58:30reactormonktdc, blow it up, there's a stacktrace
12:58:50tdcI am getting a compile error...
12:58:53tdclib/system.nim(698, 2) Error: value returned by statement has to be discarded
12:58:54EXetoCusing 'runes' is slightly uglier
12:59:17bbodiYeah its work, bit isn't there any simpler way?
12:59:22*aftershave quit (Quit: Computer has gone to sleep.)
12:59:40tdcThis is the != template, but I don't know at which line in my module causes it
13:02:04EXetoCtdc: the absence of instantiation info is a bug
13:02:12EXetoCusually it's provided
13:03:29EXetoCbbodi: no. Usually when I work with unicode I need a sequence of runes, but I suppose "proc rune(string): TRune" could be added
13:04:03bbodiExetoC: thanks
13:04:36EXetoCbut runeAt is fine imo
13:07:51tdc--verbosity:3 let's me narrow it down to the proc; which is close enough
13:08:46*easy_muffin joined #nimrod
13:10:01reactormonkshouldn't nimrod read the *.nimrod.cfg in the current dir?
13:13:14EXetoCreactormonk: nimrod.cfg if no babel file is present, and name.nimrod.cfg otherwise
13:14:28EXetoCbut there's no notion of a config file for libs
13:14:57*easy_muffin quit (Ping timeout: 272 seconds)
13:15:47reactormonkbabel sounds like lib to me
13:17:20EXetoCwell, not when using a lib, but when installing it
13:17:23EXetoCreactormonk: anything, really
13:17:43reactormonkhm
13:18:00reactormonk-p:$nimrod/lib/impure
13:18:13reactormonkhow come that isn't accepted?
13:18:54EXetoCas an arg or in a cfg?
13:19:00reactormonkin the cfg
13:19:31EXetoCsee nimrod.cfg. I don't know if the short names can be used, but the syntax is a little different either way
13:20:00EXetoCthat should be /etc/nimrod.cfg in linux. here's an example: path="$lib/core
13:20:05EXetoC"
13:20:44reactormonkimpure is in there... but it still doesn't find planetary_interaction.nim(1, 7) Error: cannot open 'db_sqlite3'
13:20:48EXetoCdmc.path = r"$nimrod\dist\dm\bin"
13:21:19EXetoCreactormonk: db_sqlite?
13:21:59EXetoCyep, minor typo
13:22:52reactormonk:-/
13:25:56*io2 joined #nimrod
13:29:57reactormonkhow do I convert a number in a string to an int?
13:30:10reactormonkstrutils.
13:32:15reactormonkplanetary_interaction.nim(35, 16) Error: type mismatch: got (TTypeID, int)
13:32:22reactormonkbut not what it was expecting :-/
13:32:31reactormonk TItem = object of TObject
13:32:33reactormonk typeID: TTypeID
13:32:35reactormonk amount: int
13:32:37reactormonk^ trying to create one of those
13:32:37dom96parseInt
13:34:51EXetoCreactormonk: TItem(typeID: x, amount: y)? consider encapsulating it in a proc called initItem
13:35:52reactormonkproc reactions(): TTable[TTypeID, TReaction] =
13:35:54reactormonk result = initTable()
13:35:57reactormonk^ aww, can't infer A ehre
13:37:33EXetoCnope, not possible
13:42:09EXetoCthere's B too
13:43:28reactormonkso distinct string doesn't add the hash function? borrow it is?
13:45:19EXetoCyes when you don't want to resort to x.string
13:48:36reactormonkI wish there was a 'borrow everything'
13:51:17dom96There is, just remove the 'distinct'
13:53:08EXetoC:)
13:54:56EXetoCdefine a converter if you only want to encapsulate the construction
13:55:14EXetoCI think
13:58:16*BitPuffin joined #nimrod
14:00:58*aruniiird joined #nimrod
14:02:47reactormonkdom96, probably
14:04:49reactormonkI have to iterate over 3 elements and maybe do some stuff, and I need to do it all in all combinations possible, aka [true, false, true]
14:10:45reactormonkI did it in ruby by generating an array of all combinations of true/false with 3 elements and zipping that into the iteration. How do I do that in nimrod?
14:11:21reactormonkjust 0 to 7 and go bitops?
14:15:10reactormonkany with_index iterator somewhere? Or how do I iterate over a seq with the index? good old seq.len?
14:17:15EXetoCthere's 'pairs' which can be invoked implicitly: for i, x in @[1, 2, 3]
14:18:14*darkf quit (Quit: Leaving)
14:18:39EXetoC'items' is implicitly invoked when only a single loop var is specified
14:19:03EXetoChttp://build.nimrod-lang.org/docs/manual.html#implict-items-pairs-invocations
14:37:16BitPuffinIt feels like it might be easier to interface with objc in nimrod than c++
14:37:26BitPuffinbecause I don't believe obj-c has protected
14:37:37BitPuffinand if it does I don't ever see it being used
14:37:39dom96hey BitPuffin, what's up?
14:38:25BitPuffindom96: coding obj-c
14:38:36BitPuffindom96: you? :D
14:38:44dom96BitPuffin: coding nimrod
14:38:52BitPuffindom96: I envy you
14:40:27EXetoCdom96: do you know the yearly fees for nimrod.org and picheta.me? I'm trying to compare registrars
14:43:22dom96picheta.me cost me £5.45/year on namecheap IIRC
14:43:44dom96.org seems to cost £6.95/year
14:45:37EXetoCthanks
14:48:17BitPuffinEXetoC: however I recommend hover over namecheap
14:48:21BitPuffinI have domains at both
14:48:46BitPuffinEXetoC: I can recruit you
14:50:05BitPuffinhttps://hover.com/wjj0lfMd
14:51:07dom96hrm, hover does look nice.
14:51:31BitPuffinthey are more expensive, but you get what you pay for
14:51:59BitPuffinand honestly considering how cheap domains are anyway it doesn't matter that much
14:52:10BitPuffinso it's more important with great service imo
14:53:31BitPuffinI'll probably move my namecheap domain over to hover
14:53:44dom96Araq: It seems doc2 does not like methods.
14:58:21EXetoCBitPuffin: still pretty cheap compared to some alternatives.
15:07:18BitPuffinEXetoC: yep
15:35:27*Icefoz joined #nimrod
15:39:22*aftershave joined #nimrod
15:42:42*aftersha_ joined #nimrod
15:45:14*ddl_smurf quit (Quit: ddl_smurf)
15:48:12*brson joined #nimrod
15:50:09*aftersha_ quit (Quit: Computer has gone to sleep.)
15:51:00EXetoCI've registered an internet. I think I should use it for something
15:51:24EXetoC(hover)
15:51:33EXetoCBitPuffin: nim-glfw works now?
15:58:47BitPuffinEXetoC: did you use my link? :D
15:58:57BitPuffinEXetoC: I believe it does
15:59:07BitPuffincan't remembaaa
15:59:10BitPuffinbut I think so
15:59:21EXetoCBitPuffin: yeah thanks
15:59:28EXetoCok
15:59:45BitPuffinEXetoC: thank YOU :D
15:59:58BitPuffinnow my renewal will cost me 2 dollars less xD
16:00:09BitPuffinsuch rich
16:00:11BitPuffinmuch saving
16:00:13BitPuffinwow
16:00:17BitPuffinvery domain
16:00:36EXetoCooh. amazing
16:01:57EXetoCI hope it's a linear rebate system, so that you can reach $0
16:02:14BitPuffinyeah you get credits
16:02:24BitPuffinso if I have like 100 dollars in credits
16:02:30BitPuffinit won't cost me anything for a while
16:02:42BitPuffinEXetoC: where are you gonna host your internetz?
16:03:04BitPuffinI think I'm gonna be cray cray and run an arch server on digitalocean
16:03:09EXetoCoh. hey, should send that link to the whole internets
16:03:25EXetoCBitPuffin: locally
16:03:34BitPuffinEXetoC: for realz dog?
16:06:10EXetoCyes. it should be good enough for ~10 requests a month
16:06:46BitPuffinlol
16:06:50BitPuffin:)
16:07:01BitPuffindo you have a dedicated box though?
16:10:48*psquid_ is now known as psquid
16:14:49zielmicha-cloud_Does devel branch fails to bootstrap for everyone or just for me?
16:14:51zielmicha-cloud_compiler/types.nim(454, 33) Error: ')' expected
16:15:12zielmicha-cloud_git blame -> 0348692f compiler/types.nim (Zahary Karadjov 2014-01-24 17:02:27
16:15:31BitPuffinfreaking zahary ;)
16:15:31dom96I just bootstrapped it successfully.
16:15:49EXetoCBitPuffin: yes. I don't know if I'll be using it
16:17:27BitPuffinEXetoC: I see. Well it might be convenient to use some cloud server just to not have to deal with power outages and stuff like that
16:17:30BitPuffinugh
16:17:33BitPuffin"cloud"
16:17:39BitPuffinvps*
16:21:03EXetoCdowntimes are rare, and I'm cheap
16:21:32BitPuffinget a cloudatcost server then
16:21:36BitPuffinI hear they are shit though
16:21:43BitPuffinbut probably better than your house :D
16:27:03*EXetoC quit (Quit: WeeChat 0.4.2)
16:31:41*EXetoC joined #nimrod
16:32:44renesachow I can get vi to start in insert mode only when called by 'git commit'?
16:36:23EXetoCrenesac: untested: git config --global core.editor 'vi -c startinsert'
16:36:59renesacyay
16:37:00renesacit works
16:37:06EXetoCneat
16:37:06renesacthanks
16:38:06renesacit was getting in my nerves forgetting to type 'i' every time
16:38:13BitPuffinrenesac: why don't you use vim instead?
16:38:35renesacvi starts vim
16:38:39renesacvi is shorter to type
16:38:40renesac:P
16:44:05EXetoCBitPuffin: you don't have a shortcut? think about how much time you're wasting
16:49:35*BitPuffin quit (Ping timeout: 245 seconds)
16:49:59*BitPuffin joined #nimrod
16:55:11NimBotnimrod-code/nimbuild master ef542f2 Dominik Picheta [+12 ±0 -12]: Cleanup. Fixed select issue. Added dummyhub and stop cmd for builder.
17:03:20BitPuffindom96: add a link to the documentation page on build.nimrod-lang.org
17:04:04dom96There already is a link?
17:04:19dom96see that big green documentation button?
17:06:40NimBotnimrod-code/nimbuild master 136eff1 Dominik Picheta [+0 ±2 -0]: Fix some deprecation warnings.
17:07:51*BitPuffin quit (Ping timeout: 252 seconds)
17:18:09*Demos joined #nimrod
17:29:42*Varriount|Mobile joined #nimrod
17:32:16Varriount|Mobiledom96: Made any progress on that iocp bug?
17:33:42*BitPuffin joined #nimrod
17:35:08dom96Varriount|Mobile: Nope, been doing other stuff
17:35:27*EXetoC quit (Quit: WeeChat 0.4.2)
17:35:37Varriount|MobileDid you get my memos?
17:36:05dom96yes
17:36:12dom96You don't need to send me memos
17:36:15dom96You can just PM me
17:36:27dom96or you can just tell me here
17:37:09BitPuffinhow do I send memo?
17:37:33renesacI want to remove some package installed by babel
17:37:39renesachow I do it?
17:37:51dom96renesac: Remove the directory in ~/.babel/pkgs
17:37:54renesacjust delete the related directories?
17:38:00renesacand the binary, right?
17:40:25dom96yes
17:40:36*z_elmicha_ quit (Read error: Connection reset by peer)
17:40:36*z_elmich__ quit (Read error: Connection reset by peer)
17:40:36*z_elmic___ quit (Read error: Connection reset by peer)
17:40:36*zielmicha1 quit (Read error: Connection reset by peer)
17:40:36*z_elmicha1 quit (Read error: Connection reset by peer)
17:46:31Varriount|MobileBitPuffin: Use memoserv
17:48:02BitPuffinVarriount|Mobile: I did
17:49:45renesacstrange, aporia needed libgtksourceview2.0 and apt-get wouldn't install it, maybe because I have the 3.0 version, but synaptic installed it easily w/o complaining
17:50:47dom96You should try aptitude instead of apt-get next time
17:51:28renesacyeah...
17:52:02renesacone thing babel don't do is registering the program in the main menu (usefull for GUI programs)
17:56:17BitPuffindom96: did you get my memo?
17:56:37dom96I don't think that's really babel's responsibility.
17:56:43dom96BitPuffin: yes
17:56:52BitPuffindom96: did you like it?
17:57:12dom96BitPuffin: no
17:58:24BitPuffindom96: </3
17:58:32BitPuffinwhat an un-bro thing to do
18:03:38Demosrenesac, another thing it does not do in uninstall packages. Babel does the job... and not that much more
18:04:57renesacyeah, I just asked about this
18:04:58*aruniiird quit (Ping timeout: 265 seconds)
18:05:06renesacaporia don't have any icon right?
18:07:19dom96right
18:20:55*brson quit (Quit: leaving)
18:25:01*aftershave quit (Quit: Computer has gone to sleep.)
18:25:37Varriount|Mobileooh, this looks interesting -> https://medium.com/p/3a6db2743a1e/
18:26:59BitPuffindom96: do you know when the dobbs article comes out?
18:27:13dom96nope.
18:27:21dom96Should be sometime in the next month
18:27:33dom96Don't know the exact date though
18:27:42dom96Neither does Araq I don't think
18:29:23BitPuffinoh I thought it was for january
18:29:30BitPuffinVarriount|Mobile: waaaawawawawawa we need that for nimrod
18:29:46*aftershave joined #nimrod
18:29:59BitPuffinimplement it for vim
18:29:59BitPuffinnao
18:30:59dom96I don't think that would really help. There would be too many colors to remember, it would end up being extremely distracting.
18:32:13BitPuffinnope
18:44:59Araqhi BitPuffin
18:45:25*BitPuffin quit (Ping timeout: 248 seconds)
18:52:48Varriount|MobileHi Araq
18:53:29Araqho ho ho
18:54:17Varriount|MobileI stayed up till two in the morning trying to find out where the bug in dom96 iocp code is
18:54:41Araqthat's the spriit
18:54:48Araqany conclusions?
18:55:14Varriount|MobileSo far, I figured out that the socket isn't being bound to an address on 64 bit, which is a separate bug
18:56:32*EXetoC joined #nimrod
18:56:38Varriount|MobileAnd that there must be some data size discrepancy somewhere, as the problem goes away on 64 bit if I insert an echo stmt on a certain line
18:57:00Araqwell I told you what to do :P
18:57:02Araqcheck the logs
18:57:15Varriount|MobileHuh?
18:57:35Varriount|MobileI'm on my phone. I don't have logs
18:58:13AraqVarriount: 'if osLastError() != 0', however, is obviously a good idea anyway
18:58:25Araqalso ... why don't you allocate 64 bytes of memory for the TOverlapped on the stack and call it a day?
18:58:39Araqvar overlapped: array [64, Byte]
18:58:49AraqcallIt(..., cast[POverlapped](addr overlapped), ...)
18:58:55Varriount|MobileBecause that is likely only a temp fix
18:59:37Varriount|Mobileand works for the same reason adding an echo stmt works
19:00:05Araqwell if TOverlapped is wrong, that's the reason
19:00:30Araqbut surely you can also simply add dummy fields to TOverlapped in windows.nim
19:12:23EXetoCdom96: how are you associating the domain name with your IP address?
19:25:39*BitPuffin joined #nimrod
19:27:07Varriountdom96: Ping
19:29:41*bbodi quit (Ping timeout: 248 seconds)
19:29:47BitPuffinIt's also funny in nimrod that we more or less have the categories feature that obj-c programmers brag about without even advertising it haha
19:31:15VarriountAraq: Thanks for your advice. It led me to a discrepency in the OVERLAPPED structure in windows.nim
19:31:31VarriountDWORD's were being used instead of ULONG_PTR's
19:31:56BitPuffinoh you said hi Araq. Didn't notice because I timed out
19:31:59BitPuffinhey! :D
19:32:08Araqbbl
19:32:59*tdc quit (Ping timeout: 240 seconds)
19:37:37*EXetoC quit (Quit: WeeChat 0.4.2)
19:38:55*EXetoC joined #nimrod
19:41:26*EXetoC quit (Client Quit)
19:42:08dom96Araq: I could also simply allocate on the heap, that fixes the bug too.
19:42:27dom96Araq: I could have done that earlier before we figured out that one of the functions was wrapped incorrectly.
19:42:45dom96Araq: So Varriount is right, doing it will only be a temporary fix.
19:42:54dom96And then 6 months later we will get another nice corruption for Nimbuild
19:43:00BitPuffinwoa you guys are gonna do "it"
19:43:01BitPuffin?
19:43:07dom96Varriount: pong
19:43:40dom96Varriount: I'm pretty sure DWORD and ULONG_PTR ends up being the same size anyway
19:43:54dom96BitPuffin: ?
19:43:54Varriountdom96: Nope
19:44:26*tdc joined #nimrod
19:44:33Varriountdword is always 32 bits. ULONG_PTR is a native ptr (32 Or 64 bits) to a unsigned long (32 bits, i think)
19:44:59VarriountChanging DWORD to ULONG_PTR in the overlapped structure fixed the bug on win64
19:45:15VarriountNow I get the same error on both 32 and 64 bit
19:45:59BitPuffindom96: I'm not sure if doing it will solve any programming related issues
19:46:06dom96ahh, well at least you fixed something heh
19:46:10BitPuffinand it could complicate your guys' relationship
19:46:14VarriountBitPuffin: Only if we do it with you.
19:46:25BitPuffinVarriount: waoooooo
19:46:35dom96I think a threesome could help us solve many programming issues.
19:46:36BitPuffinI must say I disagree
19:46:45BitPuffinIt would only cause more complications
19:47:24*EXetoC joined #nimrod
19:47:45dom96EXetoC: You add an A record or something for your IP
19:47:49*dom96 can't remember exactly
19:47:53*dom96 points to google.com
19:48:29*io2 quit (Ping timeout: 240 seconds)
19:48:34BitPuffinI'm gonna make sure that google.com redirects to my website in the future
19:48:42BitPuffinman would THAT be good advertising
19:48:59*io2 joined #nimrod
19:49:01*io2 quit (Client Quit)
19:50:09dom96Just gotta hack the nameservers bro
19:50:26Varriountdom96: Whats really odd is that proactor.nim works in release mode
19:50:47dom96Varriount: Hrm. I had that happen before.
19:50:47*io2 joined #nimrod
19:50:54dom96It was a calling convention issue IIRC
19:51:45Varriountdom96: So.. maybe the calling convention for one of the procedures is off?
19:51:58dom96maybe
19:52:41VarriountWhat was wrong with that past issue?
19:53:16dom96cdecl when it should have been stdcall
19:53:40*Icefoz quit (Quit: Lost terminal)
19:55:45EXetoCdom96: thanks. I messed about with it again and now it's working
19:56:09EXetoCI did google quite a lot but the information was really sparse
19:56:16dom96Varriount: or actually it could have been the other way around
19:56:26*vbtt joined #nimrod
19:56:53EXetoChm, it only works on my phone. www.exetoc.com
19:57:09dom96Your browser probably cached it.
19:57:55EXetoCI don't know about that. Will confirm
19:57:56*EXetoC quit (Quit: WeeChat 0.4.2)
19:58:01dom96Make sure to point * to your IP
19:58:03dom96not just www
19:59:21*Mat3 joined #nimrod
19:59:24Mat3hello
19:59:38VarriountHey dom96, here's a neat trick for cases when you're trying to figure out why things work with two different methods - wrap the blocks in a 'when true.. else:' pattern
20:00:16dom96So basically comment out code?
20:00:53VarriountYeah, but instead of comments, when..else blocks
20:00:57dom96Yes, that's what I always try. But the problem with this is that like you say single statements affect it, and at random locations so it seems rather random.
20:01:26Mat3hmm, interesting problem
20:01:26*EXetoC joined #nimrod
20:01:35Mat3hi EXetoC
20:01:37Varriountdom96: I'm using the pattern on the two code sections. the one where you allocate on the stack, vs the heap
20:01:43EXetoCMat3: hello
20:02:42AraqBitPuffin: "It's also funny in nimrod that we more or less have the categories feature that obj-c programmers brag about without even advertising it haha"
20:02:55Araqwhat's this "categoires" feature of obj-c?
20:03:10*mietek_ is now known as mietek
20:03:57Mat3hi Araq
20:05:04Mat3I don't know, possible some kind of metaphorical methapher
20:05:54EXetoCdom96: I might have had to remove the default records
20:10:19Mat3ciao
20:10:29*Mat3 quit (Quit: Verlassend)
20:14:05BitPuffinAraq: where you can add methods on to an existing class with the restriction that you can't add additional storage
20:14:52EXetoCBitPuffin: does my internet work? http://exetoc.com/
20:14:56BitPuffinAraq: so for example some object type in the standard library. I could just add a method in my own file in order to extend it without subclassing
20:15:05BitPuffin456
20:15:09EXetoCktnx
20:15:18BitPuffinEXetoC: great website, keep it
20:16:21EXetoCyup. it just lacks a little content
20:16:46BitPuffinI think the content was the best part
20:18:46EXetoCthat means you know which compression algorithm I'm using
20:21:20reactormonkhttps://gist.github.com/reactormonk/764d0493b64e21d8f296 now that's a lot of error messages
20:26:06Araqreactormonk: I guess we really shouldn't even provide "nimrod i"
20:26:45VarriountHey Araq, what could cause a program to have a nill access error in non-release mode, but not in in release mode?
20:27:23*[1]Endy quit (Ping timeout: 260 seconds)
20:28:50reactormonkAraq, sad, I like it
20:29:10BitPuffinAraq: not even with the new vm? :(
20:30:58VarriountAraq: Look at it this way. You made a semi-working VM in a fraction of the time most vm-driven languages take to get to the same point
20:32:58BitPuffinyeah honestly the vm just sprung up in insanely short time
20:33:04BitPuffinwhilst bugs where being fixed
20:38:54*io2_ joined #nimrod
20:38:56EXetoCI thought > 1 week was considered long :p
20:39:28reactormonkhow do I access bit x in an integer? it's not []
20:39:33*io2 quit (Ping timeout: 248 seconds)
20:40:24Araqreactormonk: x shr 5 and 1 <-- access bit 6
20:43:45vbttDidn't know nimrod used 'and' for bitops
20:45:45reactormonkbtw, is it just me or does repr not work on tables?
20:46:46Varriountreactormonk: Apparently tables is something people should try to avoid
20:47:02reactormonkVarriount, how come?
20:47:13VarriountAraq has said that people are misusing it.
20:47:17reactormonkhm
20:47:43reactormonkI'm indexing over string IDs here. I could convert them to integer, but I don't know where they start.
20:48:08Varriountreactormonk: I think that's a proper usage.
20:48:21reactormonkwhat's an improper usage?
20:48:37Varriount<Varriount> So Araq, what *should* tables be used for? What kind of situations?
20:48:37Varriount<Araq> when you need a growable set of keys? best example is a symbol table in a compiler
20:48:51reactormonkah, not with a static set
20:48:58reactormonkthat's what you have objects / tuples for
20:49:05Araqyup
20:49:37VarriountAraq: Maybe we should put that question/answer at the top of the table module.
20:49:41*io2 joined #nimrod
20:49:47BitPuffindom96: how is asyncio going?
20:49:57*io2 quit (Client Quit)
20:50:17dom96BitPuffin: It's currently in Varriount's hands.
20:50:18VarriountBitPuffin: dom96 and I are trying to find an invisible memory size bug
20:50:32*xtagon joined #nimrod
20:50:58VarriountI just found another spot where adding an "echo()" causes the program to crash (not even segfault, just plain crash)
20:51:06VarriountHi xtagon
20:51:13xtagonHi Varriount
20:51:18BitPuffinVarriount: sounds like fun
20:51:32Varriountdom96, BitPuffin: I'm gonna have to stop in a bit, I have an essay to write and chores to do.
20:51:36*io2_ quit (Ping timeout: 252 seconds)
20:52:01dom96Varriount: I have to sleep soon, school tomorrow :\
20:56:27vbttAraq: the 'obsolete' feature is still in?
20:56:41Araqvbtt: yes
20:57:16Araq{.obsolete: TTime, Time.}
20:57:42vbttnice. That's going to be very useful. Afaik other languages don't have anything like it.
20:57:58VarriountWhat does obselete do again?
20:58:06*io2 joined #nimrod
20:58:37AraqVarriount: it tells the compiler about obsolete aliases
20:58:49VarriountOoh, interesting.
20:58:51Araq"nimrod pretty" can get rid of them then
21:01:49Araqvbtt: "Afaik other languages don't have anything like it." <-- Nimrod in one sentence. ;-)
21:02:05reactormonkfeature overload \o/ *duck*
21:02:28*aftershave quit (Quit: Computer has gone to sleep.)
21:03:22VarriountI find it alarming that gdb's backtrace function is presenting me with lots of ??
21:03:36AraqVarriount: I don't really
21:03:39reactormonkhttp://dpaste.com/1570774/ - uuuhm, gives me "invalid indent" on the else
21:04:37Varriountreactormonk: Missing a paren on line 6
21:05:49*io2 quit (Ping timeout: 252 seconds)
21:05:54reactormonkthanks
21:07:25*AndChat|206976 joined #nimrod
21:07:26*vbtt quit (Read error: Connection reset by peer)
21:13:03Varriountdom96: You still there?
21:13:11dom96yea
21:14:00Varriountdom96: To what extent does proactor.nim use socketsll.nim?
21:14:22reactormonkhttp://dpaste.com/1570783/ I get "Error: identifier expected, but found ''
21:14:24dom96To a very large extent, why?
21:14:36reactormonk... on the line after let
21:14:39VarriountI haven't looked in socketsll.nim yet
21:15:44Varriountreactormonk: Identifier expected, but found... what?
21:15:58EXetoCthe empty string :>
21:16:28VarriountWhat column?
21:17:14reactormonk43
21:18:21Varriountreactormonk: what is 'input'?
21:18:49Varriountand "reactions"
21:19:49Araqreactormonk: I can guarantee you that 'indirectInput.type' is wrong and will only cause internal errors later
21:20:56reactormonkVarriount, duh. Should be 'reaction'. Collided with a proc.
21:22:01*AndChat|206976 quit (Read error: Connection reset by peer)
21:22:15*vbtt joined #nimrod
21:23:19Varriountreactormonk: And always keep in mind that generics must have their types calculated at compile-time, not run time
21:28:07*zielmicha8 joined #nimrod
21:30:29*tdc quit (Ping timeout: 240 seconds)
21:30:46renesacAraq: the new nimrod VM generates bytecode?
21:31:44Araqrenesac: yes
21:32:16renesacso we will be able to compile nimrod to plataform independent bytecode, for example?
21:32:44Araqno
21:33:01renesac:/
21:33:08renesacwell, no big deal
21:33:24reactormonkhow Varriount I'm well aware
21:33:55reactormonkhow do I add the contents of one seq to another? concat from sequtils?
21:34:04reactormonkkinda like +=
21:34:21Araq'&' exists for seqs
21:34:34reactormonkcool
21:34:43reactormonksystem.&=(x: var string, y: string)
21:34:45reactormonkhmmm
21:34:56Araqrenesac: storing the bytecode to some file is no big deal but I don't see the point
21:36:34EXetoCreactormonk: there should probably be one for seqs too, but use add for now
21:36:37EXetoCadd x
21:36:46EXetoC* x.add y
21:36:50renesacright, even with all this generics and metaprograming, nimrod compiles very fast
21:37:06renesacit is impressive
21:37:54renesacit was just out of curiosity
21:38:28Araqwhat I like would be to make "nakefiles" run fully interpreted
21:38:38reactormonkEXetoC, nope, doesn't work the way I intend it to
21:38:38Araqor nimrod scripts in general
21:38:44renesacyeah
21:39:27renesacno hit for ' nirmod "nakefiles" ' on google
21:39:29renesac^"
21:39:37EXetoCreactormonk: sounds like it does exactly what you asked for, but ok
21:39:56renesacoops
21:40:00reactormonkEXetoC, oh, it does splat.
21:40:02renesacniMRod
21:40:10reactormonkdidn't realize.
21:40:12renesacnow one hit
21:40:18EXetoC:p
21:40:25reactormonktypechecks ftw
21:41:07BitPuffinrenesac: try googling for "fowl github nake" lol
21:41:46renesachttps://github.com/dockyard/party_foul <-- first hit, unrelated
21:41:47renesacXD
21:42:13renesacoh
21:42:20renesacgoogle automatically thinks I mean "make"
21:43:03renesacthe first hit is wrong again, but the second is to nimrod forums
21:43:06reactormonkhttp://dpaste.com/1570889/ gives me http://pastebin.com/k7pJN9PU - ideas?
21:43:13reactormonkgeneral comments welcome too
21:44:02fowlrenesac, github.com/fowlmouth/nake
21:45:13renesacgoogle has a problem with you
21:45:13renesacXD
21:45:18renesacbut thanks
21:48:58renesacduckduckgo has the right first hit for BitPuffin's query
21:49:15BitPuffinrenesac: yay duckduckgo :)
21:49:55renesacand the nake github page is within the first 5 in simple queries like "nimrod nake"
21:50:01renesacand is the second in "nimrod nakefile"
21:50:58Araqreactormonk: for indirectInput in inputReaction.inputs # can be 'nil' and so the items iterator crashes
21:52:23renesacso the only conclusion we can take from this is that there is someone inside google saboting on us to protect their Go language
21:52:36EXetoClol
21:52:42BitPuffinis there a good reason why we aren't allowed to write any two parameter proc inline using ``?
21:52:50EXetoCor the results are personalized
21:53:09renesacthis wouldn't explain the lack of results
21:53:16renesaconly the ordering, I think
21:53:27BitPuffinala haskell
21:55:02EXetoCrenesac: works for me
21:55:19renesachum
21:55:39renesacyeah, google is becoming too inteligent for it's own good..
21:56:30renesacthe search results have been dropping in quality in the last years (thus, competitors like duckduckgo are rising...)
21:56:38renesacat least for me
21:57:44BitPuffinrenesac: it's a shame that yacy gives shit results
21:57:59BitPuffinwould be cool to not have to rely on a company for your searches
21:58:08BitPuffinbut instead being able to have a private mini google
21:58:34renesacyeah, I checked it once, but it seems to only have a small german comunity
21:59:32renesacand I wasn't convinced of it's hability to protect against malicious insertions
22:01:14Araqduckduckgo is written in perl iirc
22:01:36fowlAraq, i tried to export a delegator `()` it doesnt work
22:02:34vbttI haven't had problems with Google fwiw. The auto corrections can be reverted by one click.
22:03:06BitPuffinAraq: I believe it's lisp actually iirc
22:03:55Araqfowl: report it please
22:04:11BitPuffinAraq has been playing too much dota 2
22:04:33reactormonkAraq, gimme yer steam ID, I wanna know when I pwn you
22:04:51Araq I don't play dota2
22:04:53BitPuffinintentional feed, reported
22:16:47BitPuffinwoop
22:33:30*BitPuffi1 joined #nimrod
22:33:45*BitPuffin quit (Ping timeout: 245 seconds)
22:33:48BitPuffi1wao
22:34:05*BitPuffi1 is now known as BitPuffin
22:37:01Araqgood night
22:47:23*AndChat|206976 joined #nimrod
22:47:23*vbtt quit (Read error: Connection reset by peer)
22:51:11*AndChat|206976 quit (Client Quit)
23:15:45*discoloda quit (Quit: restarting)
23:24:57*Discoloda joined #nimrod
23:40:03*BitPuffi1 joined #nimrod
23:41:22*noam quit (Read error: Connection reset by peer)
23:41:39*BitPuffin quit (Ping timeout: 252 seconds)
23:41:39*krusipo_ quit (Ping timeout: 252 seconds)
23:41:53*krusipo joined #nimrod
23:46:58*brson joined #nimrod
23:47:07*brson quit (Client Quit)
23:47:33*brson joined #nimrod
23:55:23*BitPuffi1 quit (Ping timeout: 265 seconds)
23:58:27*brson_ joined #nimrod
23:59:35*brson_ quit (Client Quit)
23:59:49*brson_ joined #nimrod