<<28-03-2013>>

00:02:04Araqdom96: add the deprecation of recvLine to news.txt please
00:03:34dom96ok
00:04:48dom96Ok, I updated the forum on the server.
00:19:24Araqlooks good
00:20:24*q66 quit (Remote host closed the connection)
00:21:28*Boscop quit (Read error: Connection reset by peer)
00:22:19*Boscop joined #nimrod
01:22:07*JStoker quit (Quit: JStoker is gone :()
01:48:19*JStoker joined #nimrod
01:48:20*JStoker is now known as Guest23108
02:03:59*Guest23108 quit (Changing host)
02:03:59*Guest23108 joined #nimrod
02:09:02*Guest23108 is now known as JStoker
03:35:50reactormonkAraq, I still think git is a horrible DVCS, but at least it's maintained, unlike bzr.
03:36:01reactormonkfrom https://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00777.html
03:36:14reactormonkor who was the anti-git guy again
05:49:55*Trix[a]r_za is now known as Trixar_za
07:56:53*zahary quit (Ping timeout: 248 seconds)
07:59:43*fowl joined #nimrod
08:21:50*xcombelle joined #nimrod
08:42:39*Trixar_za is now known as Trix[a]r_za
09:41:52*zahary joined #nimrod
10:27:50*xcombelle quit (Remote host closed the connection)
10:52:43*q66 joined #nimrod
11:23:39*mal``` quit (Ping timeout: 255 seconds)
11:23:39*comex quit (Ping timeout: 255 seconds)
11:23:39*Zor quit (Ping timeout: 260 seconds)
11:24:04*Zor joined #nimrod
11:24:19*comex joined #nimrod
11:24:21*mal`` joined #nimrod
11:28:31*Trix[a]r_za quit (*.net *.split)
11:31:40*Trix[a]r_za joined #nimrod
11:32:08dom96hello
12:11:51Araqping zahary
12:14:39zaharypong Araq
12:15:15Araqthe planned changes to sigmatch don't work ...
12:17:15Araqone problem is that we really need 'argOrig' in templates
12:18:13Araqotherwise the template's parameter of type 'expr' is passed causing weird type mismatch errors
12:20:17Araqhowever this means 'param: expr' do have different semantics in templates than in procs
12:53:16*fowl quit (Ping timeout: 272 seconds)
12:53:55*fowl joined #nimrod
14:56:32*fowl quit (Ping timeout: 256 seconds)
14:56:59*fowl joined #nimrod
15:16:30dom96Araq: hrm, can I generate sets on the fly?
15:16:45Araqdom96: sure
15:17:01dom96Are they more efficient than hashtables?
15:17:06Araqyep
15:17:13dom96Awesome :D
15:17:51Araqthey should be much more efficient
15:19:48dom96awww, I can't have a set of strings.
15:20:18Araqyou need to use the sets module for that
15:20:27AraqTSet[string] is it then iirc
15:20:46dom96cool
15:21:37Araqbut then it's not much faster than a hash table :P
15:21:43Araq(if at all)
15:21:51dom96lol
15:22:02dom96It feels more idiomatic for my purposes though
15:23:37dom96cool, it works.
16:27:23*JStoker quit (Ping timeout: 246 seconds)
16:28:03*JStoker joined #nimrod
17:13:36zaharyAraq, sorry for not responding. I was busy all day
17:17:30zaharywhy do you want to get rid of argOrig so badly? the lazy sem application to params is the important feature and argOrig is just a nuance annoying as it is
20:27:04*gradha joined #nimrod
20:38:04gradhadom96: looks like one of the commits from https://github.com/nimrod-code/nimforum/pull/5 wasn't merged, maybe because I added that later
20:40:44dom96alright, i'll merge it later. On windows at the minute.
20:41:05Araqugh
20:41:14Araqthe "development docs" link is wrong ...
20:43:11gradhawhat's the correct link?
20:46:17Araqhttp://build.nimrod-code.org/docs/overview.html
20:47:56gradhait's quite confusing to have overview.html and documentation.html at the same time
20:50:03gradhathe other day you said there's no "flow" for the forum, if you commit something to the repo does it get rebuilt or somebody has to go kick the machine?
20:51:50dom96I have to rebuild it on the VPS :P
20:52:55dom96Look what I found: http://www.daniweb.com/software-development/legacy-languages/threads/448047/has-anybody-used-nimrod
21:05:09dom96well I might as well write that Nimrod wikipedia article while this game downloads.
21:05:19dom96So what do you guys think it should include?
21:07:05gradhaa picture of Araq implementing garbage collection with lots of beer cans in the background
21:07:37dom96If only such a picture existed... it would be framed above my desktop.
21:08:02gradhaseriously, does anybody read wikipedia articles? I've never read about a programming language from it
21:08:24dom96yep. I found Nimrod thanks to wikipedia.
21:09:35Araqbefore they removed the article due to "lack of references" ...
21:09:59dom96indeed.
21:10:04dom96This time I will fight them to death.
21:10:18gradhahow did you "end" in wikipedia's nimrod page?
21:10:37dom96It was linked to from the Python page.
21:10:47dom96in the "Influenced" section
21:10:59Araqdom96: the link is interesting
21:11:13Araqit's also quite misguided ...
21:11:19dom96Araq: You should reply.
21:11:30Araqhell no
21:11:34dom96why?
21:12:45gradhathe arguments for inheritance thrown in that thread seem to be "I have to type less", which can be accomplished through other means
21:13:20gradhayet macros are dangerous and should be avoided, sigh
21:14:14Araq"For example, there is the when statement which is essentially a macro version of an if statement, where if the when condition is true then the else clause doesn't even get type-checked. Deliberately not type-checking part of a program is surely a bad sign for reliability." --- lol
21:14:31Araqhow else should conditional compilation work?
21:15:21gradhaI'm positive dom96 is registering on that forum to answer while his game downloads
21:15:55reactormonkAraq, wtf? I expect when stuff not to be typechecked, so I can include code that need a lib
21:16:04Araq"Another example is the concept of a var parameter which allows a procedure to modify a variable that is being passed as an argument. In C if you want to do that you pass the address of your variable and everyone can see you are doing that when the function is called. "
21:16:14AraqI've heard this argument a lot
21:16:22Araqit's completely misguided
21:16:41AraqIn C you often end up using T* everywhere for consistency
21:17:03reactormonkWhat if you're passing around an address?
21:17:04Araqand then no & at callsite tells you "will be modified"
21:17:22AraqT* x = makeT(...);
21:17:26Araqfoo(x);
21:17:29Araqbar(y);
21:17:37Araqis very common in C ...
21:18:51gradhaI've heard rumors const helps in this regard
21:19:32Araqhow so?
21:19:54Araqit still doesn't annotate the callsite
21:20:03Araqwhich everybody seems to love
21:20:17Araqexcept that it's absurd
21:20:29gradhahmm... wait, people are arguing they want to know which parameters at the callsite won't be modified?
21:20:40Araqin most languages there are only references to objects anyway
21:21:02gradha...without looking at the documentation?
21:21:05Araqand no, x.foo(y) DOES NOT mean 'y' cannot be modified
21:21:17Araqgradha: yeah
21:21:34reactormonkAraq, it just shouldn't
21:22:12gradhapeople argueing that must live in a really nice parallel universe
21:23:04dom96gradha: Actually i'm currently arguing with my uncle about this summly thing :P
21:24:47gradhalet's say you want to do something, you go to the docs and you see func foo which does what you want, the docs say "param 1 will be modified, 2 won't"
21:25:05gradhaso then you write your code like foo(value1, value2) and it works
21:25:43gradhasome other programmer comes and doesn't know about foo, so he sees the call and things "oh, that must not modify value1 neither value2, despite not knowing what foo does I won't bother checing its documentation"?
21:26:42Araqgradha: yeah that's the reasoning
21:30:11gradhaI hope that parallel universe has more sex to compensate the lack of sense
21:30:54dom96Parallel universe is probably getting laid right now :\
21:31:01dom96*parallel universe me
21:31:02dom96lol
21:31:17Araq"a part of a general carelessness toward readability in the design of Nimrod"
21:32:17Araqyeah ... never mind that you can in fact *reason* about the code
21:32:47Araqas opposed to Ruby where you can only hope&pray ...
21:32:50dom96Please reply to them.
21:34:05gradhadom96: I've decided to search for a portal into this other parallel universe for the rest of my life http://www.youtube.com/watch?v=53LEwnGy6Hc
21:35:18dom96People must definitely be getting sick of hearing me shamelessly advertise Nimrod all the time by now... http://www.reddit.com/r/programming/comments/1b6mhd/fun_with_rust_traits/c948vx7
21:35:51dom96gradha: So you want to be korean in your parallel universe?
21:35:55reactormonkdom96, ;-)
21:36:30dom96But yeah, upboats please :P
21:36:35gradhakoreans are the superior race, they don't play silly sports like soccer or tennis, they play sc2
21:36:55reactormonkdom96, add some more parts.
21:36:56dom96gradha: NORTH KOREA IS BEST KOREA
21:37:03dom96reactormonk: like?
21:37:07gradhanah, north korea is naughty korea
21:37:49dom96Arguably the best subreddit in existence is: r/pyongyang
21:38:04reactormonkdom96, add some more about how the stuff would work in nimrod
21:38:35gradhasome months ago there was a youtube video making the rounds with a north korea driving simulator, it had amazing music
21:40:04dom96Farming Simulator ftw: http://www.youtube.com/watch?v=gEJHrmliVQw
21:41:17gradhathe music on this one is better https://www.youtube.com/watch?v=p3IMwhoAMcs
21:42:02dom96reactormonk: hrm, stuff like what? the stuff he 'fixed' for Rust's syntax?
21:46:39dom96gradha: oh god, that game must try to kill you by boring you.
21:48:49dom96So! Seriously. What should be in the wiki article?
21:49:14gradhatry to spam it with links to all reddit discussions where you suggested using nimrod
21:50:13dom96"Nimrod is known for some asshole who spams reddit all the time [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"
21:51:18gradhayou could embelish that a little bit, "Nimrod is known for some awesome charismatic dude who helps other programmers in times of stress"
21:51:38gradhayou have to learn how to sell stuff, or nobody will buy it
21:52:29dom96yeah, i'm too hard on myself.
21:57:10dom96Araq: See this? http://www.reddit.com/r/programming/comments/1b6mhd/fun_with_rust_traits/c9499es
21:57:32dom96Take example, and do your part in replying to people like this.
21:57:38dom96Please.
21:58:20AraqI still lost my account data for reddit ...
21:59:09dom96well I'm not talking about reddit at the minute
21:59:19dom96(But how hard is it to get your account data back...)
22:06:13gradhawhy do nimforum posts have an ip field, as spam/abuse prevention measure?
22:06:41AraqI dunno, do they have an ip field?
22:07:04gradhaip inet not null
22:08:23gradhaI could understand using that to prevent post requests coming from the same IP in say less than five seconds
22:09:06gradhabut even for that it would be easier to track in the user table
22:09:32AraqI can't remember why I did it this way
22:09:39Araqor maybe dom96 added it
22:11:24dom96I don't think so.
22:12:05dom96argh, and now my comment can't be seen because the top-most has been downvoted too much.
22:12:29reactormonkAraq, fix plz
22:12:42Araqreactormonk: fix what?
22:12:49reactormonkAraq, guess what.
22:13:06Araqthe lambda lifting for the JS target?
22:13:10reactormonkyep.
22:13:22Araqcan't you work around easily?
22:13:50reactormonkHow so?
22:13:55gradhadom96: what's your plan for db schema updates? to run manually editdb.nim?
22:14:19Araqreactormonk: you even gave a workaround in the bug report ...
22:14:40reactormonkAraq, where? https://github.com/Araq/Nimrod/issues/347
22:14:43dom96gradha: I think so. What else could be done?
22:15:12gradhaI'm used to the idea of anything running a connection to the database to check at runtime the version and perform any needed upgrades automatically
22:16:18Araqreactormonk: exactly
22:17:25Araqgradha: you can easily write the sql with "if not exists" but why is it important?
22:18:17gradhait's not particularly important, but running scripts manually is error prone, why suffer the pain?
22:20:00gradhaeven when you don't automatically include the upgrade scripts, you can do checks at startup like "sorry, database needs upgrading, won't run on it", and that tells you to run upgradedb.nim or something
22:20:19Araqhuh? do you plan for any unforeseen db schema updates?
22:20:44gradhasure, how else will you add features to nimforum?
22:22:33Araqhmm I see
22:22:56Araqyou mean that it doesn't even start on the live system if the db is not up to date
22:23:38gradhait has helped me in the past
22:23:47*dom96 +1's the idea
22:24:24gradhausually I end up creating a config table for simple key/value storage, with the first line being the db schema version, so it is fast to check against that
22:25:22gradhain this config table I customize the database/software for different clients too, though that's not something that seems needed for nimforum
22:25:59dom96I think I should also write a little script which will back up the db periodically just in case.
22:26:08Araqyeah
22:26:17Araqgradha: I like your config table idea
22:27:30gradhathe config table can be useful to sometimes change a website at runtime, instead of reuploading code with different constants you make it read them from the table, so killing/restarting is enough
22:38:10reactormonkAraq, where's the WA? That's JS code rewrite
22:39:02AraqI think you can use the same rewrite in nimrod
22:39:48reactormonkcan you?
22:40:15Araqwhy not?
22:41:30reactormonkhmm
22:49:13Araqdom96: that createDir bug is strange
22:49:30AraqI can't reproduce it with a simple program that creates the very same dir ...
22:50:50dom96yep, it is weird.
22:51:10*fowl quit (Remote host closed the connection)
22:56:01reactormonkAraq, gimme WA on issue.
22:59:29Araqwhat does WA mean exactly?
23:00:41reactormonkworkaround
23:03:26AraqI don't get your problem
23:03:53reactormonkAraq, problem? Hum. How would you implement that in nimrod?
23:04:02Araqyou're using an additional inner function in the JS code and yet can't do the very same in Nimrod?
23:04:19reactormonkmaybe I'm just lazy