00:02:50 | * | Demos quit (Ping timeout: 245 seconds) |
00:04:01 | Araq | comex: well? any idea? |
00:10:13 | comex | Araq: back, sorry |
00:10:37 | comex | in what way does it not work? |
00:10:54 | Araq | crashes with sigseg the last time I tried it |
00:10:57 | comex | and that's not necessarily going to work, because what if the beginning of the page is in the middle of the stack frame? |
00:11:21 | Araq | hmm |
00:11:42 | Araq | what? the beginning of the page is in the middle of the stack frame? |
00:12:13 | Araq | well let me explain more, we do something like: |
00:12:51 | Araq | int main() { void* b; stackBottom = &b; stuff(); } |
00:13:23 | comex | yes, but page boundaries have nothing to do with it |
00:13:44 | comex | and make sure that "stuff" is not adding more stuff to the stack |
00:14:12 | Araq | I don't get it. how can it not be aligned on a page boundary? |
00:14:45 | Araq | that's how virtual memory works after all |
00:15:06 | Araq | I mean obviously &b is not on a page boundary |
00:15:24 | Araq | but when I bitmask that pointer I should get an accessible page |
00:15:35 | * | xenagi quit (Quit: Leaving) |
00:16:31 | Araq | *bitmask so that it's on a page boundary aka lowest 11 bits are 0 |
00:25:18 | Araq | oh well I'll simply try again. good night. |
00:27:34 | * | shodan45 quit (Quit: Konversation terminated!) |
00:59:53 | gradha | good night, honey badgers |
01:00:00 | * | gradha quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=dEf4PJZXBxA again) |
01:04:02 | * | DAddYE joined #nimrod |
01:04:03 | * | DAddYE_ quit (Read error: Connection reset by peer) |
01:10:34 | * | DAddYE_ joined #nimrod |
01:12:50 | * | DAddYE quit (Ping timeout: 264 seconds) |
01:13:30 | * | DAddYE_ quit (Remote host closed the connection) |
01:14:06 | * | DAddYE joined #nimrod |
01:20:37 | * | Demos joined #nimrod |
01:20:53 | Demos | wow visual studio just totally locked up my system :D |
01:21:20 | Demos | that has not happened in a /while/ |
01:21:35 | * | DAddYE quit (Remote host closed the connection) |
01:22:09 | * | DAddYE joined #nimrod |
01:26:35 | * | DAddYE quit (Ping timeout: 245 seconds) |
01:29:11 | OrionPKM | interesting |
01:29:16 | OrionPKM | hows the progress demos |
01:29:52 | Demos | not that great, my GCs are fighting. Once I sort them out though I should be able to take a string provided by VS and lex and highlight the mofo |
01:30:06 | Demos | I think binding to the idetools stuff /may/ be eaiser |
01:30:07 | * | xenagi joined #nimrod |
01:30:19 | OrionPKM | isnt the communication marshalled? |
01:30:49 | Demos | well sure, but like I was returning a cstring from nimro and it turns out that c# will then go and call free on that char* |
01:31:06 | Demos | and these bugs take forever to find because all you get is a segfault |
01:31:11 | OrionPKM | before you can even look at it? |
01:31:59 | Demos | yeah, often the segfault comes from the nimrod code which is harder to debug |
01:32:46 | Demos | honestly I am more or less giving up on having structs and such be passes between nimrod and c#, going to just returning ptrs from nimrod and having collections of functions to access their fields |
01:33:04 | OrionPKM | you should write a little app that does commm |
01:33:07 | Demos | I have been thinking about automateing the writing of such functions with a macro |
01:33:18 | OrionPKM | communication via Stdin |
01:33:41 | Demos | I really do not like that idea, prefer a C (well nimrod but {.exportc.}) API |
01:33:43 | Demos | cleaner |
01:34:54 | OrionPKM | yeah, obviously that's preferable |
03:24:16 | * | DAddYE joined #nimrod |
03:28:38 | * | DAddYE quit (Ping timeout: 240 seconds) |
04:04:26 | * | brson quit (Ping timeout: 264 seconds) |
04:13:58 | * | DAddYE joined #nimrod |
04:14:04 | * | DAddYE quit (Remote host closed the connection) |
04:14:11 | * | DAddYE_ joined #nimrod |
04:14:34 | * | DAddYE_ quit (Remote host closed the connection) |
04:15:04 | * | DAddYE joined #nimrod |
04:15:18 | * | DAddYE quit (Remote host closed the connection) |
04:15:56 | * | DAddYE joined #nimrod |
04:15:57 | * | DAddYE quit (Remote host closed the connection) |
04:16:03 | * | DAddYE joined #nimrod |
04:18:55 | BlueProtoman | Does Nimrod have list comprehensions? |
04:23:45 | Demos | what do you need for those besides iterators and first class functions? |
04:34:02 | BlueProtoman | Demos: Never mind. How can I sort a given sequence? |
04:35:11 | Demos | no idea |
04:35:18 | Demos | ctrl-f in the library docs |
04:35:59 | BlueProtoman | Demos: I did, found nothing. |
04:36:14 | Demos | hm.... wierd |
04:54:55 | * | BlueProtoman quit (Ping timeout: 272 seconds) |
05:28:01 | * | brson joined #nimrod |
05:40:27 | * | ddl_smurf quit (Quit: ddl_smurf) |
05:43:33 | OrionPKM | there is a sort function |
05:43:49 | OrionPKM | you pass it a proc |
05:45:05 | * | xenagi quit (Quit: Leaving) |
05:45:06 | OrionPKM | http://nimrod-lang.org/algorithm.html#107 |
05:57:48 | * | brson quit (Ping timeout: 246 seconds) |
06:06:18 | Demos | oh dear, someone (probably me eventually) needs to go and add to that there module |
06:06:23 | Demos | looking pretty bare bones |
07:17:28 | * | achim joined #nimrod |
08:23:19 | * | achim quit (Quit: Computer has gone to sleep.) |
08:23:35 | * | achim joined #nimrod |
08:56:42 | * | zielmicha joined #nimrod |
09:04:41 | * | fowl quit (Quit: Leaving) |
09:05:35 | * | DAddYE quit (Remote host closed the connection) |
09:25:35 | * | Demos quit (Read error: Connection reset by peer) |
09:43:41 | * | zielmicha quit (Ping timeout: 240 seconds) |
10:02:59 | * | wubino joined #nimrod |
10:03:22 | wubino | does nimrod have a json-rpc library? |
10:08:52 | Araq | hi wubino, I don't think so. |
10:09:28 | wubino | Hello |
10:09:35 | wubino | Long time no chat |
10:09:40 | Araq | we have json serialization though and the 0mq wrapper works nicely |
10:10:18 | wubino | whats next on the nimrod roadmap? I read about a repl |
10:11:21 | Araq | mostly fixing bugs, the VM2 is about to be merged |
10:17:42 | * | fowl joined #nimrod |
10:19:26 | * | Amrykid quit (Ping timeout: 240 seconds) |
10:19:53 | * | Amrykid joined #nimrod |
10:27:26 | wubino | the vm2 is the repl? |
10:28:53 | Araq | it's used by the repl but I don't expect that to help the repl |
10:29:07 | Araq | the repl exists for quite some time already but regressions always creep into |
10:29:16 | Araq | as we have no automated tests for it |
10:30:03 | Araq | it's a toy really, I never use it ;-) |
10:30:29 | Araq | many people want a REPL but nobody wants to work on it |
10:31:39 | fowl | work is hard |
10:33:17 | * | ics quit (Ping timeout: 265 seconds) |
10:34:40 | * | ics joined #nimrod |
10:35:03 | wubino | Araq, what type of projects do nimrodders want to work on most? |
10:36:14 | Araq | games |
10:40:00 | * | zielmicha-cloud joined #nimrod |
10:42:21 | Araq | hi zielmicha-cloud, I feel like merging your PR. You did test it, right? ;-) |
10:42:39 | * | gradha joined #nimrod |
10:44:09 | gradha | would it make sense for a statement macro/template to be able to return a value? "let var = myTemplate(param1): body_as_param2" |
10:44:54 | Araq | sure |
10:45:07 | Araq | there is some parsing/grammar issue with it though iirc |
10:45:45 | gradha | yes, I asked because what I tried didn't work, but wanted to know if this is desirable or doesn't make sense |
10:47:15 | Araq | everything that eliminates weird special cases is desirable |
10:47:39 | gradha | I was trying to come up with something like https://gist.github.com/gradha/8053167 but I don't see a return value as completely necessary |
10:47:51 | Araq | myTemplate(var, param1): body_as_param2 is the workaround |
10:52:01 | gradha | right now with a template I don't think you can have it conditionally declare a variable or not based on user input, I'm going to try a macro for that |
10:54:12 | gradha | it could also special case calling procs of TTime time, since the substraction of them returns an in64, not a TTime |
11:00:15 | Araq | I'd simply provide a single 'benchmark' template that outputs some report using both cpuTime and epochTime |
11:00:54 | Araq | if you want to be more elaborate, you could implement something like this: |
11:01:01 | Araq | benchmark: |
11:01:08 | Araq | section A: |
11:01:15 | Araq | # code here |
11:01:19 | Araq | section B: |
11:01:24 | Araq | # other code here |
11:01:50 | Araq | and it generates a report, how long each section took and how long the whole thing took |
11:02:15 | * | Demos joined #nimrod |
11:02:41 | gradha | also the blocks' names could be used for variables to store the results, but I guess you are thinking of user friendly stdout output |
11:03:06 | Araq | yeah, I'm thinking about stdout output |
11:03:40 | Araq | of course then some guy comes and says it needs to be done in a generic fashion, it should return a report object that then I can print |
11:03:50 | gradha | yep |
11:03:59 | Araq | which actually misses the point somewhat |
11:05:07 | Araq | the point of 'benchmark' is convenience |
11:05:27 | Araq | for flexibility you need a slightly different design altogether |
11:05:57 | Araq | you then need to be able to reset all counters, start and stop them etc. |
11:06:34 | gradha | let's go for convenience, how would you make the benchmark macro so that you can pass it a constant to "when const benchmark else run without benchmark"? |
11:06:53 | gradha | that would allow you having the benchmark: block always in code, active only when you compile with -d:arbitraryStuff |
11:07:14 | gradha | I guess you will say "pass the const", but making it conditional would be nice |
11:07:39 | gradha | so you can have "benchmark:" (always) "benchmark(myConst):" (runs benchmarks only when myConst is defined) |
11:07:56 | Araq | well you just answered your question? |
11:08:07 | Araq | benchmark(myConst): |
11:08:09 | Araq | ... |
11:08:15 | Araq | is parsable |
11:08:57 | gradha | but then you lose the non-parameter version, no? because you are forced to always pass something |
11:09:27 | Araq | well since default args currently don't work that way, you could provide a simple overload |
11:09:49 | Araq | where the non-parameter version calls the parametrized |
11:10:00 | gradha | hmm... indeed, since this doesn't need to be {.immediate.} right? |
11:10:06 | Araq | right |
11:15:07 | gradha | is there a way for a macro to know about available constants? so you can iterate and dump them to sdtout, for example |
11:18:47 | gradha | maybe something similar to system.locals() |
11:20:49 | Araq | no and that would open yet another pandora's box |
11:21:31 | Araq | macros are not supposed to "go up" in the tree |
11:22:17 | gradha | would be a system.constants returning a seq be that bad? had no idea |
11:23:26 | Araq | well I don't like it, what do you do with it in a macro? does the macro's behaviour change if some constant exists? |
11:25:55 | * | CarpNet joined #nimrod |
11:26:05 | Demos | where are the standard library tests located? |
11:27:14 | * | gradha quit (Ping timeout: 264 seconds) |
11:27:24 | * | gradha joined #nimrod |
11:28:56 | gradha | Demos: in the tests directory |
11:29:13 | gradha | you can use koch to run the testsuite |
11:29:50 | gradha | Araq: nah, I only was curious to dump them to stdout, if a macro has to change behaviour based on a constant you use when |
11:30:23 | Demos | I know, but I need to find the tests so I can add to them if I go and add standard library functions, I kinda want to expand algorithms.nim a bit |
11:31:55 | gradha | grepping leads to compile/tsortcall.nim, run/tdrdobbs_examples.nim, run/tsortdev.nim and a manyloc test |
11:32:49 | gradha | if you don't need the tests to be "verified" you can add to the end of algorithm.nim in a when isMainModule block and run it manually |
11:33:47 | Demos | right, I will prolly add tests later, but as I am running on zero hours of sleep right now I will try and confine any destruction to algos.nim |
11:36:12 | gradha | adding to individual modules, then promoting to the test suite seems sensible |
11:40:00 | Demos | yeah, I wanted to see where the other code is tested. I may also document smartBinarySearch to say more than "needs power of two size" |
11:42:47 | * | EXetoC quit (Quit: WeeChat 0.4.2) |
11:46:26 | fowl | proc `()` (field: string, js: PJsonNode): JSON {.delegator.} = js[field] |
11:46:31 | fowl | json should be pjsonnode |
11:47:53 | Araq | gradha: yeah but people will misuse it. It's fine to put it into some 'evil' module though. |
11:48:13 | Araq | in fact... Nimrod needs an 'evil' module right now. :D |
11:48:40 | Araq | because the name is cool :P |
11:49:28 | Araq | or perhaps "misuse" is also a good module name. everything in that by definition is an act of misuse. |
11:50:02 | * | Demos quit (Read error: Operation timed out) |
11:50:42 | Araq | fowl: we still need to discuss 'delegator' |
11:52:36 | Araq | my plan was to support overloading of '.' instead which seems to me the natural solution |
11:53:08 | Araq | overloading of () with a delegator pragma is weird |
11:54:27 | dom96 | good morning |
11:54:38 | gradha | yoo hoo |
11:58:00 | fowl | well a.b is b(a) not .(b, a) |
11:59:07 | Araq | that's not hard to solve though |
12:00:03 | Araq | proc `.` (j: PJsonNode, field: string): PJsonNode |
12:00:43 | Araq | j.foo --> `.`(j, foo) |
12:00:45 | fowl | and all `.` would be delegators? |
12:00:50 | Araq | yes |
12:01:09 | fowl | should be expr[string] instead of string |
12:01:15 | fowl | unless j."foo" works |
12:01:21 | Araq | special cased just like `[]` |
12:01:26 | fowl | j.dynamicstring |
12:01:33 | Araq | yeah yeah yeah |
12:05:08 | fowl | im rewriting entitty |
12:05:17 | fowl | i just looked at it and its really messy |
12:09:23 | Araq | how do we overload `.=` with the () delegator solution? |
12:12:56 | fowl | good point |
12:19:58 | gradha | so I fixed https://github.com/Araq/Nimrod/issues/738 but now I see that if a user passes an absolute path as the outFile compilation fails too |
12:20:33 | gradha | there's an intriguing extccomp.noAbsolutePaths which prepends to the absolute path the project dir |
12:21:01 | gradha | shouldn't that code check first if exefile.isAbsolute? I don't understand the commant for noAbsolutePaths |
12:25:56 | Araq | well --genScript is supposed to generate a compilation script that doesn't use absolute paths |
12:26:08 | Araq | so that the whole nimcache directory can easily be moved around |
12:26:24 | Araq | according to ddl_smurf that feature is already broken |
12:27:02 | Araq | so ... the path you care about is when noAbsolutePaths() is false |
12:27:28 | Araq | checking for exeFile.isAbsolute sounds good |
12:35:37 | * | isenmann quit (Quit: Leaving.) |
12:40:24 | * | darkf quit (Quit: Leaving) |
12:45:40 | * | psquid quit (Quit: work) |
12:53:43 | NimBot | Araq/Nimrod master afdd49f Grzegorz Adam Hankiewicz [+0 ±1 -0]: Runs user specified outFile if available. Refs #738. |
12:53:43 | NimBot | Araq/Nimrod master 85c9aa8 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Allows passing absolute paths for output. Refs #738.... 3 more lines |
12:53:43 | NimBot | Araq/Nimrod master 2a9502d zah [+0 ±2 -0]: Merge pull request #767 from gradha/pr_fixes_run_with_out... 2 more lines |
13:01:27 | * | EXetoC joined #nimrod |
13:06:46 | * | EXetoC quit (Ping timeout: 248 seconds) |
13:07:00 | * | oal left #nimrod ("Leaving") |
13:08:23 | NimBot | nimrod-code/babel master 8585e11 Dominik Picheta [+0 ±2 -0]: Extra checks for unsatisfiable dependencies.... 5 more lines |
13:08:34 | * | EXetoC joined #nimrod |
13:31:15 | NimBot | nimrod-code/babel master e789a7a Dominik Picheta [+0 ±2 -0]: Fixes #21 |
13:32:04 | dom96 | Babel will give you lots of warnings now, so I suggest you guys reinstall all your packages. |
13:36:19 | * | achim quit (Quit: Computer has gone to sleep.) |
13:39:23 | * | Amrykid quit (Changing host) |
13:39:24 | * | Amrykid joined #nimrod |
13:40:09 | gradha | so what's the meta for? |
13:41:03 | dom96 | the url of the package |
13:41:21 | * | Kooda quit (Ping timeout: 252 seconds) |
13:45:13 | * | achim joined #nimrod |
13:47:43 | * | Kooda joined #nimrod |
13:50:10 | fowl | reinstall all packages? why |
13:52:40 | dom96 | because #21 |
13:52:54 | fowl | ugh |
13:53:03 | fowl | glfw2 is called nimrod-glfw and glfw3 is called nim-glfw |
13:53:03 | EXetoC | I don't know, but it should be possible to specify that everything should be updated |
13:53:45 | fowl | aporia fails to install |
13:54:22 | EXetoC | and maybe it should keep going even if a package fails. "FAILURE: Version may only consist of numbers and the '.' character but found '-'." |
13:55:39 | gradha | you will need to use an unicode equivalent char for dashes |
13:56:36 | gradha | good bye, honey badgers |
13:56:39 | * | gradha quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=dEf4PJZXBxA again) |
13:56:50 | dom96 | EXetoC: Why would it keep going? The version is incorrect. |
13:57:53 | dom96 | fowl: babel install aporia#head |
14:01:29 | EXetoC | then I can't update everything easily. it doesn't have anything to do with dependencies though, because it complains about sfml-2.0-live when I install babel too |
14:03:32 | EXetoC | I'm not sure if that's the reason why I only have a babel executable in /tmp now |
14:05:53 | * | achim quit (Ping timeout: 240 seconds) |
14:09:31 | * | achim joined #nimrod |
14:12:17 | * | wubino quit (Quit: Leaving) |
14:12:19 | EXetoC | And I don't know why it finds argument_parser 0.1.1 but not 0.1.2 |
14:14:14 | EXetoC | ok so it fetches a tag |
14:15:43 | * | BitPuffin joined #nimrod |
14:17:20 | EXetoC | BitPuffin: morning |
14:23:50 | EXetoC | also, I can't install nim-vorbis or nim-portaudio: "FAILURE: Could not find a version which fits the specified range: any version" |
14:24:41 | dom96 | well that is a bug then |
14:26:04 | * | ddl_smurf joined #nimrod |
14:26:05 | EXetoC | ok. will submit bug reports and maybe some feature requests later |
14:29:27 | * | achim quit (Ping timeout: 246 seconds) |
14:29:43 | EXetoC | it might be nice to have the ability to make queries based on dependencies etc, but that might not be feasible without a centralized .babel database |
14:32:28 | * | achim joined #nimrod |
14:33:44 | BitPuffin | ahoy EXetoC and dom96 |
14:40:34 | * | achim quit (Quit: Computer has gone to sleep.) |
14:41:18 | BitPuffin | dom diddely dota |
14:41:25 | BitPuffin | dom96: nao! |
14:41:27 | BitPuffin | you too EXetoC |
14:41:33 | BitPuffin | and Araq |
14:41:38 | BitPuffin | let's dota |
14:41:45 | BitPuffin | in ze VNUG |
14:42:38 | BitPuffin | I'm not gonna be checkinc irc now |
14:42:45 | BitPuffin | so join the VNUG like naow |
14:42:51 | BitPuffin | in the gaming channel |
14:43:15 | dom96 | BitPuffin: You wanna play dota later? |
14:44:03 | BitPuffin | dom96: I wanna play now |
14:44:17 | BitPuffin | I have time for one game right now |
14:44:22 | BitPuffin | and if there's something you gotta do |
14:44:22 | dom96 | only one? |
14:44:26 | BitPuffin | you can do it when I walk the dog |
14:44:29 | BitPuffin | yes right now |
14:44:32 | BitPuffin | but I can play more later |
14:44:34 | dom96 | i'm watching a movie |
14:44:46 | BitPuffin | do it later then |
14:44:51 | BitPuffin | when I'm walkin the dog :P |
14:45:23 | dom96 | I would have to reboot |
14:45:26 | dom96 | walk the dog now |
14:46:00 | BitPuffin | dom96: dude dude |
14:46:03 | BitPuffin | we should buy monaco |
14:46:05 | BitPuffin | and play it |
14:46:14 | BitPuffin | it's on sale |
14:46:14 | dom96 | the hell is that? |
14:46:30 | BitPuffin | http://youtu.be/8fN3gJ17c6s |
14:47:49 | BitPuffin | seems like a lot of fun |
14:48:03 | BitPuffin | if you, me, EXetoC and Araq gets it we could play 4 player coop |
14:49:24 | EXetoC | gotta do some stuff now, and I don't know if I'll be in the mood for dota later. I'm mostly into shooters like I said. So let's play dod instead ok :p cmon, I know you want to pwn some poles on the dywizjon303 server |
14:50:30 | dom96 | what's dod? |
14:50:56 | BitPuffin | dom96: day of defeat |
14:50:57 | BitPuffin | but no |
14:51:00 | BitPuffin | let's not play that |
14:51:04 | BitPuffin | let's play monaco :D |
14:51:05 | BitPuffin | and dota |
14:51:17 | BitPuffin | EXetoC: you can shoot in monaco, so boom |
14:58:10 | Varriount | Araq, ping |
15:22:03 | EXetoC | BitPuffin: yeah but there's no Z plane :p |
15:22:16 | EXetoC | it's really cheap atm so I might buy it |
15:26:59 | EXetoC | talk about ugly player models |
15:29:09 | BitPuffin | I think it's stylis |
15:29:10 | BitPuffin | h |
15:30:14 | BitPuffin | dom96: longest movie ever? |
15:51:01 | dom96 | BitPuffin: it's over now |
15:55:52 | Varriount | Anyone here ever added a cimport pragma to a procedure using a macro or template? |
15:59:55 | * | vendethiel quit (Ping timeout: 272 seconds) |
16:09:50 | NimBot | nimrod-code/packages master 0838a70 Erik Johansson Andersson [+0 ±1 -0]: wrong "web" value for nim-glfw |
16:09:50 | NimBot | nimrod-code/packages master c1b7592 Dominik Picheta [+0 ±1 -0]: Merge pull request #43 from EXetoC/patch-2... 2 more lines |
16:11:48 | EXetoC | ktnx |
16:11:59 | EXetoC | I thought I fixed all of that. I blame the keyboard |
16:12:07 | EXetoC | fowl: you want me to rename it? :p |
16:13:56 | EXetoC | it'll still be a little confusing since glfw == glfw3 now |
16:15:56 | * | vendethiel joined #nimrod |
16:23:51 | BitPuffin | dom96: hmm |
16:23:56 | BitPuffin | should probably walk the dog |
16:24:04 | BitPuffin | EXetoC, dom96: are you guys getting monaco? |
16:24:34 | * | achim joined #nimrod |
16:28:21 | dom96 | hrm |
16:28:22 | dom96 | lets see |
16:29:43 | dom96 | ehh, i dunno |
16:29:51 | BitPuffin | dom96: it's awesomeee |
16:29:57 | dom96 | Don't get what's so awesome about it |
16:30:16 | dom96 | it looks like walking and picking up coins |
16:30:19 | dom96 | seems silly |
16:30:42 | BitPuffin | dom96: you really judge a book by its cover huh haha |
16:30:47 | BitPuffin | it's a heist game |
16:30:48 | dom96 | yep |
16:30:55 | BitPuffin | you cooperate and rob banks and shit |
16:31:34 | dom96 | also the soundtrack bugs me |
16:33:53 | BitPuffin | dom96: *sigh* |
16:35:06 | BitPuffin | dom96: not like it's expensive, you could at least try it :P |
16:35:12 | fowl | EXetoC, yea i want them to be glfw2 and glfw3 >:( |
16:35:45 | BitPuffin | fowl: who uses glfw2 I mean damn |
16:35:47 | dom96 | BitPuffin: Buy it for me then :P |
16:35:51 | BitPuffin | dom96: no lol xD |
16:36:07 | dom96 | BitPuffin: You said yourself that it's not expensive :P |
16:36:23 | BitPuffin | dom96: yes, doesn't mean I can afford to buy games for _you_ though :P |
16:36:42 | dom96 | BitPuffin: Yes, well i'd rather spend the money on Bioshock |
16:37:07 | BitPuffin | dom96: it's awesome, you have different classes and you come up with a plan to rob places |
16:37:12 | BitPuffin | you stealth and stuff |
16:37:19 | BitPuffin | dom96: bioshock it shit |
16:37:21 | * | achim quit (Quit: Computer has gone to sleep.) |
16:37:21 | dom96 | hrmmmm |
16:37:21 | BitPuffin | is |
16:37:29 | fowl | game about stealing |
16:37:30 | fowl | so steal it |
16:37:40 | BitPuffin | fowl: no u |
16:39:32 | BitPuffin | to sum up bioshock: *, awesome environments and stories ruined by dumb boring shit gameplay |
16:39:37 | BitPuffin | so don't waste the money :P |
16:39:49 | NimBot | nimrod-code/babel master 7e2d46a Dominik Picheta [+0 ±3 -0]: Fixes problems caused by "" being present in the version list.... 2 more lines |
16:40:06 | dom96 | I like the stories :P |
16:40:15 | dom96 | if someone buys the 4 pack |
16:40:20 | dom96 | we will save like a couple of pence |
16:40:55 | BitPuffin | I was thinking that |
16:41:06 | BitPuffin | but then I though that damn that's gonna be annoying to coordinate |
16:41:18 | dom96 | it'll probably cost more in paypal fees lol |
16:41:26 | BitPuffin | exactly haha |
16:42:03 | BitPuffin | dom96: yeah but the stories are overshadowed by the crappy dull gameplay |
16:42:12 | BitPuffin | so there is like 90% boring gameplay |
16:42:22 | BitPuffin | and 10% pretty decent story |
16:42:44 | dom96 | Payday 2 is something we should be looking to get |
16:42:56 | BitPuffin | yeah it is similar |
16:42:59 | BitPuffin | to monaco |
16:43:00 | EXetoC | dom96: you mentioned nim-vorbis in the commit. are you able to install it now? |
16:43:05 | dom96 | EXetoC: yes |
16:43:09 | dom96 | That's what I fixed. |
16:43:12 | BitPuffin | except it's 3d and extremely much more expensive xD |
16:43:18 | EXetoC | I still get that error message after installing babel head |
16:43:31 | BitPuffin | and windows only |
16:44:06 | dom96 | EXetoC: well it works for me. |
16:44:31 | EXetoC | path issue I think |
16:44:52 | BitPuffin | EXetoC: install worked for me |
16:44:54 | dom96 | BitPuffin: why don't we just play dota? :P |
16:45:07 | BitPuffin | dom96: well yeah, we should and will |
16:45:17 | BitPuffin | but what do we play when the servers are down like they always are |
16:45:19 | BitPuffin | ? |
16:45:21 | BitPuffin | monaco. |
16:45:36 | dom96 | fine. I'll buy it |
16:45:42 | BitPuffin | yaay |
16:45:47 | BitPuffin | EXetoC: you too |
16:45:53 | BitPuffin | so we'll be three |
16:47:07 | EXetoC | works now. will have to source zprofile in zshrc |
16:47:29 | BitPuffin | EXetoC: that's why I don't use zprofile |
16:47:46 | BitPuffin | EXetoC: are you getting monaco? :D |
16:48:16 | * | dom96 bets it won't even work on Linux |
16:48:37 | BitPuffin | dom96: it has linux support |
16:48:57 | dom96 | I know |
16:49:08 | BitPuffin | dom96: have you bought it? |
16:49:11 | dom96 | yes |
16:49:23 | dom96 | and now steam is updating... |
16:49:26 | * | dom96 grumbles |
16:49:44 | fowl | 5 days til xmas |
16:49:51 | fowl | what are you guys getting me |
16:50:18 | dom96 | fowl: a virtual hug |
16:50:31 | fowl | gift rejected |
16:50:43 | dom96 | You'll get babel then just like everyone else |
16:50:46 | BitPuffin | fowl: a slap in the face |
16:50:50 | fowl | gift rejected |
16:50:55 | Varriount | fowl, I got you a puffin |
16:51:02 | fowl | gift...accepted |
16:51:20 | BitPuffin | fowl: it's gonna slap you in the face though |
16:51:23 | fowl | dom96, i already have babel, please include gift receipt |
16:51:23 | BitPuffin | be careful |
16:51:57 | dom96 | ugh, stop stealing focus steam... |
16:52:19 | BitPuffin | dom96: alright now I bought it too, I'm gonna go walk the dog now and you better hop in to the VNUG. Then we'll play dota and/or monaco |
16:52:28 | * | BitPuffin points at EXetoC |
16:52:53 | dom96 | BitPuffin: how long will walking the dog take? |
16:53:10 | EXetoC | dom96: what about other apps that spawns new windows? |
16:53:34 | dom96 | EXetoC: They steal focus too, but they don't spawn as many windows... |
16:53:58 | EXetoC | ok. yeah it is annoying |
17:00:58 | dom96 | well, monaco works. |
17:00:59 | dom96 | ish |
17:01:04 | dom96 | the sound was broken at the beginning |
17:01:47 | EXetoC | BitPuffin: I don't think I'll like it |
17:02:05 | * | Mat3 joined #nimrod |
17:02:14 | Mat3 | hi all |
17:05:27 | EXetoC | lo |
17:06:58 | Mat3 | hi EXetoC |
17:08:04 | Araq | hi Mat3 |
17:08:23 | Mat3 | hi Araq |
17:09:43 | EXetoC | dom96: how is it? |
17:09:56 | dom96 | dunno, i'm still not impressed. |
17:10:16 | dom96 | I walked around a bit and collected some coins with no idea about what I actually had to do... |
17:11:09 | Mat3 | hi dom96 |
17:11:31 | Mat3 | your guys spend some time playing online games ? |
17:12:43 | dom96 | yea |
17:14:16 | EXetoC | dom96: sure, new game and all :p |
17:15:26 | * | zielmicha joined #nimrod |
17:15:46 | * | CarpNet quit (Quit: Leaving) |
17:20:26 | Mat3 | Araq: does have the single '=' at end of procedure prologs a syntactical reason or is this character some kind of syntactical sugar ? |
17:21:49 | Araq | well without the '=' it's a forward declaration |
17:22:11 | Araq | but surely you could do without |
17:22:17 | EXetoC | no sugar, since there aren't any alternatives |
17:25:26 | Mat3 | EXetoC: There are *alwasy* alternatives, it's only about there drawbacks in relation to the parsing overhead (my opinion) |
17:34:46 | * | ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
17:34:57 | BitPuffin | dom96: back |
17:35:13 | BitPuffin | dom96: still not in the vnug huh |
17:35:29 | dom96 | BitPuffin: no, my throat is sore so I don't really wanna talk much |
17:35:36 | BitPuffin | dom96: it's gonna be fun when we team up |
17:35:40 | dom96 | i'll join in a little while brb |
17:35:41 | BitPuffin | oh that's fine |
17:36:00 | BitPuffin | but join so that at least I can tell you what to do xD |
17:36:03 | BitPuffin | what do you wanna play first |
17:36:07 | BitPuffin | dota or monaco |
17:37:55 | BitPuffin | EXetoC: yes, alwasy |
17:39:42 | EXetoC | Mat3: I don't know if you can call it sugar then, since there aren't any existing alternatives in the language |
17:39:47 | EXetoC | but maybe the definition is broader than that |
17:40:04 | NimBot | Araq/Nimrod master 9cd7129 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds fitting quote to idetools doc. |
17:40:04 | NimBot | Araq/Nimrod master 3ba14c4 Andreas Rumpf [+0 ±1 -0]: Merge pull request #753 from gradha/pr_idetools_quote... 2 more lines |
17:42:40 | NimBot | Araq/Nimrod master b21cda3 Michał Zieliński [+0 ±1 -0]: Add stdmsg (an alias to either stdout or stderr). |
17:42:40 | NimBot | Araq/Nimrod master 3be183a Michał Zieliński [+0 ±1 -0]: write exception tracebacks to stdmsg, instead of stdout |
17:42:40 | NimBot | Araq/Nimrod master 5510791 Michał Zieliński [+0 ±2 -0]: Rework CGI error reporting.... 4 more lines |
17:42:40 | NimBot | Araq/Nimrod master aa322af Michał Zieliński [+3 ±1 -0]: Add two CGI example and basic Python CGI server. |
17:42:40 | NimBot | 2 more commits. |
17:43:22 | Mat3 | EXetoC: Well, I think about a more simplified parser and this have syntactical consequences |
17:44:04 | Araq | hey the parser is simple :P |
17:45:22 | Mat3 | ehm, ok |
17:46:21 | Mat3 | compared to languages like PL/1 I agree |
17:46:52 | EXetoC | I'm just arguing about the definition of syntactic sugar |
17:47:42 | Mat3 | syntactical sugar = syntax rules for so called better readability |
17:49:10 | Varriount | Araq, your'e up! |
17:49:17 | Varriount | *you're |
17:49:19 | Mat3 | like "if else = then then if = else" in PL/1 (the language define no reserved words) |
17:52:06 | Varriount | Araq, what do tests do if they need root/administrative privileges? |
17:52:45 | Araq | well a more concrete enhancement proposal would be sweet |
17:53:08 | Araq | instead of "I can save 1 call to gettok() when we get rid of the '='" |
17:55:01 | Araq | Varriount: bah dont write such tests |
17:55:31 | Varriount | But then I can't test the symlink procedures |
17:55:32 | * | MFlamer joined #nimrod |
17:55:50 | Araq | hi MFlamer wb |
17:56:08 | MFlamer | Hi Araq, thanks |
17:56:18 | Araq | well write some manual test then |
17:57:07 | Varriount | Howso? What parts would be manual? |
17:57:34 | EXetoC | Mat3: yes, compared to an alternative that actually is present in the language already. a[i] vs *(a + i) for example, to quote wikipedia |
17:57:43 | * | DAddYE joined #nimrod |
17:57:45 | * | DAddYE quit (Remote host closed the connection) |
17:58:02 | * | DAddYE joined #nimrod |
17:58:19 | Mat3 | Araq: talk to you about it later, brb |
17:58:24 | Araq | ok |
17:58:46 | * | Mat3 is now known as Mat3-brb |
18:01:10 | Araq | Varriount: just write the test but don't make the tester invoke it |
18:01:28 | Varriount | Ok, gotcha |
18:02:37 | Varriount | Araq, would you prefer my symlink additions in one branch, and fixes for os.nim procedures involving symlinks in another branch, or have the two in one branch? |
18:06:22 | * | brson joined #nimrod |
18:07:48 | EXetoC | BitPuffin: I might play 0ad later if we can get a 2v2 going. I do prefer more futuristic RTS games though http://www.youtube.com/watch?v=xn20pbBRZAE http://www.youtube.com/watch?v=HDAmnHSoTyc |
18:08:06 | EXetoC | I haven't played either of those, but BA should be fairly similar to the original (Total Annihilation) |
18:22:04 | Varriount | Are TFiles automatically closed when garbage collected? |
18:28:56 | Araq | no |
18:29:26 | Araq | I dont see the value in a branch for symlinks |
18:30:06 | Varriount | Araq, I meant, for the pull requests |
18:30:24 | Varriount | Two differente pull requests, or one combined? |
18:31:10 | * | DAddYE quit () |
18:33:11 | * | DAddYE joined #nimrod |
18:39:22 | * | gradha joined #nimrod |
18:41:10 | fowl | Araq, dom96, cant provide another macros.newProc, overloading is impossible with all the default args |
18:46:20 | Varriount | Anyone here know the behavior of linux's various file utilities/api's when dealing with symlinks? |
18:46:41 | fowl | everything in linux "just works" |
18:47:35 | Varriount | fowl, any *useful* answers? |
18:47:53 | Varriount | I'm trying to normalize os.nim behavior when dealing with symlinks. |
18:48:29 | fowl | then you'll need a more specific question |
18:50:05 | Varriount | fowl, what are the default behaviors on linux/posix when the copy, delete, link, and move procedures are used with symlinks as the primary target? |
18:51:07 | fowl | copying a symlink copies the file it points to |
18:51:14 | fowl | deleting a symlink just deletes the symlink |
18:52:06 | fowl | linking to a symlink links to it |
18:52:23 | fowl | moving it moves the symlink |
18:52:31 | Araq | fowl: yeah well. so? the api reflects the impl already anyway |
18:52:40 | Varriount | fowl, thanks. |
18:52:50 | fowl | source: i just tested this with ln, cp, rm, mv |
18:54:15 | Varriount | fowl, are there any other file related procedures I might have missed? |
18:56:54 | fowl | i dunno |
19:00:04 | gradha | Varriount: there's lstat to obtain the link's attributes rather than the file it points to |
19:00:25 | gradha | because it makes perfect sense to have a link with different permissions than the file it points to |
19:01:19 | Varriount | gradha, yes, I know about that. I'm planning to retrofit most of the os.nim file procedures with 'followSymlinks' options |
19:01:30 | gradha | fun |
19:01:50 | Varriount | Though, I don't plan to do that with hard links - their behavior tends to vary *way* too much |
19:02:13 | Varriount | Also, it's ussually nearly impossible to tell if something is a hardlink or not. |
19:07:24 | * | achim joined #nimrod |
19:07:26 | Araq | oh no, please don't |
19:07:47 | Araq | followSymlinks everywhere sounds like bloat |
19:08:05 | Araq | just pretend they don't exist instead, they are stupid |
19:08:21 | Varriount | Araq, I strongly disagree. |
19:09:17 | Varriount | If we pretend that symlinks don't exist, then people run the risk of falling into infinite recursions |
19:09:38 | gradha | the default is to not follow symlinks, so you can't recurse |
19:09:44 | Varriount | besides, the followSymlinks would default to whatever current behavior each function exhibits |
19:09:52 | Varriount | gradha, not true! |
19:10:04 | Varriount | removeDir follows symlinks |
19:10:24 | gradha | but removeDir is not a basic OS layer API, rather a convenience to purge everything recursively |
19:10:42 | Araq | I don't consider it wise to care for the people who think using every single feature of their OS is a good idea |
19:10:51 | Varriount | It's also a recursive function. |
19:11:17 | * | achim quit (Client Quit) |
19:11:36 | fowl | Araq, alright then i will just make the default argument for params be [newEmptyNode()] |
19:11:55 | fowl | Araq, since you at least an entry for return type |
19:12:16 | Araq | hmm yeah ok |
19:12:25 | Varriount | Araq, neither do I, however I would hate to have a program crash for an end user just because they ran it in a mounted folder, or a network share or something. |
19:12:29 | gradha | Varriount: maybe the problem is with removeDir, the base rmdir doesn't do recursion |
19:12:40 | Varriount | gradha, I know. |
19:12:52 | Varriount | That's why I said removeDir, and not rawRemoveDir |
19:13:37 | Varriount | Also, even if it doesn't cause a stack overflow, because links cannot be deleted by rawRemoveDir, it crashes. |
19:13:47 | Varriount | CopyDir has the same problem |
19:13:52 | Varriount | I think |
19:14:11 | Varriount | Yeah, it does. |
19:15:00 | Varriount | Araq, how is it bloat? |
19:15:21 | Varriount | 'Bloat' implies that it isn't necessary or useful. |
19:15:25 | gradha | usually an os module should have rawRemoveDir, and then the convenience removeDir would follow symlinks or whatever, yes, but nimrod's rawRemoveDir is private |
19:16:14 | gradha | it's hard to see which procs are conveniently supercharged and which are the bare bones |
19:17:20 | Varriount | Either followSymlink is added where it is needed, or some sort of pragma that can be pushed and popped (which seems a bit extreme) |
19:17:23 | Araq | meh fine, I can always reject your PR |
19:17:26 | gradha | rawRemoveDir shouldn't crash with a symlink, it should throw an exception or whatever it is the default error mechanism |
19:17:33 | fowl | lol Araq |
19:17:51 | gradha | but Varriount could bribe gradha |
19:17:54 | Varriount | gradha, but removeDir will. I never said that rawRemoveDir would crash. |
19:18:29 | Varriount | Or rather, I did, but I meant it in the "throwing an exception" |
19:18:35 | Araq | it's bloat just like supporting ALL of unicode is bloat. Instead you should write shitty software so that the spec needs to adapt to the real world |
19:18:48 | Araq | and be slimmed down one day |
19:19:11 | Varriount | Wait, what? |
19:19:19 | gradha | Varriount: worse is better |
19:19:35 | Araq | the alternative is that we end up supporting Klingon for Nimrod's unicode module |
19:19:49 | Varriount | Araq, this isn't unicode. This is symlinks |
19:20:04 | Varriount | which is mostly a one or two line change for most procedures. |
19:20:06 | fowl | so..we shouldnt support klingon? o.O |
19:20:09 | gradha | "Symlinks, the klingon of filesystems" - Arac, circa now |
19:21:28 | gradha | directories are extras now too, everybody just opens google and doesn't understand what "folders" are anyway, hmm... we need a google module |
19:21:48 | Araq | Varriount: I hope it's just a one or two line change but I fear it ends up doing 1 additional syscall for every file |
19:22:16 | Varriount | Well, I guess we'll see when the pull request comes. |
19:22:36 | Araq | and btw if posix really cared about consistency or correctness it would provide those procs in the first place! |
19:22:47 | Varriount | What procs? |
19:23:04 | Araq | removeDirRecursively etc. |
19:23:48 | Varriount | Araq, http://linux.die.net/man/3/ftw |
19:24:07 | gradha | wow, a manpage FTW |
19:25:30 | * | ddl_smurf quit (Quit: ddl_smurf) |
19:26:38 | gradha | it's nice when a standard has sentences like "On some systems…" |
19:27:55 | gradha | so people bashed iphones for non replaceable battery and now http://jolla.com has one and people care about specs more? |
19:32:23 | * | gradha regrets not having pushed a Christina Aguilera quote |
19:33:12 | fowl | gradha, a lot of new phones have non-replaceable battery/sd card now |
19:33:19 | fowl | its really irritating |
19:33:29 | fowl | the first thing i do when i get a new phone is buy a double-capacity battery |
19:33:32 | EXetoC | battery even? -.- |
19:34:29 | * | zielmicha quit (Ping timeout: 248 seconds) |
19:34:39 | gradha | fowl: I solve the battery problem by not using the phone or turning it off, works amazingly well |
19:35:15 | fowl | turning it off? how archaic |
19:35:54 | Varriount | My phone uses photosynthesis. Or maybe that's my plant.. What's the difference again? |
19:36:02 | gradha | I'm not yet rich enough to throw them away and buy new ones whenever they are discharged |
19:36:38 | gradha | Varriount: the plant won't post pictures of you to instagram, maybe |
19:36:40 | EXetoC | gradha: are you saying that it should be the same on all systems? |
19:36:58 | EXetoC | or should there be an up-to-date list of systems? |
19:37:36 | fowl | sailfish os.. wtf is it |
19:37:45 | gradha | EXetoC: is your question related to Varriount's plant? |
19:38:56 | EXetoC | ftw |
19:41:02 | gradha | EXetoC: presumably that's what nftw is, a consistent ftw, but unix people dislike killing stuff |
19:41:16 | EXetoC | right |
19:41:33 | gradha | I don't know why today's libc even have strtok, it should be a function which wipes your hard disk without asking, just because you tried to use it |
19:42:20 | Varriount | Hm. For a procedure which returns the type of filesystem object to by 'path' (file, dir, link), what should be done when the given path doesn't exist? |
19:42:53 | gradha | maybe raise exception |
19:43:29 | gradha | or return a tuple with result + bool (ducks) |
19:44:33 | Varriount | gradha, I agree with the first one. |
19:44:43 | Varriount | Although, the second one has... possibilities |
19:44:56 | gradha | you'll love my third suggestion: TMaybe |
19:45:02 | Varriount | :O |
19:45:12 | Varriount | Nuu waaay |
19:46:28 | fowl | lol |
19:46:48 | fowl | should be exception |
19:54:32 | * | zielmicha joined #nimrod |
19:54:59 | gradha | so a VarTuple is essentially an IdentDefs with different assignment behaviour |
19:58:36 | fowl | vartuple? |
19:58:58 | gradha | that's when you write let (a, b) = procReturnsTuple |
19:59:30 | fowl | ah |
19:59:55 | fowl | looks like it yes |
20:00:46 | gradha | Araq: how about https://gist.github.com/gradha/8060490 |
20:02:18 | fowl | gradha, use newNimNode(nnkTupleTy).add(first, second, third) not .add(first).add(second).add(third) |
20:04:10 | fowl | gradha, typedefs dont use kind as the second entry, kind isthe third entry, not sure what the second entry is |
20:04:30 | fowl | so the typedef example doesnt belong there |
20:05:01 | gradha | weird, I recall looking at the AST to get that |
20:05:34 | fowl | your example is right, but out of place |
20:06:01 | gradha | why? it shows one example where kind is used, one where kind is empty |
20:06:05 | fowl | and it says "type definition without kind" its misleading, the kind is the tuple type |
20:06:41 | * | Mat3-brb is now known as Mat3 |
20:06:46 | fowl | kind is not empty... |
20:06:48 | gradha | well, I'm refering to the macro's parameter names, not to their meaning, maybe the parameter should change as well? |
20:07:15 | gradha | basically, ``kind`` is previous to last node, ``default`` is lat |
20:07:18 | fowl | gradha, the second entry in nnkTypeDef is not "kind" |
20:07:37 | fowl | right, for nnkIdentDefs |
20:08:17 | gradha | true, need to look at that again |
20:09:02 | fowl | i wouldnt use a tuple for that example, there cant be a default value for it |
20:09:13 | fowl | use function parameters or var/let |
20:09:50 | fowl | though you can have tuple[x: int = 4] in AST, it wont compile |
20:11:01 | fowl | i used that in enet_pkt_utils so you can specify default values (genPacket(Foo, tuple[x: int = 4, y: string = "foo"])) but you have to remove them before you emit that code |
20:14:15 | BitPuffin | EXetoC: are they free? |
20:14:26 | fowl | gradha, while you're doing stuff in macros.nim you should make the default `params` for newProc be [newEmptyNode()] |
20:15:07 | gradha | fowl: I'm only doing doc stuff nobody cares about, that sounds code related |
20:15:42 | fowl | meh you should just do it while you're in there |
20:16:14 | Mat3 | Araq: ok, my idea is to parse directly from a stream of tokens, whereby each token act as function which reparses the stream independently to get there parameters (and mapping there state to stream as result). This way parsing can be reduced to token seperation and because the syntax is now an direct application of the different token functions this approach leads to new opportunities for syntax rules (which I need to explore before |
20:16:14 | Mat3 | implementation of course) |
20:16:14 | gradha | I don't mind doing that in a different PR |
20:16:25 | * | zielmicha quit (Ping timeout: 272 seconds) |
20:17:17 | gradha | fowl: won't your change break lots of code? |
20:17:42 | fowl | eh? |
20:17:49 | gradha | fowl: changing the default parameter value |
20:18:00 | fowl | no.. |
20:18:34 | gradha | that second full stop doesn't look convincing |
20:19:22 | EXetoC | BitPuffin: yes |
20:20:29 | fowl | gradha, currently if you dont pass at least [newEmptyNode()] for params the compiler segfault |
20:21:20 | gradha | fowl: so maybe add a docstring note that the minimum nodes for params is 1? |
20:21:52 | fowl | that is already there |
20:22:06 | BitPuffin | EXetoC: no u |
20:22:23 | gradha | I'll throw in an assert params.len > 0 |
20:22:30 | fowl | you're killing me |
20:23:02 | BitPuffin | kids these days |
20:23:21 | gradha | I rarely kill people, so don't know if it's good or bad |
20:23:30 | fowl | https://github.com/Araq/Nimrod/pull/768 |
20:23:47 | Araq | Mat3: well as usual I have some rather vague idea of what you're talking about. However, if parsing Nimrod already scratches on your (insane) code size limitations there is little help for the rest of the language to work. For instance overloading resolution too is now 1200 lines of code... |
20:24:04 | EXetoC | so let the assert enforce that :p |
20:24:15 | gradha | fowl: asserts are cool, sprinkle some |
20:24:22 | EXetoC | damn right |
20:24:47 | fowl | gradha, maybe you should also assert that the first item is not an ident def, and that the rest of the items ARE ident defs |
20:25:08 | gradha | yes, but loops and asserts are weird |
20:25:20 | * | dymk quit (Ping timeout: 245 seconds) |
20:26:58 | EXetoC | Araq: of course it must fit on any embedded system currently in use :p |
20:28:27 | Mat3 | Araq: Its an complete different approach to parsing than the current code-base, so no problem so far - I just need to explore the limitations right now and will ask you at demand. If langauges like Pascal can be handled this way I have hope Nimrod's syntax can also (more or less) |
20:28:48 | Mat3 | ^languages, it's |
20:38:31 | gradha | Araq: updated https://gist.github.com/gradha/8060490 |
20:41:18 | EXetoC | gradha: weird how? sure, it might do nothing if assertions are compiled out, but it shouldn't be a big deal |
20:41:59 | gradha | EXetoC: I find it weird that asserts are declarative, but loops are imperative, if that makes any sense |
20:46:36 | * | xenagi joined #nimrod |
20:51:26 | * | dymk joined #nimrod |
20:52:01 | EXetoC | I don't know if one should look at it differently compared to any other statements |
20:54:59 | * | Mat3 http://www.infoq.com/presentations/power-144-chip |
20:55:38 | Araq | Mat3: watched it live :P |
20:55:57 | Mat3 | well, nice task I think |
20:56:04 | Mat3 | sorry talk |
20:57:50 | * | dymk quit (Ping timeout: 245 seconds) |
20:58:18 | EXetoC | gradha: and what if the loop is hidden behind a call to reduce? does that make a difference somehow? |
21:00:28 | gradha | yes |
21:00:56 | * | dymk joined #nimrod |
21:02:05 | NimBot | Araq/Nimrod master 89c00f5 Billingsly Wetherfordshire [+0 ±1 -0]: Update macros.nim |
21:02:05 | NimBot | Araq/Nimrod master 9da7a0f Andreas Rumpf [+0 ±1 -0]: Merge pull request #768 from fowlmouth/patch-2... 2 more lines |
21:02:46 | NimBot | Araq/Nimrod master 86382db Grzegorz Adam Hankiewicz [+0 ±1 -0]: Replaces PDoc with var TRstGenerator for documentation.... 3 more lines |
21:02:46 | NimBot | Araq/Nimrod master 2fe78ca Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds missing ``code-block`` to macros' docstrings. |
21:02:46 | NimBot | Araq/Nimrod master 6fa4a1c Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds some docstrings to rstgen. |
21:02:46 | NimBot | Araq/Nimrod master ce0d979 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Updates idetools docs after changes by #743. |
21:02:46 | NimBot | 2 more commits. |
21:05:12 | Mat3 | ciao |
21:05:23 | gradha | bye |
21:05:32 | * | Mat3 left #nimrod ("http://quassel-irc.org - Chat comfortably. Anywhere.") |
21:15:29 | * | bstrie joined #nimrod |
21:21:01 | OrionPKM | https://dl.dropboxusercontent.com/u/417554/jestertemplates.png |
21:21:24 | OrionPKM | dom96 you should export strtabs from jester |
21:21:41 | OrionPKM | seriously ambiguous errors if you forget to import it :P |
21:25:13 | Araq | OrionPKM: your json patch looks good, but it's my chance to get the docgen documented so ... |
21:25:21 | EXetoC | gradha: ok do that then |
21:25:27 | Araq | I'll accept it if you document it :P |
21:25:51 | OrionPKM | lol |
21:26:00 | Varriount | Araq, what kind of windows compatibility are you aiming for? |
21:26:03 | OrionPKM | accept it, and I'll submit another PR for documentation araq |
21:26:50 | Varriount | I mean, in terms of minimum windows version needed to use parts of nimrod |
21:26:54 | dom96 | OrionPKM: good idea, but that's just a workaround to a 'bind' bug. |
21:27:28 | Araq | Varriount: well I test it on win xp from time to time |
21:27:34 | * | filwit joined #nimrod |
21:27:38 | Araq | hey filwit! |
21:27:47 | filwit | hey Araq |
21:27:56 | Araq | hi bstrie welcome |
21:27:59 | filwit | one sec, brb |
21:28:19 | NimBot | Araq/Nimrod master 7dc120e Erik O'Leary [+0 ±3 -0]: Added jsondoc compiler switch... 2 more lines |
21:28:19 | NimBot | Araq/Nimrod master fe60171 Andreas Rumpf [+0 ±3 -0]: Merge pull request #742 from onionhammer/master... 2 more lines |
21:29:12 | OrionPKM | dom96 ahh wasnt aware |
21:29:42 | Araq | well now that the compiler likes json, we should make it generate json for the error messages and the suggest stuff too |
21:31:59 | * | zielmicha joined #nimrod |
21:38:12 | OrionPKM | araq did you just want it added to the nimrodc/user guide documentation? |
21:38:44 | OrionPKM | I'll add it in when i get home from work, made a reminder for myself |
21:42:36 | Araq | please create a separate document for it |
21:42:44 | Araq | explaining doc vs. doc2 |
21:43:04 | Araq | providing some examples and linking to gradha's RST reference |
21:45:22 | bstrie | Araq: hello |
21:47:53 | EXetoC | (•̪●) (•̪●) |
21:56:33 | gradha | wow, now I have an RST reference |
21:57:17 | OrionPKM | dom96 I think a temporary workaround would actually be ok, given how simple it is, no? |
21:57:18 | * | MFlamer quit (Read error: Connection reset by peer) |
21:57:39 | dom96 | OrionPKM: sure, make a PR |
21:58:25 | * | MFlamer joined #nimrod |
21:59:15 | filwit | hey folks |
21:59:25 | dom96 | hey filwit, sup? |
21:59:45 | filwit | dom96, i noticed you did a bit of refactoring of the main repo? |
21:59:58 | filwit | i think i remember that, moved some package into babel or something? |
22:00:27 | dom96 | filwit: it was mostly fowl that did the work IIRC |
22:00:52 | filwit | oh, cool |
22:01:06 | filwit | anyways, I just had a bit of time to work on some nimrod stuff |
22:01:35 | filwit | i've been really busy with other things, but have been plotting out some stuff for my project |
22:02:03 | Varriount | Apparently Windows has a "Magazine not present" error |
22:02:08 | filwit | i tried to do some tests earlier, with delegates, but I can't make something happen.. |
22:03:32 | filwit | basically, in my code i'll wind up with a bunch of "proc something(this:T)", but i'll be wanting to call them like: var p: pointer; something(p) |
22:04:12 | fowl | wtf is magazine not present |
22:04:20 | gradha | it's to shot users |
22:04:39 | filwit | actually, no wait, i believe i fixed this problem the last time i thought about it.. damn, nevermind |
22:11:02 | filwit | oh, btw, does {.noInit.} matter on procs which only "return" and never use "result"? |
22:11:48 | OrionPKM | you mean does it affect procs that return void? |
22:12:58 | filwit | no i mean does it initialize var (result) even if that var isn't present in the function? |
22:13:08 | Araq | yeah |
22:13:09 | fowl | filwit, check the generated c |
22:13:23 | filwit | Araq: yeah to what? |
22:13:30 | Araq | but I'd rather fix the compiler than make you write {.noinit.} everywhere |
22:13:55 | Araq | in fact, don't write noInit and make a bug report instead |
22:14:11 | Araq | by the time your code is ready, so will be the compiler :P |
22:14:38 | OrionPKM | deprecating noinit? |
22:15:10 | filwit | OrionPKM: no, it's still relevant for procs which use 'result' |
22:15:25 | filwit | Araq: okay, i will make a report :) |
22:15:28 | OrionPKM | is it? |
22:15:54 | filwit | ps. i started a few sketches for the mascot, but nothing i'm too proud of yet |
22:16:04 | OrionPKM | if the user declares a result variable, then dont make a result variable. if they use a result variable but dont declare it, make a result variable |
22:16:06 | filwit | still trying to characterize him a bit |
22:17:11 | filwit | OrionPKM: yeah, that's what the bug report is going to be about :) |
22:17:45 | OrionPKM | yeah but what do you need noinit for afte rthat |
22:17:54 | filwit | oh wait, i see what you're saying |
22:18:00 | OrionPKM | also, bucky badger is already the mascot |
22:18:04 | OrionPKM | http://course1.winona.edu/naulik/Images/bucky.gif |
22:18:06 | OrionPKM | :P |
22:18:10 | OrionPKM | just rip it off |
22:18:39 | filwit | oh, you guys already made the mascot? okay, cool |
22:18:49 | filwit | i've been out of the loop for awhile |
22:18:55 | fowl | noooo |
22:18:57 | OrionPKM | oh, it's the honey badger :P |
22:18:58 | fowl | thats some W team |
22:19:14 | filwit | ah, right, just took another look at him |
22:19:20 | OrionPKM | UW madison |
22:19:22 | filwit | you mean just base the graphics off him |
22:19:29 | OrionPKM | yes |
22:19:29 | gradha | Araq: I don't understand https://github.com/Araq/Nimrod/issues/720, TChannel is presumably in system/channels, which is automatically imported |
22:20:34 | filwit | I was trying to iconify this guys face a bit: http://ngm.nationalgeographic.com/ngm/0409/feature6/images/ft_hdr.6.jpg |
22:20:59 | filwit | and put it on a body similar to that image you sent |
22:25:18 | dom96 | I'm not sure about the honey badger anymore. |
22:25:28 | dom96 | Bitcoin seems to be adopting it as their mascot |
22:26:31 | filwit | didn't Bitcoin just get outlawed in China or something? |
22:26:49 | fowl | https://www.youtube.com/watch?feature=player_embedded&v=BBQ7ukwK56Q |
22:28:08 | fowl | dom96, search for bitcoin mascot says that the alpaca is the mascot |
22:28:57 | dom96 | yes, but you also get this: http://i.imgur.com/YMqrrDJ.jpg |
22:30:07 | gradha | bitcoin was made by a japanese, therefore the mascot is pikachu |
22:32:31 | fowl | lol |
22:54:25 | * | filwit quit (Quit: Leaving) |
23:14:42 | gradha | good night, honey badgers |
23:14:46 | * | gradha quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=dEf4PJZXBxA again) |
23:15:24 | * | darkf joined #nimrod |
23:18:14 | * | zielmicha quit (Ping timeout: 240 seconds) |
23:57:40 | * | Varriount quit (Read error: Connection reset by peer) |
23:58:44 | * | Varriount joined #nimrod |