<< 02-11-2013 >>

00:08:00VarriountMust... Get... libcef... wrapperworking..
00:10:19*CarpNet quit (Read error: Connection reset by peer)
00:11:50EXetoCsounds like fun
00:15:43AraqScramblejams: I've only skimmed your points but you're wrong on everything :P
00:16:10Araq1.) nobody codes in notepad so tooling is important no matter how much you dislike IDEs
00:16:41dom96Ahh, good ol' blunt Araq.
00:17:05Araq2.) consistent style is vastly overrated and there have been no scientific studies afaik that show how consistency improves any measure of software quality
00:17:26Araqit's just universally assumed that it does
00:18:12Araqwhereas my studies show the opposite: the human brain doesn't care if you wrote filename or fileName and the bugs are usually logical bugs about unexpected cases
00:20:42Araqand while it may be confusing that foo_bar and foobar are the same symbol, it's actually MORE confusing to have both foo_bar and foobar in the same file and they mean *different* things
00:21:08*Ricky_Ricardo quit (Quit: Ricky_Ricardo)
00:25:50Araq3.) the indentation based syntax is not really about enforcing a proper indentation style but much more about never having to read stupid "end end end" or "}}}}" chains again which take up valuable screen space
00:33:05Varriountdom96, In my experience, programmers tend to be blunt, to the point of being mean.
00:33:37dom96Varriount: Yeah, that is usually the case.
00:33:58VarriountI have yet to find a programmer who I would describe as "sweet and nice"
00:34:37AraqI'm always sweet and nice unless you say something I disagree with
00:34:42*MFlamer quit (Remote host closed the connection)
00:35:00Araqor unless I'm in a bad mood
00:35:19Araqor unless it's a Monday
00:41:42*freezerburnv joined #nimrod
00:43:01*DAddYE quit (Remote host closed the connection)
00:54:02VarriountAraq, can c2nim handle templates in c++ mode?
00:55:40Araqkind of, it can handle vector<map<string, string>>
01:02:39*BitPuffin quit (Ping timeout: 272 seconds)
01:03:36VarriountAraq, I'm trying to get it to wrap a template definition -> https://gist.github.com/Varriount/7274271
01:03:56VarriountSome other files in the lib I'm trying to wrap depend on the definition.
01:06:51*mflamer joined #nimrod
01:11:27mflamerhey, where can I find that "class" macro? I forget who wrote it
01:28:32Araqmflamer: both fowl and adrian have one afaik
01:28:39Araqgood night
01:42:33*filwit joined #nimrod
01:43:21*mflamer_ joined #nimrod
01:43:49*mflamer quit (Ping timeout: 272 seconds)
01:48:53*mflamer_ quit (Ping timeout: 272 seconds)
02:25:29*Demos joined #nimrod
02:33:29*brson quit (Ping timeout: 272 seconds)
02:34:52*brson joined #nimrod
02:59:26*mflamer joined #nimrod
03:01:21*ics joined #nimrod
03:05:53*mflamer quit (Ping timeout: 272 seconds)
03:06:58*mflamer joined #nimrod
03:15:39*mflamer quit (Ping timeout: 272 seconds)
03:24:42*brson quit (Quit: leaving)
03:26:14*mflamer joined #nimrod
03:28:44*Associat0r joined #nimrod
03:28:44*Associat0r quit (Changing host)
03:28:44*Associat0r joined #nimrod
03:30:14*freezerburnv quit (Quit: freezerburnv)
03:32:38*mflamer quit (Ping timeout: 245 seconds)
03:36:12*mflamer joined #nimrod
03:41:08*mflamer quit (Ping timeout: 240 seconds)
03:41:10*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
03:44:52*ics joined #nimrod
03:49:01*ics quit (Ping timeout: 240 seconds)
03:51:44*ics joined #nimrod
03:54:42*mflamer joined #nimrod
03:57:07*filwit quit (Quit: Leaving)
04:20:20ScramblejamsAraq: Hi! I feel honored to be disagreed with. :-)
04:21:30ScramblejamsI'm not arguing about camelcase or whether people should put underscores into variable names.
04:21:46VarriountScramblejams, He's probably asleep.
04:21:59ScramblejamsOh well.
04:22:04VarriountIt's around 5 am or so where he lives.
04:22:37ScramblejamsWell, he'll come back and read it. We're sufficiently out of time sync that we may actually never talk. So I'll respond.
04:22:53VarriountAlso, it would take dynamite and more time than you have hairs to shift his opinion about certain things.
04:23:23Varriount(Of course, that's true about a lot of programmers >_>)
04:23:25*mflamer quit (Ping timeout: 272 seconds)
04:23:27ScramblejamsWell I'd like to get his feedback on my point that the cognitive load of the way the import statement works isn't worth what typing it saves a programmer.
04:23:43VarriountHowso?
04:23:57ScramblejamsIt's all up there in the IRC history, if you have it.
04:26:04ScramblejamsThe tooling/IDE/etc stuff I'm not that passionate about.
04:26:23ScramblejamsThe issue with the import statement is that it clutters up your namespace with all the symbols it drags in.
04:27:07ScramblejamsBut it saves typing, you say!
04:27:20ScramblejamsNot really. Because a good library author will be concerned about stepping on your symbols.
04:27:31ScramblejamsSo s/he'll end up prefixing those symbols with the library name anyway.
04:27:51ScramblejamsAnd when I read a source file with a dozen imports at the top, I have no idea which import a given symbol came from.
04:28:18VarriountScramblejams, while I'm reading the logs, I'll point you to this -> http://build.nimrod-code.org/irclogs/13-10-2013.html#300
04:29:06VarriountAbout halfway through, Araq mentions his take on namespace pollution.
04:29:13Scramblejamsok
04:29:35VarriountI don't agree, but I guess that's what comes when you been using python for the past 4 years. :/
04:29:52ScramblejamsIt ain't just Python.
04:30:47VarriountI'm just glad that nimrod has the flexibility of allowing "from x import y"
04:31:04VarriountEven though it isn't quite used throughout the standard library.
04:31:45ScramblejamsHe isn't addressing the point that it's much harder to read code written with namespace pollution. If you've lived with C++ for a couple of decades, your behavioral tics start building up to where you don't notice the fact that it's jabbing you in the foot all the time.
04:32:00ScramblejamsEvery time I open up a C++ file with a bunch of includes, it's the same problem.
04:32:24ScramblejamsIn Erlang or Python, I'm never wondering about where something came from.[
04:32:34VarriountScramblejams, I've found that out quite recently.
04:33:05VarriountI'm trying to wrap libCEF, and each file includes other files... and then uses the things that other files include.
04:33:25ScramblejamsYep, total pain in the neck.
04:33:33VarriountSo you can never be sure what modules actually *depend* on each other, until compilation time.
04:34:00ScramblejamsThat should be viewed as a wart left over from the unenlightened days of crappy languages.
04:34:14VarriountThough nimrod's imports aren't quite so... transparent/include-like, they do take... getting used to.
04:34:50VarriountScramblejams, part of it is the fact that types are separate from 'their' procedures.
04:35:05Demospretty much every languge that is not C or C++ has a notion of a "module"
04:35:20DemosGLSL and HLSL are notable exceptions
04:36:03ScramblejamsYeah, the "module" notion here is pretty ugly.
04:36:09ScramblejamsVarriount: Can you elaborate?
04:36:16VarriountSo, unlike in python, where one would simple do something like "from x import ClassY", in nimrod you would have to do "from x import TypeY, yMethodOne, yMethodTwo"
04:36:30Varriountetc
04:36:34Scramblejamsok
04:36:55Demoswhat about allowing method call syntax on imported types
04:37:05ScramblejamsThe problem is I see a lot of code where the author isn't doing that. They're just doing "import blah".
04:37:17VarriountScramblejams, that's the point
04:37:22Demosso if I said from x import TypeY I could call Y.ymethod but /not/ ymethod(y)
04:37:31Demosif I want ymethod I would have to import that as well
04:38:35Demoswell frankly I think that dumping everything in the global namespace on import is not /terrable/ default behavior, no matter what it is a hell of a lot better than C
04:39:01ScramblejamsSo are you saying that's why I see "import blah," because the authors don't want to spell everything out in the imports?
04:39:12VarriountScramblejams, yes
04:39:21VarriountScramblejams, let me draw up an example.
04:39:26Varriount(One moment)
04:39:38ScramblejamsJava makes you do that, which should be a clue that this situation isn't optimal.
04:40:07VarriountJava also limits you to one class per file.
04:40:12Varriount*one main class
04:40:16ScramblejamsDon't get me started. :-)
04:40:19Demosdoes Nimrod have something like haskell's import qualified?
04:40:22ScramblejamsIt's awful in so many ways.
04:40:47Demosone class per file is not so bad imo, but if java supported structs (value types) it would be a disaster
04:41:19Demosyeah I had to work in C# this week and I was like I JUST WANT A FUNCTION
04:42:27Demosactually haskell's module system is pretty good, very pragmatic
04:44:36VarriountDemos, Scramblejams -> https://gist.github.com/Varriount/7275618
04:45:17VarriountThe operator imports might not be right, but it was the best I could do on short notice.
04:45:18Demospoint is that there should be a shortcut for the third one
04:45:27VarriountDemos, I agree
04:45:51VarriountH/E I feel that there's not really a point in complaining about unless someone codes a fix for it.
04:46:10Demosyeah
04:46:25*Demos runs before he gets roped into anything
04:46:28Scramblejamsbrb
04:46:45Demosmy todo list for nimrod is expanding a bit
04:49:13Demosactually this whole idea could be unified by saying that functions have ADL
04:49:26VarriountADL?
04:50:19Demosso like from table import TTable <some syntax> would mean that TTable.foo() and foo(TTable) worked, even though the foo function is not in scope
04:51:09Demoshttp://en.wikipedia.org/wiki/Argument_dependent_lookup
04:51:20VarriountHm, so, since we're talking theoretics (is that a word?), what would the syntax be?
04:52:15DemosI was thinking like from table import type TTable
04:52:23Demosor from table import TTable with all
04:52:38Demosor from table import TTable*
04:52:40Varriountfrom table import TTable.* ?
04:53:14DemosI dun like the .* syntax so much it could throw a wrench in any kind of module nesting
04:53:50VarriountOooh, how about "from table import TTable and friends" :p
04:55:54Demosthat is not half bad
04:56:13Demosalthough adding ADL to nimrod is a little ... interesting'
04:56:21VarriountUh, I was kinda kidding, but... ok
04:56:52Demospersonally, I like it. But many(most?) people seem to consider ADL a strange language (mis)feature
04:59:17Demosso if there were an import qualified option this would be even more unified
04:59:36Demosso import qualified table with TTable or something
04:59:44Demoswait never mind
04:59:46Demosthat is bad
05:00:59VarriountWe would need something expressive, yet not verbose
05:01:47VarriountIt wouldn't be so bad if it was the other way around, if importing a type, by default, imported all associated methods.
05:01:53*mflamer joined #nimrod
05:02:28VarriountThen, if you wanted to import *just* the type, you could do something like "from table import only TTable"
05:04:55Demosthe point with using ADL is that it imports TTable then imports its methods /qualified/
05:05:22Demosbut you don't need to qualify the methods because of lookup rules
05:08:36VarriountWell, until I understand more about nimrod internals, this is one feature I don't expect I could even come close to implementing.
05:08:53VarriountNot to mention that Araq probably wouldn't like it.
05:10:12Demosyeah no kidding
05:20:07ScramblejamsVarriount: Thanks for that info, I see where you're coming from.
05:21:36VarriountScramblejams, It isn't perfect, but I have hope that something will be done in the future.
05:22:05VarriountAnyway, it's no dealbreaker for me. If nothing else, I can add comments to my own files.
05:22:31VarriountNimrod is still *much* prefereable to c++
05:23:18ScramblejamsVarriount: Oh, sure. Araq's taste ain't perfect, but it's pretty good. :-D
05:23:56VarriountBesides, I have a weakness for underdogs.
05:24:19*mflamer_ joined #nimrod
05:24:54ScramblejamsNo, what he's done is really impressive. Hope Nimrod goes far. I'll be interested to see how its takeup is in the gaming industry.
05:25:28*mflamer quit (Ping timeout: 240 seconds)
05:33:54*gour joined #nimrod
05:48:27VarriountAnyone know at what value c considers an int to be "true"?
05:50:48*mflamer_ quit (Ping timeout: 240 seconds)
06:00:34*mflamer joined #nimrod
06:05:35gourVarriount: isn't it that everything which is !=0 is true?
06:05:59gour(in C)
06:06:09VarriountI think
06:06:16VarriountThat's what I put, anyway.
06:07:08gourand false = 0
06:10:39ScramblejamsConcur.
06:11:50VarriountThanks. I'm trying to get this stupid wrapper to work, though I fear that, unless I'm somehow able to replicate these templates with some generics, it may be in vain.
06:12:43gourwrapping C(++) lib?
06:12:59VarriountSorta, one that has a C api, mostly
06:13:05VarriountIt's libCEF.
06:13:16VarriountI'm doing it as a favor for dom96
06:15:18*Demos quit (Read error: Connection reset by peer)
06:20:37ScramblejamsYou must have racked up quite a bar tab. :-)
06:21:56VarriountHuh? Nah, just doing the initial footwork.
06:22:12VarriountHe can be the one to do the linux parts, and the tests.
06:34:50*OrionPK quit (Read error: Connection reset by peer)
06:48:27*mflamer quit (Ping timeout: 272 seconds)
07:45:59*Endy joined #nimrod
08:26:19*Associat0r quit (Quit: Associat0r)
08:57:40*Jackneill joined #nimrod
10:26:18*Associat0r joined #nimrod
10:30:38*BitPuffin joined #nimrod
10:32:23BitPuffinhey guys!
10:33:37BitPuffinAraq: when will the recordings of your talk be up?
10:33:59*[1]Endy joined #nimrod
10:37:27*Endy quit (Ping timeout: 272 seconds)
10:37:27*[1]Endy is now known as Endy
10:38:58BitPuffinI don't really see why people say that there are sprinkles of javascript influens in nimrod. Just because of the var keyword. Sure it was the first thing that I was reminded of too but other languages have it as well
10:39:09BitPuffinLua for example I think
10:39:12BitPuffinC# maybe too?
10:39:53*XAMPP quit (Ping timeout: 272 seconds)
10:40:10gourpascal?
10:41:38BitPuffinprobably
10:41:46BitPuffinwouldn't be surprised
10:41:50BitPuffinIs it also in algol?
10:42:36gournot sure about algol, but it's in pascal for sure, or,a t least, it was when i was using it
10:42:57BitPuffinwell then it is probably still there
10:43:02EXetoC*and* it can compile to JS, so it's like JS but with different syntax innit
10:43:09BitPuffinI can't think of anything else that nimrod shares with javascript
10:43:24BitPuffinEXetoC: sure but that doesn't make it influenced by javascript as a language
10:43:57BitPuffinevery language can compile to another language more or less
10:43:59EXetoC:p
10:44:54gourBitPuffin: i confirm problem with bootstrapping nimrod on free/pc-bsd
10:45:34BitPuffingour: hehe, and Araq thought it was my fault
10:45:48BitPuffinway to go blaming digital birds Araq
10:45:56gour:-)
10:46:32gourthat guy whose post i referenced yesterday, would be sad to see it
10:46:52BitPuffingour: you can bootstrap on haiku though if that is also your thing :D
10:47:13gourBitPuffin: i'll wait a bit to develop further ;)
10:47:57gourthere is no 64bit version (yet), iirc?
10:48:11BitPuffingour: yes there is?
10:48:21BitPuffinoh
10:48:23BitPuffinyou mean of haiku
10:48:28BitPuffinthought you meant nimrod
10:48:28gouryep
10:48:34BitPuffinwell there is one
10:48:44BitPuffinI'm not sure how many apps have been compiled for it though
10:48:50BitPuffingour: they just got package management
10:48:59BitPuffinso that's pretty cool
11:00:51gourBitPuffin: i'm on linux since '99 and went through joy of using pioneering OS not having even native chars displayed on the screen, so now prefer something more stable and linux is also changing things way too often. that's why i'll move to freebsd
11:01:30BitPuffingour: well, what about using something like debian?
11:02:05BitPuffingour: I started using linux sometime around '09-'10
11:02:11BitPuffin:P
11:02:45BitPuffingour: Don't get me wrong though, I love BSD and I follow it
11:02:45*gour is using debian (sid) atm
11:02:56BitPuffingour: well then it is your fault that it is changing :D
11:03:30gourBitPuffin: have you read that 'epic' article about linux vs bsd?
11:04:12BitPuffingour: I've read a few :P
11:04:30BitPuffinmaybe you mean the one that is on a website of a guy's rants
11:04:39gouri'm sure free/pc-bsd will get quite some new users...zfs is really great comparing it with btrfs
11:05:01BitPuffingour: for sure, zfs is amazing
11:05:07BitPuffingour: but you can run it on linux :D
11:05:09gourBitPuffin: http://www.over-yonder.net/~fullermd/rants/bsd4linux/01
11:05:47BitPuffinyeah I have read that one
11:05:50BitPuffina long time ago
11:05:54BitPuffindon't remember much about it
11:06:58gourzfsonlinux is not really the same thing. e.g. https://github.com/zfsonlinux/pkg-zfs/issues/24
11:07:11gouranyway, the point is we'd like to have nimrod on fbsd :-)
11:07:26BitPuffingour: but anyways, why don't you switch to debian stable and just stick x11 + i3 on it and it won't change!
11:07:44BitPuffingour: well now with openzfs they should become more or less the same across OSs
11:08:09gourBitPuffin: stable is too old and when i say 'change' i mean things like hal, udev, systemd etc.
11:08:11BitPuffingour: me too, but Araq didn't want to spend time on BSD at the moment
11:08:27gourBitPuffin: then we're on our own to make it happeb
11:09:06BitPuffingour: well on debian you'll probably always have the option to run init.d if you want to
11:09:09BitPuffinfor example
11:09:48BitPuffingour: well I wanted to fix it but I wanted to know where to start looking and that didn't go either really
11:10:01BitPuffinso it would take a bit more time to fix than I had to spend on the issue :/
11:10:40BitPuffinand now I have a debian server anyway
11:10:51BitPuffinalthough I really wanted to run NetBSD :P
11:11:07gourBitPuffin: when will zfsonlinux land in debian and be supported fs?
11:11:53BitPuffingour: http://zfsonlinux.org/debian.html ?
11:11:58BitPuffinor do you mean in official
11:12:05gouryep
11:12:39BitPuffingour: zfs-fuse is in the repo
11:12:56gourfuse is half-baked solution
11:13:23BitPuffinhttp://qa.debian.org/[email protected]#spl-linux ?
11:14:24gourwell, i went through suse, gentoo, arch, debian...now i'll try something else...nimrod is also bringing some very fresh air in the environment of stalled languages, kudos to Araq to bebrave enough ;)
11:16:08BitPuffingour: try crux!
11:18:33gourBitPuffin: i also used frugal for some time, but linux is linux. now i would not like to pollute sacred space of #nimrod any longer in order to not make Araq angry again. i'm sorry for doing it once and here & now asking forgiveness from him and would prefer doing more and talking less this time!
11:19:00gourBitPuffin: nothing about you ;)
11:20:30*XAMPP joined #nimrod
11:22:16BitPuffingour: Sure, but final word, look at crux it is pretty BSD like! It's got similar init scripts etc. But yeah let's leave the os discussion now
11:23:08gourBitPuffin: it still uses linux kernel & userland
11:23:27gour:q
11:23:35gouroops..wrong one
11:33:41*Associ8or joined #nimrod
11:33:41*Associ8or quit (Changing host)
11:33:41*Associ8or joined #nimrod
11:34:58*enurlyx joined #nimrod
11:35:45*Associat0r quit (Ping timeout: 246 seconds)
11:59:53BitPuffindom96: you here? :D
12:28:39EXetoCwasn't it possible to use 'case' as an expression?
12:39:06EXetoCok it's a bug
12:41:37*[1]Endy joined #nimrod
12:46:01*Endy quit (Ping timeout: 272 seconds)
12:46:01*[1]Endy is now known as Endy
12:46:41dom96BitPuffin: I am now. :)
12:51:29dom96BitPuffin: wassup?
12:54:03BitPuffindom96: was just wondering :D
12:54:26BitPuffinI tried doing an sql injection on the forum, at least that didn't work, otherwise passwords would be easily crackable :D
12:54:47BitPuffindom96: anyways I'll hack on scrypt in 1-2 hours
12:55:30dom96well that's good :P
12:57:01*freezerburnv joined #nimrod
13:12:08*freezerburnv quit (Quit: freezerburnv)
13:13:03EXetoCrun w3af on the site
13:13:43*freezerburnv joined #nimrod
13:15:49*freezerburnv quit (Client Quit)
13:19:19*freezerburnv joined #nimrod
13:22:06EXetoCdom96: running thttpd?
13:22:17dom96hrm?
13:22:33EXetoCon the server
13:24:32dom96no, nginx
13:25:41EXetoCok
13:26:08EXetoCit's everywhere these days, so I assume it does something right :>
13:47:13*[1]Endy joined #nimrod
13:47:47*enurlyx quit (Ping timeout: 260 seconds)
13:51:15*Endy quit (Ping timeout: 272 seconds)
13:51:15*[1]Endy is now known as Endy
13:54:08*enurlyx joined #nimrod
14:05:59*noam quit (Ping timeout: 260 seconds)
14:06:03*mflamer joined #nimrod
14:14:10*[1]Endy joined #nimrod
14:14:20*enurlyx quit (Quit: Nettalk6 - www.ntalk.de)
14:15:26*Endy quit (Ping timeout: 240 seconds)
14:15:27*[1]Endy is now known as Endy
14:16:33*noam joined #nimrod
14:34:24*[1]Endy joined #nimrod
14:38:01*Endy quit (Ping timeout: 272 seconds)
14:38:02*[1]Endy is now known as Endy
14:38:14*OrionPK joined #nimrod
14:44:37*dyu joined #nimrod
14:53:16*[1]Endy joined #nimrod
14:57:23*Endy quit (Ping timeout: 272 seconds)
14:57:24*[1]Endy is now known as Endy
15:14:13*dyu quit (Ping timeout: 248 seconds)
15:14:41*dyu joined #nimrod
15:23:31*filwit joined #nimrod
15:33:30*gour quit (Disconnected by services)
15:33:35*gour_ joined #nimrod
15:34:44freezerburnvWhat are the bitwise operators? << doesn't seem to be defined (though I did find some mention of 'or' and 'and' being bitwise or and bitwise and)
15:34:58filwitshl
15:35:00filwitshr
15:35:12freezerburnvAah, thanks
15:35:18filwitnp :)
15:36:54freezerburnvOur of curiosity: Any particular reason << and family were decided to not be used?
15:37:32filwitidk exactly. Maybe just a heritage thing?
15:37:57filwitI was thrown off too, but i don't use shl/shr much, so it isn't a big deal
15:38:16Araqprecedence of '<<' would be the same as '<' which might be more confusing
15:38:55freezerburnvAah, makes sense
15:39:01Araqyou can easily do: template `<<`(a, b: expr): expr = a shl b
15:39:44dom96This is interesting: http://www.google.com/trends/explore?hl=en-US#q=nimrod%20programming&cmpt=q
15:39:51filwitwhich will waste your time, and the time of everyone reading your code, so don't do it :P
15:40:04filwit(that was in response to Araq, not dom96)
15:40:05Araqfilwit: wow I agree
15:40:11Araq;-)
15:40:15filwit;-)
15:41:24BitPuffin;-)
15:42:51EXetoC;-Ăľ
15:42:57EXetoCoops
15:43:05filwit^ C-C-C-Combo-Breaker
15:48:52BitPuffindom96: be a darling and merge will you?
15:49:15dom96hrm?
15:49:23BitPuffindom96: packages
15:49:44dom96I see no PRs
15:49:54BitPuffindom96: oh now there is
15:50:56NimBotnimrod-code/packages master bae6dcf Isak Andersson [+0 ±1 -0]: TheLonelyByte -> BitPuffin (I now have a personal account for personal projects at bitbucket)
15:50:56NimBotnimrod-code/packages master 0c2eba3 Dominik Picheta [+0 ±1 -0]: Merge pull request #29 from BitPuffin/patch-2... 2 more lines
15:51:20BitPuffinthanks
15:51:25BitPuffin2 more lines? wut
15:51:32freezerburnvIs there a way to recursively define a tuple/object?
15:51:57filwitfreezerburnv: with a template or macro
15:52:46filwitfreezerburnv: template defineObject(name:expr): stmt = type name = object ...
15:53:04filwitfreezerburnv: believe that should work
15:54:13freezerburnvAlright, thanks. Looking at the manual for templates right now so I can actually understand the line you posted ;-)
15:54:47filwitfreezerburnv: well what exactly are you trying to accomplish?
15:55:08filwitfreezerburnv: is there some other language idiom you want to try in Nimrod?
15:56:17freezerburnvCreating a tuple that represents a structure from C, something along the lines of: typedef struct RecursiveStruct { /* some stuff... */ struct RecursiveStruct *next; }
15:56:49freezerburnvFor an FFI
15:57:03filwitahh.. well that's different then what i thought you where asking :)
15:57:25freezerburnvSorry 'bout the confusion :)
15:58:20filwitnp
15:58:21filwithttps://gist.github.com/PhilipWitte/7280374
15:59:27freezerburnvAwesome, thanks!
15:59:30filwitjust updated it so you can see how to define 'ref object's as well (they're pointer-types by default)
15:59:41filwitnp, glad to help
16:01:39filwitfreezerburnv: btw, if you don't mind my asking, how did you hear about Nimrod?
16:01:59filwitfreezerburnv: or rather, *where* did you hear about it?
16:02:17freezerburnvHacker News, actually. Someone posted a link to a blog post all about the features of Nimrod
16:02:33filwitblog post?
16:02:38filwitand thanks
16:03:24freezerburnvLemme find it, one sec...
16:03:34filwitnevermind, i think know the blog post you're talking about
16:03:48BitPuffindom96: what are you currently working on?
16:04:28filwitdom96: i'd like a status update as well. What did you eat this morning for breakfast?
16:05:25freezerburnvHN post: https://news.ycombinator.com/item?id=6626811
16:05:31freezerburnvBlog post: http://picheta.me/articles/2013/10/about-nimrods-features.html
16:05:32BitPuffindom96: when was the last time you pooped?
16:05:48freezerburnvAnd I'm out for a bit. I'll see you all later
16:05:50*freezerburnv quit (Quit: freezerburnv)
16:05:52filwitthanks, freezerburnv
16:05:59dom96BitPuffin: Homework.
16:06:01filwittoo late..
16:06:05dom96filwit: Spaghetti Carbonara
16:06:23BitPuffindom96: that's a fucking great breakfast
16:06:27filwityou ate Spaghetti for breakfast?
16:06:31dom96hell yes
16:06:47BitPuffindom96: what homework?
16:06:48filwitmeh, i like cold pizza for breakfast, so whatever
16:07:44dom96BitPuffin: maths
16:08:02BitPuffindom96: what maths, maybe it's stuff I did recently
16:08:43filwitdom96: homework is actually just a test of your willpower. they want to know if you're strong enough to break free and do your own thing, or if you're only fit to slave away at a desk your whole life following their basic instructions
16:09:11profmakxyeah, it's not at all about being able to solve problems on your own
16:09:25filwit^ see his name
16:09:30filwitnote "prof"
16:09:37filwithe's one of the "in" crowd
16:09:40BitPuffinmath in school is not about solving problems
16:09:41filwitdon't listen to him
16:09:44profmakxand you're an idiot
16:10:01filwithahaha, sorry profmakx, i'm just joking right now
16:10:30BitPuffinit's more like do you remember which page the formulas where on?
16:11:36dom96Nah, there is a point to homework. It definitely does prepare you for the exam.
16:12:02filwitbut see, dom96, you don't understand the *true* purpose of the exams either!
16:12:21filwitthey're only there to make sure no one is thinking to much outside the box!
16:12:27dom96lol
16:12:32filwitlol
16:13:09EXetoCthere are many such theories. it's crap either way :p
16:13:20BitPuffinhahaha
16:13:59BitPuffinconsidering how school kills the will to learn it makes it hard to think INSIDE the box
16:14:33BitPuffinping zahary1 zahary___
16:14:39dom96What annoys me the most right now are the teachers that ask random people questions in class.
16:14:42filwitwell, i was only joking, but i do have a thing or two to say about my school experience (in terms of education)
16:15:17dom96Especially on a Monday morning, I just want to sit there and take down whatever the teacher says instead of wondering whether the next question will be aimed at me.
16:15:48filwitnext time just answer with the finger
16:15:57filwityou wont be asked again, i promise
16:16:00dom96lol
16:16:06BitPuffinanswer with the gun
16:16:08BitPuffinwait what
16:16:16filwit@_@
16:16:34BitPuffindom96: don't become a school massacre person thingy okay? okay.
16:18:03EXetoCI had a teacher who wrote whole texts on the blackboard, that we then had to write down on paper. Perhaps he should've just given us the original text right away
16:18:46dom96BitPuffin: It's ok, i'll make sure to mention the person that inspired me. You'll get all the credit.
16:19:11filwitEXetoC: then you wouldn't have had anything to occupy your mind for an hour as a young adult.. and we all know where that leads (dugs, sex, rock n roll)
16:19:33BitPuffindom96: woho!
16:19:46BitPuffindom96: you mean in your manifest?
16:20:00dom96BitPuffin: Yeah, it'll be written with blood.
16:20:52BitPuffindom96: who's blood?
16:21:01dom96BitPuffin: Yours.
16:21:04*BitPuffin feels like this joke is being taken slightly too far
16:21:09dom96lol
16:21:09BitPuffindom96: OH NO HE DIDN'T!
16:21:10filwithahah.. you should hand in a paper which is written in blood to your teachers.. just to see the shocked look on their faces
16:21:21dom96Yeah, i'm probably on some list by now...
16:22:01BitPuffindom96: probably
16:22:11BitPuffindom96: GCHQ almost most definitely
16:22:13filwitdress as a goth that day.. but listen to undergrownd rap.. just to throw them off even more
16:22:20BitPuffinif only all of us were connected ever ssl xD
16:22:46filwitunderground**
16:22:52filwitgot i can't spell
16:22:55filwitgod**
16:22:57dom96filwit: Can't dress in normal clothes to school, school uniform is mandatory :P
16:23:13filwitdom96: woah.. that sux
16:23:23filwitdom96: or maybe it doesn't, idk
16:23:46BitPuffinschool uniform is kind of like programming languages where everything must be an object
16:23:59BitPuffinare you going to a java school?
16:24:19EXetoCfilwit: good point
16:24:33dom96Weird analogy lol.
16:24:48dom96All schools here have uniforms.
16:24:55filwitBitPuffin: my schools language was LOLCATS
16:24:58EXetoCare there pure PHP schools?
16:25:04filwitsorry, LOLCODE
16:25:27filwitEXetoC: yes. they're in the bad places of africa
16:25:36EXetoClolwut. k
16:25:42dom96oh man, if one of my professors at uni ever lets me write code in whatever language I please I will write everything in LOLCODE or Brainfuck :P
16:25:55filwitEXetoC: idk.. just the first "poverty" place that came to mind
16:26:28filwitdom96: no you wont.. you'd spend 5 hours on a single homework assignment
16:26:55dom96filwit: Nope. I will write a Nimrod to Brainfuck converter. :P
16:27:07filwithaha, brilliant
16:28:12filwitwe should write that, then convert a ton of code to brainfuck.. then ship it to space, just to make the aliens think we're smarter than we really are
16:29:01filwitor maybe that will back-fire and they'll just think we're retarded for doing things so cryptically
16:29:15dom96Yeah, that's more likely to happen hah
16:29:22filwiteither way.. it's a giant waist of time, and I feel that's a worthy cause
16:29:45EXetoCnimrod bf -r test
16:30:13EXetoCnimrod nimrod
16:30:38filwit?__?
16:31:03filwiti'm trying to waist time right now when i should be working.. *sigh*
16:32:53dom96I'm like... not even doing maths anymore.
16:33:18dom96The thing about my maths homework is that my teacher never checks it, so I never feel pressured to do it...
16:34:28filwitpeople really need to be doing more schoolwork on computer-checked devices
16:35:30filwiti mean, it's the most basic thing.. don't have a teacher assign and grade your work.. have a computer assign and grade your work, so it can completely tailor your education to best fit you
16:35:55filwitjust have the teacher there as a guide and mentor
16:36:08dom96Yeah, but most teachers still have no idea how to use a computer.
16:37:50filwitthe whole education curriculum needs to be online, and freely available.. then anyone can learn, from anywhere, and always be graded/directed appropriate to their skills and "classroom" becomes more of just a focus group and exerciser in social experience
16:38:16filwitmy true opinions about that
16:41:36dom96filwit: Let's buy an island and create our own country.
16:42:23filwitdom96: we'll need to postpone this until we somehow become rich off of a Nimrod project
16:43:17dom96Shouldn't be long now. Just need some more time ...
16:43:55filwitthen we'll need to decide which island has the best value per our price-range... i'm leaning towards fiji
16:44:43dom96Perhaps it would be cheaper to overthrow some dictator.
16:45:33filwithmm.. you could be right. but containing the media might be costly
16:46:35filwitnot to mention we'd have a unsettled country to deal with after the overthrow
16:51:01dom96true
16:54:11filwitdom96: so i posted an arch-linux screenshot for the Nov screen thread (first page). Put a screenshot of Nimrod code in their for kicks. Got someone asking about the language and saying it looked cool.
16:55:14dom96filwit: awesome, link?
16:55:19filwitdom96: that thread gets ~1000 hits a day i guess, so maybe i accidentally gave Nimrod a little bit of advertising, haha
16:55:30filwithttps://bbs.archlinux.org/viewtopic.php?id=172197
16:57:43dom96filwit: Nice, love the vista look heh
16:58:16filwitdom96: yeah, i just put this theme together and i'm actually really happy with it
16:59:01filwitdom96: i was getting a little sick of KDE's oxygen theme
17:00:18dom96hrm, maybe I should post a screenshot too.
17:00:22dom96My desktop is boring though.
17:00:36*Amrykid quit (Excess Flood)
17:00:36filwitdom96: anyways, i didn't realize that thread got so many views (it's 2,2221 now after only 48 hours).. so i guess for a month we got a few eyes seeing nimrod code from it
17:00:58*Amrykid joined #nimrod
17:01:00filwitkinda got me thinking we should post a screenshot on the first of every month with Nimrod code in it, hahaha
17:01:06dom96filwit: Yes, and you're on the first page :)
17:01:15dom96totally.
17:01:17filwitguess that would be a little obvious after awhile though..
17:01:29dom96Not really, it's very subtle in fact :P
17:02:28filwittrue
17:04:35*io2 joined #nimrod
17:06:07*Boscop joined #nimrod
17:07:44OrionPKdom96 https://github.com/Araq/Nimrod/pull/655
17:13:17dom96OrionPK: That's going to break all the code that is using select out in the wild.
17:13:28OrionPKyes
17:13:30dom96And in a very subtle way too.
17:13:32OrionPKits a breaking change
17:13:35OrionPKi left asyncio alone because it looks like it has its own wrapper for select (which is also borked) but that ones on tis way out right?
17:14:16OrionPKit's either fix it or make a selectCorrect :P
17:15:11dom96Well I had a couple of ideas how to fix it without breaking what's already out there.
17:15:36*dymk quit (Ping timeout: 245 seconds)
17:15:36dom96We could move select() to a different module.
17:15:38OrionPKi suppose u could also make a new socket.nim with it fixed
17:15:44EXetoChow? renaming the function would open up a migration path
17:15:57EXetoCok that seems like a similar approach
17:16:12OrionPKnetworking.nim
17:16:13OrionPKor something
17:16:17OrionPKthen deprecate sockets.ni
17:16:18OrionPKm
17:16:26EXetoCjust for that?
17:16:31dom96yeah, what.
17:16:45OrionPKthere are a lot of other issues, honestly
17:16:59*dymk joined #nimrod
17:17:00dom96We could have a module which wraps select(), epoll(), poll(), kqueue etc.
17:17:06dom96call it select.nim or something
17:17:13dom96deprecate select() in the sockets module
17:17:28OrionPKyeah that could work
17:17:38OrionPKgood thinking
17:17:44dom96But then importing both sockets and the select module would cause a conflict.
17:17:49EXetoCwell if you think that it makes sense to have a separate module
17:17:52dom96But that can be solved with 'import sockets except select'
17:18:08dom96Well, I dunno. I was going to ask Araq what he thinks but kept forgetting.
17:18:11dom96Araq: What do you think?
17:34:03Araqdom96: usually select, epoll kqueue etc. are hidden in some events module
17:38:53*Associ8or quit (Ping timeout: 245 seconds)
17:39:22*Demos joined #nimrod
17:49:48*q66_ joined #nimrod
17:53:21*q66 quit (Ping timeout: 245 seconds)
18:00:40EXetoCpie
18:02:06*Associat0r joined #nimrod
18:02:06*Associat0r quit (Changing host)
18:02:06*Associat0r joined #nimrod
18:17:40*dyu quit (Quit: Leaving)
18:22:45*q66_ is now known as q66
18:31:36*freezerburnv joined #nimrod
18:49:48*[1]Endy joined #nimrod
18:53:31*Endy quit (Ping timeout: 245 seconds)
18:53:31*[1]Endy is now known as Endy
19:00:58*freezerburnv quit (Quit: freezerburnv)
19:11:01*zahary____ joined #nimrod
19:15:53*zahary___ quit (Ping timeout: 240 seconds)
19:21:09BitPuffinahoy
19:22:40Araqservus
19:24:09OrionPKdom96 araq if select got moved out sockets, then if anyone was using select their code would break at least
19:24:19OrionPKbreak at compile time, rather than runtime
19:24:25OrionPKand force them to address the change
19:24:44*drvanon joined #nimrod
19:24:55AraqOrionPK: good idea
19:25:03Araqhi drvanon welcome
19:25:31drvanonWell hello Araq, it has been a long time since I had such a warm welcome on a IRC channel.
19:26:29BitPuffinWhat the heck
19:26:45drvanonI made a little extra file for the ST package. Where can I fork a repository so everybody can have it?
19:26:52BitPuffincompilation succeeds but there isn't any output
19:27:02BitPuffinfile
19:28:00drvanonI am not sure if I should take this one: https://github.com/leonardoce/nimrod-sublime, as he takes no credit for the work..
19:29:43Araqdrvanon: I can't help you, sorry. no idea which sublime plugin is the original
19:30:12OrionPKim guessing the one in ST package control is the original
19:32:24Demosdoes nimrod-sublime highlight using the numrod compiler or did they roll their own?
19:32:32OrionPKthey rolled their own
19:32:35BitPuffinis there a way to link to a static library via a pragma?
19:32:37OrionPKbased it on classic ASP I believe
19:33:27Demosoh fun, I am binding to the numrod compiler, it is actually pretty easy
19:33:38OrionPKnice!
19:33:47OrionPKfor your VS plugin?
19:34:22Demosyeah
19:34:52Demoswriting a nimrod file that has thunks that {.exportc.} the lexer functions then P/Invoking them from .NET
19:35:10OrionPKBitPuffin passl pragma I think?
19:35:37OrionPK{.passl.} in the file
19:35:47BitPuffinOrionPK: ah there is one like that yeah that should work
19:36:09BitPuffinthat's not in the manual :P
19:36:15OrionPKDemos how is that coming
19:36:43Demosnot too bad, I had to make a little binding to get a c# string into a llstream, which is done as far as I can tell
19:37:22Demoshave not had much time for it though
19:38:11OrionPKlet me know when it's ready to be tested
19:38:26BitPuffindom96: oh right I had problems with scrypt segfaulting
19:38:31BitPuffinnot sure that's happening anymore
19:38:44Demoswill do, the plan is to finish the highlighting first and defer the other language integration stuff till later
19:39:24Demosanyway I gotta go and eat
19:40:22BitPuffinthere is a weird bug though
19:40:33BitPuffinbut it could be a side effect of the b64 stuff
19:49:47OrionPKAraq how come I cant do comments between fields on a type definition/
19:50:50BitPuffinI'll call it good enough I think
19:52:10AraqOrionPK: that's the downside of making comments part of the grammar
19:52:21Araqbut I think I'll change that
19:52:41Araqso # comments can be everywhere, only ## comments are grammatical elements
19:52:41OrionPKhm, ok
19:52:47OrionPKDemos btw, code folding please :P
19:52:54OrionPK#region name / #endregion :D
19:53:43BitPuffindom96: will babel use a .nimrod.cfg?
20:02:47OrionPKanyone know the kind of cheapest way to copy a seq?
20:03:51BitPuffinOrionPK: aren't seqs by value by default?
20:05:44AraqBitPuffin, OrionPK yes b = a does the trick
20:06:07OrionPKah, good point
20:07:27OrionPKsequtils needs a 'select()' function ala linq
20:07:35dom96BitPuffin: hrm, what do you mean?
20:07:42OrionPK(if it doesnt have one and I'm just missing it)
20:07:58dom96BitPuffin: if babel is building your package and your package has a .nimrod.cfg then it will be used. Remember that babel simply calls the compiler.
20:08:09BitPuffindom96: where should the file be placed?
20:08:42BitPuffinpassword.nim(29, 22) Error: expression 'crypto_scrypt(cstring(pw), len(pw), cstring(salt), len(salt), ParseInt(h[1]),
20:08:44BitPuffin ParseInt(h[2]), ParseInt(h[3]))' cannot be calle
20:08:45BitPuffinhm
20:09:29BitPuffinthanks for telling me why compiler :p
20:10:16dom96BitPuffin: beside the .nim file
20:10:34BitPuffindom96: so not in the project root?
20:10:44BitPuffinor I mean source dir
20:11:12BitPuffinsrcDir
20:12:04dom96yes, there.
20:12:20BitPuffinah
20:12:26BitPuffinwell then I had already done it correctly lol
20:17:08BitPuffinbut why can't I call my expression D:<!
20:17:23BitPuffinis it because I am doing [] on seqs that aren't known at compile time?
20:17:51OrionPKAraq how efficient are `in` and `notin` for seqs? O(N)?
20:18:39BitPuffinno that can't be it
20:18:44BitPuffinbecause I am doing that the line before
20:18:47BitPuffinand that compiles
20:19:05AraqOrionPK: O(N) yes
20:19:11BitPuffinoh I think I know
20:19:29OrionPKk, thanks
20:20:36drvanonI know a little pygame (the SDL wrapper for python), and I want to get into graphics. But I just don't see how I could get an image on a surface. Are there examples or anything of the sort?
20:21:09EXetoCthere's no way to get the category of a unicode character, right?
20:21:54EXetoCI don't need anything fancy, so I guess I could just write a couple of convenience functions
20:22:06EXetoCbut my grepping reveals no such interface
20:22:18BitPuffinEXetoC: you and your grepping
20:22:26EXetoCftw
20:24:17*Jackneill quit (Remote host closed the connection)
20:24:54Araqdrvanon: the git repository has examples/sdlex.nim
20:28:34BitPuffinAraq: what's the proper way to parse a number into a less common type? like uint64 etc? parseInt("2").uint64 ?
20:31:25*Endy quit (Ping timeout: 272 seconds)
20:32:14AraqI don't know. My original idea was not to have unsigned numbers so that we don't need parsing etc. for unsigned numbers
20:32:45BitPuffinAraq: why not make it generic?
20:32:51BitPuffinthe parseInt
20:33:10BitPuffinand then if it is less than zero it can just underflow
20:34:20drvanonAraq: That is one fine example.
20:36:28AraqBitPuffin: the performance of parseInt is already suboptimal, I'm not sure I want to make it generic
20:36:46*faassen joined #nimrod
20:37:16BitPuffinAraq: hm
20:37:29BitPuffinAraq: well would parseInt("2).uint64 work?
20:39:24EXetoCjust specialize inside the body
20:41:22Demosback
20:45:03AraqBitPuffin: sure
20:45:46BitPuffinAraq: neat
20:50:58BitPuffinAraq: I'm having trouble where nimrod compiles and says it is successful but there is no output file..
20:51:10AraqEXetoC: yeah I agree
20:51:23AraqBitPuffin: OS?
20:51:31BitPuffinAraq: debian
20:51:55Araqdoes nimrod overwrite your .nim file instead with the exe?
20:52:38BitPuffinAraq: nah the .nim still contains the source
20:53:28BitPuffinAraq: I think the issue occurs when I use passL:"-ltarsnap" in .nimrod.cfg instead of {.passl:"-ltarsnap".}
20:55:17Araqhuh?
20:55:33Araqrun it with --parallelBuild:1 please
20:57:07BitPuffinAraq: http://paste.debian.net/63568/
20:59:11Araq /home/isak/src/nim/scrypt.nim/src/scrypt/password ... what?
20:59:51BitPuffinAraq: what exactly is confusing about that?
21:00:05BitPuffin/home/isak/src is where I put all code
21:00:15BitPuffinnim/scrypt.nim is where the project is
21:00:20BitPuffinsrc is the srcDir
21:00:37BitPuffinscrypt is the directory in the srcDir
21:00:50BitPuffinpassword is the file that should come from password.nim
21:02:43OrionPKomg
21:02:47OrionPKfucking sockets.nim
21:02:48OrionPKlol
21:03:09OrionPKthwarting me at every turn dom
21:04:09OrionPKhow do I check if result of recv call = 0 (indicating the client has disconnected)?
21:04:12OrionPKdom96
21:04:37OrionPKI feel like im driving with the e-brake on
21:05:38dom96if recv(...) == 0: # Disconnected?
21:06:17OrionPKit wont come back until recv is NOT 0 though
21:06:24OrionPKor it times out and throws an exception
21:06:28OrionPKbecause I have to pass in a size of NOT 0
21:06:32OrionPKand it enforces read = size
21:07:33OrionPKhttp://beej.us/guide/bgnet/output/html/singlepage/bgnet.html#sendrecv
21:08:56BitPuffindom96: how can we slap django, rails, yesod etc around with a salmon thing so that we have a killer app for nimrod
21:10:24dom96OrionPK: If posix.recv() returns 0 then sockets.recv will too *unless* there is data in the buffer: https://github.com/Araq/Nimrod/blob/master/lib/pure/sockets.nim#L1071
21:10:30OrionPKall the things that might let me work around these issues are non-public
21:10:51OrionPKhmm
21:11:32OrionPKokay, this might work then
21:11:34OrionPKthanks dom96
21:12:31dom96perhaps the low-level version of recv needs more docs about its behaviour with buffered sockets
21:13:05dom96You can also completely disable buffering if you wish, recv will then behave exactly the same as posix.recv
21:14:57*freezerburnv joined #nimrod
21:15:46OrionPKmay have to ultimately
21:15:49OrionPKwe'll see
21:17:17BitPuffinAraq: any ideas?
21:17:41Araqbbl
21:24:09*fredmorcos joined #nimrod
21:27:17*fredmorcos quit (Client Quit)
21:28:31Demoshey Araq, I see in lexer.nim there are openLexer and closeLexer functions, they all take file related params. Is there a way to call them and just give em a string?
21:34:15BitPuffinahhhhhhhhhhhhhhhhhhh
21:34:23BitPuffinmy website is on the external hard drive
21:34:25BitPuffin._.
21:34:34BitPuffindom96: will you go get it for me xD
21:35:09EXetoC"proc isUpper*(c: TRune)" Does C stand for code point, while TRune is named as such because TCodePoint would be too long? :>
21:41:59*BitPuffin works on linagl instead
21:47:09*gour_ quit (Quit: WeeChat 0.4.1)
21:50:35*freezerburnv quit (Quit: freezerburnv)
21:51:08BitPuffinproc mul*[T; R, C: range](a: T, b: TMatrix[T, R, C]): TMatrix[T, R, C] {.noSideEffect.} =
21:51:55BitPuffincould I turn that into proc mul*(a: auto; b: TMatrix): b.TMatrx {.noSideEffect.} = ?
21:56:09BitPuffinwhat do I do to have to avoid spelling out every generic parameter to the proc but when one of the arguments needs a type from one of the other params
21:56:13BitPuffinlike in this case with a
22:14:12*drvanon left #nimrod (#nimrod)
22:18:09EXetoCb.TMatrix? b.type?
22:19:09EXetoCthe latter seems to work pretty well, and I think I do something like that in one of my pull requests for Nimrod
22:19:39*fredmorcos joined #nimrod
22:22:09EXetoCyup, and the whole test framework was fine with that last time I checked. it's a neat shortcut that sometimes removes the need for separate overloads
22:28:30BitPuffinEXetoC: so it works even though a was specified before b?
22:29:38EXetoCI don't think I've tried that, but hopefully it does. seems like a reasonable feature
22:30:06BitPuffinEXetoC: yep
22:30:12BitPuffinI'll try it
22:30:26BitPuffingetting an error on
22:30:43BitPuffin TVector*[T: TNumber; I:range] = array[I, T] ## T = Type, I = Indices - will possibly later be changed to Dimension (number)
22:31:00BitPuffinvector.nim(7, 40) Error: ordinal type expected
22:31:24BitPuffincan't remember I think maybe zahary1 or zahary____ (one of them) mentioned that there was a regression or something
22:32:01EXetoCoh
22:32:23BitPuffincan't remember if that's correct though
22:32:38BitPuffinkind of annoying when all the people who know the compiler really well isn't here :(
22:36:46EXetoC:/
22:37:06EXetoC103 thumbs up on youtube. I feel awesome
22:37:46BitPuffinEXetoC: on what?
22:39:41AraqBitPuffin: yeah it's a regression caused by type classes
22:39:49EXetoCvsauce
22:40:20BitPuffinAraq: wb, is there a simple workaround?
22:40:31BitPuffinEXetoC: o.O
22:41:25Araqyeah, remove the ':range'
22:41:33BitPuffinoh yeaaah right now I remember
22:41:35BitPuffinthanks Araq
22:41:41*fredmorcos quit (Quit: Leaving)
22:42:49BitPuffinAraq: hmm it still gives the error, guess I need to change it on every proc
22:45:59BitPuffinAraq: right you wanted me to remove every alias of the various procs, because "Araq very much supports people writing in their own style"!
22:46:03BitPuffin:D
22:46:56Araqnot if your style is brain dead
22:47:03Araqmul(add(a,b), 3)
22:47:19BitPuffinAraq: now that's just not nice
22:47:48Araqnimrod is not fucking java where an overloaded == confuses the heck out of people
22:48:19BitPuffinyou can overload operators in java? lol
22:52:38BitPuffinAraq: well the whole point of it was that people could use whatever they preferred
22:53:30Araqoh really? what if I prefer matrix_mul ?
22:54:11BitPuffinAraq: then matrix.mul isn't too far away
22:54:22Demosgoddamn I need to dick around and sign my nimrod->c# assembly
22:55:12BitPuffinAraq: But anyways, I guess the pick your own style part of nimrod shouldn't apply to operators then
22:55:24BitPuffinAraq: but that can get pretty vague
22:55:33BitPuffinAraq: should dot product be dot or *.
22:56:04BitPuffinplus I want to stay as close as possible to the GLSL spec while still following common nimrod conventions (like TType naming)
22:56:35*shodan45 quit (Quit: Konversation terminated!)
22:57:06EXetoCI don't know, but *+ was pretty neat, and not too obscure
22:57:33BitPuffinEXetoC: for cross product?
22:57:47*Associat0r quit (Quit: Associat0r)
22:58:53EXetoCyeah
22:58:56BitPuffinEXetoC: I don't know. Someone coming to read code will probably be kind of confused at first glance seeing that
22:59:00BitPuffinI mean it's clever and I like it
22:59:07BitPuffinbut it's kind of cryptic
22:59:13BitPuffinunless someone told you
23:00:15BitPuffinby the way is [*] a possible op name?
23:00:23BitPuffinor [+]
23:00:42BitPuffinbecause that would look kind of like the component by component multiplication
23:04:34BitPuffinwe really need a proper Style Guide for nimrod code other than http://nimrod-code.org/apis.html
23:04:55Demoshow is object inheratance implemented? Does it just stick the base object at the beginning of the derived one?
23:06:02AraqDemos: yes
23:06:35DemosOK if I depended on that would you harm me?
23:06:49*shodan45 joined #nimrod
23:08:07BitPuffinAraq: so do you think even in the case of dot product and cross product there should only be an operator?
23:09:39AraqBitPuffin: yes.
23:09:48AraqDemos: no
23:10:17Demosk, thanks
23:16:37BitPuffinAraq: fair enough
23:16:46BitPuffinYOU GET IT YOUR WAY THEN
23:16:55BitPuffineven if it doesn't look at all like glsl :(
23:17:07BitPuffinwhich is a little bit the goal
23:18:26BitPuffinAraq: what about approxEqual? should that just be ~= ?
23:19:07Araqyeah
23:20:23BitPuffinAraq: what about unary operators, like negation?
23:20:31BitPuffinshould there only be -a ?
23:20:35BitPuffinand not a.negated
23:20:43Araqyeah
23:20:46BitPuffinkay
23:21:46BitPuffinwould be interesting if one could do |vec| to get the magnitude hehe
23:22:37BitPuffinsomething like proc `||`*(v: TVector): float {.noSideEffect.} =
23:24:55Araqyeah it's not easy to make the language support that though
23:25:09Araqbut then ||v works
23:25:22BitPuffinAraq: I can imagine, it would be kind of cool though. Especially when there is such a focus on operators apparently
23:25:34BitPuffinAraq: do you feel like ||v is preferred over v.mag ?
23:27:31AraqI have no opinion on this one :P
23:27:41Araq'mag' is fine too
23:27:51Araqconsistent with 'len' I guess
23:27:54filwitis 1.0f valid syntax?
23:28:17BitPuffinactually wait
23:28:24BitPuffin||a would probably be normalization
23:28:34BitPuffinwhere ||||a would be the magnitude lol
23:28:52BitPuffinI guess it is even harder to support ||v||
23:29:09BitPuffinoh no
23:29:14BitPuffinI take that back
23:29:18BitPuffinI got it confused :p
23:30:05Araqfilwit: 1.0f32 is
23:30:16filwitk, thanks
23:31:17BitPuffinAraq: I think I am gonna have to keep normalized as it is instead of norm would get confused with the vector norm/magnitude
23:31:17EXetoCI didn't know the ' could be omitted
23:35:09BitPuffinme neither
23:36:21filwitbleh, my code is causing an internal compiler error
23:37:02Araqfilwit: bug report please
23:37:04filwitis '.3' valid? or only '0.3'?
23:37:17filwitAraq: I will if i can figure out what's going on
23:38:36filwitbtw, does '0.0' default to float 32 or 64?
23:38:50filwitnevermind
23:38:54filwitfound in docs
23:39:37filwitso float == cdouble ?
23:39:51*io2 quit ()
23:42:06*faassen quit (Quit: Leaving.)
23:43:39BitPuffinproc `*.`*(a, b: TVector): a.type.T {.noSideEffect.} =
23:43:43BitPuffinis that supposed to work?
23:44:05BitPuffinError: identifier expected, but found ''
23:44:49EXetoCthe '.' might be problematic
23:46:09BitPuffinhow so?
23:46:33VarriountI don't think you can use . in operators.
23:46:56BitPuffinVarriount: it has worked before
23:47:00BitPuffinI'm pretty sure
23:47:03BitPuffinat least it compiled :P
23:47:49BitPuffinVarriount: http://nimrod-code.org/manual.html#operators
23:47:55BitPuffinEXetoC: [T] ?
23:48:14BitPuffinI remember zahary1 / zahary____ showing me something about how to write this
23:50:11EXetoCnothing. the docs are pretty clear
23:51:30EXetoCand .. is a function. didn't think of that
23:52:45BitPuffinEXetoC: same error happens on other lines
23:52:57BitPuffinso it's got to do with the a.type.T part
23:53:15BitPuffinAraq: shouldn't a.type.T be possible here? (a is a TVector)
23:53:23EXetoCT?
23:53:24Varriountdom96, I've pushed new updates to the libcef wrapper. The rest is up to you.,
23:53:37BitPuffinEXetoC: yep T
23:53:41dom96Varriount: Does it work?
23:54:11EXetoCbut is that symbol available at that point?
23:54:13BitPuffindom96: maybe you know the answer :p
23:54:18Varriountdom96, I can't get past the cef_win dependancy on cef_types_wrapper, which uses c++ templates
23:54:32BitPuffinEXetoC: I don't really know, can't remember the syntax that zahary1 showed me..
23:54:38EXetoCotherwise you'd need to create a type alias somehow
23:54:39EXetoCok
23:55:13AraqTVector.T should work, a.type.T ... dunno
23:55:14dom96Varriount: hrm, is there both C and C++ code to wrap? That's odd.
23:55:38Varriountdom96, Its confusing.
23:55:45BitPuffinAraq: hmm, wait I can just have TVector as the return type and not a.type?
23:55:51BitPuffininstead of*
23:55:54BitPuffina.type works
23:55:58EXetoCbut then is there not a pure C interface?
23:56:12EXetoCI suppose not
23:56:36VarriountEXetoC, its a squid interface.
23:56:51dom96Varriount: oh well, I suppose I can take it from here. Thanks.
23:56:51filwithow do i get float.max?
23:57:29VarriountNow, I'm gonna work on porting python's itertools over to nimrod.
23:58:13BitPuffinAraq: grr, still get the same error :P bug?
23:59:48Araqit's already reported, BitPuffin