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:00 | NimBot | Araq/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:09 | mflamer | Good morning. Is Zahary around by chance? |
14:33:09 | Araq | mflamer: poke him properly. zahary_, zahary1 |
14:34:39 | mflamer | zahary_: ? |
14:34:47 | mflamer | zahary1: ? |
14:34:53 | zahary_ | хи |
14:34:54 | zahary_ | hi |
14:36:42 | mflamer | Hi 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:23 | zahary_ | alright, so which comment are you looking at? |
14:38:55 | * | [1]Endy joined #nimrod |
14:39:15 | mflamer | # XXX sameType is not really correct for nested generics? |
14:39:35 | mflamer | I put some comments in the issue |
14:40:36 | * | DAddYE joined #nimrod |
14:41:59 | mflamer | Seems 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:02 | zahary_ | 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:28 | mflamer | ok, thanks man. I gotta drive to the office, be back on in a few... |
14:43:30 | zahary_ | so, there is a false-positive, we find a matching type in the cache, when it shouldn't have been matched? |
14:43:44 | mflamer | That seems like whats up |
14:44:21 | mflamer | brb |
14:44:23 | zahary_ | 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:34 | MFlamer_ | 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:33 | acuozzo | Long-time C programmer here. Just getting into Nimrod. Thanks, Araq! |
16:53:49 | dom96 | hey acuozzo, welcome :) |
16:56:05 | acuozzo | I'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:16 | acuozzo | dom96: Did you write the parser by hand (is Nimrod LL(1)?) or did you use a parser generator? |
16:57:23 | acuozzo | I haven't taken a look at the src yet |
16:58:40 | acuozzo | Oh, wait. Is dom96==Araq? |
16:59:00 | dom96 | Nope i'm someone else. I believe the parser has been written by hand though |
16:59:02 | acuozzo | Ah, nope. I'm sorry for writing ridiculously-confusing messages, then. lol |
17:03:17 | acuozzo | One 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:32 | MFlamer | zahary1: 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:03 | MFlamer | Araq: 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:32 | MFlamer | hi 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:41 | MFlamer | zahary_: I simplified my use case to file the issue |
19:03:58 | MFlamer | in 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:27 | dom96 | hey gradha! |
19:18:33 | dom96 | Where have you been!? |
19:19:18 | gradha | lost IRL |
19:22:56 | gradha | I'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:51 | gradha | dom96: do you have any interest in continuing ipsum? |
19:24:10 | dom96 | lost huh. How did you survive the smoke monster? |
19:24:41 | gradha | oh, TV reference? Sorry, I've seen as much of Lost as of Breaking Bad: zero |
19:26:24 | gradha | in 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:41 | dom96 | in that case I wonder what you mean by 'lost' |
19:27:26 | dom96 | As for ipsum, yeah. I will continue it as soon as I have time for it. |
19:28:09 | gradha | the 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:49 | gradha | hmm... actually I didn't use empy for that, I used empy for i18n, oh well |
19:30:37 | gradha | as for "lost IRL", just too much work at once, some days didn't sleep at all |
19:31:08 | * | guaqua` joined #nimrod |
19:31:10 | gradha | now I'm temporarily jobless, so I'm going through my pending stash of youtube links and remembering what nimrod was about |
19:32:03 | gradha | conquering the world, IIRC, did that happen while I wasn't here? |
19:32:40 | dom96 | oh, sucks about your job :\ |
19:32:53 | dom96 | But i'm glad you're still with us, watching kpop is not the same without you. |
19:33:49 | gradha | don't worry about jobs, I actually prefer it that way, otherwise I would never have time to watch youtube or spend money |
19:33:55 | dom96 | haven'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:35 | gradha | yes, I downloaded the linked stuff from the forum, but didn't understand much of it |
19:35:02 | gradha | also, Araq: come on, make an rss for your single entry blog |
19:35:36 | gradha | or just advertise every post on the forum, that will do |
19:37:42 | dom96 | Araq should use ipsum for his blog |
19:39:28 | gradha | dom96: maybe he looked at your blog on a mobile and didn't like it |
19:39:50 | gradha | you should convince filwit to make some styles for ipsum |
19:40:00 | gradha | with pink unicorns and golden crowns |
19:40:42 | gradha | do 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:07 | gradha | I 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:37 | dom96 | hrm, good question. I think when making the pull request it allows you to select the branch |
19:45:29 | dom96 | I feel like changing my blog's design a bit |
19:45:45 | gradha | the fixed width kills it on mobile |
19:47:05 | dom96 | It's still readable :P |
19:47:14 | * | mah joined #nimrod |
19:47:21 | dom96 | hello mah |
19:47:48 | dom96 | gradha: 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:07 | mah | C:\Nimrod\Aporia-master>aporia.exe |
19:48:09 | mah | could not load: libglib-2.0-0.dll |
19:48:31 | dom96 | mah: Have you got the gtk dlls? |
19:48:56 | mah | I believe so in C:\Program Files (x86)\gtk\bin |
19:49:21 | dom96 | does that directory contain libglib-2.0-0.dll? |
19:49:36 | mah | yes |
19:49:44 | mah | and it's in PATH |
19:50:25 | dom96 | hrm, try using these DLLs: http://nimrod-code.org/download/gtk.zip |
19:50:38 | * | MFlamer joined #nimrod |
19:50:46 | mah | OK. Thanks. |
19:52:38 | dom96 | If you compiled aporia in 64bit mode then that could be the cause because the DLLs are 32bit I think. |
19:53:11 | dom96 | gradha: Could you test babel on Mac OS X for me? |
19:56:21 | gradha | what's to test? |
19:57:14 | dom96 | 'babel install' |
19:57:23 | dom96 | and 'babel install babel' |
19:57:24 | dom96 | :P |
19:58:00 | gradha | I did use babel install yesterday locally to install a develop version of genieos |
19:58:09 | gradha | the babel thing itself is intriguing |
19:58:47 | dom96 | I would specifically like to know if binary packages are installed properly. Not sure if genieos is one? |
19:59:10 | gradha | not yet, I remember willing to make one, but did it have to be separate? |
19:59:24 | gradha | meaning, one package for the library, another for the binary |
19:59:30 | gradha | or can both be specified in the same package |
19:59:50 | dom96 | both can be in the same package |
20:02:12 | MFlamer | dom96: I'll try again on Win7 now |
20:02:31 | dom96 | MFlamer: thanks |
20:03:40 | MFlamer | So, 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:08 | MFlamer | nevermind |
20:05:15 | MFlamer | obvious |
20:05:27 | dom96 | well you need the babel exe to do anything |
20:05:27 | dom96 | so you need to build it yourself |
20:05:59 | gradha | dom96: at https://www.icloud.com/photostream/#A5GY8gBYGUtosX you can see your version of the blog and another with a mobile meta tag |
20:06:17 | gradha | what I added was '<meta name="viewport" content="width=400, maximum-scale=1;">' |
20:06:39 | gradha | that 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:11 | dom96 | gradha: cool, never knew that. Thanks. |
20:07:19 | gradha | wait, didn't you have an ipad? you should be able to test with that |
20:07:20 | MFlamer | https://dl.dropboxusercontent.com/u/17287854/babel%20crash.JPG |
20:07:32 | dom96 | gradha: Yeah, I do. And an android phone. |
20:07:42 | MFlamer | thats the stack when babel crashes |
20:08:26 | dom96 | MFlamer: That looks out of order. Something weird is going on. |
20:08:55 | dom96 | and that is Nimrod crashing not babel. |
20:09:12 | dom96 | which is even weirder |
20:09:28 | MFlamer | what is nimrod doing? Isnt it already compiled? |
20:09:52 | dom96 | Babel executed the command "nimrod c -d:release C:/path/to/babel.nim" |
20:10:37 | dom96 | well the path probably has \ instead of / |
20:11:15 | * | Endy quit (Ping timeout: 245 seconds) |
20:14:29 | MFlamer | Is that path something the user needs to set? |
20:14:46 | dom96 | MFlamer: Try compiling a new file with: import osproc; echo execCmd("nimrod c -d:release C:\path\to\babel.nim") |
20:14:50 | dom96 | and see what that produces |
20:15:12 | dom96 | no, babel knows that path. |
20:15:19 | MFlamer | just any file with nimrod?, ok |
20:15:53 | dom96 | well, I mean, create a new file with those contents and compile it. |
20:16:17 | dom96 | replace the path I have there with the path to where babel.nim is |
20:16:48 | gradha | dom96: no problems with babel on macosx |
20:17:34 | dom96 | gradha: good. |
20:17:35 | MFlamer | temp.nim(15, 37) Error: invalid character constant |
20:18:07 | MFlamer | echo execCmd("nimrod c -d:release C:\Users\mflamer\Dropbox\DEV\Nimrod\babel-master") |
20:18:11 | dom96 | MFlamer: oh, add an r before the string literal |
20:18:54 | MFlamer | Error: invalid module name: 'babel-master' |
20:19:18 | MFlamer | is that what your looking for? |
20:19:53 | * | gradha wonders who is babel's master |
20:24:33 | dom96 | MFlamer: no, C:\Users\mflamer\Dropbox\DEV\Nimrod\babel-master\babel.nim |
20:25:52 | MFlamer | all good |
20:26:13 | MFlamer | file compiles and when run babel compiles |
20:29:12 | MFlamer | but, it was already compiling fine before, so I guess we already knew that |
20:29:26 | dom96 | yes, well the question was whether execCmd worked |
20:29:34 | MFlamer | ok |
20:29:43 | MFlamer | I see |
20:31:30 | dom96 | ok, open babel.nim and echo whatever is being passed to 'doCmd' in line 220 |
20:31:49 | dom96 | recompile, run 'babel install' again and show me the full output please |
20:35:17 | MFlamer | ok, it's at same link above |
20:36:13 | dom96 | can you show me the /full/ output please? |
20:36:23 | * | Hannibal_Smith quit (Quit: Sto andando via) |
20:36:30 | MFlamer | how? |
20:36:55 | dom96 | select it all, copy it and gist it? |
20:37:55 | MFlamer | https://gist.github.com/mflamer/7161457 |
20:39:27 | MFlamer | is it line 2? |
20:39:42 | dom96 | yeah, that looks suspicious. |
20:39:52 | dom96 | but I know what the problem is ha hah |
20:40:20 | MFlamer | I'm using a different mingw that the one provided with nimrod |
20:40:28 | dom96 | Windows locks the process |
20:40:32 | dom96 | You're executing 'babel.exe' when it's trying to overwrite 'babel.exe' |
20:40:35 | dom96 | totally forgot about that |
20:40:40 | MFlamer | I see |
20:40:46 | MFlamer | not like unix |
20:40:51 | dom96 | rename babel.exe to babel1.exe and try again |
20:40:52 | dom96 | yeah |
20:41:46 | MFlamer | you got it |
20:41:49 | Araq | omg, ladies and gentlemen (I think it's gentlemen only here?), gradha is back |
20:42:02 | dom96 | it's still weird that the execCmd output comes before though |
20:42:21 | gradha | Araq: I just came here to advertise some kpop links |
20:42:47 | Araq | we need you, gradha |
20:42:52 | Araq | 50 is quite close |
20:42:57 | dom96 | Araq: What do you make of this? https://gist.github.com/mflamer/7161457 |
20:43:03 | gradha | 50 what? |
20:43:07 | gradha | I'm still 34 |
20:43:08 | dom96 | gradha: 50 users |
20:43:55 | gradha | what, haven't reached 50 yet? IIRC it was like 49 way back |
20:44:03 | Araq | yeah |
20:44:09 | Araq | we never got 50 |
20:44:14 | Araq | c:/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:33 | Araq | so .. babel.exe is running thus windows holds a lock |
20:44:36 | Araq | ? |
20:44:41 | dom96 | Araq: Yes, we established that. |
20:44:53 | dom96 | Notice the fact that the output is completely out of order. |
20:45:11 | gradha | man, first nimrod losing its magic, then apple losing its magic, what next, kpop losing it? nevar! |
20:45:34 | Araq | gradha: what? nimrod lost its magic for you? :-/ |
20:45:50 | gradha | not me, but if we went from 49 to 43, somethings wrong |
20:45:54 | gradha | I was expecting 63 now |
20:46:09 | Araq | well progress is slow these days |
20:46:39 | MFlamer | that is weird |
20:46:49 | gradha | well, I just cleared 200 kpop downloads, still missing 10, then I'll get back to ouroboros |
20:47:02 | MFlamer | what is kpop |
20:47:10 | gradha | MFlamer: korean pop |
20:47:11 | Araq | dom96: I know the output is weird, I blame the OS for it |
20:47:22 | gradha | MFlamer: for the 15 year old teenage girl you have inside |
20:47:35 | MFlamer | scary |
20:47:45 | gradha | yeah, don't let it suck you in, there's no way out |
20:47:50 | * | XAMPP joined #nimrod |
20:47:51 | dom96 | Araq: I don't think it's the OS' fault. Something similar happens in nimbuild. |
20:48:20 | Araq | nimbuild runs external processes too |
20:49:01 | dom96 | Araq: So it's absolutely normal for processes to output things out of order only for us? |
20:49:45 | MFlamer | seriously wtf is kpop |
20:49:55 | gradha | MFlamer: let me find you a link |
20:50:47 | gradha | I'll presume you are male: https://www.youtube.com/watch?v=n7pXRdkdJxI |
20:51:59 | Araq | gradha: that's close enough to porn that I have to forbid further links |
20:52:30 | gradha | sorry, I know youtube is just filth, but couldn't resist |
20:53:20 | MFlamer | not my kind of music. But I like it on mute! |
20:53:24 | Araq | dom96: I don't know if it's only for us. iirc somebody tested it with python subprocesses module and the same happens |
20:53:31 | gradha | MFlamer: yeah, you learn quickly! |
20:54:05 | Araq | MFlamer: I think you're pretty close to fixing that generics bug. you're doing well |
20:54:34 | gradha | MFlamer: for completeness, this is what you would watch were you female https://www.youtube.com/watch?v=I3dezFzsNss |
20:54:48 | MFlamer | I'll get it tonight |
20:54:49 | dom96 | Araq: 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:46 | MFlamer | its a bizarre world we live in |
20:56:18 | MFlamer | I hate to say it but the guys music is actually better |
20:56:29 | Araq | dom96: it's perhaps some buffering issue |
20:56:45 | MFlamer | gradha: whats up with the cat? |
20:57:00 | Araq | where nimrod's buffers are larger and so the subprocess outputs first |
20:57:03 | gradha | A cat? |
20:57:21 | MFlamer | in your forum pic. ;-) |
20:57:45 | gradha | that's my mother's cat |
20:58:04 | dom96 | Araq: probably. The first two lines have probably been written to stderr. |
20:58:16 | gradha | MFlamer: full pic at http://gradha.sdf-eu.org/i/cat_lover.jpg |
20:58:17 | Araq | ah another good point |
20:58:21 | Araq | we don't use stderr |
20:59:01 | MFlamer | good stuff |
20:59:12 | dom96 | so the only way to fix this is to flush after every write I guess. |
20:59:17 | dom96 | in the compiler that is |
21:03:02 | Araq | that's very easy to do |
21:03:08 | MFlamer | anybody around here in the US? |
21:03:26 | Araq | fowl is in the US but he ain't here |
21:03:29 | dom96 | Araq: wouldn't it be extremely inefficient though? |
21:03:43 | Araq | dom96: for the compiler itself it's irrelevant |
21:04:14 | Araq | for the stdlib we need a better solution |
21:05:39 | MFlamer | is there anyway to pretty print the graph of nodes the compiler is grinding on? |
21:05:48 | MFlamer | Is it the same as the AST? |
21:06:11 | dom96 | Araq: ok, I will create an issue for it. |
21:07:01 | Araq | MFlamer: compiler/renderer.nim ? |
21:07:43 | Araq | but that's only for nodes, for types you can try types.typeToString or debug(t) |
21:08:14 | MFlamer | ok, that might be very helpfull |
21:08:35 | MFlamer | it's really tough to dig through it all in gdb |
21:08:44 | Araq | MFlamer: sorry I thought you already know these |
21:08:54 | Araq | I almost never use gdb for debugging |
21:09:02 | MFlamer | step by step.....using print for a var |
21:09:39 | * | OrionPK quit (Ping timeout: 250 seconds) |
21:09:48 | MFlamer | damn, I think things may be looking brighter for me |
21:15:46 | gradha | recently 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:12 | gradha | the search version is basically a match where the lib preppends/appends ".*?" |
21:16:27 | gradha | but it frees you from filtering the rest of the string match inside the findAll iterator |
21:16:53 | gradha | unless re.match already does that and I'm doing it wrong |
21:20:08 | gradha | Araq: want a streams.readAll proc for symmetry with system? |
21:20:38 | Araq | meh, fine I guess |
21:21:48 | NimBot | nimrod-code/babel master 37ad951 Dominik Picheta [+0 ±1 -0]: Added note about Windows to readme. |
21:21:52 | Araq | gradha: re has 'find' |
21:22:11 | Araq | which is comparable to python's search |
21:23:43 | MFlamer | when I use debug(PType) in the compiler, it also echos while building the complier! |
21:23:45 | gradha | why doesn't findall reuse find internally? |
21:24:02 | MFlamer | I guess thats ok, just takes bit longer |
21:25:37 | * | mah left #nimrod (#nimrod) |
21:25:43 | * | OrionPK joined #nimrod |
21:25:46 | gradha | I'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:32 | Araq | gradha: I don't think so. why is that useful? |
21:26:39 | gradha | usage: md5rename somefile.zip -> somefile-hash.zip |
21:26:49 | gradha | usage: md5rename somfile-hash.zip -> validates hash or updates |
21:29:45 | gradha | I was thinking of another mode where it just splits the hash so you can sort and detect dupes |
21:29:52 | gradha | it's all doable in bash, but just a pain |
21:31:11 | gradha | having had three hard disks fail in the last two months helps I guess |
21:35:08 | gradha | dom96: 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:41 | OrionPK | dom96 had any thoughts on #632? |
21:44:40 | gradha | is 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:17 | gradha | OrionPK: hows maveriks? crap like the usual first release? |
21:46:27 | gradha | OrionPK: oh, wait, I guess you aren't onionhammer, misread the nick |
21:46:45 | OrionPK | actuall |
21:46:48 | OrionPK | I am onionhammer |
21:46:51 | dom96 | OrionPK: Still haven't had time to fix it. |
21:47:16 | OrionPK | gradha 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:42 | OrionPK | dom96 np, just wondering if you had thoughts on it |
21:48:17 | OrionPK | gradha people kept calling me "onion" when they read "orion", so it stuck |
21:50:34 | * | gradha remembers about masters of orion |
21:51:21 | dom96 | gradha: I read some of it a while back and didn't see anything stupid. |
21:53:04 | Araq | gradha: from a theoretical perspective the solution is not nearly as bad as you make it |
21:53:14 | Araq | er *the problem |
21:54:16 | Araq | you only need some flag in the threading/process API that says "deferred", so it's deferred until some CPU is really free |
21:54:32 | Araq | then it's just like the queue approach |
21:55:37 | dom96 | How popular is AIX? |
21:55:45 | gradha | the 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:20 | gradha | again, queues for certain types of shared variables really speed up lock checks |
21:57:32 | gradha | it'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:11 | gradha | Araq: this thread "deferred" flag does exists? I haven't read bout it |
21:58:39 | MFlamer | tyGenericInvokation(tyGenericBody TFix(tyGenericParam T, tyDistinct TFix(tyGenericParam T)), |
21:58:39 | MFlamer | tyGenericInst(tyGenericBody TFix(tyGenericParam T, tyDistinct TFix(tyGenericParam T)), tyFloat float, tyDistinct TFix(tyFloat float)) |
21:58:39 | MFlamer | ) |
21:59:34 | MFlamer | Is'nt tyGenericBody susuposed to be last in the list? |
21:59:42 | MFlamer | sorry for the dump |
22:00:16 | Araq | no the first |
22:00:22 | Araq | as it is |
22:00:53 | Araq | gradha: no it doesn't hence I said "theoretical" |
22:01:03 | MFlamer | OK, I must be misinterpreting the desc. in ast.nim then |
22:01:59 | Araq | it's really like f(a, b) |
22:02:10 | gradha | Araq: 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:28 | Araq | and the 'f' is type to be instantiated, which is a tyGenericBody |
22:05:48 | * | sebcrozet quit (Quit: Gone) |
22:08:10 | MFlamer | how would I disable the "debug(t)"'s so I can build the compiler? |
22:08:16 | Araq | gradha: alright |
22:08:47 | Araq | MFlamer: I do this: if x.info ?? "test.nim": debug(t) |
22:09:15 | MFlamer | oh, sweet |
22:09:49 | Araq | you need to adapt "test.nim" of course |
22:09:58 | Araq | and 'x' |
22:10:01 | gradha | double ternary operator? |
22:11:46 | MFlamer | what is the x here? |
22:14:08 | Araq | MFlamer: a PNode or a PSym that you have in this context |
22:15:26 | MFlamer | like it needs to be a module node or something? |
22:15:39 | Araq | no |
22:16:01 | Araq | almost any node or sym will do |
22:16:09 | MFlamer | ok |
22:18:08 | * | BitPuffin quit (Ping timeout: 240 seconds) |
22:20:37 | MFlamer | is there an example of doing this somewhere? It's not working for me |
22:21:25 | Araq | I don't know, grep for "??" perhaps, might be in some commented out code |
22:23:20 | gradha | $ ngrep "\?\?" -> compiler/msgs.nim:630 |
22:26:04 | Araq | MFlamer: you can also use: if condsyms.isDefined("testing"): debug(t) |
22:26:14 | Araq | and then pass -d:testing to your test program |
22:27:03 | MFlamer | shoot that might be easier. I found `??` but its not working out for me at the moment. Thanks alot |
22:28:18 | MFlamer | and thanks gradha |
22:28:28 | * | gradha notices MFlamer has an mflamer_ shadow and ponders if all the cool kids have one |
22:29:02 | MFlamer | hell yeah |
22:29:38 | MFlamer | thats my clone. He works....while I mess with NImrod |
22:35:14 | MFlamer | I know what my problem is. I have to rebuild once for the changes to the compiler to take effect. The bootstrapping paradox |
22:35:45 | MFlamer | copiling a compiler to compile a compiler? |
22:35:54 | gradha | sounds like a meme |
22:38:34 | Araq | fixpoint is reached after 3 steps |
22:40:13 | OrionPK | dom96 if I ignore the OSerror I get the correct result intermittently |
22:40:30 | OrionPK | it looks like that error is semi expected of non-blocking sockets (from what I'm reading) |
22:40:39 | dom96 | yes, it is. |
22:40:45 | OrionPK | you just are supposed to handle it |
22:41:21 | gradha | are you talking about SIGPIPE/MSG_NOSIGNAL? |
22:41:50 | MFlamer | nice! |
22:42:05 | MFlamer | fixpoint is hapy place |
22:44:53 | OrionPK | dom96 i have it working, not necessarily *correctly* though |
22:45:36 | dom96 | getting it working is simple, doing it properly takes some time. |
22:45:57 | dom96 | You need to copy the approach scgi takes to do it properly. |
22:49:17 | OrionPK | using recvAsync? |
22:51:37 | dom96 | no, using callbacks. |
22:52:11 | * | wlhlm quit (Ping timeout: 260 seconds) |
22:54:40 | OrionPK | scgi is also erroring |
22:55:08 | OrionPK | asyncio.nim(212) asyncSockHandleRead |
22:55:08 | OrionPK | scgi.nim(241) :anonymous |
22:55:08 | OrionPK | scgi.nim(200) handleClientRead |
22:55:08 | OrionPK | scgi.nim(39) scgiError |
22:55:08 | OrionPK | Error: unhandled exception: ':' after length expected [EScgi] |
22:59:37 | dom96 | what http server are you using? |
22:59:43 | gradha | good night |
22:59:47 | * | gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=n7pXRdkdJxI again) |
22:59:50 | MFlamer | uh 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:39 | OrionPK | im just calling jester with register() |
23:00:44 | OrionPK | http true/false |
23:02:25 | * | jamil_1|2 quit (Ping timeout: 246 seconds) |
23:02:28 | dom96 | So you're just browsing to it with http set to false? |
23:02:53 | OrionPK | yes |
23:03:49 | dom96 | SCGI 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:00 | OrionPK | and therefore the server should crash? :p |
23:05:00 | dom96 | jester should catch it I guess. |
23:10:45 | OrionPK | k well I have a patch I can use for now, basically it just loops on recv while recv() < 0 and waited < 20 |
23:10:59 | OrionPK | obviously not something that I can submit though |
23:21:38 | Araq | OrionPK: you'd be surprised how often this solution is used in production ;-) |
23:21:51 | OrionPK | :P |
23:25:19 | OrionPK | pretty cool my program iso nly using 932k of ram |
23:34:53 | MFlamer | Araq: 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:08 | Araq | yes |
23:35:52 | MFlamer | and, tyGenericInst is a proper type fully instantiated |
23:36:20 | MFlamer | what is the "realInstance"? |
23:37:40 | MFlamer | these are 2 types that the comparison alg is returning true for |
23:37:42 | MFlamer | https://gist.github.com/mflamer/7163451 |
23:39:12 | Araq | tyGenericInst is the real type + parameter information |
23:39:44 | Araq | that's necessary because even though TObj[int] is an "object" it matches TObj[T] |
23:40:06 | Araq | as opposed to 'type X = object' |
23:40:16 | MFlamer | I see |
23:40:23 | Araq | so ... where the instantiation comes from needs to be kept |
23:40:33 | Araq | making the type graph a pita to work with |
23:40:38 | * | xenagi joined #nimrod |
23:41:10 | MFlamer | well, the more type info you carry around, the better in some ways |
23:41:20 | Araq | and the gist indeed is the problem |
23:44:27 | MFlamer | in that example the tyGenericInvokation has a tyGenericInst inside which makes it harder for me to grasp |
23:47:27 | Araq | the trick is to look at the last entry |
23:47:42 | Araq | because that's the actual "real type" |
23:47:55 | MFlamer | of tyGenericInst: |
23:47:55 | MFlamer | result = sameTypeAux(lastSon(a), lastSon(b), c) |
23:51:43 | Araq | that's correct I think |
23:52:30 | Araq | it's tyDistinct TFix(tyFloat float)) vs tyDistinct TFix(tyInt int)) |
23:54:16 | MFlamer | that gist now shows the result of the comparison loop |
23:55:23 | Araq | so it's the runaway recursion check? |
23:58:06 | MFlamer | searchInstTypes has a loop through all the sons, comparing types. But, SameTypeAux has it's own loop. Some how there not both necessary or something |