<< 25-10-2013 >>

00:42:38*guaqua` quit (Ping timeout: 246 seconds)
01:12:50*MFlamer quit (Ping timeout: 240 seconds)
01:23:12*DAddYE quit (Remote host closed the connection)
01:48:56*BitPuffin quit (Read error: No route to host)
02:24:29*DAddYE joined #nimrod
02:24:56*mflamer joined #nimrod
02:29:05*DAddYE quit (Ping timeout: 272 seconds)
03:26:02*DAddYE joined #nimrod
03:30:14*DAddYE quit (Ping timeout: 240 seconds)
03:32:41*brson quit (Ping timeout: 272 seconds)
03:35:43*Boscop_ joined #nimrod
03:35:43*Boscop quit (Read error: Connection reset by peer)
04:26:54*DAddYE joined #nimrod
04:31:02*DAddYE quit (Ping timeout: 240 seconds)
04:31:12*OrionPK quit (Read error: Connection reset by peer)
04:42:06*dyu_ joined #nimrod
05:28:33*DAddYE joined #nimrod
05:32:38*DAddYE quit (Ping timeout: 240 seconds)
05:43:31*mflamer quit (Ping timeout: 272 seconds)
06:16:23*q66 joined #nimrod
06:29:00*DAddYE joined #nimrod
06:35:11*DAddYE quit (Ping timeout: 272 seconds)
08:32:20*DAddYE joined #nimrod
08:36:45*DAddYE quit (Ping timeout: 252 seconds)
09:21:58*wlhlm joined #nimrod
09:33:34*DAddYE joined #nimrod
09:37:50*DAddYE quit (Ping timeout: 240 seconds)
10:34:47*DAddYE joined #nimrod
10:39:39*DAddYE quit (Ping timeout: 272 seconds)
10:47:59*faassen joined #nimrod
10:49:30*dyu_ quit (Quit: Leaving)
11:31:00NimBotAraq/Nimrod vm2 86bf0ac Araq [+0 ±5 -0]: computed goto now works; some progress on the new VM
11:55:23*faassen left #nimrod (#nimrod)
12:07:16*mflamer joined #nimrod
12:26:35*isenmann quit (Quit: Leaving.)
12:37:46*DAddYE joined #nimrod
12:42:47*DAddYE quit (Ping timeout: 272 seconds)
12:58:14*mflamer quit (Ping timeout: 240 seconds)
13:02:31*q66 quit (Ping timeout: 246 seconds)
13:03:48*q66 joined #nimrod
13:16:10*Endy joined #nimrod
13:28:13*OrionPK joined #nimrod
13:38:59*DAddYE joined #nimrod
13:43:18*sebcrozet joined #nimrod
13:43:35*DAddYE quit (Ping timeout: 272 seconds)
13:49:08*BitPuffin joined #nimrod
13:56:10*mflamer joined #nimrod
14:11:57*Associat0r quit (Quit: Associat0r)
14:19:09mflamerGood morning. Is Zahary around by chance?
14:33:09Araqmflamer: poke him properly. zahary_, zahary1
14:34:39mflamerzahary_: ?
14:34:47mflamerzahary1: ?
14:34:53zahary_хи
14:34:54zahary_hi
14:36:42mflamerHi there. I'm making some headway on issue #629. I see a comment in the code that leads me to believe you might have some idea of the problem. I know you are really busy, any chance you can take a quick look?
14:37:23zahary_alright, so which comment are you looking at?
14:38:55*[1]Endy joined #nimrod
14:39:15mflamer# XXX sameType is not really correct for nested generics?
14:39:35mflamerI put some comments in the issue
14:40:36*DAddYE joined #nimrod
14:41:59mflamerSeems like the comparison is not tracing the types correctly. I think I'm close, it's just tough to follow in gdb when I don't have a strong sense of the graph structure yet
14:42:02zahary_I see that I'm appearing on the git blame for this line, but the comment is older and from Araq
14:42:07*Endy quit (Ping timeout: 272 seconds)
14:42:08*[1]Endy is now known as Endy
14:43:28mflamerok, thanks man. I gotta drive to the office, be back on in a few...
14:43:30zahary_so, there is a false-positive, we find a matching type in the cache, when it shouldn't have been matched?
14:43:44mflamerThat seems like whats up
14:44:21mflamerbrb
14:44:23zahary_are all your tests using such simple "distinct" body or you just wanted a minimal test case here?
14:44:38*DAddYE quit (Ping timeout: 240 seconds)
14:49:27*mflamer quit (Ping timeout: 272 seconds)
15:20:16*MFlamer joined #nimrod
15:24:09*MFlamer_ joined #nimrod
15:25:49*MFlamer quit (Ping timeout: 272 seconds)
15:26:40*silven quit (Ping timeout: 256 seconds)
15:28:44*fowl joined #nimrod
15:30:31*BitPuffin quit (Read error: Operation timed out)
15:33:34MFlamer_ok, back
15:41:27*DAddYE joined #nimrod
15:45:50*DAddYE quit (Ping timeout: 240 seconds)
16:02:47*jamil_1|2 quit (Ping timeout: 246 seconds)
16:10:53*sebcrozet quit (Ping timeout: 272 seconds)
16:17:30*jamil_1|2 joined #nimrod
16:49:28*acuozzo joined #nimrod
16:52:33acuozzoLong-time C programmer here. Just getting into Nimrod. Thanks, Araq!
16:53:49dom96hey acuozzo, welcome :)
16:56:05acuozzoI've made several attempts to design a similar language (that compiles to C) in the past, even going as far as writing the CFG for the parser, but I haven't had the willpower to follow-through
16:57:16acuozzodom96: Did you write the parser by hand (is Nimrod LL(1)?) or did you use a parser generator?
16:57:23acuozzoI haven't taken a look at the src yet
16:58:40acuozzoOh, wait. Is dom96==Araq?
16:59:00dom96Nope i'm someone else. I believe the parser has been written by hand though
16:59:02acuozzoAh, nope. I'm sorry for writing ridiculously-confusing messages, then. lol
17:03:17acuozzoOne of the first things I plan to do with Nimrod is make it possible to write Avisynth plugins in it.
17:05:12*DAddYE joined #nimrod
17:05:34*DAddYE quit (Remote host closed the connection)
17:05:47*DAddYE joined #nimrod
17:16:22*acuozzo quit (Quit: Page closed)
17:18:12*sebcrozet joined #nimrod
17:23:34*MFlamer_ quit (Remote host closed the connection)
17:28:35*Hannibal_Smith joined #nimrod
17:35:51*MFlamer joined #nimrod
17:36:32MFlamerzahary1: did you happen to glance at that bug?
17:39:27*Endy quit (Ping timeout: 272 seconds)
17:42:58*Endy joined #nimrod
17:43:54*BitPuffin joined #nimrod
17:57:03MFlamerAraq: at some point I have a couple questions regarding your opinion on the table project. I know you have a thousand things going, so no rush
18:06:30*brson joined #nimrod
18:24:32MFlamerhi brson
18:40:06*fowl quit (Quit: Leaving)
18:51:23*MFlamer quit (Ping timeout: 272 seconds)
19:00:18*MFlamer joined #nimrod
19:03:41MFlamerzahary_: I simplified my use case to file the issue
19:03:58MFlamerin response to "are all your tests using such simple "distinct" body or you just wanted a minimal test case here?"
19:10:51*gradha joined #nimrod
19:18:27dom96hey gradha!
19:18:33dom96Where have you been!?
19:19:18gradhalost IRL
19:22:56gradhaI'm updating nimbuild, I'll drop the 15 custom ping timeout delay for the moment and see if it keeps spamming the channel
19:23:51gradhadom96: do you have any interest in continuing ipsum?
19:24:10dom96lost huh. How did you survive the smoke monster?
19:24:41gradhaoh, TV reference? Sorry, I've seen as much of Lost as of Breaking Bad: zero
19:26:24gradhain the past I used http://www.alcyone.com/pyos/empy/ with custom changes, so I was thinking of improving ipsum in that direction
19:26:41dom96in that case I wonder what you mean by 'lost'
19:27:26dom96As for ipsum, yeah. I will continue it as soon as I have time for it.
19:28:09gradhathe feature I'm most interested in is making automatic hyperlinks out of plain text, so you write nimrod and it replaces the word with a hyperlink to the website
19:28:49gradhahmm... actually I didn't use empy for that, I used empy for i18n, oh well
19:30:37gradhaas for "lost IRL", just too much work at once, some days didn't sleep at all
19:31:08*guaqua` joined #nimrod
19:31:10gradhanow I'm temporarily jobless, so I'm going through my pending stash of youtube links and remembering what nimrod was about
19:32:03gradhaconquering the world, IIRC, did that happen while I wasn't here?
19:32:40dom96oh, sucks about your job :\
19:32:53dom96But i'm glad you're still with us, watching kpop is not the same without you.
19:33:49gradhadon't worry about jobs, I actually prefer it that way, otherwise I would never have time to watch youtube or spend money
19:33:55dom96haven't conquered the world yet, but Araq did do that talk at emerging langs, did you see his slides? (the video is sadly still not available)
19:34:35gradhayes, I downloaded the linked stuff from the forum, but didn't understand much of it
19:35:02gradhaalso, Araq: come on, make an rss for your single entry blog
19:35:36gradhaor just advertise every post on the forum, that will do
19:37:42dom96Araq should use ipsum for his blog
19:39:28gradhadom96: maybe he looked at your blog on a mobile and didn't like it
19:39:50gradhayou should convince filwit to make some styles for ipsum
19:40:00gradhawith pink unicorns and golden crowns
19:40:42gradhado you know how to make a pull request in github for a branch which when accepted should stay as a separate branch?
19:41:01*MFlamer quit (Remote host closed the connection)
19:41:07gradhaI was meaning to create a gh-pages branch for ipsum but I have no idea how the PR works for that, since you dont have one IIRC
19:41:37dom96hrm, good question. I think when making the pull request it allows you to select the branch
19:45:29dom96I feel like changing my blog's design a bit
19:45:45gradhathe fixed width kills it on mobile
19:47:05dom96It's still readable :P
19:47:14*mah joined #nimrod
19:47:21dom96hello mah
19:47:48dom96gradha: It would be better if the text filled the screen though instead of having to zoom in. I suppose I need to just get rid of the left sidebar
19:48:07mahC:\Nimrod\Aporia-master>aporia.exe
19:48:09mahcould not load: libglib-2.0-0.dll
19:48:31dom96mah: Have you got the gtk dlls?
19:48:56mahI believe so in C:\Program Files (x86)\gtk\bin
19:49:21dom96does that directory contain libglib-2.0-0.dll?
19:49:36mahyes
19:49:44mahand it's in PATH
19:50:25dom96hrm, try using these DLLs: http://nimrod-code.org/download/gtk.zip
19:50:38*MFlamer joined #nimrod
19:50:46mahOK. Thanks.
19:52:38dom96If you compiled aporia in 64bit mode then that could be the cause because the DLLs are 32bit I think.
19:53:11dom96gradha: Could you test babel on Mac OS X for me?
19:56:21gradhawhat's to test?
19:57:14dom96'babel install'
19:57:23dom96and 'babel install babel'
19:57:24dom96:P
19:58:00gradhaI did use babel install yesterday locally to install a develop version of genieos
19:58:09gradhathe babel thing itself is intriguing
19:58:47dom96I would specifically like to know if binary packages are installed properly. Not sure if genieos is one?
19:59:10gradhanot yet, I remember willing to make one, but did it have to be separate?
19:59:24gradhameaning, one package for the library, another for the binary
19:59:30gradhaor can both be specified in the same package
19:59:50dom96both can be in the same package
20:02:12MFlamerdom96: I'll try again on Win7 now
20:02:31dom96MFlamer: thanks
20:03:40MFlamerSo, If I have the babel repo and no exe built, should I build then install or just install assuming "install" will build also
20:05:08MFlamernevermind
20:05:15MFlamerobvious
20:05:27dom96well you need the babel exe to do anything
20:05:27dom96so you need to build it yourself
20:05:59gradhadom96: at https://www.icloud.com/photostream/#A5GY8gBYGUtosX you can see your version of the blog and another with a mobile meta tag
20:06:17gradhawhat I added was '<meta name="viewport" content="width=400, maximum-scale=1;">'
20:06:39gradhathat makes mobile devices to scale up stuff, though you may want to remove the sidebar and make it floating on mobile with some css sorcery
20:06:39*Associat0r joined #nimrod
20:06:52*Associat0r quit (Changing host)
20:06:52*Associat0r joined #nimrod
20:07:11dom96gradha: cool, never knew that. Thanks.
20:07:19gradhawait, didn't you have an ipad? you should be able to test with that
20:07:20MFlamerhttps://dl.dropboxusercontent.com/u/17287854/babel%20crash.JPG
20:07:32dom96gradha: Yeah, I do. And an android phone.
20:07:42MFlamerthats the stack when babel crashes
20:08:26dom96MFlamer: That looks out of order. Something weird is going on.
20:08:55dom96and that is Nimrod crashing not babel.
20:09:12dom96which is even weirder
20:09:28MFlamerwhat is nimrod doing? Isnt it already compiled?
20:09:52dom96Babel executed the command "nimrod c -d:release C:/path/to/babel.nim"
20:10:37dom96well the path probably has \ instead of /
20:11:15*Endy quit (Ping timeout: 245 seconds)
20:14:29MFlamerIs that path something the user needs to set?
20:14:46dom96MFlamer: Try compiling a new file with: import osproc; echo execCmd("nimrod c -d:release C:\path\to\babel.nim")
20:14:50dom96and see what that produces
20:15:12dom96no, babel knows that path.
20:15:19MFlamerjust any file with nimrod?, ok
20:15:53dom96well, I mean, create a new file with those contents and compile it.
20:16:17dom96replace the path I have there with the path to where babel.nim is
20:16:48gradhadom96: no problems with babel on macosx
20:17:34dom96gradha: good.
20:17:35MFlamertemp.nim(15, 37) Error: invalid character constant
20:18:07MFlamerecho execCmd("nimrod c -d:release C:\Users\mflamer\Dropbox\DEV\Nimrod\babel-master")
20:18:11dom96MFlamer: oh, add an r before the string literal
20:18:54MFlamerError: invalid module name: 'babel-master'
20:19:18MFlameris that what your looking for?
20:19:53*gradha wonders who is babel's master
20:24:33dom96MFlamer: no, C:\Users\mflamer\Dropbox\DEV\Nimrod\babel-master\babel.nim
20:25:52MFlamerall good
20:26:13MFlamerfile compiles and when run babel compiles
20:29:12MFlamerbut, it was already compiling fine before, so I guess we already knew that
20:29:26dom96yes, well the question was whether execCmd worked
20:29:34MFlamerok
20:29:43MFlamerI see
20:31:30dom96ok, open babel.nim and echo whatever is being passed to 'doCmd' in line 220
20:31:49dom96recompile, run 'babel install' again and show me the full output please
20:35:17MFlamerok, it's at same link above
20:36:13dom96can you show me the /full/ output please?
20:36:23*Hannibal_Smith quit (Quit: Sto andando via)
20:36:30MFlamerhow?
20:36:55dom96select it all, copy it and gist it?
20:37:55MFlamerhttps://gist.github.com/mflamer/7161457
20:39:27MFlameris it line 2?
20:39:42dom96yeah, that looks suspicious.
20:39:52dom96but I know what the problem is ha hah
20:40:20MFlamerI'm using a different mingw that the one provided with nimrod
20:40:28dom96Windows locks the process
20:40:32dom96You're executing 'babel.exe' when it's trying to overwrite 'babel.exe'
20:40:35dom96totally forgot about that
20:40:40MFlamerI see
20:40:46MFlamernot like unix
20:40:51dom96rename babel.exe to babel1.exe and try again
20:40:52dom96yeah
20:41:46MFlameryou got it
20:41:49Araqomg, ladies and gentlemen (I think it's gentlemen only here?), gradha is back
20:42:02dom96it's still weird that the execCmd output comes before though
20:42:21gradhaAraq: I just came here to advertise some kpop links
20:42:47Araqwe need you, gradha
20:42:52Araq50 is quite close
20:42:57dom96Araq: What do you make of this? https://gist.github.com/mflamer/7161457
20:43:03gradha50 what?
20:43:07gradhaI'm still 34
20:43:08dom96gradha: 50 users
20:43:55gradhawhat, haven't reached 50 yet? IIRC it was like 49 way back
20:44:03Araqyeah
20:44:09Araqwe never got 50
20:44:14Araqc:/users/mflamer/dropbox/dev/nimrod/nimrod/dist/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.1/../../../../i686-w64-mingw32/bin/ld.exe: cannot open output file c:\users\mflamer\dropbox\dev\nimrod\babel-master\babel.exe: Permission denied, dom96
20:44:33Araqso .. babel.exe is running thus windows holds a lock
20:44:36Araq?
20:44:41dom96Araq: Yes, we established that.
20:44:53dom96Notice the fact that the output is completely out of order.
20:45:11gradhaman, first nimrod losing its magic, then apple losing its magic, what next, kpop losing it? nevar!
20:45:34Araqgradha: what? nimrod lost its magic for you? :-/
20:45:50gradhanot me, but if we went from 49 to 43, somethings wrong
20:45:54gradhaI was expecting 63 now
20:46:09Araqwell progress is slow these days
20:46:39MFlamerthat is weird
20:46:49gradhawell, I just cleared 200 kpop downloads, still missing 10, then I'll get back to ouroboros
20:47:02MFlamerwhat is kpop
20:47:10gradhaMFlamer: korean pop
20:47:11Araqdom96: I know the output is weird, I blame the OS for it
20:47:22gradhaMFlamer: for the 15 year old teenage girl you have inside
20:47:35MFlamerscary
20:47:45gradhayeah, don't let it suck you in, there's no way out
20:47:50*XAMPP joined #nimrod
20:47:51dom96Araq: I don't think it's the OS' fault. Something similar happens in nimbuild.
20:48:20Araqnimbuild runs external processes too
20:49:01dom96Araq: So it's absolutely normal for processes to output things out of order only for us?
20:49:45MFlamerseriously wtf is kpop
20:49:55gradhaMFlamer: let me find you a link
20:50:47gradhaI'll presume you are male: https://www.youtube.com/watch?v=n7pXRdkdJxI
20:51:59Araqgradha: that's close enough to porn that I have to forbid further links
20:52:30gradhasorry, I know youtube is just filth, but couldn't resist
20:53:20MFlamernot my kind of music. But I like it on mute!
20:53:24Araqdom96: I don't know if it's only for us. iirc somebody tested it with python subprocesses module and the same happens
20:53:31gradhaMFlamer: yeah, you learn quickly!
20:54:05AraqMFlamer: I think you're pretty close to fixing that generics bug. you're doing well
20:54:34gradhaMFlamer: for completeness, this is what you would watch were you female https://www.youtube.com/watch?v=I3dezFzsNss
20:54:48MFlamerI'll get it tonight
20:54:49dom96Araq: There /must/ be a way to fix it, I would very much like for it to be fixed because reading the output is very hard when its totally out of order.
20:55:46MFlamerits a bizarre world we live in
20:56:18MFlamerI hate to say it but the guys music is actually better
20:56:29Araqdom96: it's perhaps some buffering issue
20:56:45MFlamergradha: whats up with the cat?
20:57:00Araqwhere nimrod's buffers are larger and so the subprocess outputs first
20:57:03gradhaA cat?
20:57:21MFlamerin your forum pic. ;-)
20:57:45gradhathat's my mother's cat
20:58:04dom96Araq: probably. The first two lines have probably been written to stderr.
20:58:16gradhaMFlamer: full pic at http://gradha.sdf-eu.org/i/cat_lover.jpg
20:58:17Araqah another good point
20:58:21Araqwe don't use stderr
20:59:01MFlamergood stuff
20:59:12dom96so the only way to fix this is to flush after every write I guess.
20:59:17dom96in the compiler that is
21:03:02Araqthat's very easy to do
21:03:08MFlameranybody around here in the US?
21:03:26Araqfowl is in the US but he ain't here
21:03:29dom96Araq: wouldn't it be extremely inefficient though?
21:03:43Araqdom96: for the compiler itself it's irrelevant
21:04:14Araqfor the stdlib we need a better solution
21:05:39MFlameris there anyway to pretty print the graph of nodes the compiler is grinding on?
21:05:48MFlamerIs it the same as the AST?
21:06:11dom96Araq: ok, I will create an issue for it.
21:07:01AraqMFlamer: compiler/renderer.nim ?
21:07:43Araqbut that's only for nodes, for types you can try types.typeToString or debug(t)
21:08:14MFlamerok, that might be very helpfull
21:08:35MFlamerit's really tough to dig through it all in gdb
21:08:44AraqMFlamer: sorry I thought you already know these
21:08:54AraqI almost never use gdb for debugging
21:09:02MFlamerstep by step.....using print for a var
21:09:39*OrionPK quit (Ping timeout: 250 seconds)
21:09:48MFlamerdamn, I think things may be looking brighter for me
21:15:46gradharecently I parsed some youtube filth with nimrods regexp and remembered python's re.search methods are quite handy instead of the match ones
21:16:12gradhathe search version is basically a match where the lib preppends/appends ".*?"
21:16:27gradhabut it frees you from filtering the rest of the string match inside the findAll iterator
21:16:53gradhaunless re.match already does that and I'm doing it wrong
21:20:08gradhaAraq: want a streams.readAll proc for symmetry with system?
21:20:38Araqmeh, fine I guess
21:21:48NimBotnimrod-code/babel master 37ad951 Dominik Picheta [+0 ±1 -0]: Added note about Windows to readme.
21:21:52Araqgradha: re has 'find'
21:22:11Araqwhich is comparable to python's search
21:23:43MFlamerwhen I use debug(PType) in the compiler, it also echos while building the complier!
21:23:45gradhawhy doesn't findall reuse find internally?
21:24:02MFlamerI guess thats ok, just takes bit longer
21:25:37*mah left #nimrod (#nimrod)
21:25:43*OrionPK joined #nimrod
21:25:46gradhaI'm planning of writing an md5rename tool in nimrod: it computes the md5 and renames the file to it. Does somebody know if such a thing already exists?
21:26:32Araqgradha: I don't think so. why is that useful?
21:26:39gradhausage: md5rename somefile.zip -> somefile-hash.zip
21:26:49gradhausage: md5rename somfile-hash.zip -> validates hash or updates
21:29:45gradhaI was thinking of another mode where it just splits the hash so you can sort and detect dupes
21:29:52gradhait's all doable in bash, but just a pain
21:31:11gradhahaving had three hard disks fail in the last two months helps I guess
21:35:08gradhadom96: IIRC you were willing to read http://gradha.github.io/articles/2013/10/40-years-later-we-still-cant-be-friends.html, tell me if I wrote something stoopid
21:38:35*mflamer_ joined #nimrod
21:38:41OrionPKdom96 had any thoughts on #632?
21:44:40gradhais somebody familiar with Windows' clipboard API? does it send change notifications which you can register or are you required to poll for changes?
21:45:17gradhaOrionPK: hows maveriks? crap like the usual first release?
21:46:27gradhaOrionPK: oh, wait, I guess you aren't onionhammer, misread the nick
21:46:45OrionPKactuall
21:46:48OrionPKI am onionhammer
21:46:51dom96OrionPK: Still haven't had time to fix it.
21:47:16OrionPKgradha it's pretty nice, the only thing I dont like is the opacity of the dock, but it's not a major issue
21:47:42OrionPKdom96 np, just wondering if you had thoughts on it
21:48:17OrionPKgradha people kept calling me "onion" when they read "orion", so it stuck
21:50:34*gradha remembers about masters of orion
21:51:21dom96gradha: I read some of it a while back and didn't see anything stupid.
21:53:04Araqgradha: from a theoretical perspective the solution is not nearly as bad as you make it
21:53:14Araqer *the problem
21:54:16Araqyou only need some flag in the threading/process API that says "deferred", so it's deferred until some CPU is really free
21:54:32Araqthen it's just like the queue approach
21:55:37dom96How popular is AIX?
21:55:45gradhathe low level details of gcd queues are that they are also an order of magnitude cheaper to create than threads, so people are creating queues for shared data instead of locks
21:56:20gradhaagain, queues for certain types of shared variables really speed up lock checks
21:57:32gradhait's a little bit weird then though, people are still using threads but using queues to coordinate access to data, but if it works for them...
21:58:11gradhaAraq: this thread "deferred" flag does exists? I haven't read bout it
21:58:39MFlamertyGenericInvokation(tyGenericBody TFix(tyGenericParam T, tyDistinct TFix(tyGenericParam T)),
21:58:39MFlamer tyGenericInst(tyGenericBody TFix(tyGenericParam T, tyDistinct TFix(tyGenericParam T)), tyFloat float, tyDistinct TFix(tyFloat float))
21:58:39MFlamer )
21:59:34MFlamerIs'nt tyGenericBody susuposed to be last in the list?
21:59:42MFlamersorry for the dump
22:00:16Araqno the first
22:00:22Araqas it is
22:00:53Araqgradha: no it doesn't hence I said "theoretical"
22:01:03MFlamerOK, I must be misinterpreting the desc. in ast.nim then
22:01:59Araqit's really like f(a, b)
22:02:10gradhaAraq: I agree the solution is to simply let the OS handle resources better, same happens with memory allocation which I'll write about on the next blog post, unless I decide to write about kpop
22:03:28Araqand the 'f' is type to be instantiated, which is a tyGenericBody
22:05:48*sebcrozet quit (Quit: Gone)
22:08:10MFlamerhow would I disable the "debug(t)"'s so I can build the compiler?
22:08:16Araqgradha: alright
22:08:47AraqMFlamer: I do this: if x.info ?? "test.nim": debug(t)
22:09:15MFlameroh, sweet
22:09:49Araqyou need to adapt "test.nim" of course
22:09:58Araqand 'x'
22:10:01gradhadouble ternary operator?
22:11:46MFlamerwhat is the x here?
22:14:08AraqMFlamer: a PNode or a PSym that you have in this context
22:15:26MFlamerlike it needs to be a module node or something?
22:15:39Araqno
22:16:01Araqalmost any node or sym will do
22:16:09MFlamerok
22:18:08*BitPuffin quit (Ping timeout: 240 seconds)
22:20:37MFlameris there an example of doing this somewhere? It's not working for me
22:21:25AraqI don't know, grep for "??" perhaps, might be in some commented out code
22:23:20gradha$ ngrep "\?\?" -> compiler/msgs.nim:630
22:26:04AraqMFlamer: you can also use: if condsyms.isDefined("testing"): debug(t)
22:26:14Araqand then pass -d:testing to your test program
22:27:03MFlamershoot that might be easier. I found `??` but its not working out for me at the moment. Thanks alot
22:28:18MFlamerand thanks gradha
22:28:28*gradha notices MFlamer has an mflamer_ shadow and ponders if all the cool kids have one
22:29:02MFlamerhell yeah
22:29:38MFlamerthats my clone. He works....while I mess with NImrod
22:35:14MFlamerI know what my problem is. I have to rebuild once for the changes to the compiler to take effect. The bootstrapping paradox
22:35:45MFlamercopiling a compiler to compile a compiler?
22:35:54gradhasounds like a meme
22:38:34Araqfixpoint is reached after 3 steps
22:40:13OrionPKdom96 if I ignore the OSerror I get the correct result intermittently
22:40:30OrionPKit looks like that error is semi expected of non-blocking sockets (from what I'm reading)
22:40:39dom96yes, it is.
22:40:45OrionPKyou just are supposed to handle it
22:41:21gradhaare you talking about SIGPIPE/MSG_NOSIGNAL?
22:41:50MFlamernice!
22:42:05MFlamerfixpoint is hapy place
22:44:53OrionPKdom96 i have it working, not necessarily *correctly* though
22:45:36dom96getting it working is simple, doing it properly takes some time.
22:45:57dom96You need to copy the approach scgi takes to do it properly.
22:49:17OrionPKusing recvAsync?
22:51:37dom96no, using callbacks.
22:52:11*wlhlm quit (Ping timeout: 260 seconds)
22:54:40OrionPKscgi is also erroring
22:55:08OrionPKasyncio.nim(212) asyncSockHandleRead
22:55:08OrionPKscgi.nim(241) :anonymous
22:55:08OrionPKscgi.nim(200) handleClientRead
22:55:08OrionPKscgi.nim(39) scgiError
22:55:08OrionPKError: unhandled exception: ':' after length expected [EScgi]
22:59:37dom96what http server are you using?
22:59:43gradhagood night
22:59:47*gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=n7pXRdkdJxI again)
22:59:50MFlameruh oh, this is where most of you go to sleep and it gets really quiet around here. No body to answer my n00b q's
23:00:39OrionPKim just calling jester with register()
23:00:44OrionPKhttp true/false
23:02:25*jamil_1|2 quit (Ping timeout: 246 seconds)
23:02:28dom96So you're just browsing to it with http set to false?
23:02:53OrionPKyes
23:03:49dom96SCGI is not HTTP, your browser can't communicate with it. A HTTP server is meant to sit between your SCGI app and the browser.
23:04:00OrionPKand therefore the server should crash? :p
23:05:00dom96jester should catch it I guess.
23:10:45OrionPKk well I have a patch I can use for now, basically it just loops on recv while recv() < 0 and waited < 20
23:10:59OrionPKobviously not something that I can submit though
23:21:38AraqOrionPK: you'd be surprised how often this solution is used in production ;-)
23:21:51OrionPK:P
23:25:19OrionPKpretty cool my program iso nly using 932k of ram
23:34:53MFlamerAraq: tyGenericInvokation is the potential type waiting to be instantiated to a proper type, correct?
23:35:07*mflamer_ quit (Ping timeout: 272 seconds)
23:35:08Araqyes
23:35:52MFlamerand, tyGenericInst is a proper type fully instantiated
23:36:20MFlamerwhat is the "realInstance"?
23:37:40MFlamerthese are 2 types that the comparison alg is returning true for
23:37:42MFlamerhttps://gist.github.com/mflamer/7163451
23:39:12AraqtyGenericInst is the real type + parameter information
23:39:44Araqthat's necessary because even though TObj[int] is an "object" it matches TObj[T]
23:40:06Araqas opposed to 'type X = object'
23:40:16MFlamerI see
23:40:23Araqso ... where the instantiation comes from needs to be kept
23:40:33Araqmaking the type graph a pita to work with
23:40:38*xenagi joined #nimrod
23:41:10MFlamerwell, the more type info you carry around, the better in some ways
23:41:20Araqand the gist indeed is the problem
23:44:27MFlamerin that example the tyGenericInvokation has a tyGenericInst inside which makes it harder for me to grasp
23:47:27Araqthe trick is to look at the last entry
23:47:42Araqbecause that's the actual "real type"
23:47:55MFlamer of tyGenericInst:
23:47:55MFlamer result = sameTypeAux(lastSon(a), lastSon(b), c)
23:51:43Araqthat's correct I think
23:52:30Araqit's tyDistinct TFix(tyFloat float)) vs tyDistinct TFix(tyInt int))
23:54:16MFlamerthat gist now shows the result of the comparison loop
23:55:23Araqso it's the runaway recursion check?
23:58:06MFlamersearchInstTypes has a loop through all the sons, comparing types. But, SameTypeAux has it's own loop. Some how there not both necessary or something