<< 14-12-2013 >>

00:00:13*EXetoC quit (Quit: WeeChat 0.4.2)
00:00:42*hoverbear quit (Quit: Hibernating, be back soon.)
00:01:16ddl_smurfnimrod needs to open up http://www.hastac.org/blogs/ari-schlesinger/2013/11/26/feminism-and-programming-languages
00:01:22Zuchtowhat'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:41Zuchtoalso: is there any other way to initialize a sequence than to do a loop and .add() values to it?
00:04:55OrionPKM@[0,1,2,3]
00:05:04fowlnewseq()
00:06:09ZuchtoOrionPKM: sorry for being unclear, initialize size depending on values decided at runtime.
00:06:21Zuchtofowl: is that function documented anywhere? :O
00:06:35fowlyea
00:06:54fowlhttp://build.nimrod-lang.org/docs/theindex.html
00:07:14OrionPKMnewSeq[T](initial_size)
00:09:14Araqddl_smurf: "Feminism and Programming Languages" yeah, there should be a quota
00:14:42BitPuffingoodnight dom96 ;_;!
00:14:48dom96'night :P
00:16:20*Hannibal_Smith quit (Quit: Sto andando via)
00:26:30*boydgreenfield quit (Quit: boydgreenfield)
00:29:53Zuchtoare there any attempts to specify a unified style of how to structure nimrod APIs?
00:30:40Araqwell most things are pretty consistent, imho
00:30:52Araqwrappers are of course the big exception
00:31:37Zuchtoyeah, I was mostly thinking about how to write wrappers to make them as "nimrody" as possible
00:33:48fowla wrapper should be as close to the c api as possible, so you can use the same code in nimrod as c
00:34:26Zuchtoyeah, i guess that is a good thing
00:34:29fowlbut taking out the c api's prefix
00:41:45brihathow do i build nimrod code from github master? I dont see build.sh
00:42:41brihatah i see, have to clone csources as well
00:44:50Zuchtofowl: 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:37OrionPKMlol, 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:28OrionPKMaraq still around?
01:13:43fowlZuchto, how is that a problem
01:17:03Zuchtofowl: 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:32fowlint is not the same as cint though
01:21:51fowlc's int is always 32 bytes, nimrods may be int32 or int64
01:24:58Zuchtowell, yes...
01:25:30fowlyou see the problem right
01:25:59fowlsay c_function takes 3 cints, you pass 3 int64s, the stack will get messed up
01:28:42Zuchtoyes, 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:44fowlyou 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:57fowl.int
01:51:56OrionPKMfowl you know of any examples of generating procs w/ macros
01:53:27OrionPKMshould have known you'd have macro_dsl.nim..
02:23:50fowlmacro_dsl was merged into macros.nim
02:24:47fowlOrionPKM, http://build.nimrod-lang.org/docs/macros.html#190
02:26:22OrionPKMmmm thanks.
02:26:57OrionPKMwhere is the return type input
02:27:37fowlThe params array should start with the return type of the proc
02:28:08OrionPKMah
03:06:45*brson quit (Ping timeout: 248 seconds)
03:32:34OrionPKMfowl yeah definitely code sample would still be helpful heh
03:33:55fowlnewProc(name = ident("foo"), body = newStmtList(parseStmt("echo(\"hi\")")))
03:34:41OrionPKMpretty similar to what I was trying.. but I get a SIGSEGV
03:35:17fowlshow me plz
03:36:03OrionPKMhttp://pastebin.com/bcUrDLRu
03:37:24fowlyou dont return PNimrodNode from a macro, return stmt
03:37:40OrionPKMok
03:37:43OrionPKMstill SIGSEGV
03:38:24fowladd params=[newEmptyNode()]
03:38:46OrionPKMthat works
03:38:57fowli will fix macros.nim
03:39:02OrionPKMthanks for your help!
03:39:09fowladd a returnType parameter
03:39:27OrionPKMhm?
03:41:29fowlnvm
03:43:41fowlhttps://github.com/Araq/Nimrod/pull/747
03:44:24OrionPKMcool
03:56:21OrionPKMhow about making it exported (*)
03:56:39fowlname = ident("foo").postfix("*")
03:57:43OrionPKMvery nice.
03:58:18OrionPKMhttps://gist.github.com/onionhammer/7955521
03:58:49OrionPKMim just fucking around, but the end goal I want is to be able to do syntax highlighting for language annotated strings
04:01:13fowldunno what that means but gl
04:01:19OrionPKMlol
04:01:26OrionPKMyou know what syntax highlighting is?
04:02:25OrionPKMe.g. if I go annotate.html"<div>some tag</div>" in sublimetext it will use the correct syntax highlighting for that string..
04:03:00OrionPKMI'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:22brihati just compiled Aporia, but moving the executable to ~/bin doesn't work. Is it not a standalone exe?
08:57:28fowlbrihat, no, it relies on language definitions for syntax highlighting
08:58:18brihatso how do I "install" this thing to ~/bin?
08:58:22fowlbrihat, its better to install with nimrod's package manager, babel
08:58:23brihatjust symlink?
08:58:29fowlbrihat, yea symlink worsk
09:00:31brihatok
09:07:29brihatDoes Araq live in Helsinki?
09:07:49fowli believe he is german
09:08:10brihatthe Freenode server he's connecting to is in Helsinki
09:08:29brihatYea, 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:44brihatMeh, I think the nimrod compiler crashed with SIGSEGV
10:13:12brihatCan somebody try to compile this: https://gist.github.com/gradha/5555512 ?
10:14:12fowlit compiles for me
10:15:08brihati'm running Nimrod from Github master on 64-bit ubuntu
10:15:14brihatfowl: you?
10:15:43fowlsame
10:16:16brihatHah, caught the bug
10:16:52fowlwhat was it
10:16:53brihatnimrod c fasta.nim <--- this works
10:16:53brihatnimrod c -o:fasta_nim fasta.nim <-- SIGSEGV
10:17:20fowloh
10:18:37brihatis it the same for u?
10:19:13*DAddYE joined #nimrod
10:19:22fowlno it works for me
10:19:52brihatNo idea if it is a bug in gcc or nimrod itslef
10:20:02brihatI just get this:
10:20:02brihatSIGSEGV: Illegal storage access. (Attempt to read from nil?)
10:21:07fowli 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:06BitPuffindom96: you here?
11:20:28*DAddYE joined #nimrod
11:21:31BitPuffinhmm
11:21:37BitPuffinif a file is included in another file
11:21:46BitPuffinin my case a source code filter
11:21:49BitPuffinin to app.nim
11:22:00BitPuffinshouldn't the source code filter be able to access procedures from app.nim?
11:22:04BitPuffindoesn't seem to be the case
11:24:38*DAddYE quit (Ping timeout: 240 seconds)
11:26:20BitPuffindamn 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:30BitPuffinit's much better to generate the slug on the fly
12:21:51*DAddYE joined #nimrod
12:25:17dom96BitPuffin: i'm here npw
12:25:19dom96*now
12:25:51*EXetoC joined #nimrod
12:26:14*DAddYE quit (Ping timeout: 240 seconds)
12:31:15dom96Anyone doing Ludum Dare?
12:32:15dom96Notch is making something using Dart and WebGL http://www.twitch.tv/notch/
12:40:14BitPuffindom96: 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:40BitPuffinarticleLinks.add((id: articleRows[i][0], slug: tit.slug(), title: tit))
12:45:52BitPuffin Error: type mismatch: got (typedesc[seq[tuple[id: string, slug: string, title: string]]], tuple[id: string, slug: string, title: string])
12:46:46BitPuffinlet me gist instead
12:47:17BitPuffinhttps://gist.github.com/BitPuffin/a5bbd20d6588caf19a4c
12:53:48fowl var articleLinks = seq[tuple[id, slug, title: string]]
12:56:21BitPuffinfowl: oh wait
12:56:34BitPuffinyou are right
12:56:36EXetoCtit? slug? interesting
12:57:14fowlBitPuffin, i usually am
12:59:50BitPuffinEXetoC: slug is when you transform "HellÅ vöd" to "hell-vd"
13:00:12BitPuffinfowl: I switched the = with a :
13:00:18BitPuffinnow I get a read from nil error lol
13:00:35fowlyou are a newb
13:00:36EXetoCinitialize the seq?
13:00:58BitPuffinyeah but I don't want to fill it
13:01:13BitPuffintried to do = %[] but it was like nah man
13:01:34EXetoC@[] ?
13:01:43EXetoCnewSeq?
13:02:46BitPuffinlib/system.nim(390, 13) Error: cannot instantiate: 'T'
13:02:48BitPuffinlol
13:04:16EXetoCwell, are you instantiating it? there's newSeq[T](len) and newSeq(seqVar, len)
13:06:01BitPuffinEXetoC: Yeah I did that now
13:06:03BitPuffinso now it compiles
13:08:08BitPuffinseems to work :)
13:08:22fowlwheres the game
13:23:18*DAddYE joined #nimrod
13:24:02BitPuffinfowl: in your ass ;)
13:25:50BitPuffinConsidering all the extra work my internship slammed on me I don't think It's gonna get done on time
13:25:53BitPuffinstill 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:45EXetoCso... many... #define's...
13:39:25*Varriount quit (Read error: Connection reset by peer)
13:46:35BitPuffinEXetoC: haha, where?
13:47:43EXetoCBitPuffin: everywhere? I'm binding freetype2
13:48:50BitPuffinEXetoC: hot damn
13:49:05fowllole i tried wrapping that once
13:49:12fowli got lazy
13:52:01EXetoCfowl: was it fun?
13:52:21fowlno
13:52:27fowlif it was i would have finished it
13:52:36EXetoCthat makes sense
13:53:42BitPuffindoes it?
13:55:33*darkf_ joined #nimrod
13:58:38*darkf quit (Ping timeout: 240 seconds)
14:08:13EXetoCBitPuffin: 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:39BitPuffinEXetoC: yeah :P
14:09:57BitPuffinEXetoC: why are you never in the VNUG :(
14:11:09EXetoCcan groups be referenced in the replacement pattern for nimgrep?
14:16:27BitPuffinuhh
14:16:30BitPuffinlet's see
14:16:41BitPuffincan I walk down a tree easily without using recursion?
14:16:48BitPuffinIt's not really a good option in a view here
14:19:45*darkf_ quit (Quit: Leaving)
14:19:56EXetoCI'm not much for small talk
14:20:06EXetoCAnd 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:22fowllol
14:31:32fowltheyre talking about programming langugaes
14:31:49fowlKivifreak: Object Oriented Support is when you have different bodies of code in where you can switch in-between. (E.g. void() classes
14:32:45fowlFezziiwig: is OO even faster?
14:33:05brihatIs there a way to accomplish "fall-through" case statement, like in C? Meaning no break after each case.
14:33:29fowlbrihat, no, but your case can have multiple options
14:33:33fowlcase 'A', 'B':
14:33:42fowlor be a range, or a set
14:34:00brihatok, that should do it then
14:40:23BitPuffindo you put "end proc" in a source code filter?
14:41:04BitPuffinif you have multiple procs I mean
14:44:34*gradha joined #nimrod
14:46:51gradhaBitPuffin: source code filters don't have a concept of indentation, so "end proc" is required, see nimforum as an example
14:47:51BitPuffingradha: thought so
14:58:24BitPuffingradha: 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:27gradhaAFAICS 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:54BitPuffingradha: but you include source code filters instead of import
15:00:30gradhawell, if you do so, it's includes all the way, and you can access whatever the parent file has
15:00:47gradhagod pless the C preprocessor
15:03:55BitPuffingradha: didn't seem like it worked
15:04:08faassenI'm having some crashes I can't explain. https://gist.github.com/faassen/7960282
15:04:25faassenargh, afk.
15:05:15gradhaBitPuffin: I can "nimrod c -r t.tmpl" this without problems https://gist.github.com/gradha/7960297
15:06:25faassenback, for a moment. squirming toddler on lap limits my presence. :)
15:06:46faassenanyway, about that gist of mine.. it crashes without report as soon as it hits w.display (doesn't enter it)
15:06:53faassenif you modify HEIGHT to 326 it works.
15:07:08faassenif you modify TField to have extra float entries, i.e. f: float
15:07:10faassenit crashes
15:07:30gradhathe tuple definition is somewhat weird, it's missing square brackets
15:07:32faassenif I change things around so display works with TGrid directly and I initialize that.
15:07:36BitPuffingradha: well that's not what I meant
15:07:48faassengradha: yeah, but I understood that was possible. and it otherwise works.
15:07:55BitPuffingradha: try making a bla.nim which includes wee.tmpl and wee.tmpl uses things from bla.nim
15:08:00BitPuffinor things that bla.nim imports
15:08:40dom96BitPuffin: just include it and the filter will have everything the module imports.
15:09:33dom96ugh, seriously. Why does gist always mess up indentation when copying code from it? Do I need to create a nimrod pastebin too?
15:09:34faassenthe tuple definition style makes no differenc.
15:09:42faassenI get some kind of segfault thingy.
15:09:51gradhadom96: maybe it's you? seems to work fine for me
15:10:08dom96maybe it's firefox's fault?
15:10:09faassenError: execution of an external program failed
15:10:52gradhafaassen: maybe there's a problem with that much tuple recursions, please report it as bug on github
15:11:01faassenI'm using the nimrod release by the way. is this considered okay?
15:11:04EXetoCdom96: copying the raw data?
15:11:08dom96indeed. That's a bug, there is a segfault.
15:11:18EXetoCthere should be a link to it
15:11:36faassendom96: is this a known bug in the release?
15:11:38dom96EXetoC: there is, and it's basically a download link...
15:11:41faassendom96: I didn't think I was doing something very weird.
15:11:57BitPuffindom96: I sure hope so lol
15:11:59dom96faassen: AFAIK it's not known.
15:12:03BitPuffinotherwise I'm gonna smash bawlz
15:12:15EXetoCdom96: don't have "view as text" in the context menu?
15:12:15faassenheh, I wonder what I'm doing that's so unusual.
15:12:16gradhathe problem is not that much with tuples but with the for loop of them
15:12:33faassengradha: strangely enough if I put a echo in the first line of display
15:12:36faassengradha: it never gets reached
15:12:51faassengradha: it's as if display cannot be called.
15:12:55gradhathat's because the code generation for the "for + tuple" seems wrong, when you uncomment that it doesn't crash
15:13:28BitPuffinaaaaaaaaaaaaah
15:13:35BitPuffinthe template error messages are the worst
15:13:44BitPuffinthey don't say where they were called from
15:13:49BitPuffinnot always at least
15:13:56BitPuffinso sometimes it just says which line in the template was wrong
15:14:06BitPuffineven though it was the parameters that were wrong
15:14:19fowlzz
15:14:55fowlgradha, then why doesnt changing them to objects work?
15:15:11faassenhuh, does github let you attach files as examples, or do I really need to paste it into the issue?
15:15:26fowlfaassen, paste, with ```nimrod and ``` around it
15:15:45faassenfowl: ah, thanks, yeah, I remember that now.
15:16:02fowlthat is weird that it works with height = 236
15:16:07fowl326*
15:16:21faassenyeah.
15:16:24faassenadd another tuple field.
15:16:26dom96probably some code gen error
15:16:26faassento 'TField
15:16:30faassenand it stops working with 326.
15:17:18dom96removing a field also works.
15:17:21dom96with 327
15:17:27faassenyeah.
15:17:39gradhaI'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:48faassenI'm a total nimrod noob so I suspect problem between chair and keyboard first.
15:17:53faassenso I tried a huge amount of things.
15:17:57faassenwent to heap allocation. didn't make a diference.
15:18:10faassenyeah, if you modify display to take TGrid.
15:18:12faassenand then pass that in.. it works.
15:18:28gradhayes, the problem is the outer tuple, if you create a TGrid and pass that it works
15:18:39gradhaso tuples with nested arrays don't work now, file a bug for that
15:18:45faassenI tried adding a field to the TWorld tuple, but that didn't change things.
15:18:51faassenwell, I filed this.
15:18:55faassenhttps://github.com/Araq/Nimrod/issues/748
15:19:00faassenfeel free to offer your analysis as comments. :)
15:19:21faassenI got to go now, as this toddler here is trying to touch everything.
15:19:24*faassen grins.
15:19:36faassendoing this with toddler on lap is kind of impossible.
15:19:37faassensee you!
15:19:40BitPuffinthis isn't even supposed to put the error there
15:19:43BitPuffinwtf seriously
15:19:45*faassen waves.
15:19:50BitPuffinthe template takes string parameters
15:20:01*faassen left #nimrod (#nimrod)
15:20:13BitPuffinyet 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:56EXetoC"#define ft_render_mode_normal FT_RENDER_MODE_NORMAL" good stuff
15:30:14*DAddYE quit (Ping timeout: 240 seconds)
15:32:55BitPuffinEXetoC: just mandatory obviously
15:33:04BitPuffinEXetoC: but in nimrod that doesn't make a difference
15:33:07BitPuffinsince they are equal
16:20:49*hoverbear joined #nimrod
16:44:43*boydgreenfield joined #nimrod
16:45:09OrionPKMhttps://dl.dropboxusercontent.com/u/417554/sublanguages.png
16:46:04dom96OrionPKM: Genius.
16:46:27OrionPKMthose annotations also trim added indentation
16:46:30OrionPKMat compile time
16:47:56OrionPKMnow all I need is a templating engine to go along with this
16:49:11BitPuffinOrionPKM: that's awesome
16:49:41dom96OrionPKM: Just implement Mustache.
16:50:07OrionPKMhm
16:50:09gradharename subexes and upload as babel package
16:50:36OrionPKMthe babel package will probably be called templating or something
16:50:41OrionPKMthe module called annotation.nim
16:50:55OrionPKMyou'll need the sublimetext varriount and I are working on to get the syntax highlighting
16:51:01OrionPKMsublimetext plugin*
16:51:31OrionPKMim thinking of something similar to ctemplate
16:51:31OrionPKMhttps://code.google.com/p/ctemplate/
16:56:17EXetoC"FT_Init_Class_ ## class_( FT_Service_TTGlyfRec* clazz ) \" no.... nooo..... NOOOOOOOOOO
17:12:00gradhaEXetoC: 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:58BitPuffindom96: empty VNUG wtf maan :D
17:59:41dom96BitPuffin: Working on Babel and listening to music :P
17:59:51BitPuffindom96: you can just ignore me lol
17:59:57BitPuffinanything to keep the VNUG filled ;_;
18:00:43dom96i'll join later
18:00:56BitPuffindom96: I'll be working anyway too
18:00:58BitPuffinon the website
18:01:00fowli'll join if i can just play music through it
18:01:18BitPuffindom96: But I'm not gonna be able to in here that much today :(
18:01:28dom96BitPuffin: why? :(
18:01:53BitPuffindom96: because my mom and her boyfriend will be sleeping right next to where I stand and work lol
18:03:32BitPuffindom96: and my laptop doesn't have a battery so it's a pain to move lol
18:03:42BitPuffinbut maybe I could move and set up arch on my desktop or something
18:03:42*_dymk joined #nimrod
18:03:45BitPuffinsince that's on the list
18:03:47BitPuffinI dunno
18:04:36NimBotnimrod-code/babel master 1646f45 Dominik Picheta [+0 ±3 -0]: Version querying is now disabled by default.
18:04:36NimBotnimrod-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:03fowlyou stand and work?
18:06:04*gradha_ joined #nimrod
18:06:04BitPuffinfowl: I've been trying it lately yeah
18:06:04fowldoes it work?
18:06:04BitPuffinthink so yeah
18:06:04BitPuffinI'm not really doing it properly
18:06:05*reactormonk joined #nimrod
18:06:09BitPuffinI just put the laptop on a bunch of books
18:06:16BitPuffinso I still have to look down on the screen
18:06:24BitPuffinbut yeah I'd say it's a lot better than sitting
18:06:45fowleasier to have not-horrible posture?
18:06:59BitPuffinsince 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:24BitPuffinwhereas when you stand you are not really static that much
18:08:32BitPuffinfowl: 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:57OrionPKMyay babel list is fast again
18:11:08dom96OrionPKM: Do you use it often? lol
18:11:27OrionPKMI've got support for it in the sublimetext plugin
18:11:40OrionPKMit caused the whole editor to hang when it was loading
18:12:13dom96silly sublime
18:12:24dom96:P
18:12:29OrionPKMmy fault for not putting it in a diff thread :p
18:12:48OrionPKMbut 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:20BitPuffindom96: guess I'll move the damn computer then :P
18:33:46dom96You 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:57dom96oh
18:34:59ddl_smurf(possible explanation is somehow its coerced to string using hex chars and ignoring anything after first non hex char)
18:35:08ddl_smurf(*to int)
18:35:27dom96nah, 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:18fowlhttps://bitbucket.org/FeministSoftwareFoundation/c-plus-equality
18:56:05PortableEXetoCLolwut
18:57:15gradha_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:41gradha_fowl: did you wrap webkit for nimrod?
19:14:43fowlnope
19:15:01fowlim 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:32gradha_it would have been cool to have π bitcoins
19:16:34dom96hi jimmt
19:17:36jimmthi
19:18:24*jennjimm quit (Ping timeout: 250 seconds)
19:21:40gradha_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:11BitPuffindom96: 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:13BitPuffindom96: right nao :P
19:28:47dom96Maybe later.
19:28:52dom96I can't talk and code at the same time.
19:29:08gradha_BitPuffin: ok, I think I'm ready to join the VNUG
19:29:13BitPuffindom96: but you don't need to talk
19:29:21BitPuffinonly idle and stuff :P
19:29:23BitPuffingradha_: yay :D
19:29:31gradha_BitPuffin: so, what port do I telnet in?
19:29:37BitPuffingradha_: 1337
19:31:21*DAddYE joined #nimrod
19:35:02BitPuffindom96: alright I'll go buy crisps and then you have to join lol
19:35:28*DAddYE quit (Ping timeout: 240 seconds)
19:38:42fowlwha you coding dom96
19:38:47dom96babel
19:38:47fowlLD?
19:38:49fowloh
19:55:21*brson joined #nimrod
19:55:57BitPuffindom96: alright now you better get your ass in here lol :P
19:56:08dom96what if I refuse? :P
19:56:27brihatis there an equivalent of python's "with" statement?
19:56:35BitPuffindom96: I will destroy something precious
19:57:02dom96brihat: AFAIK no, but you can write your own with a template.
19:59:03*hoverbear quit (Quit: Hibernating, be back soon.)
20:01:10brihati still have a long way to go befoer i write templates
20:02:05fowlwhat does with do
20:03:11brihati mostly use it as a way to avoid ugly try-catch blocks
20:03:29brihatsort of calling a destructor when scope is existed automatically
20:03:40BitPuffinfowl: same as using
20:07:53gradha_brihat: you can use finally as a statement
20:08:00gradha_that avoids the ugly nesting
20:08:30brihatyes, but that's still verbose
20:09:05brihatIn Python:
20:09:05brihatwith open("file.txt") as f:
20:09:06brihat data = f.read()
20:09:22brihatThat automatically closes the file after executing the with block
20:10:05brihatSpecifically, f.__exit__() is called automatically which happens to do f.close()
20:10:24gradha_var O = open(dest_filename, fmWrite)
20:10:28gradha_finally: O.close
20:10:33gradha_O.write(blah)
20:11:24brihatyes, i got what you mean, but for other user-defined objects, with statement is more nicer
20:11:43brihatcoz the end-user needn't call close() or whatever exolcitly
20:13:36gradha_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:47brihatagree
20:15:05gradha_it's good you mentioned this, I was debating what next python feature to emulate with macros for the tutorial
20:15:14gradha_I was going to do list comprehension
20:15:27gradha_but a with statement seems easier to follow and has less pitfalls
20:15:47brihatoh cool
20:16:44brihatIn python, any object that defines the magic methods __enter__( ) and __exit__( ) can be used in a with statement; otherwise not
20:17:20brihathope that's easy enought to do with macros
20:19:01gradha_never found a use for __enter__()
20:21:45gradha_let's see if I can make it like "with_closing(open(dest_filename, fmWrite), O): O.write(blah)"
20:27:03gradha_hmm... it would also be cool if the macros API allowed you to query what procs can be called on a type
20:27:30dom96I think you should just make it call .close()
20:27:49dom96and if the type doesn't have a .close() defined then you will get a nice enough error anyway
20:27:58gradha_yes, I was just fantasizing you could detect several different convention methods and use any of the ones found
20:28:43gradha_oh, nice, you can have the macro call close and if needed you write yourself the wrapper proc
20:28:55gradha_hah, suck it, OOP
20:32:43*DAddYE joined #nimrod
20:35:53fowlgradha_, make it emit when compiles(obj.close): obj.close
20:36:40gradha_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:05fowlshrug
20:41:37gradha_fowl: do you know how to get the type of a PNimNode expression?
20:42:23fowlyea its PNimNode
20:42:50fowlbut srsly
20:43:00fowlmacros operate before that stage
20:43:05fowlyou're working with syntax
20:43:56gradha_oh, actually I don't need to know, I can make the try/finally block after the var assignment
20:59:56gradha_brihat: still there? check https://gist.github.com/gradha/7964832
21:00:05brihatstill here
21:00:44gradha_I guess it should be named with_close to avoid copyright infringement
21:00:54gradha_plus it calls close(), not closing()
21:01:44gradha_ah, it's missing a block nesting to avoid polluting the namespace with the variable
21:04:15fowlgradha_, return newblockstmt(result) might work
21:04:32fowl(for minimal code change)
21:04:45gradha_yes, I was shuffling around testing
21:04:49fowlthen again, it might cause the evaluator bug
21:05:36brihatworks
21:06:04brihatbut i don't understand the program though, all those newNimNodes and newIdentDefs, etc.
21:06:17brihatI have to take the tutorial on macros :)
21:06:17gradha_I just updated it to have a block wrapping around it
21:06:45brihati c it
21:07:05gradha_brihat: if so look at the development docs, they already have some macro tutorial improvements
21:07:09bastianare there any plans for supporting recursive iterators?
21:07:46gradha_not sure https://github.com/Araq/Nimrod/issues/555
21:07:49dom96yeah, I think so. Well, the issue I reported about it is still open so Araq didn't reject the idea.
21:08:08bastianah, nice
21:08:52gradha_bastian: for the moment you can move that macro code somewhere you don't see it and just use it
21:09:47bastiangradha_: don't understand what you mean, sorry
21:09:55bastiangradha_: how is this related to macros?
21:10:18gradha_I meant the gist, you can copy/paste that somewhere and use with_closing in your code
21:11:06gradha_you could have a "python_macros" module and import that
21:11:26bastianoh, guess this is in response to brihat..
21:11:31brihathe meant brihat, not bastian :)
21:11:32gradha_or just "import with" as is, after removing the debug/sample code at the end
21:11:43gradha_oh, true, sorry
21:12:18brihatthis is indeed a nice start, thanks gradha_
21:14:31gradha_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:51brihatcan the compiler spit out the macro-expanded code?
21:16:09gradha_yes, in fact, that's how I end up building macros
21:16:46gradha_aw, still no updated docs on the farm dom96
21:17:08dom96yeah... Araq needs to fix a corruption
21:17:13brihati didn't see anything with nimrod c with.nim
21:17:36gradha_brihat: you will need to read https://github.com/Araq/Nimrod/blob/master/doc/tut2.txt#L808
21:17:45brihator it spatt out something which was too low-level
21:17:53BitPuffinisn't it more important that Araq fixes compiler bugs for the release that is in like two days dom96?
21:18:07gradha_brihat: you use the dumpTree macro https://github.com/Araq/Nimrod/blob/master/doc/tut2.txt#L951
21:18:37brihatAhan, there it is... much thanks gradha_
21:19:11gradha_brihat: just generated http://dl.dropboxusercontent.com/u/145894/t/tut2.html#generating-ast-by-hand, rst is ugly
21:19:28dom96BitPuffin: That is a compiler bug.
21:20:59NimBotnimrod-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:59NimBotnimrod-code/babel master 439b05b Dominik Picheta [+0 ±1 -0]: Updated readme to mention specific commit installation.
21:21:14brihatgradha_: 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:49fowlbrihat, blame it on germany
21:21:57brihatlol
21:21:58fowlrst must be germanic somehow
21:22:03gradha_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:56gradha_presumably the rst code handles markdown as well, but only some subset
21:23:05dom96indeed.
21:23:19dom96What I would like to see is markdown-style hyperlinks.
21:23:19gradha_but then, the nimrod rst only handles a subset of the rst specification
21:23:32brihatplain 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:38dom96in some ways rst is more powerful than markdown i think
21:23:52gradha_yeah, directives
21:23:52dom96markdown doesn't support tables for examples as far as I know
21:24:43brihatOr it might be that rst is used in Python, so we want to emulate that in nimrod
21:25:39gradha_brihat: we still have a long way to go to comply with python's slowness
21:26:17brihathaha, we rather keep it a looooong way away from us
21:26:34gradha_yesterday I released https://github.com/gradha/quicklook-rest-with-nimrod but forgot to add a meme image to it
21:26:47gradha_today I made http://dl.dropbox.com/u/145894/python_stahp.jpg
21:27:45gradha_ah, forgot to upload binaries too
21:28:01gradha_you know, the binaries github doesn't want you to upload
21:29:39gradha_well, DART will be an ECMA standard now, we should switch to that
21:31:12brihat gradha_, Github now calls it "Releases" feature, you can upload binaries i think
21:31:47gradha_AFAICS that's a zip of the repo from a tag
21:31:51gradha_https://github.com/gradha/quicklook-rest-with-nimrod/releases
21:32:56gradha_oh, wait, there's a button to upload binaries, maybe it works after all
21:34:00BitPuffindom96: so when will babel suuport CVS?
21:34:24dom96neveerrrr
21:34:29EXetoCthat thing made of sticks and stones?
21:35:05brihatEXetoC: that credit does to RCS, my first version control system bundled with Emacs
21:36:05brihatECMA also standardized Eiffel, but nobody uses it. May be Dart follws the same way
21:37:15brihatAnd microsoft did heavy lobbying to get OOXML as ECMA-approved. Google is doing the same
21:37:33brihatThat is why Dart is ECMA standard, not ISO standard
21:37:55gradha_nobody burns ISOs any more
21:38:20brihatme me me !
21:43:20gradha_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:52brihatgreat :)
21:44:12gradha_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:23BitPuffindom96: I'm gon diddely bike the dog, then you BETTER!
21:45:33brihatgradha_: download works. then again, you can create arbitrary tag & keep uploading
21:46:45gradha_chances are if you are using git for code you don't want arbitrary tags for binaries
21:48:21brihatyup
21:49:33gradha_"The asset data is expected in its raw binary form, instead of JSON" duh
21:49:46gradha_I was just jumping to encode all by zips to json
21:57:38gradha_agh, I'll have to create the gh-pages anyway to upload the python mocking image
21:58:18gradha_hmm… or maybe I should add it to the repo… decissions, decissions…
21:58:53brihatfrankly, i didn;t understand that pic at all
21:59:09brihatwhat is that animal
21:59:37gradha_ah, the right one is a honey badger, nimrod's mascot
22:00:10gradha_a requirement to use nimrod is having seen https://www.youtube.com/watch?v=4r7wHMg5Yjg
22:00:19brihatoh really, didnt know it
22:00:34gradha_it still hasn't spread, Araq is slow updating the website
22:00:49gradha_the point is, honey badgers eat snakes, gophers, and other animals
22:01:03fowlsurvives cobra bites!!
22:01:20gradha_"the honey badger is pretty badass"
22:03:44brihatit seems to do anything other than eat honey
22:16:03gradha_good night, honey badgers
22:16:13brihatbye
22:16:16*gradha_ quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=hcDEWiH-ciw again)
22:16:30joelmothey like honey, but also insects and frogs
22:16:35joelmonight
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:43BitPuffindom96: alrgiht maaaan :P
22:48:37*zielmicha quit (Ping timeout: 248 seconds)
22:50:50*darkf_ is now known as darkf
22:51:59dom96BitPuffin: ok ok, give me a sec
22:54:04*darkf quit (Read error: Connection reset by peer)
22:55:39BitPuffindom96: yay!
23:03:37*darkf joined #nimrod
23:21:06*kristina is now known as Kristina
23:23:24NimBotnimrod-code/babel master c24627b Dominik Picheta [+0 ±3 -0]: List command supports --ver now.
23:23:53fowldom96, please make the default for overwrite install [Y/n]
23:24:23dom96fowl: You can pass -y to always confirm
23:24:56fowlhrm
23:25:02fowlgood to know
23:25:06fowli'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:44BlueProtomanQuestion. 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.