<<01-09-2012>>

02:19:13*q66 quit (Quit: Quit)
06:58:36*EfTwelve quit (Remote host closed the connection)
09:32:03*Boscop quit (Disconnected by services)
09:32:05*Boscop joined #nimrod
10:03:13shevyoh a question
10:03:25shevysay, I would write something in nimrod-gtk
10:03:43shevyin 2 years, would that code still be expected to work? or may there be large changes to nimrod-gtk in between
10:27:37*q66 joined #nimrod
11:19:59dom96shevy: Hard to say. The wrapper shouldn't change too much, but someone might make a
11:20:08dom96nicer binding to it.
11:20:23dom96The only changes to the actual wrapper will be bug fixes though.
11:20:35dom96The interface shouldn't change, unless gtk actually changes.
11:20:50dom96But that's gtk3 so... yeah. It is expected to work :P
16:36:12*shevy quit (Ping timeout: 268 seconds)
16:48:51*shevy joined #nimrod
17:07:45*XAMPP_ joined #nimrod
17:17:39*XAMPP quit (Ping timeout: 246 seconds)
17:37:16*Trix[a]r_za is now known as Trixar_za
17:38:28dom96Trixar_za: Have you tried compiling Aporia recently?
17:38:38dom96It should compile for you now.
17:38:50Trixar_zaNope. I should try updating it and Nimrod
17:39:00Trixar_zaI may just do that now
17:39:00Trixar_za:P
17:39:26dom96Let me know how it goes :D
17:39:50Trixar_za... still freaks me out that I know the web addresses by heart
17:40:50dom96hehe
17:46:23Trixar_zaRight, here we go with bootstrapping Nimrod
17:46:24Trixar_za:P
17:57:53Trixar_zaNearly done
17:59:34dom96You know you could have just downloaded a build from nimbuild :P
17:59:58Trixar_zaYes, but this way I look sexy
18:00:22Trixar_zaAnd when I work as a programmer, it will look like I'm actually doing some work
18:00:27dom96haha
18:05:50Trixar_zaThis last stage always takes a while
18:05:51Trixar_za:P
18:06:43dom96Your computer is quite slow :P
18:06:50Trixar_zaYeah :(
18:07:18Trixar_zaIt's a little faster now. At 9 minutes for me now instead of the usual 15
18:08:06dom96Interesting.
18:09:08Trixar_zabtw
18:09:29*Trixar_za is listening to: Haters by HoN Raps
18:09:35Trixar_zaI actually tracked down a copy of the song
18:09:36Trixar_za:P
18:16:44Araqdom96: try to scroll by clicking on the arrow in aporia
18:17:03Araqdo that once a day
18:18:09dom96huh?
18:19:04Araqit often opens a new tab :P
18:19:14Araqwhich doesn't help when scrolling
18:19:20Araqit's really annoying
18:19:21fowlyou mean doubble clicking on the scroll bar
18:19:31Trixar_zaAporia seems to be compiling
18:19:33dom96I see.
18:19:49dom96Araq: Come on, it's a known issue.
18:19:59Trixar_zalol
18:20:05Trixar_zaYeah, I discovered that on myself
18:20:07Araqfix it
18:20:12Araqfix it
18:20:13Araqfix it
18:20:14Trixar_zaone*
18:20:45fowlwhat i need is some kind of layout/splitting options
18:21:33dom96Araq: You could always you know, use a scroll wheel like a normal person :P
18:21:41fowli work best like this: http://minus.com/lFOq6tKBRTlco
18:21:47Trixar_zaYay, it compiled
18:21:53Trixar_zaDid one of you fix it?
18:21:53Trixar_za:P
18:22:16dom96Trixar_za: I fixed it :P
18:22:36dom96fowl: Vertical split is in the todo list, not sure if I will get it in for 0.1.3 though
18:23:24Trixar_zaI like piekno
18:23:38dom96Trixar_za: :D
18:31:55Trixar_zaI, like all my bachelor forefathers, will now have breakfast foods for dinner
18:35:44fowlbreakfast for dinner is the best
18:36:36Trixar_zaI'm newly single, so celebrating like a guy
18:36:39Trixar_za:P
18:36:49Trixar_zaThat and I'm too broke to go on a drinking binge
18:51:00shevylol
18:51:07shevyTrixar is one funny guy
18:55:31fowlTrixar_za: i used to have tons of fun for $5 i'd go to the gas station and buy two bottles of cough drops, they sold this brand that only had DXM in it so it didnt make you sick when you downed 40 pills
18:58:35*zahary joined #nimrod
19:02:43Trixar_zaProbably will only work once on me. My body sucks because it builds tolerance to most things pretty quickly
19:47:21*EfTwelve joined #nimrod
20:06:36Araqhi EfTwelve, welcome back
20:09:36EfTwelvehi
20:29:22Araqping zahary
20:30:06Araqsemtypes.nim:830
20:30:16Araq result = copyType(result, getCurrOwner(), false)
20:30:18Araq for i in countup(1, n.len - 1):
20:30:19Araq result.rawAddSon(semTypeNode(c, n.sons[i], nil))
20:31:04Araqthis is only supposed to be triggered if result.kind == tyTypeDesc, right?
20:36:23reactormonkAraq: would you accept some random overloads?
20:36:45Araqreactormonk: like?
20:37:31reactormonkAraq: random(int) 0..<int random(x,y) x..<y and same for floats
20:38:20fowlproc random(x: TSlice[int]): int = result = random(x.b - x.a) + x.a
20:38:39Araqrandom(int) already exists, right?
20:38:46reactormonkoh, they're called slices, not ranges...
20:38:49reactormonkAraq: yep
20:39:33fowlisnt there a standard randomfloat func we can import from c
20:39:40reactormonkfowl: sure there is
20:40:01Araqdunno I think random(int) should become a template
20:40:15reactormonkhuh?
20:40:34Araqso you'd have: case random() mod 3
20:40:47Araqof 0, 1, 2: echo "yummy"
20:40:56Araq--> no 'else' required
20:41:10Araqcompiler is smart enough to perform the interval analysis :P
20:41:30Araqit can't do this interval tracking through procs though
20:41:35Araqso we'd have:
20:41:50Araqtemplate random(n: int): int = random() mod n
20:42:52Araqsame for random(x.b - x.a) + x.a
20:44:56Araqthinking about it -- it's wrong for negative numbers :-|
20:45:11Araq-5 mod 2 == -1 according to the REPL
20:45:57Araqoh well, I'll fix it somehow
20:52:24fowlthere's always %%
20:53:44Araqtrue
23:22:56zaharyAraq, about your question: no, it would be true for tyExpr too
23:23:46Araqwell sure, but was that your intention?
23:23:59Araqthe code does not contain any check
23:24:37Araqand I changed it for anything != tyTypeDesc :P
23:24:44Araqto support:
23:24:55Araqexpr{lit|call, noalias}
23:28:29Araqalso you setting typ.n for tyExpr in sigmatch is evil
23:30:09Araqbut it's a minor grief as I introduced typ.constraint for the new features
23:32:23Araq template optRe{re(X, Y)}(X: string{lit}, Y: varargs[expr]) =
23:32:24Araq let cached {.global, gensym.} = re(X, Y)
23:32:26Araq cached
23:32:39Araq--> problem: it triggers an endless recursion
23:33:04Araqas the resulting code is searched for TRMs again
23:33:20Araqand 're(X, Y)' matches just like it did the first time
23:41:45Araqzahary: well?
23:47:48zaharymy reasoning was that this T{foo, bar} syntax is always likely to work by introducing children to the type whatever the implemented feature is so I didn't put any restrictions there. feel free to change it
23:48:01zaharyanything != tyTypeDesc doesn't sound right tho
23:48:37Araqbut it is: string{lit}
23:49:05Araqis natural to do
23:49:27Araqexpr{lit} is often not good enough
23:49:34Araqand you can also have:
23:49:43Araqstring{skVar}
23:50:15Araqwhich matches a node of kind nkSym with a symbol of kind skVar of type 'string'
23:51:15Araqin fact, I've implemented a stack based virtual machine for efficient pattern matching of these ...
23:51:17zaharydo we disagree somewhere? feel free to add a switch statement based on the type of the constraint
23:51:34Araqwell I did
23:51:46Araqand you said != tyTypeDesc doesn't sound right to you ;-)
23:51:53Araqwhich is my 'switch'
23:52:53zaharyI meant result.kind != tyTypeDesc doesn't sound right (because tyExpr{string} should continue to work) - is that what you meant?
23:53:19Araqyes
23:53:35AraqI broke tyExpr{string}
23:54:02Araqwhy was that useful btw?
23:54:14zaharythis is compile-time string value
23:54:43Araqhrm
23:55:35zaharywe probably have some overlap now between string{lit}, expr{nkStrLit} and expr{string{
23:55:43zaharyexpr{string}
23:56:12Araqnot really as the patterns only work in TR patterns
23:56:16zaharyexpr{string} is any kind of compile-time evaluatable expression that returns a string
23:56:38zaharyexpr{nkStrLit} is supposed to be stronger, requiring a real literal node
23:56:47AraqI see now why you used static{string} for that
23:56:58Araqwell
23:57:13AraqI'll change it so that:
23:57:36Araqthe [] will introduce a type class
23:57:47Araqand {} a pattern
23:58:02Araqtypedesc[int] # no problem, right?
23:58:13Araqexpr[string]
23:59:06zaharywell, no problem, but they sound more pattern-like to me than generic-like (i.e. seq[int])
23:59:23Araqwell T[] produces a type
23:59:33Araqand T{} does not
23:59:55zaharyI mean expr[string] is more of a pattern to me than a type