00:07:07 | * | skroll quit (Ping timeout: 240 seconds) |
00:16:03 | flaviu1 | Araq: Since you're going through pull requests, can you merge or close #1202? |
01:08:56 | * | q66 quit (Quit: Leaving) |
01:34:17 | * | flaviu1 quit (Quit: Leaving.) |
03:01:14 | * | ehaliewicz quit (Read error: Connection reset by peer) |
03:08:38 | * | sdw joined #nimrod |
03:11:55 | * | brson quit (Ping timeout: 240 seconds) |
04:19:19 | * | ehaliewicz joined #nimrod |
04:39:26 | * | bjz joined #nimrod |
05:08:21 | * | xtagon quit (Quit: Leaving) |
05:11:28 | * | New-Guy joined #nimrod |
05:11:37 | New-Guy | Howdy |
05:43:57 | * | Demos_ quit (Read error: Connection reset by peer) |
06:04:52 | * | nande_ quit (Read error: Connection reset by peer) |
06:43:24 | * | boydgreenfield joined #nimrod |
06:46:25 | * | boydgreenfield_ joined #nimrod |
06:47:31 | * | boydgreenfield quit (Ping timeout: 240 seconds) |
06:49:13 | * | boydgreenfield joined #nimrod |
06:50:58 | * | boydgreenfield_ quit (Ping timeout: 258 seconds) |
06:55:03 | * | zahary joined #nimrod |
07:01:51 | * | New-Guy quit (Quit: Page closed) |
07:11:23 | * | boydgreenfield quit (Quit: boydgreenfield) |
07:12:26 | * | john3213 joined #nimrod |
07:17:29 | * | john3213 left #nimrod (#nimrod) |
08:35:39 | * | Matthias247 joined #nimrod |
09:20:40 | EXetoC | Araq: what about the unresolved C++ bugs? |
09:22:10 | EXetoC | and what was the problem with system.nim? simply that it doesn't consist of more submodules? I just wanted to add that slice iterator for the sake of consistency |
09:32:53 | * | kunev joined #nimrod |
09:51:32 | Araq | EXetoC: it's already bloated, I think we need another implicitly imported module |
10:17:45 | Araq | so ... I decided to name my futures "Promise" as I couldn't find a better name |
10:18:16 | Araq | so we now have futures&promises as in C++ but with completely different semantics ... |
10:21:50 | * | silven joined #nimrod |
10:26:37 | EXetoC | ok. numerical types and operations take up a decent chunk, and other categories less so. does the length matter much? many submodules are <200 lines |
10:32:33 | dom96 | I'm still voting to combine them |
10:33:25 | * | q66 joined #nimrod |
10:33:25 | * | q66 quit (Changing host) |
10:33:25 | * | q66 joined #nimrod |
10:33:45 | EXetoC | what are you referring to? |
10:33:53 | dom96 | futures & promises |
10:35:35 | Araq | dom96: wrapping a promise in a future will be possible but is not my priority |
10:36:59 | Araq | brb |
10:38:42 | dom96 | Fine. Implement it like that, but know that i'll likely convince you eventually and it'll mean you will have more work to do :P |
10:44:35 | * | io2 joined #nimrod |
10:50:59 | dom96 | bbl |
10:55:32 | * | ehaliewicz quit (Ping timeout: 258 seconds) |
11:03:12 | Varriount | Araq: dom96 and I were talking yesterday about splitting the system module into multiple, but still implicitly imported, modules |
11:10:37 | * | io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist) |
11:11:59 | EXetoC | so, just doc comments and include statements? |
11:13:04 | EXetoC | maybe with some exceptions |
11:13:25 | Varriount | EXetoC: Hm? The things that don't really 'fit' in any defined category would probably remain in the system module, but yes, that's the main idea. |
11:14:09 | Varriount | Even if we had some fancy in-page search, browsing the system module's documentation is something of a cognitive overload. |
11:19:07 | * | kunev quit (Ping timeout: 240 seconds) |
11:22:26 | EXetoC | the separation exists only if you don't browse the generated documentation |
11:22:45 | EXetoC | but more fine-grained control over the layout is useful sometimes |
11:22:55 | Varriount | EXetoC: Er, what do you mean? |
11:23:28 | Varriount | The system module's documentation page is one of the largest pages in the documentation set. |
11:23:41 | Varriount | (Barring the pages for some of the wrapper modules) |
11:24:25 | EXetoC | yes, and it already has a couple of submodules, all of which end up in system.nim's AST, so something else would have to be done |
11:27:28 | EXetoC | I was going to use opengl.nim as an example, but I think it should be split in two rather than being divided into documentation sections |
11:28:19 | * | saml_ joined #nimrod |
11:28:26 | Varriount | EXetoC: Yes, but for implicitly imported modules, separation of ast doesn't really matter. |
11:32:51 | EXetoC | not entirely sure what you mean by that, but I think I know what you want the end result to be; one generated documentation file per submodule, right? |
11:33:06 | Varriount | EXetoC: Yes. |
11:33:52 | Varriount | Instead of the current hulking documentation page. |
11:35:08 | EXetoC | yep |
11:47:20 | Varriount | HAs anyone actually used the mysql module? I'm surprised that the thing even compiles, considering that some reserved words are used as parameter identifiers in several places. |
11:52:11 | EXetoC | such as? I've found two quoted keywords so far |
11:53:59 | Varriount | from, bind, stmt, |
11:55:34 | EXetoC | from and bind are escaped. I don't know if stmt compiles but that proc is in a "when false" block |
11:56:23 | dom96 | I think seperating the system module into documentation sections is a "good enough" solution. |
11:57:39 | Varriount | What would be the best solution? |
12:00:05 | dom96 | First we should wait for (or help with) filwit's documentation improvements. |
12:00:16 | dom96 | that will already make the docs super awesome and much more readable IMO |
12:00:32 | Varriount | Speaking of which, has anyone seen filwit around lately? |
12:03:42 | dom96 | !seen filwit |
12:03:42 | NimBot | filwit was last seen on Tue May 20 06:41:25 2014 quitting with message: Ping timeout: 276 seconds |
12:03:46 | dom96 | Yes |
12:03:47 | EXetoC | the generated documentation has hyperlinks to included files so that's good. include + sections should do then |
12:03:55 | dom96 | I think he's sick currently. |
12:04:11 | Varriount | Aww. We should send him get well soon cards. |
12:05:06 | EXetoC | can't he just write code while in bed? wimp |
12:05:31 | EXetoC | yes, let's. anyone has his address? |
12:06:24 | EXetoC | let's do it the oldschool way |
12:06:26 | Varriount | EXetoC: Yeah, you try coding while nauseous. Cleaning vomit off a laptop is not fun. |
12:06:50 | EXetoC | I'm also a wimp |
12:13:07 | * | untitaker quit (Ping timeout: 240 seconds) |
12:18:48 | * | untitaker joined #nimrod |
12:29:22 | Varriount | Hi untitaker |
12:29:47 | Varriount | dom96: What's the difference between the 'major' and 'showstopper' labels for issue's on Github? |
12:30:11 | dom96 | Varriount: Showstopper usually means it can't be worked around |
12:30:34 | Varriount | And what constitutes a 'major |
12:30:43 | Varriount | A 'major' issue? |
12:32:04 | dom96 | dunno |
12:32:16 | dom96 | a serious issue |
12:42:47 | NimBot | Araq/Nimrod devel 0595338 Clay Sweetser [+0 ±1 -0]: Fix assertion in queues.dequeue |
12:42:47 | NimBot | Araq/Nimrod devel ede902a Varriount [+0 ±1 -0]: Merge pull request #1223 from Varriount/queues/fix-assertion... 2 more lines |
12:48:28 | * | silven quit (Remote host closed the connection) |
12:49:33 | Varriount | Anyone know if Apple provides a test version of MacOSX, like Microsoft does for Internet Explorer developers? |
12:55:20 | dom96 | I doubt it, I bet you can get a pirated version though. |
12:55:27 | dom96 | brb |
12:56:12 | Varriount | But I don't want to break the law... :/ |
12:59:10 | NimBot | Araq/Nimrod devel fa961f1 enurlyx [+0 ±1 -0]: 1) export UINT... 1 more lines |
12:59:10 | NimBot | Araq/Nimrod devel a2692f9 enurlyx [+0 ±1 -0]: Changed COLORREF from int to DWORD (32 bit long), so that it works also on 64bit Windows |
12:59:10 | NimBot | Araq/Nimrod devel 46fa465 Clay Sweetser [+0 ±1 -0]: Merge branch 'Windows' of git://github.com/enurlyx/Nimrod into enurlyx-Windows |
12:59:10 | NimBot | Araq/Nimrod devel d43c06d Clay Sweetser [+0 ±1 -0]: Manual merge of pull request #1138 |
12:59:10 | NimBot | 1 more commits. |
13:02:24 | * | darkf quit (Quit: Leaving) |
13:03:09 | dom96 | Varriount: What do you want to test? |
13:03:12 | Varriount | dom96: You see anything wrong with https://github.com/Araq/Nimrod/pull/1221 ? |
13:03:56 | Varriount | dom96: The doc2 bug that gradha reported at https://github.com/Araq/Nimrod/issues/1134 |
13:04:01 | dom96 | Varriount: yes |
13:04:52 | dom96 | Varriount: try running nimrod doc2 --os:macosx selectors.nim |
13:12:50 | NimBot | Araq/Nimrod devel 0dc7703 Clay Sweetser [+0 ±1 -0]: Fix issue #1134... 2 more lines |
13:12:50 | NimBot | Araq/Nimrod devel b3a3952 Varriount [+0 ±1 -0]: Merge pull request #1225 from Varriount/fix-issue/1134... 2 more lines |
13:15:47 | Varriount | dom96: What was wrong with PR 1221? |
13:16:16 | dom96 | IIRC even numbers are more optimal with the default GC. |
13:17:12 | Varriount | dom96: You sure you don't mean powers of two/factors of the memory page size? |
13:17:17 | dom96 | yes |
13:17:20 | dom96 | That's what Araq told me. |
13:17:34 | dom96 | So better ask him. |
13:17:45 | Varriount | I could manually merge it in, and change the size to something else. |
13:18:28 | dom96 | Better ask Araq. |
13:22:00 | Varriount | dom96: I need to take a break from working on file monitoring, so I figure a good use of my time would be fixing the trivial bugs that tend to build up. |
13:22:12 | dom96 | sure |
13:22:26 | Varriount | 'trivial' being mainly bugs involving stdlib machinary. |
13:32:06 | * | boydgreenfield joined #nimrod |
13:32:44 | dom96 | it seems the forum compilation issues are caused by htmlgen |
13:34:51 | dom96 | do we have anything better in babel? |
13:35:11 | Varriount | EXetoC: Is it possible you could simplify your issue examples so that I can actually run them? |
13:35:12 | * | boydgreenfield_ joined #nimrod |
13:36:19 | * | boydgreenfield quit (Ping timeout: 252 seconds) |
13:36:19 | * | boydgreenfield_ is now known as boydgreenfield |
13:39:19 | dom96 | New templates have broken the code :\ |
13:41:16 | EXetoC | Varriount: which ones? they should all be usable test cases |
13:41:29 | EXetoC | the last one might be a little big though. I should be able to reduce that |
13:41:46 | Varriount | https://github.com/Araq/Nimrod/issues/1201 |
13:42:06 | Varriount | https://github.com/Araq/Nimrod/issues/1215 |
13:42:55 | dom96 | Varriount: You shouldn't import epoll on mac os x in selectors |
13:43:43 | Varriount | dom96: Then why is epoll machinery being used on MacOSX? |
13:44:00 | dom96 | it shouldn't be. |
13:44:04 | dom96 | if it is |
13:44:25 | dom96 | and it's not |
13:44:57 | Varriount | dom96: When I ran that code example gradha posted, the output showed "selectors.nim(36, 24) Error: undeclared identifier: 'epoll_event'" and the like |
13:45:14 | dom96 | That's because of the 'or defined(nimdoc)' |
13:45:22 | dom96 | that's wrong. |
13:45:46 | dom96 | Mac OS X does not support Epoll |
13:46:18 | Araq | proc `^`*[T](fut: Future[ref T]): foreign ptr T |
13:46:27 | Araq | regionized pointers are cool :-) |
13:47:06 | dom96 | Araq: Is this a regression? I can't call a template with no params without the () |
13:49:04 | * | dom96 thinks he will slaughter most of jester |
13:49:51 | dom96 | It will lose its sinatra-like powers but at least I won't constantly get bitten by ambiguous symbols |
13:50:47 | Varriount | dom96: Ok then, what should be changed to fix the selector module docgen? |
13:50:58 | dom96 | Varriount: Good question |
13:51:49 | dom96 | I think it would be wise to document the 'else' branch of the when |
13:51:56 | dom96 | and change it to an 'elif defined(nimdoc)' |
13:52:09 | * | boydgreenfield quit (Quit: boydgreenfield) |
13:52:12 | dom96 | since all the major platforms support select |
13:52:18 | Varriount | dom96: Kinda like what the OS module does? |
13:52:33 | Araq | dom96: yeah indeed though I think 0.9.4 works with jester? |
13:53:01 | dom96 | Araq: I don't have 0.9.4 around to check |
13:53:08 | Araq | oh well we really need that 0.9.4.2 release I think anyway |
13:53:23 | Araq | I'll help you sort it out ... tomorrow |
13:53:32 | Araq | I gotta go bye |
13:53:51 | dom96 | Araq: ok |
13:54:44 | dom96 | Varriount: not really |
14:04:23 | EXetoC | Varriount: ok done. I'll reduce and report the third bug later |
14:04:44 | Varriount | EXetoC: Thanks. |
14:11:59 | * | flaviu1 joined #nimrod |
14:12:43 | EXetoC | acc -> accents. yup, definitely justified :p |
14:13:25 | Varriount | EXetoC: You're referencing my changes? |
14:13:40 | EXetoC | yes |
14:14:22 | Varriount | EXetoC: For all a new user knows, it could mean "consider accuracy" " consider accountancy", etc |
14:15:18 | EXetoC | I wasn't being sarcastic btw |
14:18:07 | EXetoC | so .. has higher priority than div? |
14:20:17 | EXetoC | only with strongSpaces |
14:31:56 | dom96 | You guys think a future which is completed with an exception should fail immediately if it does not have a callback associated with it? |
14:32:43 | Varriount | dom96: What's the alternative? |
14:33:09 | Varriount | dom96: Also, you might want to think of adding support for 'errbacks' if possible. |
14:33:29 | dom96 | The alternative is that you need to be careful when discarding futures |
14:34:11 | dom96 | That's easy to emulate so I won't add it |
14:37:50 | dom96 | Raising the exception immediately will be a bit unexpected I think |
14:38:38 | dom96 | But hitting an issue where your exceptions is silently ignored sounds much worse |
14:39:18 | EXetoC | yeah |
14:40:33 | dom96 | oh well. This stuff is experimental anyway :P |
14:47:12 | Varriount | What is "tyBigNum"? |
14:51:14 | flaviu1 | Varriount: a type, BigNum |
14:51:31 | Varriount | flaviu1: We have a BigNum type? |
14:51:40 | Varriount | flaviu1: I found that in the compiler source code. |
14:52:12 | flaviu1 | No, I think its just a BigInt or something |
14:54:39 | flaviu1 | Or maybe its leading up to the inclusion of a bignum as a language construct, although that makes no sense since that needs to be done as a library |
15:00:09 | Varriount | Hm. What should 100.type.repr return? The same as $type(100)? |
15:05:32 | EXetoC | there is no $ for typedesc, but there's typetraits.name |
15:09:22 | Varriount | Hrm. Seems a bit silly to me. If $ is 'stringify', then you would expect it to give the name of the type. |
15:09:37 | Varriount | Or repr to give the name of the type, at the very least. |
15:21:59 | dom96 | hrm |
15:22:08 | dom96 | simply enabling threads causes all sorts of issues with IOCP |
15:23:26 | Varriount | Araq: Any pointers on how to change genRepr to handle types? It's call to initLoc is getting stuck on getUniqueType. |
15:24:56 | Varriount | Araq: Since I don't know the compiler internals, I can only guess that initLoc initializes a location in the C code for a variable, and it uses getUniqueType to determine the type of that variable. |
15:25:09 | Varriount | dom96: Like what? |
15:25:22 | dom96 | like connectEx suddenly failing |
15:25:32 | dom96 | osErrorMsg gives nothing |
15:26:13 | Varriount | dom96: Hm. Are you actually using multiple threads, or just doing --threads:on? |
15:26:31 | dom96 | just --threads:on |
15:27:54 | Varriount | dom96: Wait, is connectEx one of the api procedures that you have to manually retrieve a pointer to at runtime? |
15:28:00 | dom96 | yeah |
15:29:47 | Varriount | dom96: Silly question: Is the number of threads at runtime different? |
15:30:06 | dom96 | dunno |
15:35:04 | dom96 | well this sucks |
15:35:56 | Varriount | dom96: It might be worth setting up a barebones test, using only the Windows api, and see if you can get that to work first. |
15:36:17 | Varriount | Then you can deal with shoehorning it into asyncdispatch machinary. |
15:37:14 | dom96 | Meh. |
15:40:27 | flaviu1 | Araq: I feel that reference equality should be another method, not `==`. `eq` maybe? |
15:40:50 | Varriount | flaviu1: I think you mean 'is' |
15:41:49 | flaviu1 | Varriount: Isn't `is` taken already as the java `instanceof` operator? |
15:41:53 | * | kunev joined #nimrod |
15:42:41 | Varriount | flaviu1: Hm. You're right. |
15:42:52 | Varriount | Hello kunev |
15:43:43 | kunev | hey :) |
15:46:11 | Varriount | Anyone know what the 'expr' procedure in ccgexpr.nim is meant to do? |
15:52:58 | * | Matthias247 quit (Read error: Connection reset by peer) |
15:57:47 | EXetoC | flaviu1: you don't want to dereference? |
15:58:01 | EXetoC | nvm |
16:01:09 | * | bjz quit (Ping timeout: 252 seconds) |
16:01:50 | * | bjz joined #nimrod |
16:15:16 | * | boydgreenfield joined #nimrod |
16:19:02 | * | enurlyx joined #nimrod |
16:20:06 | enurlyx | Hi |
16:20:35 | enurlyx | Is there a way to handle structs in structs in struct automaticly with c2nim? |
16:20:53 | enurlyx | Same goes for union in structs ... |
16:22:37 | * | boydgreenfield_ joined #nimrod |
16:24:20 | * | boydgreenfield quit (Ping timeout: 252 seconds) |
16:24:20 | * | boydgreenfield_ is now known as boydgreenfield |
16:25:47 | fowl | enurlyx, yeah someone has to write the support into it |
16:26:10 | enurlyx | So it means c2nim does not support it yet |
16:26:23 | fowl | yea |
16:28:23 | enurlyx | I try to add it then. Lets see if i can understand the code |
16:32:50 | * | boydgreenfield quit (Quit: boydgreenfield) |
17:05:50 | * | q66 quit (Quit: Leaving) |
17:20:13 | * | Jesin joined #nimrod |
17:30:54 | * | oxful__ quit (Quit: Leaving) |
17:44:54 | * | Jesin quit (Quit: Leaving) |
17:53:15 | * | enurlyx quit (Quit: Nettalk6 - www.ntalk.de) |
19:01:59 | * | kunev quit (Quit: leaving) |
19:18:20 | * | Matthias247 joined #nimrod |
19:24:38 | * | hoverbear joined #nimrod |
19:30:32 | * | brson joined #nimrod |
19:38:12 | * | bjz quit (Ping timeout: 245 seconds) |
19:38:58 | * | bjz joined #nimrod |
19:44:49 | * | ehaliewicz joined #nimrod |
19:48:57 | * | caioariede joined #nimrod |
19:52:22 | caioariede | hi guys! how could I check if a given object has a certain property? for example: hasProperty(obj, "name") |
19:56:59 | flaviu1 | caioariede: I'm not sure what you mean. If an object doesn't have a certain property, the call to that property shouldn't compile. |
19:59:40 | caioariede | yeah.. in fact, I'm trying to parse/convert a string like this: "myobject.someproperty" to: ctx["myobject"].someproperty |
19:59:53 | caioariede | any thoughts? |
20:00:32 | caioariede | in Python (for example), it would be something like this: getattr(ctx["myobject"], "someproperty") |
20:00:48 | caioariede | I'm not trying to compare the two languages, it's just an example. |
20:01:04 | * | Demos_ joined #nimrod |
20:01:41 | * | Demos_ quit (Read error: Connection reset by peer) |
20:02:29 | * | Demos_ joined #nimrod |
20:02:36 | Demos_ | hello New-Guy! |
20:02:42 | Demos_ | welcome to Nimrod |
20:03:56 | flaviu1 | caioariede: You could use a macro pragma, I think |
20:05:15 | flaviu1 | Annotate each method with a thing that says its available for reflection and place its name and pointer into a global table |
20:06:35 | flaviu1 | Another possibility is to make a method that dispatches a string to all the possible functions |
20:06:46 | EXetoC | if it's worth the trouble. we rely on compile-time information in general |
20:06:54 | flaviu1 | There isn't really a clean way to do this |
20:07:25 | Demos_ | well the global table is kinda how a language with runtime reflection would work |
20:08:45 | flaviu1 | Main disadvantage of the global table is that he'll probably run into VM bugs |
20:12:59 | dom96 | caioariede: I'm assuming you want to do this at runtime? |
20:13:56 | caioariede | yes. the string "myobject.someproperty" is coming from an external file. |
20:14:29 | dom96 | caioariede: What's the use case? |
20:14:52 | flaviu1 | I assume a configuration file? |
20:15:42 | caioariede | it's for a template engine (like django) |
20:15:43 | dom96 | You can use the typeinfo module for this I think: http://build.nimrod-lang.org/docs/typeinfo.html |
20:16:01 | dom96 | But you should probably do it at compile-time instead |
20:16:19 | caioariede | https://github.com/caioariede/pum/blob/master/framework/nimtpl/tplcontext.nim#L23 |
20:16:55 | caioariede | right now it's just accepting "variable" but I'm trying to make it accept things like "obj_variable.name" |
20:17:37 | caioariede | dom96: thanks, I'll take a look at typeinfo |
20:17:49 | dom96 | toAny(obj)["field"] should work I think. |
20:19:40 | flaviu1 | caioariede: The way that templates are usually done is with http://nimrod-lang.org/filters.html |
20:22:20 | caioariede | yeah.. I know. It's quite different from what I'm doing: https://github.com/caioariede/pum/blob/master/framework/templates/template_error.html |
20:22:43 | dom96 | caioariede: That's nice. |
20:23:10 | caioariede | thx :) |
20:23:17 | caioariede | I'm new to Nimrod, but I'm trying to learn this way |
20:23:24 | dom96 | caioariede: Split it into its own package if you can. |
20:23:58 | dom96 | so that I can use it in my web apps :) |
20:24:22 | caioariede | yeah.. I started this way because it's easier to start, later I'll have probably three packages: app (which uses the framework), the web framework and the template system |
20:24:53 | caioariede | in fact, the app is just for testing purposes |
20:24:55 | dom96 | cool |
20:35:30 | * | Matthias247 quit (Read error: Connection reset by peer) |
20:41:32 | * | Mat3 joined #nimrod |
20:41:35 | Mat3 | hello |
20:43:07 | reactormonk | Mat3, o/ |
20:44:55 | caioariede | dom96: I'm trying to use toAny but I'm getting this error: https://gist.github.com/caioariede/f6403dae83568cf3aa14 -- any thoughts? |
20:46:35 | dom96 | hrm, try removing ref |
20:47:08 | EXetoC | hurm hurm |
20:49:04 | Mat3 | hello ractormonk |
20:49:24 | * | brson quit (Quit: leaving) |
20:49:28 | * | superfunc joined #nimrod |
20:49:42 | superfunc | hey everybody |
20:51:17 | flaviu1 | Demos_: Sorry, I forgot about your bug until now. I've managed to reproduce it, but I have to check what the old behavior was. |
20:51:36 | Demos_ | yeah I thought it was just generateing uppercase names, but I am not sure |
20:52:03 | Demos_ | I really should have filed an issue, but I kept telling myself I would just fix the thing myself |
20:53:40 | flaviu1 | Demos_: It doesn't work with the revision before my changes either. |
20:54:13 | Demos_ | oh maybe the blame is not on you then |
20:55:09 | flaviu1 | Demos_: I'm leaning towards not fixing this, you're explicitly asking for it to be exported with the given names |
20:55:20 | Demos_ | it should work with e54ab22bf, and I really am not asking for that |
20:55:42 | Demos_ | not fixing it would mean prohibiting the use of all C keywords |
20:55:51 | flaviu1 | Demos_: Try `type TTest = object \n union {.exportc: "Union".}: int` |
20:56:17 | Demos_ | right, but I am not exportcing these things |
20:57:07 | flaviu1 | Demos_: Can you gist your testcase? I think that it may be different from mine |
20:57:14 | Demos_ | sure |
20:58:41 | Demos_ | OK I just made an issue #1226 |
20:58:48 | Demos_ | I bet lowercase union would also produce the bug |
20:59:14 | Demos_ | when nimrod compiles a file does it produce a failure exit code if the C compiler fails? |
21:01:28 | flaviu1 | Demos_: No, you're right, its my fault |
21:02:31 | EXetoC | Varriount: how's it going and stuff? are you using a debugger? |
21:04:59 | * | Demos__ joined #nimrod |
21:05:04 | flaviu1 | Demos_: I have no idea why my code isn't working, its really weird |
21:06:06 | Mat3 | flaviu1: what is the reason for .exportc ? |
21:06:10 | flaviu1 | If I convert both `'a'..'z'` and `'A'..'Z'` to uppercase, it works, but if I only convert `'a'..'z'` it compiles incorrectly |
21:06:30 | Demos__ | that is wieeeerd |
21:06:51 | flaviu1 | Mat3: To choose an identifier that isn't a C keyword. Ignore that though, its a bug that needs fixing |
21:07:43 | * | Demos_ quit (Ping timeout: 258 seconds) |
21:08:53 | Mat3 | let's check up the generated C code |
21:10:51 | Mat3 | no error here (Nimrod 0.9.4) |
21:11:45 | Demos__ | Mat3: the error is in Nimrod devel or 0.9.5 |
21:11:48 | flaviu1 | Mat3: Correct, it works on 0.9.4. I broke it in a568c6102 |
21:13:06 | Mat3 | sorry |
21:13:32 | flaviu1 | Demos__: Apply https://gist.github.com/52539e4a24d6e84c8b14 |
21:13:38 | flaviu1 | I've sent a pull request |
21:14:01 | flaviu1 | Sorry, thats the reverse patch |
21:14:23 | flaviu1 | https://gist.github.com/flaviut/6cafd2e4f0249c82b117 is the correct pach |
21:14:29 | Demos__ | this sounds like a underlying bug |
21:14:37 | flaviu1 | Yeah, it does |
21:15:25 | * | saml_ quit (Remote host closed the connection) |
21:20:14 | * | caioariede quit (Ping timeout: 240 seconds) |
21:39:50 | Mat3 | ciao |
21:39:53 | * | Mat3 quit (Quit: Verlassend) |
21:52:43 | * | superfunc quit (Ping timeout: 240 seconds) |
21:54:21 | * | caioariede joined #nimrod |
21:58:36 | * | New-Guy joined #nimrod |
21:58:40 | New-Guy | Howdy guys. |
21:58:53 | flaviu1 | Hey |
21:59:05 | New-Guy | I've looked all over but I can't seem to find how to iterate over all the individual lines of a stmt in a macro. |
22:00:03 | flaviu1 | New-Guy: stmt.children? |
22:00:55 | New-Guy | flaviul: Thanks so much. |
22:01:26 | flaviu1 | They may not all be on separate lines, but I think that's the closest you can get |
22:03:15 | flaviu1 | https://gist.github.com/8e3f22c8960707482804 |
22:04:53 | New-Guy | flaviul: That's perfect, mate. Thank you. |
22:04:55 | EXetoC | yeah so it's much more high-level than individual lines |
22:05:32 | New-Guy | Definitely, I'm really loving learning about this macro system. |
22:05:48 | New-Guy | C++ is my strong suit so this is magical. |
22:09:53 | flaviu1 | New-Guy: You like C? How about https://gist.github.com/flaviut/10515205/c6a84964da32847f4bd8ab9d4f52fbe1f6241e57 :P |
22:10:14 | flaviu1 | I could get it even closer, but I haven't had time |
22:10:57 | New-Guy | flaviul: Haha, that's pretty great. |
22:11:22 | EXetoC | -.- |
22:12:44 | * | zahary quit (Quit: Leaving.) |
22:12:48 | * | boydgreenfield joined #nimrod |
22:21:15 | * | superfunc joined #nimrod |
22:40:33 | * | boydgreenfield quit (Quit: boydgreenfield) |
23:04:27 | * | New-Guy quit (Quit: Page closed) |
23:10:53 | * | caioariede quit (Ping timeout: 252 seconds) |
23:20:53 | * | darkf joined #nimrod |
23:28:51 | * | superfunc quit (Ping timeout: 252 seconds) |
23:31:56 | * | New-Guy joined #nimrod |
23:32:22 | New-Guy | Hey, can templates convert an identifier to a string? |
23:34:43 | flaviu1 | New-Guy: I think you need a macro for that, but you might be able to get by with http://build.nimrod-lang.org/docs/manual.html#identifier-construction |
23:45:24 | fowl | New-Guy, yes, use astToStr() |
23:53:35 | * | New-Guy quit (Quit: Page closed) |