00:00:13 | * | EXetoC quit (Quit: WeeChat 0.4.2) |
00:00:42 | * | hoverbear quit (Quit: Hibernating, be back soon.) |
00:01:16 | ddl_smurf | nimrod needs to open up http://www.hastac.org/blogs/ari-schlesinger/2013/11/26/feminism-and-programming-languages |
00:01:22 | Zuchto | what's the random access complexity of sequences? are they implemented as something other than resizable arrays? |
00:03:19 | * | fundamental quit (Read error: Connection reset by peer) |
00:04:10 | * | fundamental joined #nimrod |
00:04:41 | Zuchto | also: is there any other way to initialize a sequence than to do a loop and .add() values to it? |
00:04:55 | OrionPKM | @[0,1,2,3] |
00:05:04 | fowl | newseq() |
00:06:09 | Zuchto | OrionPKM: sorry for being unclear, initialize size depending on values decided at runtime. |
00:06:21 | Zuchto | fowl: is that function documented anywhere? :O |
00:06:35 | fowl | yea |
00:06:54 | fowl | http://build.nimrod-lang.org/docs/theindex.html |
00:07:14 | OrionPKM | newSeq[T](initial_size) |
00:09:14 | Araq | ddl_smurf: "Feminism and Programming Languages" yeah, there should be a quota |
00:14:42 | BitPuffin | goodnight dom96 ;_;! |
00:14:48 | dom96 | 'night :P |
00:16:20 | * | Hannibal_Smith quit (Quit: Sto andando via) |
00:26:30 | * | boydgreenfield quit (Quit: boydgreenfield) |
00:29:53 | Zuchto | are there any attempts to specify a unified style of how to structure nimrod APIs? |
00:30:40 | Araq | well most things are pretty consistent, imho |
00:30:52 | Araq | wrappers are of course the big exception |
00:31:37 | Zuchto | yeah, I was mostly thinking about how to write wrappers to make them as "nimrody" as possible |
00:33:48 | fowl | a wrapper should be as close to the c api as possible, so you can use the same code in nimrod as c |
00:34:26 | Zuchto | yeah, i guess that is a good thing |
00:34:29 | fowl | but taking out the c api's prefix |
00:41:45 | brihat | how do i build nimrod code from github master? I dont see build.sh |
00:42:41 | brihat | ah i see, have to clone csources as well |
00:44:50 | Zuchto | fowl: isn't there a problem with exposing the c api types thou... I mean, in a strictly typed language cuint isn't the same as an int... right? |
00:57:34 | * | BitPuffin quit (Ping timeout: 246 seconds) |
01:02:37 | OrionPKM | lol, objectification-oriented programming |
01:04:52 | * | darkf quit (Read error: Connection reset by peer) |
01:05:17 | * | darkf joined #nimrod |
01:06:41 | * | DAddYE quit (Remote host closed the connection) |
01:13:28 | OrionPKM | araq still around? |
01:13:43 | fowl | Zuchto, how is that a problem |
01:17:03 | Zuchto | fowl: since this would require redundant typecasts. To me it seems fairly reasonable to assume that someone writing an application in nimrod would make use of `int` and not `cint` for example |
01:21:32 | fowl | int is not the same as cint though |
01:21:51 | fowl | c's int is always 32 bytes, nimrods may be int32 or int64 |
01:24:58 | Zuchto | well, yes... |
01:25:30 | fowl | you see the problem right |
01:25:59 | fowl | say c_function takes 3 cints, you pass 3 int64s, the stack will get messed up |
01:28:42 | Zuchto | yes, ofcourse... what I'm saying is that I'm not convinced that this, fairly straightforward typecast should be done in the application rather than the library. |
01:30:21 | * | brson quit (Quit: Lost terminal) |
01:31:00 | * | brson joined #nimrod |
01:31:44 | fowl | you could import it as c_function_priv then have proc c_function(a,b,c: int): int = c_function_priv(a.cint, b.cint, c.cint) |
01:31:57 | fowl | .int |
01:51:56 | OrionPKM | fowl you know of any examples of generating procs w/ macros |
01:53:27 | OrionPKM | should have known you'd have macro_dsl.nim.. |
02:23:50 | fowl | macro_dsl was merged into macros.nim |
02:24:47 | fowl | OrionPKM, http://build.nimrod-lang.org/docs/macros.html#190 |
02:26:22 | OrionPKM | mmm thanks. |
02:26:57 | OrionPKM | where is the return type input |
02:27:37 | fowl | The params array should start with the return type of the proc |
02:28:08 | OrionPKM | ah |
03:06:45 | * | brson quit (Ping timeout: 248 seconds) |
03:32:34 | OrionPKM | fowl yeah definitely code sample would still be helpful heh |
03:33:55 | fowl | newProc(name = ident("foo"), body = newStmtList(parseStmt("echo(\"hi\")"))) |
03:34:41 | OrionPKM | pretty similar to what I was trying.. but I get a SIGSEGV |
03:35:17 | fowl | show me plz |
03:36:03 | OrionPKM | http://pastebin.com/bcUrDLRu |
03:37:24 | fowl | you dont return PNimrodNode from a macro, return stmt |
03:37:40 | OrionPKM | ok |
03:37:43 | OrionPKM | still SIGSEGV |
03:38:24 | fowl | add params=[newEmptyNode()] |
03:38:46 | OrionPKM | that works |
03:38:57 | fowl | i will fix macros.nim |
03:39:02 | OrionPKM | thanks for your help! |
03:39:09 | fowl | add a returnType parameter |
03:39:27 | OrionPKM | hm? |
03:41:29 | fowl | nvm |
03:43:41 | fowl | https://github.com/Araq/Nimrod/pull/747 |
03:44:24 | OrionPKM | cool |
03:56:21 | OrionPKM | how about making it exported (*) |
03:56:39 | fowl | name = ident("foo").postfix("*") |
03:57:43 | OrionPKM | very nice. |
03:58:18 | OrionPKM | https://gist.github.com/onionhammer/7955521 |
03:58:49 | OrionPKM | im just fucking around, but the end goal I want is to be able to do syntax highlighting for language annotated strings |
04:01:13 | fowl | dunno what that means but gl |
04:01:19 | OrionPKM | lol |
04:01:26 | OrionPKM | you know what syntax highlighting is? |
04:02:25 | OrionPKM | e.g. if I go annotate.html"<div>some tag</div>" in sublimetext it will use the correct syntax highlighting for that string.. |
04:03:00 | OrionPKM | I'd prefer a zero-cost at runtime approach though |
04:10:37 | * | DAddYE joined #nimrod |
04:12:47 | * | Trixar_za quit (Ping timeout: 245 seconds) |
04:12:59 | * | Trixar_za joined #nimrod |
04:13:11 | * | dymk quit (Ping timeout: 245 seconds) |
04:13:49 | * | dymk joined #nimrod |
04:14:03 | * | Kooda quit (Ping timeout: 245 seconds) |
04:14:04 | * | Araq quit (Ping timeout: 245 seconds) |
04:14:52 | * | DAddYE quit (Ping timeout: 240 seconds) |
04:15:49 | * | Kooda joined #nimrod |
04:16:39 | * | Araq_bnc joined #nimrod |
05:12:26 | * | DAddYE joined #nimrod |
05:13:46 | * | jimmt is now known as jenjimm |
05:13:55 | * | jenjimm is now known as jennjimm |
05:14:58 | * | OrionPKM quit (Remote host closed the connection) |
05:16:38 | * | DAddYE quit (Ping timeout: 240 seconds) |
05:18:39 | * | OrionPKM joined #nimrod |
06:10:25 | * | boydgreenfield joined #nimrod |
06:13:48 | * | DAddYE joined #nimrod |
06:17:56 | * | DAddYE quit (Ping timeout: 240 seconds) |
06:27:45 | * | silven quit (Ping timeout: 246 seconds) |
06:35:15 | * | ddl_smurf quit (Quit: ddl_smurf) |
06:39:04 | * | ddl_smurf joined #nimrod |
06:41:59 | * | ddl_smurf quit (Client Quit) |
07:03:57 | * | boydgreenfield quit (Quit: boydgreenfield) |
07:07:18 | * | boydgreenfield joined #nimrod |
07:10:15 | * | hoverbear joined #nimrod |
07:15:11 | * | DAddYE joined #nimrod |
07:19:26 | * | DAddYE quit (Ping timeout: 240 seconds) |
07:19:58 | * | hoverbear quit (Quit: Hibernating, be back soon.) |
07:51:11 | * | boydgreenfield quit (Quit: boydgreenfield) |
08:03:03 | * | musicalchair quit (Ping timeout: 245 seconds) |
08:14:49 | * | BlueProtoman joined #nimrod |
08:14:53 | * | BlueProtoman left #nimrod ("Leaving") |
08:16:31 | * | DAddYE joined #nimrod |
08:17:02 | * | musicalchair joined #nimrod |
08:20:38 | * | DAddYE quit (Ping timeout: 240 seconds) |
08:20:57 | * | Araq_bnc is now known as Araq |
08:56:22 | brihat | i just compiled Aporia, but moving the executable to ~/bin doesn't work. Is it not a standalone exe? |
08:57:28 | fowl | brihat, no, it relies on language definitions for syntax highlighting |
08:58:18 | brihat | so how do I "install" this thing to ~/bin? |
08:58:22 | fowl | brihat, its better to install with nimrod's package manager, babel |
08:58:23 | brihat | just symlink? |
08:58:29 | fowl | brihat, yea symlink worsk |
09:00:31 | brihat | ok |
09:07:29 | brihat | Does Araq live in Helsinki? |
09:07:49 | fowl | i believe he is german |
09:08:10 | brihat | the Freenode server he's connecting to is in Helsinki |
09:08:29 | brihat | Yea, Andreas Rumpf is a german name :) |
09:17:52 | * | DAddYE joined #nimrod |
09:22:14 | * | DAddYE quit (Ping timeout: 240 seconds) |
09:38:27 | * | io2 joined #nimrod |
10:12:44 | brihat | Meh, I think the nimrod compiler crashed with SIGSEGV |
10:13:12 | brihat | Can somebody try to compile this: https://gist.github.com/gradha/5555512 ? |
10:14:12 | fowl | it compiles for me |
10:15:08 | brihat | i'm running Nimrod from Github master on 64-bit ubuntu |
10:15:14 | brihat | fowl: you? |
10:15:43 | fowl | same |
10:16:16 | brihat | Hah, caught the bug |
10:16:52 | fowl | what was it |
10:16:53 | brihat | nimrod c fasta.nim <--- this works |
10:16:53 | brihat | nimrod c -o:fasta_nim fasta.nim <-- SIGSEGV |
10:17:20 | fowl | oh |
10:18:37 | brihat | is it the same for u? |
10:19:13 | * | DAddYE joined #nimrod |
10:19:22 | fowl | no it works for me |
10:19:52 | brihat | No idea if it is a bug in gcc or nimrod itslef |
10:20:02 | brihat | I just get this: |
10:20:02 | brihat | SIGSEGV: Illegal storage access. (Attempt to read from nil?) |
10:21:07 | fowl | i dunno either, it works for me |
10:23:26 | * | DAddYE quit (Ping timeout: 240 seconds) |
10:25:01 | * | zielmicha joined #nimrod |
10:36:56 | * | ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
11:15:55 | * | BitPuffin joined #nimrod |
11:18:06 | BitPuffin | dom96: you here? |
11:20:28 | * | DAddYE joined #nimrod |
11:21:31 | BitPuffin | hmm |
11:21:37 | BitPuffin | if a file is included in another file |
11:21:46 | BitPuffin | in my case a source code filter |
11:21:49 | BitPuffin | in to app.nim |
11:22:00 | BitPuffin | shouldn't the source code filter be able to access procedures from app.nim? |
11:22:04 | BitPuffin | doesn't seem to be the case |
11:24:38 | * | DAddYE quit (Ping timeout: 240 seconds) |
11:26:20 | BitPuffin | damn it I'm gonna be losing a whole ton if I need to loop through the all the articles and add a slug to a tuple and then loop through the array once again just to add them to the page |
11:26:30 | BitPuffin | it's much better to generate the slug on the fly |
12:21:51 | * | DAddYE joined #nimrod |
12:25:17 | dom96 | BitPuffin: i'm here npw |
12:25:19 | dom96 | *now |
12:25:51 | * | EXetoC joined #nimrod |
12:26:14 | * | DAddYE quit (Ping timeout: 240 seconds) |
12:31:15 | dom96 | Anyone doing Ludum Dare? |
12:32:15 | dom96 | Notch is making something using Dart and WebGL http://www.twitch.tv/notch/ |
12:40:14 | BitPuffin | dom96: well I think I'm not gonna do the thing I was asking about anyway, since I'm already looping through it twice in order to extract the database stuff |
12:45:40 | BitPuffin | articleLinks.add((id: articleRows[i][0], slug: tit.slug(), title: tit)) |
12:45:52 | BitPuffin | Error: type mismatch: got (typedesc[seq[tuple[id: string, slug: string, title: string]]], tuple[id: string, slug: string, title: string]) |
12:46:46 | BitPuffin | let me gist instead |
12:47:17 | BitPuffin | https://gist.github.com/BitPuffin/a5bbd20d6588caf19a4c |
12:53:48 | fowl | var articleLinks = seq[tuple[id, slug, title: string]] |
12:56:21 | BitPuffin | fowl: oh wait |
12:56:34 | BitPuffin | you are right |
12:56:36 | EXetoC | tit? slug? interesting |
12:57:14 | fowl | BitPuffin, i usually am |
12:59:50 | BitPuffin | EXetoC: slug is when you transform "HellÅ vöd" to "hell-vd" |
13:00:12 | BitPuffin | fowl: I switched the = with a : |
13:00:18 | BitPuffin | now I get a read from nil error lol |
13:00:35 | fowl | you are a newb |
13:00:36 | EXetoC | initialize the seq? |
13:00:58 | BitPuffin | yeah but I don't want to fill it |
13:01:13 | BitPuffin | tried to do = %[] but it was like nah man |
13:01:34 | EXetoC | @[] ? |
13:01:43 | EXetoC | newSeq? |
13:02:46 | BitPuffin | lib/system.nim(390, 13) Error: cannot instantiate: 'T' |
13:02:48 | BitPuffin | lol |
13:04:16 | EXetoC | well, are you instantiating it? there's newSeq[T](len) and newSeq(seqVar, len) |
13:06:01 | BitPuffin | EXetoC: Yeah I did that now |
13:06:03 | BitPuffin | so now it compiles |
13:08:08 | BitPuffin | seems to work :) |
13:08:22 | fowl | wheres the game |
13:23:18 | * | DAddYE joined #nimrod |
13:24:02 | BitPuffin | fowl: in your ass ;) |
13:25:50 | BitPuffin | Considering all the extra work my internship slammed on me I don't think It's gonna get done on time |
13:25:53 | BitPuffin | still gonna try though |
13:26:02 | * | ddl_smurf joined #nimrod |
13:27:50 | * | DAddYE quit (Ping timeout: 264 seconds) |
13:28:07 | * | io2 quit () |
13:36:45 | EXetoC | so... many... #define's... |
13:39:25 | * | Varriount quit (Read error: Connection reset by peer) |
13:46:35 | BitPuffin | EXetoC: haha, where? |
13:47:43 | EXetoC | BitPuffin: everywhere? I'm binding freetype2 |
13:48:50 | BitPuffin | EXetoC: hot damn |
13:49:05 | fowl | lole i tried wrapping that once |
13:49:12 | fowl | i got lazy |
13:52:01 | EXetoC | fowl: was it fun? |
13:52:21 | fowl | no |
13:52:27 | fowl | if it was i would have finished it |
13:52:36 | EXetoC | that makes sense |
13:53:42 | BitPuffin | does it? |
13:55:33 | * | darkf_ joined #nimrod |
13:58:38 | * | darkf quit (Ping timeout: 240 seconds) |
14:08:13 | EXetoC | BitPuffin: yup. I'm just gonna assume that he has a lot of time to spare. I don't want to complicate things here |
14:09:14 | * | zielmicha quit (Ping timeout: 264 seconds) |
14:09:39 | BitPuffin | EXetoC: yeah :P |
14:09:57 | BitPuffin | EXetoC: why are you never in the VNUG :( |
14:11:09 | EXetoC | can groups be referenced in the replacement pattern for nimgrep? |
14:16:27 | BitPuffin | uhh |
14:16:30 | BitPuffin | let's see |
14:16:41 | BitPuffin | can I walk down a tree easily without using recursion? |
14:16:48 | BitPuffin | It's not really a good option in a view here |
14:19:45 | * | darkf_ quit (Quit: Leaving) |
14:19:56 | EXetoC | I'm not much for small talk |
14:20:06 | EXetoC | And I've been sitting way too much now. Cya |
14:24:37 | * | DAddYE joined #nimrod |
14:27:53 | * | faassen joined #nimrod |
14:28:38 | * | DAddYE quit (Ping timeout: 240 seconds) |
14:31:22 | fowl | lol |
14:31:32 | fowl | theyre talking about programming langugaes |
14:31:49 | fowl | Kivifreak: Object Oriented Support is when you have different bodies of code in where you can switch in-between. (E.g. void() classes |
14:32:45 | fowl | Fezziiwig: is OO even faster? |
14:33:05 | brihat | Is there a way to accomplish "fall-through" case statement, like in C? Meaning no break after each case. |
14:33:29 | fowl | brihat, no, but your case can have multiple options |
14:33:33 | fowl | case 'A', 'B': |
14:33:42 | fowl | or be a range, or a set |
14:34:00 | brihat | ok, that should do it then |
14:40:23 | BitPuffin | do you put "end proc" in a source code filter? |
14:41:04 | BitPuffin | if you have multiple procs I mean |
14:44:34 | * | gradha joined #nimrod |
14:46:51 | gradha | BitPuffin: source code filters don't have a concept of indentation, so "end proc" is required, see nimforum as an example |
14:47:51 | BitPuffin | gradha: thought so |
14:58:24 | BitPuffin | gradha: but can source code filters access anything the module it is included in can access or do I have to import it in the filter too? |
14:59:27 | gradha | AFAICS a source code filter is just a .nim file processed in a different way for syntax, so it has the same restrictions as a normal separate nim |
14:59:54 | BitPuffin | gradha: but you include source code filters instead of import |
15:00:30 | gradha | well, if you do so, it's includes all the way, and you can access whatever the parent file has |
15:00:47 | gradha | god pless the C preprocessor |
15:03:55 | BitPuffin | gradha: didn't seem like it worked |
15:04:08 | faassen | I'm having some crashes I can't explain. https://gist.github.com/faassen/7960282 |
15:04:25 | faassen | argh, afk. |
15:05:15 | gradha | BitPuffin: I can "nimrod c -r t.tmpl" this without problems https://gist.github.com/gradha/7960297 |
15:06:25 | faassen | back, for a moment. squirming toddler on lap limits my presence. :) |
15:06:46 | faassen | anyway, about that gist of mine.. it crashes without report as soon as it hits w.display (doesn't enter it) |
15:06:53 | faassen | if you modify HEIGHT to 326 it works. |
15:07:08 | faassen | if you modify TField to have extra float entries, i.e. f: float |
15:07:10 | faassen | it crashes |
15:07:30 | gradha | the tuple definition is somewhat weird, it's missing square brackets |
15:07:32 | faassen | if I change things around so display works with TGrid directly and I initialize that. |
15:07:36 | BitPuffin | gradha: well that's not what I meant |
15:07:48 | faassen | gradha: yeah, but I understood that was possible. and it otherwise works. |
15:07:55 | BitPuffin | gradha: try making a bla.nim which includes wee.tmpl and wee.tmpl uses things from bla.nim |
15:08:00 | BitPuffin | or things that bla.nim imports |
15:08:40 | dom96 | BitPuffin: just include it and the filter will have everything the module imports. |
15:09:33 | dom96 | ugh, seriously. Why does gist always mess up indentation when copying code from it? Do I need to create a nimrod pastebin too? |
15:09:34 | faassen | the tuple definition style makes no differenc. |
15:09:42 | faassen | I get some kind of segfault thingy. |
15:09:51 | gradha | dom96: maybe it's you? seems to work fine for me |
15:10:08 | dom96 | maybe it's firefox's fault? |
15:10:09 | faassen | Error: execution of an external program failed |
15:10:52 | gradha | faassen: maybe there's a problem with that much tuple recursions, please report it as bug on github |
15:11:01 | faassen | I'm using the nimrod release by the way. is this considered okay? |
15:11:04 | EXetoC | dom96: copying the raw data? |
15:11:08 | dom96 | indeed. That's a bug, there is a segfault. |
15:11:18 | EXetoC | there should be a link to it |
15:11:36 | faassen | dom96: is this a known bug in the release? |
15:11:38 | dom96 | EXetoC: there is, and it's basically a download link... |
15:11:41 | faassen | dom96: I didn't think I was doing something very weird. |
15:11:57 | BitPuffin | dom96: I sure hope so lol |
15:11:59 | dom96 | faassen: AFAIK it's not known. |
15:12:03 | BitPuffin | otherwise I'm gonna smash bawlz |
15:12:15 | EXetoC | dom96: don't have "view as text" in the context menu? |
15:12:15 | faassen | heh, I wonder what I'm doing that's so unusual. |
15:12:16 | gradha | the problem is not that much with tuples but with the for loop of them |
15:12:33 | faassen | gradha: strangely enough if I put a echo in the first line of display |
15:12:36 | faassen | gradha: it never gets reached |
15:12:51 | faassen | gradha: it's as if display cannot be called. |
15:12:55 | gradha | that's because the code generation for the "for + tuple" seems wrong, when you uncomment that it doesn't crash |
15:13:28 | BitPuffin | aaaaaaaaaaaaah |
15:13:35 | BitPuffin | the template error messages are the worst |
15:13:44 | BitPuffin | they don't say where they were called from |
15:13:49 | BitPuffin | not always at least |
15:13:56 | BitPuffin | so sometimes it just says which line in the template was wrong |
15:14:06 | BitPuffin | even though it was the parameters that were wrong |
15:14:19 | fowl | zz |
15:14:55 | fowl | gradha, then why doesnt changing them to objects work? |
15:15:11 | faassen | huh, does github let you attach files as examples, or do I really need to paste it into the issue? |
15:15:26 | fowl | faassen, paste, with ```nimrod and ``` around it |
15:15:45 | faassen | fowl: ah, thanks, yeah, I remember that now. |
15:16:02 | fowl | that is weird that it works with height = 236 |
15:16:07 | fowl | 326* |
15:16:21 | faassen | yeah. |
15:16:24 | faassen | add another tuple field. |
15:16:26 | dom96 | probably some code gen error |
15:16:26 | faassen | to 'TField |
15:16:30 | faassen | and it stops working with 326. |
15:17:18 | dom96 | removing a field also works. |
15:17:21 | dom96 | with 327 |
15:17:27 | faassen | yeah. |
15:17:39 | gradha | I'd say the problem is with passing the tuples as a parameter to the proc, if you put the loop after the var it works |
15:17:48 | faassen | I'm a total nimrod noob so I suspect problem between chair and keyboard first. |
15:17:53 | faassen | so I tried a huge amount of things. |
15:17:57 | faassen | went to heap allocation. didn't make a diference. |
15:18:10 | faassen | yeah, if you modify display to take TGrid. |
15:18:12 | faassen | and then pass that in.. it works. |
15:18:28 | gradha | yes, the problem is the outer tuple, if you create a TGrid and pass that it works |
15:18:39 | gradha | so tuples with nested arrays don't work now, file a bug for that |
15:18:45 | faassen | I tried adding a field to the TWorld tuple, but that didn't change things. |
15:18:51 | faassen | well, I filed this. |
15:18:55 | faassen | https://github.com/Araq/Nimrod/issues/748 |
15:19:00 | faassen | feel free to offer your analysis as comments. :) |
15:19:21 | faassen | I got to go now, as this toddler here is trying to touch everything. |
15:19:24 | * | faassen grins. |
15:19:36 | faassen | doing this with toddler on lap is kind of impossible. |
15:19:37 | faassen | see you! |
15:19:40 | BitPuffin | this isn't even supposed to put the error there |
15:19:43 | BitPuffin | wtf seriously |
15:19:45 | * | faassen waves. |
15:19:50 | BitPuffin | the template takes string parameters |
15:20:01 | * | faassen left #nimrod (#nimrod) |
15:20:13 | BitPuffin | yet in the body where it calls things using those parameters, THEN it errors saying that it got a TRow |
15:25:59 | * | DAddYE joined #nimrod |
15:29:56 | EXetoC | "#define ft_render_mode_normal FT_RENDER_MODE_NORMAL" good stuff |
15:30:14 | * | DAddYE quit (Ping timeout: 240 seconds) |
15:32:55 | BitPuffin | EXetoC: just mandatory obviously |
15:33:04 | BitPuffin | EXetoC: but in nimrod that doesn't make a difference |
15:33:07 | BitPuffin | since they are equal |
16:20:49 | * | hoverbear joined #nimrod |
16:44:43 | * | boydgreenfield joined #nimrod |
16:45:09 | OrionPKM | https://dl.dropboxusercontent.com/u/417554/sublanguages.png |
16:46:04 | dom96 | OrionPKM: Genius. |
16:46:27 | OrionPKM | those annotations also trim added indentation |
16:46:30 | OrionPKM | at compile time |
16:47:56 | OrionPKM | now all I need is a templating engine to go along with this |
16:49:11 | BitPuffin | OrionPKM: that's awesome |
16:49:41 | dom96 | OrionPKM: Just implement Mustache. |
16:50:07 | OrionPKM | hm |
16:50:09 | gradha | rename subexes and upload as babel package |
16:50:36 | OrionPKM | the babel package will probably be called templating or something |
16:50:41 | OrionPKM | the module called annotation.nim |
16:50:55 | OrionPKM | you'll need the sublimetext varriount and I are working on to get the syntax highlighting |
16:51:01 | OrionPKM | sublimetext plugin* |
16:51:31 | OrionPKM | im thinking of something similar to ctemplate |
16:51:31 | OrionPKM | https://code.google.com/p/ctemplate/ |
16:56:17 | EXetoC | "FT_Init_Class_ ## class_( FT_Service_TTGlyfRec* clazz ) \" no.... nooo..... NOOOOOOOOOO |
17:12:00 | gradha | EXetoC: they mention some of that at http://freetype.org/freetype2/docs/design/design-3.html |
17:19:30 | * | zielmicha joined #nimrod |
17:22:38 | * | dymk quit (Ping timeout: 240 seconds) |
17:28:36 | * | DAddYE joined #nimrod |
17:32:53 | * | DAddYE quit (Ping timeout: 248 seconds) |
17:38:25 | * | boydgreenfield quit (Quit: boydgreenfield) |
17:43:54 | * | hoverbear quit (Quit: Looking for honey.) |
17:44:13 | * | hoverbear joined #nimrod |
17:49:06 | * | dymk joined #nimrod |
17:58:58 | BitPuffin | dom96: empty VNUG wtf maan :D |
17:59:41 | dom96 | BitPuffin: Working on Babel and listening to music :P |
17:59:51 | BitPuffin | dom96: you can just ignore me lol |
17:59:57 | BitPuffin | anything to keep the VNUG filled ;_; |
18:00:43 | dom96 | i'll join later |
18:00:56 | BitPuffin | dom96: I'll be working anyway too |
18:00:58 | BitPuffin | on the website |
18:01:00 | fowl | i'll join if i can just play music through it |
18:01:18 | BitPuffin | dom96: But I'm not gonna be able to in here that much today :( |
18:01:28 | dom96 | BitPuffin: why? :( |
18:01:53 | BitPuffin | dom96: because my mom and her boyfriend will be sleeping right next to where I stand and work lol |
18:03:32 | BitPuffin | dom96: and my laptop doesn't have a battery so it's a pain to move lol |
18:03:42 | BitPuffin | but maybe I could move and set up arch on my desktop or something |
18:03:42 | * | _dymk joined #nimrod |
18:03:45 | BitPuffin | since that's on the list |
18:03:47 | BitPuffin | I dunno |
18:04:36 | NimBot | nimrod-code/babel master 1646f45 Dominik Picheta [+0 ±3 -0]: Version querying is now disabled by default. |
18:04:36 | NimBot | nimrod-code/babel master c3cf9d5 Dominik Picheta [+0 ±1 -0]: Updated readme. |
18:05:33 | * | dymk quit (Ping timeout: 263 seconds) |
18:05:38 | * | Icefoz quit (Ping timeout: 240 seconds) |
18:05:49 | * | reactormonk quit (Ping timeout: 240 seconds) |
18:06:01 | * | gradha quit (Ping timeout: 240 seconds) |
18:06:03 | * | Icefoz joined #nimrod |
18:06:03 | fowl | you stand and work? |
18:06:04 | * | gradha_ joined #nimrod |
18:06:04 | BitPuffin | fowl: I've been trying it lately yeah |
18:06:04 | fowl | does it work? |
18:06:04 | BitPuffin | think so yeah |
18:06:04 | BitPuffin | I'm not really doing it properly |
18:06:05 | * | reactormonk joined #nimrod |
18:06:09 | BitPuffin | I just put the laptop on a bunch of books |
18:06:16 | BitPuffin | so I still have to look down on the screen |
18:06:24 | BitPuffin | but yeah I'd say it's a lot better than sitting |
18:06:45 | fowl | easier to have not-horrible posture? |
18:06:59 | BitPuffin | since it's really easy to sit in the wrong pose and not realize how much it's gonna hurt until you actually move |
18:07:24 | BitPuffin | whereas when you stand you are not really static that much |
18:08:32 | BitPuffin | fowl: haven't felt as much pains as I usually do when I sit and type |
18:09:18 | * | shodan45 quit (Remote host closed the connection) |
18:09:43 | * | shodan45 joined #nimrod |
18:10:57 | OrionPKM | yay babel list is fast again |
18:11:08 | dom96 | OrionPKM: Do you use it often? lol |
18:11:27 | OrionPKM | I've got support for it in the sublimetext plugin |
18:11:40 | OrionPKM | it caused the whole editor to hang when it was loading |
18:12:13 | dom96 | silly sublime |
18:12:24 | dom96 | :P |
18:12:29 | OrionPKM | my fault for not putting it in a diff thread :p |
18:12:48 | OrionPKM | but it doesnt really make sens to let the user keep doing waht they're doing when they're trying to install a babel packge frmo a dialog |
18:26:33 | * | Amrykid quit (Excess Flood) |
18:26:41 | * | Amrykid joined #nimrod |
18:27:49 | * | Amrykid quit (Changing host) |
18:27:49 | * | Amrykid joined #nimrod |
18:29:45 | * | ics joined #nimrod |
18:30:01 | * | DAddYE joined #nimrod |
18:32:22 | * | PortableEXetoC joined #nimrod |
18:33:20 | BitPuffin | dom96: guess I'll move the damn computer then :P |
18:33:46 | dom96 | You know you're going crazy when "ab26saggdt362" == "ab26sgdt362" is true |
18:34:30 | * | dom96 wonders what the hell is going on |
18:34:47 | * | DAddYE quit (Ping timeout: 260 seconds) |
18:34:57 | dom96 | oh |
18:34:59 | ddl_smurf | (possible explanation is somehow its coerced to string using hex chars and ignoring anything after first non hex char) |
18:35:08 | ddl_smurf | (*to int) |
18:35:27 | dom96 | nah, i just forgot that I have a custom == for that distinct type |
18:37:26 | * | BitPuffin quit (Read error: Connection reset by peer) |
18:37:31 | * | BitPuffi1 joined #nimrod |
18:43:00 | * | zahary joined #nimrod |
18:47:18 | fowl | https://bitbucket.org/FeministSoftwareFoundation/c-plus-equality |
18:56:05 | PortableEXetoC | Lolwut |
18:57:15 | gradha_ | maybe I should recognise my feminism and start lobbying for a better idetools instead of submit PRs |
18:59:29 | * | PortableEXetoC quit (Quit: cake) |
19:13:41 | gradha_ | fowl: did you wrap webkit for nimrod? |
19:14:43 | fowl | nope |
19:15:01 | fowl | im going to trade my 0.0003114 btc for 1038 dogecoin |
19:15:05 | * | jimmt joined #nimrod |
19:15:19 | * | madtlt quit (Read error: Connection reset by peer) |
19:16:32 | gradha_ | it would have been cool to have π bitcoins |
19:16:34 | dom96 | hi jimmt |
19:17:36 | jimmt | hi |
19:18:24 | * | jennjimm quit (Ping timeout: 250 seconds) |
19:21:40 | gradha_ | woah, didn't know itunes had books like https://itunes.apple.com/es/book/parsing-techniques/id509809904?mt=11 |
19:24:34 | * | BitPuffi1 quit (Read error: Connection reset by peer) |
19:25:06 | * | BitPuffin joined #nimrod |
19:26:11 | BitPuffin | dom96: alright now I've gone through lots of effort to move into my room so now you better join the VNUG! |
19:26:29 | * | shodan45 quit (Quit: Konversation terminated!) |
19:28:13 | BitPuffin | dom96: right nao :P |
19:28:47 | dom96 | Maybe later. |
19:28:52 | dom96 | I can't talk and code at the same time. |
19:29:08 | gradha_ | BitPuffin: ok, I think I'm ready to join the VNUG |
19:29:13 | BitPuffin | dom96: but you don't need to talk |
19:29:21 | BitPuffin | only idle and stuff :P |
19:29:23 | BitPuffin | gradha_: yay :D |
19:29:31 | gradha_ | BitPuffin: so, what port do I telnet in? |
19:29:37 | BitPuffin | gradha_: 1337 |
19:31:21 | * | DAddYE joined #nimrod |
19:35:02 | BitPuffin | dom96: alright I'll go buy crisps and then you have to join lol |
19:35:28 | * | DAddYE quit (Ping timeout: 240 seconds) |
19:38:42 | fowl | wha you coding dom96 |
19:38:47 | dom96 | babel |
19:38:47 | fowl | LD? |
19:38:49 | fowl | oh |
19:55:21 | * | brson joined #nimrod |
19:55:57 | BitPuffin | dom96: alright now you better get your ass in here lol :P |
19:56:08 | dom96 | what if I refuse? :P |
19:56:27 | brihat | is there an equivalent of python's "with" statement? |
19:56:35 | BitPuffin | dom96: I will destroy something precious |
19:57:02 | dom96 | brihat: AFAIK no, but you can write your own with a template. |
19:59:03 | * | hoverbear quit (Quit: Hibernating, be back soon.) |
20:01:10 | brihat | i still have a long way to go befoer i write templates |
20:02:05 | fowl | what does with do |
20:03:11 | brihat | i mostly use it as a way to avoid ugly try-catch blocks |
20:03:29 | brihat | sort of calling a destructor when scope is existed automatically |
20:03:40 | BitPuffin | fowl: same as using |
20:07:53 | gradha_ | brihat: you can use finally as a statement |
20:08:00 | gradha_ | that avoids the ugly nesting |
20:08:30 | brihat | yes, but that's still verbose |
20:09:05 | brihat | In Python: |
20:09:05 | brihat | with open("file.txt") as f: |
20:09:06 | brihat | data = f.read() |
20:09:22 | brihat | That automatically closes the file after executing the with block |
20:10:05 | brihat | Specifically, f.__exit__() is called automatically which happens to do f.close() |
20:10:24 | gradha_ | var O = open(dest_filename, fmWrite) |
20:10:28 | gradha_ | finally: O.close |
20:10:33 | gradha_ | O.write(blah) |
20:11:24 | brihat | yes, i got what you mean, but for other user-defined objects, with statement is more nicer |
20:11:43 | brihat | coz the end-user needn't call close() or whatever exolcitly |
20:13:36 | gradha_ | it's nicer for a single nesting, but is pretty annoying if you have to free several resources or they don't support the closing protocol |
20:14:47 | brihat | agree |
20:15:05 | gradha_ | it's good you mentioned this, I was debating what next python feature to emulate with macros for the tutorial |
20:15:14 | gradha_ | I was going to do list comprehension |
20:15:27 | gradha_ | but a with statement seems easier to follow and has less pitfalls |
20:15:47 | brihat | oh cool |
20:16:44 | brihat | In python, any object that defines the magic methods __enter__( ) and __exit__( ) can be used in a with statement; otherwise not |
20:17:20 | brihat | hope that's easy enought to do with macros |
20:19:01 | gradha_ | never found a use for __enter__() |
20:21:45 | gradha_ | let's see if I can make it like "with_closing(open(dest_filename, fmWrite), O): O.write(blah)" |
20:27:03 | gradha_ | hmm... it would also be cool if the macros API allowed you to query what procs can be called on a type |
20:27:30 | dom96 | I think you should just make it call .close() |
20:27:49 | dom96 | and if the type doesn't have a .close() defined then you will get a nice enough error anyway |
20:27:58 | gradha_ | yes, I was just fantasizing you could detect several different convention methods and use any of the ones found |
20:28:43 | gradha_ | oh, nice, you can have the macro call close and if needed you write yourself the wrapper proc |
20:28:55 | gradha_ | hah, suck it, OOP |
20:32:43 | * | DAddYE joined #nimrod |
20:35:53 | fowl | gradha_, make it emit when compiles(obj.close): obj.close |
20:36:40 | gradha_ | fowl: good idea, but won't Araq come at us for using a last resort option? |
20:37:01 | * | DAddYE quit (Ping timeout: 240 seconds) |
20:37:05 | fowl | shrug |
20:41:37 | gradha_ | fowl: do you know how to get the type of a PNimNode expression? |
20:42:23 | fowl | yea its PNimNode |
20:42:50 | fowl | but srsly |
20:43:00 | fowl | macros operate before that stage |
20:43:05 | fowl | you're working with syntax |
20:43:56 | gradha_ | oh, actually I don't need to know, I can make the try/finally block after the var assignment |
20:59:56 | gradha_ | brihat: still there? check https://gist.github.com/gradha/7964832 |
21:00:05 | brihat | still here |
21:00:44 | gradha_ | I guess it should be named with_close to avoid copyright infringement |
21:00:54 | gradha_ | plus it calls close(), not closing() |
21:01:44 | gradha_ | ah, it's missing a block nesting to avoid polluting the namespace with the variable |
21:04:15 | fowl | gradha_, return newblockstmt(result) might work |
21:04:32 | fowl | (for minimal code change) |
21:04:45 | gradha_ | yes, I was shuffling around testing |
21:04:49 | fowl | then again, it might cause the evaluator bug |
21:05:36 | brihat | works |
21:06:04 | brihat | but i don't understand the program though, all those newNimNodes and newIdentDefs, etc. |
21:06:17 | brihat | I have to take the tutorial on macros :) |
21:06:17 | gradha_ | I just updated it to have a block wrapping around it |
21:06:45 | brihat | i c it |
21:07:05 | gradha_ | brihat: if so look at the development docs, they already have some macro tutorial improvements |
21:07:09 | bastian | are there any plans for supporting recursive iterators? |
21:07:46 | gradha_ | not sure https://github.com/Araq/Nimrod/issues/555 |
21:07:49 | dom96 | yeah, I think so. Well, the issue I reported about it is still open so Araq didn't reject the idea. |
21:08:08 | bastian | ah, nice |
21:08:52 | gradha_ | bastian: for the moment you can move that macro code somewhere you don't see it and just use it |
21:09:47 | bastian | gradha_: don't understand what you mean, sorry |
21:09:55 | bastian | gradha_: how is this related to macros? |
21:10:18 | gradha_ | I meant the gist, you can copy/paste that somewhere and use with_closing in your code |
21:11:06 | gradha_ | you could have a "python_macros" module and import that |
21:11:26 | bastian | oh, guess this is in response to brihat.. |
21:11:31 | brihat | he meant brihat, not bastian :) |
21:11:32 | gradha_ | or just "import with" as is, after removing the debug/sample code at the end |
21:11:43 | gradha_ | oh, true, sorry |
21:12:18 | brihat | this is indeed a nice start, thanks gradha_ |
21:14:31 | gradha_ | one funny realization of writing macros is "oh, this leads to code bloat, so much stuff expanded", yet its still orders of magnitude faster than interpreted languages |
21:15:51 | brihat | can the compiler spit out the macro-expanded code? |
21:16:09 | gradha_ | yes, in fact, that's how I end up building macros |
21:16:46 | gradha_ | aw, still no updated docs on the farm dom96 |
21:17:08 | dom96 | yeah... Araq needs to fix a corruption |
21:17:13 | brihat | i didn't see anything with nimrod c with.nim |
21:17:36 | gradha_ | brihat: you will need to read https://github.com/Araq/Nimrod/blob/master/doc/tut2.txt#L808 |
21:17:45 | brihat | or it spatt out something which was too low-level |
21:17:53 | BitPuffin | isn't it more important that Araq fixes compiler bugs for the release that is in like two days dom96? |
21:18:07 | gradha_ | brihat: you use the dumpTree macro https://github.com/Araq/Nimrod/blob/master/doc/tut2.txt#L951 |
21:18:37 | brihat | Ahan, there it is... much thanks gradha_ |
21:19:11 | gradha_ | brihat: just generated http://dl.dropboxusercontent.com/u/145894/t/tut2.html#generating-ast-by-hand, rst is ugly |
21:19:28 | dom96 | BitPuffin: That is a compiler bug. |
21:20:59 | NimBot | nimrod-code/babel master b6bde8b Dominik Picheta [+0 ±4 -0]: VCS commit hash, branch or tag can now be specified when installing... 1 more lines |
21:20:59 | NimBot | nimrod-code/babel master 439b05b Dominik Picheta [+0 ±1 -0]: Updated readme to mention specific commit installation. |
21:21:14 | brihat | gradha_: it's ugly-looking but informative. that's all i care. As an aside, I am surprised why so much love for rst, but not markdown in the Nimrod universe |
21:21:49 | fowl | brihat, blame it on germany |
21:21:57 | brihat | lol |
21:21:58 | fowl | rst must be germanic somehow |
21:22:03 | gradha_ | brihat: Araq can fill you in the details, but I think it's like "mardown sucks", and "rst sucks but at least works" |
21:22:56 | gradha_ | presumably the rst code handles markdown as well, but only some subset |
21:23:05 | dom96 | indeed. |
21:23:19 | dom96 | What I would like to see is markdown-style hyperlinks. |
21:23:19 | gradha_ | but then, the nimrod rst only handles a subset of the rst specification |
21:23:32 | brihat | plain markdown sucks probably, but the version implemented by Pandoc is way off the charts. That was the first reason for me to install haskell on my machine |
21:23:38 | dom96 | in some ways rst is more powerful than markdown i think |
21:23:52 | gradha_ | yeah, directives |
21:23:52 | dom96 | markdown doesn't support tables for examples as far as I know |
21:24:43 | brihat | Or it might be that rst is used in Python, so we want to emulate that in nimrod |
21:25:39 | gradha_ | brihat: we still have a long way to go to comply with python's slowness |
21:26:17 | brihat | haha, we rather keep it a looooong way away from us |
21:26:34 | gradha_ | yesterday I released https://github.com/gradha/quicklook-rest-with-nimrod but forgot to add a meme image to it |
21:26:47 | gradha_ | today I made http://dl.dropbox.com/u/145894/python_stahp.jpg |
21:27:45 | gradha_ | ah, forgot to upload binaries too |
21:28:01 | gradha_ | you know, the binaries github doesn't want you to upload |
21:29:39 | gradha_ | well, DART will be an ECMA standard now, we should switch to that |
21:31:12 | brihat | gradha_, Github now calls it "Releases" feature, you can upload binaries i think |
21:31:47 | gradha_ | AFAICS that's a zip of the repo from a tag |
21:31:51 | gradha_ | https://github.com/gradha/quicklook-rest-with-nimrod/releases |
21:32:56 | gradha_ | oh, wait, there's a button to upload binaries, maybe it works after all |
21:34:00 | BitPuffin | dom96: so when will babel suuport CVS? |
21:34:24 | dom96 | neveerrrr |
21:34:29 | EXetoC | that thing made of sticks and stones? |
21:35:05 | brihat | EXetoC: that credit does to RCS, my first version control system bundled with Emacs |
21:36:05 | brihat | ECMA also standardized Eiffel, but nobody uses it. May be Dart follws the same way |
21:37:15 | brihat | And microsoft did heavy lobbying to get OOXML as ECMA-approved. Google is doing the same |
21:37:33 | brihat | That is why Dart is ECMA standard, not ISO standard |
21:37:55 | gradha_ | nobody burns ISOs any more |
21:38:20 | brihat | me me me ! |
21:43:20 | gradha_ | brihat: I'm impressed, it was quite easy to add the precompiled binary to https://github.com/gradha/quicklook-rest-with-nimrod/releases |
21:43:52 | brihat | great :) |
21:44:12 | gradha_ | I can see now why Araq didn't like it, you have to attach that to an existing tag, it's not for arbitrary uploads |
21:44:23 | BitPuffin | dom96: I'm gon diddely bike the dog, then you BETTER! |
21:45:33 | brihat | gradha_: download works. then again, you can create arbitrary tag & keep uploading |
21:46:45 | gradha_ | chances are if you are using git for code you don't want arbitrary tags for binaries |
21:48:21 | brihat | yup |
21:49:33 | gradha_ | "The asset data is expected in its raw binary form, instead of JSON" duh |
21:49:46 | gradha_ | I was just jumping to encode all by zips to json |
21:57:38 | gradha_ | agh, I'll have to create the gh-pages anyway to upload the python mocking image |
21:58:18 | gradha_ | hmm… or maybe I should add it to the repo… decissions, decissions… |
21:58:53 | brihat | frankly, i didn;t understand that pic at all |
21:59:09 | brihat | what is that animal |
21:59:37 | gradha_ | ah, the right one is a honey badger, nimrod's mascot |
22:00:10 | gradha_ | a requirement to use nimrod is having seen https://www.youtube.com/watch?v=4r7wHMg5Yjg |
22:00:19 | brihat | oh really, didnt know it |
22:00:34 | gradha_ | it still hasn't spread, Araq is slow updating the website |
22:00:49 | gradha_ | the point is, honey badgers eat snakes, gophers, and other animals |
22:01:03 | fowl | survives cobra bites!! |
22:01:20 | gradha_ | "the honey badger is pretty badass" |
22:03:44 | brihat | it seems to do anything other than eat honey |
22:16:03 | gradha_ | good night, honey badgers |
22:16:13 | brihat | bye |
22:16:16 | * | gradha_ quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=hcDEWiH-ciw again) |
22:16:30 | joelmo | they like honey, but also insects and frogs |
22:16:35 | joelmo | night |
22:35:15 | * | DAddYE joined #nimrod |
22:39:24 | * | darkf_ joined #nimrod |
22:39:25 | * | darkf_ quit (Changing host) |
22:39:25 | * | darkf_ joined #nimrod |
22:39:50 | * | DAddYE quit (Ping timeout: 264 seconds) |
22:44:43 | BitPuffin | dom96: alrgiht maaaan :P |
22:48:37 | * | zielmicha quit (Ping timeout: 248 seconds) |
22:50:50 | * | darkf_ is now known as darkf |
22:51:59 | dom96 | BitPuffin: ok ok, give me a sec |
22:54:04 | * | darkf quit (Read error: Connection reset by peer) |
22:55:39 | BitPuffin | dom96: yay! |
23:03:37 | * | darkf joined #nimrod |
23:21:06 | * | kristina is now known as Kristina |
23:23:24 | NimBot | nimrod-code/babel master c24627b Dominik Picheta [+0 ±3 -0]: List command supports --ver now. |
23:23:53 | fowl | dom96, please make the default for overwrite install [Y/n] |
23:24:23 | dom96 | fowl: You can pass -y to always confirm |
23:24:56 | fowl | hrm |
23:25:02 | fowl | good to know |
23:25:06 | fowl | i've been using yes|babel .. |
23:36:37 | * | DAddYE joined #nimrod |
23:40:53 | * | DAddYE quit (Ping timeout: 248 seconds) |
23:58:57 | * | BlueProtoman joined #nimrod |
23:59:44 | BlueProtoman | Question. Why would I want to use Nimrod over, say, Python (which, like Nimrod, is terse) or C (which, like Nimrod, is fast)? Not knocking it, just wondering. |