<< 05-11-2013 >>

00:07:15*shodan45 quit (Quit: Konversation terminated!)
00:21:06*fowl quit (Read error: Connection reset by peer)
00:24:52*filwit quit (Quit: Leaving)
00:26:49*mak3 joined #nimrod
00:39:18*fowl joined #nimrod
00:58:11*fowl quit (*.net *.split)
00:58:11*BitPuffin quit (*.net *.split)
00:58:11*vidot_j quit (*.net *.split)
00:58:12*VarriountPhone quit (*.net *.split)
00:58:12*musicalchair quit (*.net *.split)
00:58:12*mal`` quit (*.net *.split)
00:58:13*Zor quit (*.net *.split)
00:58:19*Zor joined #nimrod
00:58:44*musicalchair joined #nimrod
00:58:55*BitPuffin joined #nimrod
00:59:00*fowl joined #nimrod
00:59:08*vidot_j joined #nimrod
00:59:24*fowl quit (Changing host)
00:59:24*fowl joined #nimrod
01:02:06*mak3 quit (Ping timeout: 245 seconds)
01:02:18*mal`` joined #nimrod
01:17:32*Demos joined #nimrod
01:37:18*DAddYE quit (Remote host closed the connection)
01:37:54*DAddYE joined #nimrod
01:42:27*DAddYE quit (Ping timeout: 260 seconds)
01:54:53*BitPuffin quit (Ping timeout: 268 seconds)
02:13:36*Ricky_Ricardo joined #nimrod
02:15:06*MFlamer quit (Ping timeout: 246 seconds)
02:15:12*vidot_j quit (Remote host closed the connection)
02:16:55*vidot_j joined #nimrod
02:21:15*vidot_j quit (Remote host closed the connection)
02:36:10*DAddYE joined #nimrod
02:36:35*mflamer joined #nimrod
02:38:19*filwit joined #nimrod
02:48:22*dyu joined #nimrod
02:52:58*DAddYE quit (Remote host closed the connection)
03:17:16*xenagi quit (Quit: Leaving)
03:28:21*OrionPK quit (Quit: Leaving)
03:29:44*xenagi joined #nimrod
03:45:48*mflamer quit (Ping timeout: 240 seconds)
03:53:33*mflamer joined #nimrod
03:54:07*DAddYE joined #nimrod
03:56:46*mak3 joined #nimrod
04:00:27*DAddYE quit (Ping timeout: 246 seconds)
04:01:09*mak3 quit (Ping timeout: 246 seconds)
04:28:10*filwit quit (Quit: Leaving)
04:28:59*fowl quit (Quit: Leaving)
04:31:59*brson quit (Ping timeout: 272 seconds)
04:39:09*xenagi quit (Ping timeout: 252 seconds)
04:51:35*xenagi joined #nimrod
04:56:53*mflamer_ joined #nimrod
04:57:09*mflamer quit (Ping timeout: 246 seconds)
04:57:36*DAddYE joined #nimrod
05:04:26*DAddYE quit (Ping timeout: 264 seconds)
05:31:17*dyu quit (Disconnected by services)
05:32:05*dyu_ joined #nimrod
05:58:39*DAddYE joined #nimrod
06:01:34*xenagi quit (Quit: Leaving)
06:11:46*isenmann joined #nimrod
06:12:41*DAddYE quit (Remote host closed the connection)
06:13:06*mflamer_ quit (Ping timeout: 246 seconds)
06:13:17*DAddYE joined #nimrod
06:15:05*mflamer joined #nimrod
06:17:41*DAddYE quit (Ping timeout: 245 seconds)
06:21:08*mflamer quit (Ping timeout: 240 seconds)
06:23:00*Demos quit (Quit: Textual IRC Client: www.textualapp.com)
06:49:53*DAddYE joined #nimrod
06:55:49*NewGuy joined #nimrod
06:58:59*Associat0r joined #nimrod
06:59:02*Associat0r quit (Changing host)
06:59:03*Associat0r joined #nimrod
07:00:03NewGuyHello Associat0r.
07:00:39*dyu_ quit (Quit: Leaving)
07:10:34*mak3 joined #nimrod
07:14:48*mak3 quit (Ping timeout: 240 seconds)
07:23:14*gour joined #nimrod
07:38:49*Jackneill joined #nimrod
08:44:39*NewGuy quit (Quit: Page closed)
09:07:36*DAddYE_ joined #nimrod
09:09:48*DAddYE quit (Ping timeout: 240 seconds)
09:12:20*DAddYE_ quit (Ping timeout: 260 seconds)
09:33:33*zahary____ quit (Quit: ~ Trillian Astra - www.trillian.im ~)
09:36:49*CarpNet joined #nimrod
09:47:43*Araq_ joined #nimrod
09:58:59*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258])
10:34:19*Associat0r quit (Quit: Associat0r)
10:41:36*Boscop quit (Read error: Connection reset by peer)
10:41:59*Boscop joined #nimrod
10:41:59*Boscop quit (Changing host)
10:41:59*Boscop joined #nimrod
10:45:20*BitPuffin joined #nimrod
10:46:49*BitPuffin quit (Client Quit)
11:02:23*BitPuffin joined #nimrod
11:16:14*Webskipper joined #nimrod
11:16:19Webskipperhi
11:17:13BitPuffinhey Webskipper welcome!
11:17:17BitPuffinare you new here?
11:17:24Webskipperyes :D
11:17:28BitPuffincool!
11:17:40Webskippera user in python gave me a hint to nimrod
11:17:52BitPuffindom96: this talk was pretty great http://youtu.be/P6UKhR0T6cs
11:17:59BitPuffinWebskipper: awesome :D
11:18:15Webskipperand today i searched for the name: nomad, nomid ........... nimrod *argh*
11:18:24BitPuffinhehe
11:18:31BitPuffinwell you found it at last :P
11:19:15WebskipperI suggest to rename the language, google finds a lot of different stuff
11:19:44Webskipperbut ok, with python it was the same I guess
11:20:30WebskipperIs id software using nimrod or why you linked the video ?
11:20:54BitPuffinWebskipper: nah they aren't using nimrod (even though they should :P). I just linked it because it was a good talk
11:21:16Webskipperah ok.
11:21:52BitPuffinWebskipper: well as nimrod grows more popular it should show up higher in searches. And with google profiling you they might know that you are a programmer so when searching for nimrod maybe it will pick a more programmy suggestion
11:22:00BitPuffinbut maybe Araq should look in to SEO
11:22:59WebskipperYea my idea was to use language that is more static (and faster) than python but with comparable comfort writing code (for me its near pseudo code)
11:23:22Webskipperso nimrod compiler seems to compile nimrod code to C code ?
11:24:44BitPuffinWebskipper: by default yes, but it can also compile to C++, objective C, javascript and probably something else too
11:27:26WebskipperBitPuffin: fine. I just wondered, do we really need the ':' in statements like "var x, y: int". In procedure heads I saw this declaration style too.
11:28:24BitPuffinWebskipper: no you don't need them always you use that for declaring what kind of type something should be, but it can be inferred
11:28:38BitPuffinWebskipper: so var a = 42 or var b = "foo" works just as well
11:28:59WebskipperBitPuffin: yeah, I want to use types but I hate these ':' (saw it in other languages too).
11:29:13WebskipperBitPuffin: in my view spaces are enough, what you think ?
11:29:51WebskipperBitPuffin: suggest "var int x = 2"
11:29:59BitPuffinWebskipper: you're gonna have to ask Araq why there isn't just spaces
11:33:37WebskipperBitPuffin: ok. I see there are a lot of types. Is it possible to use "int x = 2" directly ? (a list on documenation with built in keywords would be fine)
11:34:07BitPuffinWebskipper: no don't think so
11:34:26BitPuffinWebskipper: but doing var x = 1 and var x: int = 1 is identical
11:34:31BitPuffinit will still be of type int
11:35:42EXetoC"var x, y int". I'm not sure if it'd be as readable after getting used to it. the : certainly doesn't add much noise
11:35:45WebskipperBitPuffin, internal yes. But its different to read for the programmer.
11:36:09BitPuffinWebskipper: slightly, but nimrod programmers knows about this
11:36:40WebskipperEXetoC: I respect your view, in my its better to use spaces only
11:37:28*faassen joined #nimrod
11:37:43BitPuffinWebskipper: I think it depends. I mean writing sentences with only spaces makes things less readable. And I would suggest that in some cases the same thing applies to programming languages
11:38:29rndbitspaces do not have impact on readability. 1 tab, 4 spaces - all the same.
11:38:35BitPuffinWebskipper: it also works the other way, writing. sentences; like - this. Does, not! make? things, more - readable: at (all)
11:38:51WebskipperBitPuffin: Ok, I have it an contrary oponion about it. Its would be easier for Java / C so programmers too (in my view).
11:39:05BitPuffinrndbit: well we are not discussing the indentation :)
11:39:16rndbitoh, sorry then :D
11:39:45BitPuffinWebskipper: well I was a Java/D/C programmer and didn't find it to be too hard to adjust to
11:40:05WebskipperBitPuffin: yeah, of course not hard. But not perfect :D
11:40:38EXetoCrndbit: that's just a convention. most editors allows the tab width to be changed
11:41:00rndbityeah, but any reasonable programmer knows using anything but 4 spaces for tab width makes life hard..
11:41:29rndbitand regarding adjusting to syntax - i think computers should adjust to people, not the other way around. that includes programming languages
11:41:46rndbitafterall is it not that computers and programming languages are made to serve people? not the other way around..
11:41:47Webskipperyeah
11:42:05Webskipper100% agree
11:42:20Webskipperthats because I like python
11:42:28BitPuffinWebskipper: of course I had also used ruby and python and javascript so I was possibly a bit more immune
11:42:38BitPuffinWebskipper: also a little bit of rust which also has the : syntax
11:42:59rndbityeah i too love python. mostly for code readability
11:43:12rndbitjavascript gets ugly very fast..
11:43:12WebskipperBitPuffin: I am not sure but I believe Scale uses : too
11:43:16WebskipperScala
11:43:23EXetoCbrackets would also be easier for java and C programmers. fortunately we aren't taking the Rust route
11:43:49BitPuffinEXetoC: excellent point my man
11:43:51rndbitbrackets are redundant legacy. programmers indent their code anyway so why not just exploit that
11:44:03WebskipperEXetoC: I don't agree. I am Java and C programmer and brackets are for computers not for humans.
11:44:26WebskipperDontRepeatYourself
11:44:40BitPuffinwhat does DRY have to do with it?
11:44:51WebskipperBrackets ?
11:44:54WebskipperA lot of?
11:45:06BitPuffinwell that's not really repetition
11:45:17BitPuffinthen writing procs would be against DRY
11:45:30BitPuffinbecause you'd write the proc keyword more than once
11:45:39Webskipperah cmon
11:45:42Webskipperthats not the same
11:45:47BitPuffinI think it is
11:45:49BitPuffin:D
11:45:50Webskipperlol no :D
11:46:08BitPuffinyeah I do?
11:46:11Webskipperbig fat proc with many loops if else and so on
11:46:19Webskipper1000 brackets one proc statement
11:47:16BitPuffinI think you have misunderstood DRY. It's more about not writing the same kind of statements over and over again
11:47:17Webskipperthats why I don't like ruby too. Its like a kiddie language. BEGIN END BEGIN END BEGIN END, hallejulia
11:48:02BitPuffinsure, but that is not related to DRY
11:48:03Webskipperk than its keep its simple :D
11:48:04Webskipperharhar
11:48:20Webskipperkissss
11:48:43rndbiti think problem with some languages is that they change too much stuff just in the name of changing things. some of well established stuff works really great, not all needs changing... in ruby change mania seems like got out of hand
11:48:45EXetoCwhere do we stop? at "var x, y int" or "var x y int"?
11:49:54BitPuffinEXetoC: should we also remove the ;? proc(a; b, c int; d string) ?
11:50:06BitPuffinwhat should we do instead
11:50:08BitPuffintwo spaces?
11:50:08Webskipperyeah but the type should be after var: "var int x"
11:50:20CarpNethttp://en.wikipedia.org/wiki/Whitespace_(programming_language)
11:50:20BitPuffin proc(a b, c int d string) ?
11:50:33Webskipperproc(int a b c, string d)
11:50:42Webskipperfirst the type !?
11:50:49Webskippername <type>
11:50:51Webskipperdont like that
11:50:54Webskipper<type> name
11:51:02Webskipperwhat you think?
11:51:12BitPuffinI don't think it matters all too much
11:51:39BitPuffinI kind of like the name: type because it puts clear focus on what is the type and what is the name
11:51:43WebskipperIf you have to programm 8h every day...
11:52:09rndbiti dont get why people dislike proc(int a, string b), its explicit, no redundant var keyword, readable, no weird symbols like ;..
11:52:15EXetoCthen you get used to it. the both are pretty much equal for me now
11:52:30BitPuffinEXetoC: same here
11:52:36Webskipperyou dont need : everyone knows about types. In addition we have somtheing like "type of" for highter data types
11:52:38CarpNetyeah syntax is really just subjective anyway, i use languages for their features
11:52:56Webskipperrndbit: I agree
11:53:18rndbitsyntax is not subjective. there is syntax that is readable easier, and syntax that is readable harder. they both may work same way but in the end i think readability is of highest priority
11:53:25rndbitso how can it be subjective..
11:53:28*Associat0r joined #nimrod
11:53:41BitPuffinwell maybe : isn't as good while typing, but I think it becomes more structured when reading while not getting overboard
11:54:02Webskipperrndbit: for software development processes in the business thats an important arguement too.
11:54:33Webskipperrndbit: Java EE standard but of course there is a lot of ugly java code out there
11:54:48rndbitfor business maintainability is very important. and ease of maintainability directly depends on code readability
11:55:10EXetoCit is subjective
11:55:13rndbitpython solves that part of problem rather good by twisting programmer's arm in writing nice code but at the same time not limiting him
11:55:26BitPuffinEXetoC: yes, what is considered readable is very subjective
11:55:37Webskippernaah :D
11:55:39EXetoCpeople parse code in different ways. there isn't much more to it
11:56:01EXetoCthe best you can do is conduct studies and then find the best middle ground
11:56:01rndbitacademics should come up with some tests and evaluate readability of programming languages
11:56:12rndbitwhich one can be read fastest and which one slowest
11:56:18rndbitwould be interesting to see results ^_^
11:56:25WebskipperI am sure there are academic projects about it. Its part of "software techniques"
11:56:49BitPuffinI think indentation makes things more clear about what is part of what
11:57:00BitPuffinbut I am not so sure about space between type and name
11:57:32BitPuffinseparating them somehow makes a clear distinction of what is what
11:57:56EXetoCthat's almost a universal thing though. I wonder if anyone prefers code that is completely flat
11:57:56WebskipperBTW: https://www.plat-forms.org/
11:58:02WebskipperFU Berlin, Germany
11:58:16BitPuffininstead of remembering which thing is on which part of the space you just know that the name: is the name and what comes after : is the type
11:58:40BitPuffinEXetoC: I know, I was making a point
11:59:13WebskipperBitPuffin: but everybody knows int, long, string
11:59:32rndbitproblem i see with proc(a; b, c int; d string) that its not intuitive at all. even if i did program pascal in school a little i have no clue what exactly it all means. i can just guess. proc(int a, string b) is pretty clear though. just types and variable names, no voodoo. intuitive is good.
11:59:37BitPuffinI mean that indentation has structural meaning, space between type and name does not, it's just an arbitrary order
11:59:51BitPuffinWebskipper: not beginners
12:00:01BitPuffinand your eyes :P
12:00:07Webskippernimrod is not for beginners ^^
12:00:14BitPuffinno I know :P
12:01:02BitPuffinrndbit: well there is arbitrary order vodoo going on
12:03:08WebskipperThe problem with python is: C extensions, C extensions, C extensions. You need it for fast code and real threading. PyPy is fine but not the best in lot of cases.
12:03:53BitPuffinthe problem with nimrod is library support, and that one we can solve together pretty easily
12:03:58WebskipperIn addition you can use Cython. But everywhere I have to use "cdef". cdef here, cdef there.
12:04:12*dyu joined #nimrod
12:04:23*BitPuffin out
12:04:33WebskipperBitPuffin: what u mean exactly with library support ?
12:04:47BitPuffinWebskipper: I mean libraries for nimrod
12:04:56EXetoCproc f[T](a: T, b, c: int, d: string). that's slightly better
12:04:58Webskippersure.... and....
12:05:20Webskipperyou mean the the compatibility with changes to syntax ?
12:05:32BitPuffinWebskipper: huh?
12:05:34BitPuffinno
12:05:37EXetoCit's a tradeoff. most people don't need to care about speed though
12:05:59Webskipperwhat about nimrod libraries ?
12:06:36EXetoCthat's what he meant: nimrod libraries; the fact that there aren't very many at this point
12:06:40BitPuffinWebskipper: no you said what the problem with python was, and I said what I think is the problem with nimrod
12:06:58Webskipperah ok
12:07:05BitPuffinwhat I don't think is the problem with nimrod is the syntax
12:07:27BitPuffinEXetoC: proc foo(a, b): auto is also quit a bit nicer :D
12:07:32BitPuffinquite*
12:07:44*gour nods
12:07:52Webskipperwth is auto ?
12:07:57EXetoCthat's not even equivalent, but ok :p
12:08:16BitPuffinEXetoC: no but it makes errthing explicitly generic :P
12:08:27BitPuffinbut maybe not as clear about what will work
12:08:29EXetoCWebskipper: "auto* = expr" (from system.nim)
12:08:46BitPuffinimplicitly*
12:08:49EXetoCexpr stands for expression
12:11:22CarpNeton the topic of nimrod libraries, what's the deal with making additions to existing ones? i had a couple of things i wanted to add to strutils inspired by python and my current needs in a project
12:11:25WebskipperAnd what about spaces in front of ':' ? key : value is better than key: value or key :value or key:value. We need dictatorship.
12:11:34CarpNetnamely partition and the addition of maxsplit to split
12:12:18gourCarpNet: C++ bindings?
12:12:41CarpNetwritten from scratch in nimrod
12:12:46CarpNetvery simple
12:13:06EXetoCI doubt something like strutils would be considered complete at this point, so feel free to submit pull requests
12:13:15WebskipperI guess "x : int" is allowed like "x: int" ?
12:13:40EXetoCyes
12:13:44CarpNetok cool, i'll submit a pull request
12:18:41*dyu quit (Disconnected by services)
12:19:13*dyu_ joined #nimrod
12:21:49*q66_ joined #nimrod
12:25:26*q66 quit (Ping timeout: 245 seconds)
12:35:30*mak3 joined #nimrod
12:39:43*mak3 quit (Ping timeout: 245 seconds)
12:41:09*dyu_ quit (Ping timeout: 268 seconds)
12:42:05*freezerburnv joined #nimrod
12:43:49*Associ8or joined #nimrod
12:43:49*Associ8or quit (Changing host)
12:43:49*Associ8or joined #nimrod
12:45:54*Associat0r quit (Ping timeout: 252 seconds)
12:54:03*dyu_ joined #nimrod
12:58:59freezerburnvMorning all
12:59:43EXetoCevening
13:00:45EXetoCDo you think my Nimrod competitor should compile to Nimrod?
13:06:23*q66_ is now known as q66
13:07:26*mak3 joined #nimrod
13:11:41*mak3 quit (Ping timeout: 245 seconds)
13:34:18*Associat0r joined #nimrod
13:34:18*Associat0r quit (Changing host)
13:34:18*Associat0r joined #nimrod
13:35:57*Associ8or quit (Ping timeout: 252 seconds)
13:36:16*OrionPK joined #nimrod
13:58:28*guaqua` joined #nimrod
14:00:14*guaqua quit (Ping timeout: 246 seconds)
14:03:39*guaqua` quit (Remote host closed the connection)
14:08:20*Ricky_Ricardo quit (Quit: laptop[lid].close)
14:10:33*Ricky_Ricardo joined #nimrod
14:10:34*Ricky_Ricardo quit (Client Quit)
14:11:06*mak3 joined #nimrod
14:11:42BitPuffindom96: they didn't read the email :( let's take it to their subreddit!
14:11:49BitPuffinEXetoC: you are writing a nimrod competitor?
14:30:59*mak3 left #nimrod ("WeeChat 0.4.2")
14:37:22*ack006 joined #nimrod
14:40:23*XAMPP quit (Read error: Connection reset by peer)
14:40:51*XAMPP joined #nimrod
14:42:05*ack006 quit (Client Quit)
14:42:41*ack006 joined #nimrod
14:43:28Webskipperwhat a nimrod competitor ?
14:51:39*mflamer joined #nimrod
14:51:54mflamerGood morning
14:53:10mflamerIs it possible to lookup a symbol in a macro? Or, is all macro processing done before symbol lookup
14:58:17mflamerYou on Araq?
15:05:10shevyhmm he hasn't typed much in a long while
15:10:08mflamerok, must be busy. Thanks
15:10:35mflamerYou know anything about macros?
15:15:12*ack006 quit (Quit: Leaving)
15:24:08*mflamer quit (Ping timeout: 240 seconds)
15:32:35*Webskipper quit (Ping timeout: 268 seconds)
15:34:56*gour quit (Disconnected by services)
15:35:01*gour_ joined #nimrod
15:42:45*gour_ is now known as gour
16:04:42EXetoCBitPuffin: of course
16:08:11*Webskipper joined #nimrod
16:11:05*fowl joined #nimrod
16:29:56*MFlamer joined #nimrod
16:38:23BitPuffinEXetoC: why?
16:42:40*filwit joined #nimrod
16:42:52BitPuffinEXetoC: fix nimrod bugs instead :P
16:44:05MFlamerEXetoC: What is the motivation for another language?
16:57:13*shodan45 joined #nimrod
17:04:34filwithey dom96, you ever get my message this morning?
17:04:41dom96filwit: yes
17:04:54filwitdom96: okay cool, just checking
17:05:30filwitdom96: no big deal or anything, just thought it should be changed :)
17:06:28*dom96 just PM'd you
17:11:01shodan45is anyone working on tutorial #2?
17:11:29EXetoCMFlamer: just learning really
17:12:50dyu_btw, rust is abandoning segmented stacks ... in a way, its farther away from go, closer to nimrod
17:13:05*dyu_ OT
17:19:41*vidot_j joined #nimrod
17:21:32*vidot_j quit (Remote host closed the connection)
17:21:48Araqdyu_: interesting but not unexpectedly
17:22:40*vidot_j joined #nimrod
17:23:41Araqhi Webskipper welcome
17:24:24AraqMFlamer: there is macros.bindSym
17:25:19dyu_Araq: the primary reason is stack trashing -> https://docs.google.com/document/d/1wAaf1rYoM4S4gtnPh0zOlGzWtrZFQ5suE8qr2sD8uWQ/pub (golang)
17:25:44dyu_and then also FFI (which requires fixed stack segments)
17:28:35filwitwb, vidot_j
17:29:24dyu_filwit: btw, are you really OCD?
17:29:40filwitdyu_: no
17:29:51dyu_oh ok, nvm, I thought i read it somewhere in the logs
17:29:53*vidot_j quit (Remote host closed the connection)
17:30:02filwitdyu_: possibly minorly, but not a clinical condition or anything
17:30:25filwitdyu_: i joke about being OCD cause i nitpick details (i'm an artist, sue me)
17:30:27dyu_how do you know that you have it though :-)
17:30:34dyu_ah yep
17:30:47dyu_you do nitpick a lot, I noticed that
17:31:01filwitlol, hmm.. well i used to have a friend.. she HAD to check under her bed 7 times when leaving her room
17:31:06filwitshe had real OCD
17:31:09dyu_hehe
17:31:36MFlamerAraq: I tried bindSym but it seems to want a constant for the sym identifier. I want to lookup the value of a var from outside of a macro, while in a macro
17:31:55MFlamerbut maybe that makes no sense.
17:32:56fowlMFlamer, only compiletime vars and constants can be known at compile time
17:33:15dyu_filwit: what was she afraid of under her bed?
17:33:31dyu_or was it just for the sake of checking
17:33:39filwitno she was 18
17:33:51dyu_fear has no age limit
17:33:52filwitit was an "extreme habbit"
17:33:53dyu_hehe
17:33:59filwitidk
17:34:07filwitbut she had clinical OCD
17:34:18filwitand she had other things she "had" to do too
17:34:26filwitcan't remember everything exactly
17:34:45filwiti know a lot of OCD people wash their hands lik 20 times a day and stuff
17:35:18dyu_yea, that usually is the prime example of OCD
17:35:32filwityou have it?
17:35:36dyu_nope
17:35:55filwitcurious to know why you where asking if i had it :)
17:36:05MFlamerhow about compiletime global vars? Is there such a thing?
17:36:07dyu_i read it in the logs
17:36:15filwitokay, i see
17:36:33dyu_you could probably say i've an OCD on hn... can't seem to not visit that site lol
17:37:01dyu_correct word: addiction
17:37:32filwitMFlamer: const? unless you mean modifiable compile-time global vars
17:37:42filwitdyu_: never heard of 'hn'
17:37:47dyu_hackernews
17:37:50filwitahh
17:38:31MFlameryes modifiable at compile time, so macros can talk to each other
17:38:50EXetoCMFlamer: I don't know if this is relevant, but you don't have access to the AST outside of the call site, and by design
17:38:56dyu_hours/momentum/focus - hn takes it away :-/
17:39:17MFlamerhm......
17:39:35filwitEXetoC: technically that's not true, considering term-rewriting macros right? haven't looked into entirely yet
17:40:05fowlMFlamer, i dunno, test it out
17:40:08*Webskipper quit (Ping timeout: 240 seconds)
17:40:13filwitdyu_: lol, yeah i waist a lot of time on the interwebs too
17:41:11dyu_well we're tech ppl, I guess its only natural what new tech is available (that we can use!)
17:41:14EXetoCthat's slightly different though, but that seems to be the case
17:41:14*DAddYE joined #nimrod
17:41:26AraqEXetoC: that is correct
17:41:40dyu_I wouldn't know nimrod if it weren't for hn
17:41:42EXetoCthat might be the last resort for situations like these then, for better or for worse
17:42:07*Webskipper joined #nimrod
17:42:13MFlamerAraq: what is correct?
17:43:04*Webskipper left #nimrod (#nimrod)
17:43:10EXetoCmaybe I can take that approach for my invariant construct
17:44:05MFlamerEXetoC: waht is your invariant construct?
17:45:27EXetoCcontracts for objects (pre/post conditions)
17:45:36Araqassert?
17:46:08filwitassert does not get inherited
17:46:34Araqyou can't simply inherit invariants anyway
17:46:38Araqthat's naive
17:48:06filwitNimrod's generics are better anyways
17:48:34filwituser-defined type classes or whatever they're called
17:48:47EXetoCpossibly, if no run-time polymorphism is needed
17:48:57EXetoCoh
17:51:38EXetoCAraq: yes but automatically inserted when a certain pragma is used, though I'm not sure how feasible it'd be to insert post-conditions before each return statement
17:52:50AraqMFlamer: that the you can't go up in the AST is by design
17:53:19Araqfilwit is also correct in that TR macros can capture a larger part of the AST
17:53:52Araqand MFlamer you can indeed store ASTs in .compileTime variables
17:54:07Araqbut that's only a last resort
17:54:35*brson joined #nimrod
17:55:01MFlamerAraq: Ok thanks, thats important. I was hoping to experiment with some "bolt on" type systrem extensions as libraries using macros. Still not sure if its possible
17:56:08filwitMFlamer: i believe Araq just it's possible with {.compileTime.}. I'm writing a test to try it.
17:56:17filwitjust said**
17:56:39MFlamerI tried and it didnt work, but maybe I did it wrong
17:56:59MFlamervar comp: int {.compileTime.}
17:57:09fowlpragma goes on the name
17:57:14fowlcomp {.pragma.}
17:57:25MFlameryep
17:57:26filwitvar comp {.compileTime.}: int
17:57:30MFlamergot it
18:01:25EXetoCI'm guessing that pragmas are evaluated in series, such that having the invariant pragma at the end would be fairly fail-safe, in terms of intended functionality
18:05:30*dyu_ quit (Quit: night!)
18:05:38AraqEXetoC: my plans are proc foo(a: int): int {.in: a.isPrime, out: result > 34.}
18:06:17Araqbut it would prove 'in/out' conditions at compile time
18:06:44Araqunlike a glorified assert
18:08:24EXetoCalways? that's useful
18:08:37EXetoCseems like a nice approach
18:08:40filwithow can you prove anything about 'a' at compile time? what if it's a user input?
18:09:05filwit(besides compile time stuff).. or is this not contracts?
18:09:50filwit(not that you should have a 'in' contract on a user-input variable..)
18:10:04Araqfilwit: you can prove many things but you can also give up easily ;-)
18:10:24Araqproc foo(a: int) {.in: a > 0.}
18:10:34Araqconst x = 34
18:10:37Araqfoo x # valid
18:10:49Araqvar y = parseInt(readline())
18:10:54Araqfoo y # invalid
18:11:05Araqif y > 0: foo y # valid
18:11:26filwitif is a runtime check
18:11:49Araqin other words the compiler makes you insert an 'if' that ensures the precondition
18:12:09filwitahh, okay, so it will does runtime checks
18:12:16Araqno
18:12:26Araqit makes YOU perform the runtime check
18:12:44filwitah, right right, missed the comments
18:12:50filwiti see...
18:13:14filwitthat's an interesting approach.
18:13:37Araqthat's how verifying software works
18:14:04filwitsounds like a lot of semantic analysis though
18:14:21filwitbut if it catches at compile-time, that's nice
18:14:31Araqwe already have the inference engine for it
18:14:41Araqit's still quite some work of course
18:26:24*ponce__ joined #nimrod
18:26:44*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
18:27:36BitPuffinoh Araq IS alive! good
18:27:38EXetoCbetter generics, contracts and possible whitespace-related changes = omgpwniez
18:27:46EXetoCBitPuffin: so what games do you have in mind?
18:28:16EXetoCI played 0ad with dom and it was alright. tron was a bit too simplistic though
18:28:37EXetoCmaybe we should make like a tron game but with 3d mechanics some time
18:28:46BitPuffinEXetoC: Hmm, if we want FPS we could go warsow and xonotic
18:30:07EXetoCxonotic is nice. there's too much of instagib and jumping though :E
18:30:21BitPuffinEXetoC: I like warsow
18:30:29BitPuffinit's got really awesome pacing once you learn it
18:30:31filwiti play counter-strike every once in awhile
18:31:00filwiti know dom96 likes urban terror
18:31:13BitPuffinurban terror is nice yeah
18:31:27dom96You guys wanna make a game?
18:31:37EXetoCfilwit: are you any good? I started playing cs in 2000/2001 and I still suck :-)
18:31:39filwiti have to finish my editor first
18:32:24filwitEXetoC: lol, it's funny, my favorite game back in the day was CS.. now i get to play it on Linux. I'm okay
18:33:02EXetoCsame. I miss windows even less now
18:33:30EXetoCI would like to give dayz a go however
18:33:55filwithmm, yeah i saw that on Steam
18:34:22filwiti stopped buy games.. i realized i was just buying humble bundles and never playing anything..
18:34:35BitPuffindom96: what did you have in mind?
18:35:01filwiti don't play games too much, so when i do there's really only a couple i like to play: CS, Skyrim...
18:35:32filwitdom96: we should make a game, but i'm more focused on making the game editor right now :
18:35:35*CarpNet quit (Quit: Leaving)
18:44:45BitPuffindom96: doing something together would be a good thing for our CV's because it would show that we can not only make games, but also collaborate on game projects
18:44:55BitPuffinwith other human beings
18:46:50*Endy joined #nimrod
18:50:21*gour quit (Read error: Connection reset by peer)
18:58:54*Varriount quit (Ping timeout: 246 seconds)
19:07:06dom96BitPuffin: We should do that.
19:07:37BitPuffindom96: and "license" it under CC0 :P
19:07:38dom96And in fact, that is the reason why I want Nimrod to grow: so that I can work with other people on cool projects :)
19:08:16Araqdom96: the real reason of course is to get paid for it :P
19:08:41BitPuffinAraq is the nimrod pimp
19:08:57BitPuffinnimrod dealer
19:09:08BitPuffinfirst version is free
19:09:33EXetoCfree version for only $5
19:09:49BitPuffinEXetoC: but then it's not free, gosh you are so stupid!!
19:10:39reactormonkBitPuffin, echo("hello world") is free, integers are $1, floats are $1, each module $.5
19:10:58BitPuffinreactormonk: micro transaction programming language
19:11:07BitPuffinFree 2 Code
19:12:11BitPuffindom96: anyways what would you wanna make?
19:12:41*Demos joined #nimrod
19:14:18fowlugh sdl2 gfx is so bunk
19:15:10*Varriount joined #nimrod
19:15:17EXetoC?
19:15:26*orbitz quit (Ping timeout: 245 seconds)
19:15:36BitPuffinfowl: s/gfx/*/
19:16:17*orbitz joined #nimrod
19:16:24dom96BitPuffin: no idea lol
19:16:32EXetoCbf4 clone?
19:17:13dom96COD clone
19:17:19*fredmorcos joined #nimrod
19:17:34BitPuffinopen source cod that doesn't suck?
19:17:36BitPuffinlol
19:17:46BitPuffindefinitely would make us hireable
19:17:47fowlalaskan cod..yuym
19:17:59BitPuffinfowl: hahahaha
19:18:03BitPuffinbest quote ever
19:18:42BitPuffinoscra
19:18:47BitPuffinopen source cod really awesome
19:18:50BitPuffinlol
19:18:57BitPuffinno but serrajosli gäjs
19:18:58OrionPKi would start with a tetris clone :P
19:19:09OrionPKwork your way up to a basic minecraft clone
19:19:23fowllets set up pointers for no reason http://sourceforge.net/p/sdl2gfx/code/HEAD/tree/trunk/SDL2_gfxPrimitives.c#l2628
19:19:57BitPuffinfowl: switch to allegro5 already jeeze
19:20:19EXetoCthe assert fails. is this wrong? template optMul{`*`(a, b)}(a, b: int{lit}): int = 42; assert(2 * 7 == 42);
19:20:26fowlthen in polygon() we'll take the retarded array of x points and array of y points and make an array of (X,Y) points (because it would be too much hassle to just accept this from the beginning) http://sourceforge.net/p/sdl2gfx/code/HEAD/tree/trunk/SDL2_gfxPrimitives.c#l2566
19:20:40BitPuffindom96: how about a decentralized procedurally generated multiplayer cod
19:20:43fowlBitPuffin, you're gross
19:20:50*[1]Endy joined #nimrod
19:20:51BitPuffindom96: so it is infinitely sized
19:21:30BitPuffin:D
19:22:01*zahary joined #nimrod
19:22:03BitPuffinfowl: why
19:22:05BitPuffinhey zahary
19:22:25zaharyhi
19:22:29BitPuffinwhat's up
19:22:37fowlBitPuffin, allegro is yuck
19:22:47zaharynot much
19:22:47EXetoCno realistic ideas? ok, what about something *sort of* like dwarf fortress, but with decent graphics
19:22:48BitPuffinfowl: it's awesome
19:23:07fowlthis -> http://play.treasurearena.com/ in nimrod
19:23:21AraqEXetoC: it's wrong in that TR macros interact with constant folding
19:23:47Araqand the compiler is free to perform constant folding before TR transformations
19:23:48*Endy quit (Ping timeout: 240 seconds)
19:23:48*[1]Endy is now known as Endy
19:24:01EXetoCok
19:24:35Araqhi zahary people are waiting on your type classes
19:24:39BitPuffinEXetoC: I think my idea is realistic. We wouldn't need to spend much time world creation, we would have root servers that you initially connect to and announce themselves to the rest of the cluster via that and communicate with the nearest nodes :P
19:24:52MFlameryes! we are waiting
19:25:15BitPuffinzahary: are ints (for example) passed to generics supposed to work now? because i got an error when refactoring linagl
19:25:20BitPuffinand yes we are waiting :P
19:25:27MFlamerIn the most respectful way......hurry up
19:25:48BitPuffinand then add ADTs or whatever they are called :P
19:26:13BitPuffinEXetoC: no but okay I am cray cray
19:26:15zaharyI know, I feel a little embarrassed about this delay too
19:26:16MFlamerOr, help me figure out how to get it right. Sum types I mean
19:26:36BitPuffinEXetoC: would be cool though
19:26:55fowlMFlamer, exampel?
19:26:57BitPuffinwhat about COD where you don't have guns
19:27:00BitPuffinonly hugs
19:27:23fowlfirst person yoshi's island game
19:27:29MFlamerfowl: example of Sum types?
19:27:35fowlyea
19:27:36BitPuffinhttp://www.newgrounds.com/portal/view/596816
19:27:39zaharyBitPuffin, expr[int] params are supposed to work, yes - can you send my your code?
19:28:43EXetoCBitPuffin: well, you'd have to take care of the advanced stuff obviously!
19:28:46MFlamerfowl: http://en.wikipedia.org/wiki/Algebraic_data_type thats a pretty good intro
19:29:05dom96BitPuffin: EXetoC: Nethack set in space.
19:29:22BitPuffinzahary: well I undoed the refactoring, but I can quickly add it again if you like
19:29:38fowllets make a mario clone except you play as the angry sun and mario is controlled by AI
19:29:52BitPuffinlet's not listen to fowl
19:30:12fowllets make a game where BitPuffin is on the screen and your job is to insult him
19:30:19BitPuffinfowl: :D
19:30:37zaharyBitPuffin. a single proc/type that illustrates the problem would be enough
19:30:44BitPuffinzahary: okay sure
19:32:45BitPuffinzahary: type TVector[T, D] = array[0..D-1, T]
19:33:04fowlremake that michael jackson game where you throw glitter on kids and go HEE-HEEE
19:33:14filwitLOL
19:33:23BitPuffinhttps://gist.github.com/BitPuffin/d47962b2ccf79e262f62
19:33:53filwitand lol fowl, just read logs, nice bug catch
19:34:07filwitwith the SDL_gfx i mean
19:34:07fowlwhich
19:34:12AraqMFlamer: Nimrod's case objects are close enough to ADTs
19:34:24zaharyBitPuffin: the problem is that in this declaration, the compiler really expects 'D' to be a type, not a value
19:34:24zaharyyou have to use type TVector[T, D: expr[int]] to get what you want
19:34:25MFlamerzahary: will our type classes handle abstraction over generics (higher kinds) like this " proc foo[T,S,U](x: T[S], f: proc(y: S): U): T[U] = f(x) "?
19:34:42fowlfilwit, its no bug just asinine programming, they are going through dumb lengths to keep API compatibility with the first sdl_gfx
19:34:58filwitfowl: ahhh, i see
19:35:10zaharyTVector[T; D: expr[int]] to be prices (notice the semicolon)
19:35:16filwitfowl: you could just.. not.. wrap that lib, lol
19:35:25EXetoCeven though they went through all that trouble to create a new version? oh well
19:35:36filwitfowl: i mean, are you planning on wrapping SLD2_opengl?
19:35:39fowlfilwit, im going to rewrite it
19:35:51fowlwhats that?
19:36:10filwitone sec, let me double-check something
19:36:18BitPuffinzahary: ahhhh
19:36:20BitPuffinzahary: cool
19:36:22zaharyMFlamer: can you clarify what you mean? The proc signature that you wrote should work, yes
19:36:25filwitfowl: http://www.libsdl.org/tmp/SDL/include/SDL_opengl.h
19:36:37filwitfowl: i mean.. it's basically just gl.h
19:36:51BitPuffinzahary: i'll try it. I guess : expr[TInteger] won't work atm :P
19:36:59fowlfilwit, no but the drawing primitives in the gfx library are useful
19:37:37filwitfowl: okay, cool. i'm just saying i don't need it or anything (nor do i need SDL_opengl)
19:37:39*faassen left #nimrod (#nimrod)
19:38:15fowlusing opengl is not special in sdl2 like it was in sdl1
19:38:57filwitfowl: well i still have to create a window with the OpenGL flag and grad the context
19:39:18filwitfowl: i've never used SDL1 really
19:39:59filwitfowl: and, besides glancing at the code from time to time, this is the first time i've tried using SDL2
19:40:42filwitgot to go, bbl
19:40:43*dom96 quit (Quit: Bye.)
19:40:54fowlcya
19:41:15*dom96 joined #nimrod
19:41:16Araqzahary, MFlamer S[T] where both S and T are generic has never been implemented
19:41:38zaharyah, MFlamer, your question is about something like "template templates" in C++? I don't plan to have a special syntax for them and I think your example should work
19:42:43*OrionPK quit (Quit: Page closed)
19:42:48MFlamerzahary: its also called type constructor polymorhism and is a feature they added to Scala as discussed in this paper http://adriaanm.github.io/files/higher.pdf
19:43:03BitPuffin TVector*[T; D: expr[int]] = array[0..D-1, T] ## T = Type, D = dimension
19:43:08BitPuffinzahary: that line is still erroring
19:45:24BitPuffinzahary: error: http://ix.io/8UZ
19:46:10BitPuffindom96: hai hai
19:47:40MFlamerAraq: If you think the object variants are close enough to ADT's then I'll move on. I've been obsessed with them for days and have hundreds of lines of code and several different strategies for implementation, none of which was quite right. But, it's been fun!
19:48:15AraqMFlamer: your resources are better spent elsewhere. how about fixing some "easy" compiler bugs instead?
19:48:38BitPuffinyeah
19:48:48BitPuffincompiler bugs are among the most important things right now
19:48:58BitPuffinsuch features can be added in a 1.x release of nimrod
19:49:31AraqI would do it but it turns out tests/run/tmacros1.nim is a bitch to get to work with the new VM ... *sigh*
19:49:53MFlamerok, fair enough. time to get serious.
19:51:24BitPuffindom96: okay two new suggestions
19:51:44BitPuffindom96: some kind of coop survival thingy game
19:51:57fowlNAZI GIRLSCOUTS
19:52:02fowler
19:52:02BitPuffindom96: or some kind of multiplayer stealthy thing, e.g sniper stuffz
19:52:08fowlZOMBIE GIRLSCOUTS
19:52:11fowl^
19:52:25BitPuffinv_v
19:52:36dom96BitPuffin: Bacteria simulator.
19:52:48BitPuffindom96: gross
19:52:51fowlbuild-a-bear simulator
19:52:55BitPuffinhahaha
19:53:01BitPuffinyogi bear simulator
19:53:16BitPuffineuro truck simulator
19:53:28dom96I always wanted some sort of game where you were a bacteria
19:53:35BitPuffinhang on http://www.eurotrucksimulator2.com/
19:53:37dom96and your objective was to kill the organism you're in
19:53:52fowlyou'd have to emulate a whole organism
19:53:52dom96simulating a human circulatory system could be fun :P
19:54:12dom96I'm sure we could cut corners somewhere.
19:54:50fowlvideo game version of the movie South Central or Friday
19:55:02fowl(with simulated racism)
19:55:15BitPuffindom96: sure, but maybe we should stay somewhere in the lines of what's popular. Something that maybe shows larger studios that nimrod is a suitable C++
19:55:39dom96BitPuffin: But that's no fun :(
19:55:51fowlmaybe start with some small things, pong, tetris, pacman
19:55:51BitPuffindom96: no I know :(
19:55:55BitPuffindom96: but it can be
19:56:02BitPuffindom96: I mean it doesn't have to be a COD clone or whatever
19:56:10NimBotAraq/Nimrod master acafb4e Zahary Karadjov [+0 ±1 -0]: failing test for static params
19:56:13BitPuffinjust something that isn't entirely alien to them
19:56:16dom96Maybe we should remake a game we all enjoy?
19:56:25fowlpostal 2?!
19:56:29*Amrykid quit (Quit: Goodbye!)
19:56:29dom96fowl: HAHA
19:56:30BitPuffinpostal 2 would be fun
19:56:31dom96fowl: YES
19:56:42BitPuffinI haven't played it yet actually
19:56:45*Amrykid joined #nimrod
19:56:45BitPuffinbut I own it on GOG
19:57:06dom96Is postal 3 out yet?
19:57:26BitPuffinapparently?
19:57:45dom96whaatt, I missed the release.
19:57:51fowlyeah it sucked
19:58:22BitPuffinhttps://www.youtube.com/watch?v=BbAYDMlG8hQ&list=PL89CD7176ABF24F9C
19:58:40dom96I believe I played Postal 2 when I was 7 years old :P
19:59:02BitPuffinso let's make postal
19:59:16dom96A game like Postal is so much work though.
19:59:37BitPuffinzahary: any ideas?
20:00:13dom96Something like Notch's 0x10c would be cool
20:00:41BitPuffindom96: procedurally generated postal 2?
20:00:43BitPuffinlol
20:00:53dom96I'm telling you. Sci-fi nethack :P
20:01:03*Demos quit (Ping timeout: 260 seconds)
20:01:07BitPuffinsci fi postal
20:01:40zaharyBitPuffin: obviously, there is a bug, but I'll have to look into it later
20:01:52dom96if we were to make a clone I would rather clone GTA
20:01:59fowli always wanted to write a really offensive RPG..
20:01:59dom96Because driving games are cool
20:02:12BitPuffindom96: because that's a much smaller project than postal..
20:02:20fowloffensive as in reflects american life
20:02:27fowlwith some folksy racism
20:02:27dom96A GTA1 clone would be fairly simple
20:02:44BitPuffindom96: but not particularily impressive
20:03:40dom96well I have very little experience making games so anything involving 3D screams "HOLY SHIT THIS WILL TAKE US 5+ YEARS"
20:04:14BitPuffindom96: I don't think so
20:04:32fowlgame where you are the police and you have to put down protests and free-thinkers
20:04:40fowl(RTS)
20:04:59BitPuffinwell maybe I should just focus on my personal game project and talk a lot about how it is written in nimrod :P
20:05:15fowlBitPuffin, im afraid of 3d too. one dimension too many
20:05:21BitPuffindom96: I think something that's multiplayer in some way serves an open source project well
20:05:26BitPuffinfowl: pff
20:05:27BitPuffinnewb :D
20:05:37dom96BitPuffin: or we should just make up a list of ideas, assign a number to each and then use random.org to pick one :P
20:06:00fowlsorry but i dont go to college so im like "what the fucks a matrix? what the fucks a transformation?"
20:06:20dom96well, i'm in HS so... same :P
20:06:38BitPuffinmeh, then we'd end up with something that not everyone agrees on and not everyone would want to spend time on
20:06:44BitPuffinwell I learned a lot of that in HS
20:06:47dom96BitPuffin: Yeah :(
20:06:49BitPuffinand I'm not gonna further my study
20:06:55BitPuffinso excuses = nil
20:07:14dom96Well, I was busy working on Aporia/Babel/Nimbuild and Nimrod to learn about 3D :P
20:07:29BitPuffindom96: yeah that is fair enough
20:07:35MFlamerwell, it's a perfect excuse to learn some linalg!
20:07:36BitPuffindoesn't mean you can't learn it now :P
20:08:14dom96BitPuffin: It does. There are so many things that I need to do :(
20:08:21dom96And school doesn't help.
20:08:26MFlamerMuch more interesting to learn when you have a context like graphics instead of some booring class
20:08:29dom96Girls don't help either :P
20:08:46fowlwhats a Girls?
20:09:04dom96The females of our species.
20:09:10dom96:P
20:09:28BitPuffinMFlamer: yeah for sure. That's the reason why gamemath.com book was really enjoyable
20:09:32fowloh i saw one of those on tv
20:09:38*freezerburnv quit (Quit: freezerburnv)
20:12:50Araqdom96: are you working on that 'diff' feature?
20:13:17dom96BitPuffin: See what I mean? :P
20:13:23EXetoCBitPuffin: funny stuff at the top when JS is disabled
20:13:27dom96Araq: Have you fixed the corruption yet?
20:14:18Araqno ...
20:14:38BitPuffinEXetoC: ?
20:14:49dom96hrmmmm. Humble WB Games bundle, tempting.
20:14:50EXetoCon the page. spam about loans
20:14:58Araqwhat if the fix causes new regressions? how will I know without the 'diff' feature?
20:15:15Araq:P
20:15:19dom96Araq: By comparing the test results manually.
20:15:28Araqthat's crazy talk
20:15:30EXetoC<a title="Insight Into The Payday Loan Process" href="">http://paydayloans10mrvr.com/payday-loan/insight-into-the-payday-loan-process"> lul
20:15:44BitPuffindom96: humble wannabe games?
20:15:54EXetoCwarner bros
20:15:58dom96BitPuffin: Warner Br-- ^
20:16:45dom96BitPuffin: Think Batman.
20:17:16BitPuffinI saw it
20:17:18BitPuffinI bought it
20:17:21BitPuffinwell buying
20:17:24EXetoCoh I was right
20:18:11Araquh oh batman reminds of this: http://www.youtube.com/watch?v=QELRiIeJY1U
20:18:33*[1]Endy joined #nimrod
20:19:00EXetoClol
20:19:12BitPuffinhaha
20:19:46BitPuffinanyways guys as far as a game projects goes, I am much more comfortable with 3d than 2d
20:21:21dom96Let's just make a Minecraft clone and be done with it.
20:22:30dom96That would test Nimrod's GC well I think.
20:22:53*Endy quit (Ping timeout: 272 seconds)
20:22:53*[1]Endy is now known as Endy
20:25:01BitPuffinMaybe, but there are more memory intensive styles of games as far as I am concerned
20:25:14BitPuffinand there are plenty open source minecraft clones
20:25:36dom96So what color should we change nimrod to?
20:25:40dom96https://github.com/github/linguist/issues/610#issuecomment-27747809
20:26:39BitPuffindom96: was that a joke?
20:27:08dom96BitPuffin: no? What makes you think that?
20:27:36BitPuffindom96: it sounds like a bikeshed issue
20:27:36*Jackneill quit (Remote host closed the connection)
20:27:55*[1]Endy joined #nimrod
20:27:56*Demos joined #nimrod
20:28:33dom96What's the point of these if some languages have the same colours?
20:29:25BitPuffindom96: farts
20:30:16dom96People will see that colour and probably think "ugh, it's written in LiveScript" when it's in fact written in Nimrod.
20:30:42BitPuffindom96: fair point definitely sir
20:31:07*Endy quit (Ping timeout: 272 seconds)
20:31:08*[1]Endy is now known as Endy
20:32:04BitPuffinas soon as zahary fixes this bug I can refactor some more of linagl and add some more matrix procs like rotate, lookAt and also implement the swizzling. Then I will release version 0.2
20:32:15BitPuffinand we'll have a fairly usable linear algebra lib
20:32:21BitPuffin0.3 will be quaternions
20:32:44MFlamercool
20:32:53BitPuffin0.4 will be primitives like lines, rays, circles, spheres etc
20:33:23MFlamercsg....nurbs...B-Rep
20:33:34BitPuffinnot in 0.4
20:33:41MFlamerjust kidding
20:33:44BitPuffinbut yeah I will add some curve stuff too
20:33:46MFlamersome day
20:33:55BitPuffinmaybe in 0.5 or 0.6
20:33:59BitPuffinsomething like that
20:34:49DemosOo swizzleing
20:35:02Demosdoing that in a nice way would be so cool
20:35:09BitPuffinDemos: it's already in there
20:35:23Demosglm's method of doing swizzleing is pretty nasty
20:35:24BitPuffinDemos: but I'm gonna add the syntax supported with zahary's delegator pragma
20:35:41BitPuffinso instead of v{"xyzzyzyzy"} you'll be able to do v.xyzzyzyzy
20:35:45Demoswelll swizzleing is easy to "do" I mean the foo.xxyy type deal
20:35:46Demosyeah
20:36:03BitPuffinDemos: the first syntax is already in there
20:37:14Demosthe first syntax is not great
20:37:37Demosanyway get back to me when you are as fast as Eigen :Z
20:38:07DemosIma implement a BRDF without thinking about it and see what happens, weeeee
20:38:39BitPuffinDemos: yes but you can also do v.swizzle("xyzzyzyzy") if you prefer that
20:39:08*Endy quit (Ping timeout: 240 seconds)
20:39:18BitPuffinbut yeah v.xyzzyzyzy will be implemented very soon and might end up being the only syntax because of the way Araq will yell at me if I don't remove the other one
20:39:41BitPuffinI'm just wondering if someone is already using linagl for vectors and I'm removing something and breaking their code
20:40:11AraqBitPuffin: actually I'd prefer v{"xyz"} over v.xyz ;-)
20:40:20BitPuffinAraq: oh really? why?
20:40:33Araqbut I don't mind v.xyz either
20:40:54Demosthis is such a good oppertunity to show off nimrod's metaprogramming features
20:41:08BitPuffinAraq: well I guess I'll remove only the swizzle proc then or rather replace it with the . syntaxk
20:41:28BitPuffinAraq: or actually maybe just have .
20:41:37BitPuffinbecause I'm trying to at least stay somewhat close to glsl
20:41:43AraqI think v{"xyz"} looks cool and I fear v.xyz might bite us
20:41:45BitPuffineven if you are doing your best to prevent that :P
20:41:50Araqbut we'll see
20:42:15BitPuffinAraq: it looks pretty decent yeah, but not as nice to type
20:42:26BitPuffinand .xyz is glsl style
20:42:50BitPuffinAraq: if it bites us we'll fix it
20:43:00BitPuffinor zahary will at least :P
20:43:02Araqv@xyz is another option
20:43:12BitPuffinbarf
20:43:25Demoshonestly v.xyz is glsl and hlsl style, I say we go with that
20:43:38AraqDemos: ok
20:44:07BitPuffin BitPuffin | and .xyz is glsl styl
20:44:09fowlhow do you accomplish that
20:44:13BitPuffinAraq: I don't get an ok? :(
20:44:18BitPuffinfowl: use the delegator pragma
20:44:19AraqBitPuffin: ok
20:44:23BitPuffinAraq: yay
20:44:25fowlis that new?
20:44:25BitPuffin!
20:44:29BitPuffinfowl: yes
20:45:16BitPuffinrandom note yacy sounds like a cool idea but the search results are the worst I have seen ever
20:46:24BitPuffinAraq: when nimrod becomes 1.0, will the development become more branched so that bugfixes will be backported to older supported versions etc?
20:46:40BitPuffinor will you just keep it rolling forward hoping that nothing ever breaks
20:47:05Araqbranches are the way to go and we should really use them more already
20:47:14BitPuffinAraq: yeah that's the way I feel too
20:47:37BitPuffinanyways I feel like trying to fix a bug today
20:47:39BitPuffinif I have time
20:47:42BitPuffinstill haven't eaten
20:47:46BitPuffinit's almost 22:00
20:47:48BitPuffinlol
20:48:01BitPuffinand the dog needs a night walk
20:48:23Araqevery fix should go to a 'dev' branch and only if it passes the test suite should go into 'master'
20:48:49Araqbut then github doesn't support that easily I think
20:49:51BitPuffinAraq: isn't there like travis.ci or something for that purpose, can't remember what that was for
20:50:29BitPuffinMFlamer: are you fixing any bug? I just wanna make sure we aren't working on the same one
20:50:57fowlBitPuffin, travis is for running tests on every commit, yes
20:51:19BitPuffinfowl: then there we go!
20:51:24AraqBitPuffin: we have nimbuild for that
20:51:49BitPuffinAraq: true
20:51:51Araqbut when I write 'commit -am "fixes #23" ' github notices and closes the bug
20:52:08Araqmaybe it doesn that only when I'm on master
20:52:16Araq*does
20:52:31BitPuffinAraq: try it
20:52:47BitPuffinAraq: open a fake bug and commit fixes #FAKEBUGNUM to another branch
20:52:53fowldoesnt close it, it just references the issue
20:53:01MFlamerI fixed a couple of my own but dont have any open now
20:53:23MFlamerJust tell me which one you are working on and I'll pick another
20:54:54MFlamer#605 was one Araq told me to fix a while ago, so I'll fix it next
20:55:59MFlamerI'd like #618 to be working, so maybe I'll take that next
20:56:15MFlamerafter 605 I mean
20:57:09BitPuffinMFlamer: I think I'm targeting #618
20:57:44MFlamerkill it!
20:57:46BitPuffinMFlamer: by the way why are you writing a matrix library, I already have one :D
20:58:02MFlamerI'm not.
20:58:18MFlamerwhat makes you think that?
20:59:01BitPuffinMFlamer: your bug report contains TMatrix
20:59:33MFlamerI may have thought about it at first, untill I realized you were working on one.
20:59:46*fredmorcos quit (Quit: Leaving)
21:01:19MFlamerBut, if you do start to add more geometric stuff like curves and surfaces, I may ask to contribute. I do have a bit of interest and experience there
21:02:08MFlamerActually, that code in the bug report is straight out of the manual.
21:02:28Araqthat's called "regression"
21:03:08BitPuffinMFlamer: we'll see.
21:03:12BitPuffinMFlamer: I will add it though :P
21:04:50BitPuffinONE DAYY
21:07:36BitPuffinmaybe the relevant module is seminst
21:07:38BitPuffinor semtypes
21:07:40BitPuffinor types
21:07:59Araqor worse: sigmatch
21:08:10BitPuffinoh shit
21:08:20BitPuffinI'll start with the ones I mentioned :P
21:11:25BitPuffinAraq: actually sigmatch might even sound like the most likely one
21:12:31BitPuffinhmm or not
21:12:31BitPuffinsince it is about calls to procs
21:19:10*Demos quit (Ping timeout: 245 seconds)
21:21:26BitPuffinAraq: I guess a good place to start would be to compile nimrod with embedded debugger eh?
21:21:53Araqdo that and you're in a world of pain
21:22:04BitPuffinoh :(
21:22:11BitPuffinwell what about using gdb?
21:22:25Araqgdb works nicely. I almost never use it
21:22:55Araqthere is 'debug' for introspection of the most important data structures
21:22:59BitPuffinno of course. You can already visualize the full path the code takes in your head because you know the compiler so well I assume
21:23:06Araqand there is renderTree
21:23:31Araqand strategic output placement beats random gdb'ing
21:25:11*filwit quit (Quit: Leaving)
21:25:27BitPuffinAraq: debug and renderTree is procs in the compiler?
21:25:49Araqyes
21:26:01BitPuffinah I guess I'll find them somewhere
21:26:12Araqalso you should start with reading ast.nim I guess
21:26:19BitPuffinoh okay
21:26:51BitPuffinonly 1500 loc :P should be quick! :D
21:28:19BitPuffinit's a very well documented module at least by first glance
21:28:24BitPuffinso that's nice
21:32:50Araqthe compiler uses the same AST structure that is exposed for macros, so macro writers become compiler devs automatically ...
21:33:09Araqfor some reason that part of my big plan never worked out though ... :D
21:33:32EXetoCno?
21:33:46BitPuffinwtf there is a 128 bit floating point type?
21:34:05BitPuffinAraq: It's coming :D
21:34:06EXetoCawesome
21:34:12EXetoClack of precision? what's that?
21:35:38BitPuffinhttp://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer
21:36:23*OrionPK joined #nimrod
21:38:29*gour joined #nimrod
21:39:37dom96Araq: Have you ever read the UNIX_HATERS Handbook? :P
21:39:51Araqdom96: no. I wrote it.
21:39:56dom96hah
21:40:48*gradha joined #nimrod
21:42:37EXetoCWithout ever reading it? Rookie mistake
21:49:30*fredmorcos joined #nimrod
21:51:19BitPuffinweird, how come there is only nkPar and no nkParExpr
21:51:42gradhaOther than nimforum with jester and aporia, any other big LOC nimrod software out there?
21:52:25BitPuffingradha: yeah, nimrod
21:52:34fowlboom
21:52:51fowlwhats the command line to check LOC
21:53:02Araqfowl: the compiler tells you
21:53:26MFlamergdb is good to get a call stack though. I have found that helpfull
21:53:37Araqwell ok, it counts the stdlib too
21:54:14gradhanimforum goes up to 30511 LOC
21:59:56fowlkeineschweine gets hung up on endians
21:59:58BitPuffinhmm paralell for statement :o
22:06:37BitPuffinusing statement? I don't see that in the manual?
22:06:50Araqit's new
22:06:53BitPuffincool!
22:07:04BitPuffinwhat's it for?
22:07:06BitPuffinnamespaces?
22:07:08BitPuffinlol
22:07:27AraqDelphi/D-like "with" statement
22:08:18fowlwhats that
22:09:14BitPuffinusing a: echo; incr ?
22:10:12OrionPKexample?
22:10:59BitPuffinIt's in the github version of the manual
22:11:02BitPuffinlook it up kids
22:11:36BitPuffinit's totaly a thing
22:11:38fowli bet im older than u
22:11:41fowland i know im lazier
22:11:45BitPuffinfowl: I am 19
22:11:52fowlok kid
22:11:59BitPuffindo I have to do ERRTHING
22:12:17BitPuffinhttps://github.com/Araq/Nimrod/blob/master/doc/manual.txt#L2196
22:12:22BitPuffinthere you go kids
22:12:28fowlthanks dad
22:12:34BitPuffinpapa puffin gotcha covered
22:12:53OrionPKfowl, can you be over 20?
22:13:02fowli can
22:13:38fowlhow do you clear the using thing
22:13:54BitPuffinif fowl > 20: barrackObamaSelfishEditionPrint()
22:13:58OrionPKaraq you implemented javascript with statement?
22:14:01OrionPK:P
22:14:13EXetoCfowl: block?
22:14:32BitPuffinmanual probably lacks the indentation
22:14:37OrionPK(widely reviled by the entire programming world)
22:14:58OrionPKusing statement: should open up a block imo
22:15:02AraqI didn't to anything, zahary wants the feature and added it
22:15:05fowlagree
22:15:15Araqand 'using' shouldn't open a block
22:15:15fowlwith orion
22:15:27Araqproc p =
22:15:30Araq using foo
22:15:38Araq bli bla, blub
22:15:47OrionPKwell, i dont really like it much at all.. but using() and with() open up blocks in other languages
22:15:49Araq # scope ends here, so 'using' ends
22:16:05OrionPKI wont be using it heh
22:16:08fowl^
22:16:20fowlthat means u cant call a function that doesnt take foo as the first param?
22:16:29Araq'var' and 'let' don't open a block either
22:16:37fowlor does it try to call a normal function first then fall back to foo.f()
22:16:58Araqfowl: I think that's the case but I didn't look at the impl/spec
22:17:51OrionPKwell, at least the option to auto open a block would be nice
22:18:06AraqI think it puts nimrod's disambiguation rules to the breaking point
22:18:26Araqbut we'll see, it's highly experimental
22:18:29dom96I must say I agree. I think 'using' should act like 'block'
22:18:32OrionPK(i dont think it's useful/necessary)
22:18:49BitPuffineh? mutable T? ?
22:19:19fowlyea things should be immutable by default except the special mutable[T]
22:19:39BitPuffinfowl: not talking about should things here, I am reading the compiler code
22:19:45BitPuffinthere is nkMutable
22:19:58BitPuffin nkMutableTy, # ``mutable T``
22:20:09OrionPKusing statement: http://yuiblog.com/blog/2006/04/11/with-statement-considered-harmful/
22:20:33AraqBitPuffin: the compiler contains unfinished features :P
22:20:40BitPuffinzahary: dodge the pitchforks sir
22:20:53BitPuffinAraq: ah :D but how is that any different than var?
22:21:36AraqBitPuffin: 'var' is a hidden pointer, mutable is a mode for ptr/ref
22:22:05BitPuffinAraq: hm, interesting
22:22:57BitPuffinAraq: so ptr/ref is immutable by default?
22:23:17*brson quit (Ping timeout: 268 seconds)
22:23:26BitPuffinin the sense that you can't change the address they are pointing to? or what does it imply
22:23:49AraqBitPuffin: the thing ptr/ref point to would be immutable
22:24:20zaharythe goal of the using statement is to add support for DSLs that have hidden "context" parameter
22:24:20zaharypackage "nimrod":
22:24:20zahary category "compilers"
22:24:20zahary homepage "nimrod-code.org"
22:24:20zahary.. and OOP libraries that behave like more traditional OOP languages
22:25:55BitPuffinAraq: ah, but is not at the moment?
22:26:37AraqBitPuffin: no and it won't
22:27:19BitPuffinAraq: okay, so that should be cleaned up then I assume
22:28:46*BitPuffin wonders what this ROD file he hears so much about is
22:29:11dom96zahary: I'm not sure I get it, how is 'using' used in that example?
22:29:53BitPuffinAraq: is volatile also some old thing?
22:30:00zahary'package' is a template that does something like this:
22:30:00zaharytemplate package(body: stmt) = using MyCoolPackageDSL; body;
22:30:56gradhaBitPuffin: I think rod files are compiler generated to cache compilation or something
22:31:12dom96zahary: I don't think it would hurt to turn that into: using MyCoolPackageDSL: body. Perhaps it would even be a big benefit for people who want to use it outside of DSLs.
22:31:54BitPuffingradha: I was assuming it was something like that
22:32:00gradhaBitPuffin: seek the "Compilation cache" section in the nimrodc document
22:32:50BitPuffinah windows line endings..
22:33:02zaharyusing looks a bit like `bind` and `mixin`. there isn't much value in introducing blocks that are not related to control flow
22:34:17AraqI agree with zahary. blocks are for control flow, not scoping
22:34:27zaharyand the more realistic example is actually:
22:34:35Araqand it's easy enough to do:
22:34:37Araqblock:
22:34:40Araq using foo
22:34:42Araq ...
22:35:36BitPuffintrue
22:35:38Araqyou don't ML-styled: let x = foo() in
22:35:54Araq bar(x)
22:35:56Araq end
22:36:00Araqdo you? :P
22:36:51BitPuffinhey what's wrong with ml
22:37:00gradhaand what's wrong with going to bars?
22:37:21BitPuffinexactly
22:37:44EXetoCno milk
22:38:35OrionPKwhats wrong with optional block after using?
22:38:37BitPuffinno music??
22:39:08BitPuffinjust anger!!
22:39:15*zahary quit (Ping timeout: 260 seconds)
22:39:35*brson joined #nimrod
22:39:40BitPuffinzahary rage timedout
22:39:48EXetoCOrionPK: what's wrong with block?
22:40:51EXetoCI might've misread. anyway, nevermind
22:41:06*zahary joined #nimrod
22:41:12dom96Why not allow both 'using' styles? :P
22:42:10zaharythere was power outage, the logs are real-time I guess?
22:42:31Araqyes but you only missed unfunny jokes
22:42:53*OrionPK quit (Ping timeout: 250 seconds)
22:42:53*BitPuffin feels targeted
22:45:31Araqbbl
22:46:04EXetoCBitPuffin: warsow 1v1 first to 564
22:46:54dom96EXetoC: Warsow 2v1
22:47:05EXetoCok
22:47:06fowlblock using foo:
22:47:09fowl #..
22:47:12fowl:p
22:48:36BitPuffinEXetoC: sorry I'm reading ast.nim
22:48:43BitPuffinwhich is so much more fun >_<
22:48:51dom96This has been irritating me for a while, why can't I specify the type of the exception caught with except statements?
22:50:08*Associat0r quit (Quit: Associat0r)
22:56:47*fredmorcos quit (Quit: Leaving)
22:58:05shevyyou are not worthy!
22:58:28*freezerburnv joined #nimrod
23:03:45*freezerburnv quit (Quit: freezerburnv)
23:04:49gradhagood night
23:04:56*gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=n7pXRdkdJxI again)
23:09:02*freezerburnv joined #nimrod
23:14:05*OrionPK joined #nimrod
23:19:15*gour left #nimrod ("WeeChat 0.4.1")
23:19:32*OrionPK quit (Read error: Connection reset by peer)
23:20:04*OrionPK joined #nimrod
23:25:43Araqdom96: no idea what you mean
23:26:15dom96s/statements/stand-alone statements/
23:26:20dom96http://build.nimrod-code.org/docs/manual.html#except-and-finally-statements
23:28:16*shodan45 quit (Quit: Konversation terminated!)
23:28:22Araqthat only exists to be wrapped in some template anyway
23:29:51Araqbut surely we could allow types here; I guess zahary did it for reasons of implementation simplicity
23:57:59*Amrykid quit (Changing host)
23:57:59*Amrykid joined #nimrod