00:02:04 | Araq | dom96: add the deprecation of recvLine to news.txt please |
00:03:34 | dom96 | ok |
00:04:48 | dom96 | Ok, I updated the forum on the server. |
00:19:24 | Araq | looks 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:50 | reactormonk | Araq, I still think git is a horrible DVCS, but at least it's maintained, unlike bzr. |
03:36:01 | reactormonk | from https://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00777.html |
03:36:14 | reactormonk | or 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:08 | dom96 | hello |
12:11:51 | Araq | ping zahary |
12:14:39 | zahary | pong Araq |
12:15:15 | Araq | the planned changes to sigmatch don't work ... |
12:17:15 | Araq | one problem is that we really need 'argOrig' in templates |
12:18:13 | Araq | otherwise the template's parameter of type 'expr' is passed causing weird type mismatch errors |
12:20:17 | Araq | however 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:30 | dom96 | Araq: hrm, can I generate sets on the fly? |
15:16:45 | Araq | dom96: sure |
15:17:01 | dom96 | Are they more efficient than hashtables? |
15:17:06 | Araq | yep |
15:17:13 | dom96 | Awesome :D |
15:17:51 | Araq | they should be much more efficient |
15:19:48 | dom96 | awww, I can't have a set of strings. |
15:20:18 | Araq | you need to use the sets module for that |
15:20:27 | Araq | TSet[string] is it then iirc |
15:20:46 | dom96 | cool |
15:21:37 | Araq | but then it's not much faster than a hash table :P |
15:21:43 | Araq | (if at all) |
15:21:51 | dom96 | lol |
15:22:02 | dom96 | It feels more idiomatic for my purposes though |
15:23:37 | dom96 | cool, it works. |
16:27:23 | * | JStoker quit (Ping timeout: 246 seconds) |
16:28:03 | * | JStoker joined #nimrod |
17:13:36 | zahary | Araq, sorry for not responding. I was busy all day |
17:17:30 | zahary | why 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:04 | gradha | dom96: 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:44 | dom96 | alright, i'll merge it later. On windows at the minute. |
20:41:05 | Araq | ugh |
20:41:14 | Araq | the "development docs" link is wrong ... |
20:43:11 | gradha | what's the correct link? |
20:46:17 | Araq | http://build.nimrod-code.org/docs/overview.html |
20:47:56 | gradha | it's quite confusing to have overview.html and documentation.html at the same time |
20:50:03 | gradha | the 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:50 | dom96 | I have to rebuild it on the VPS :P |
20:52:55 | dom96 | Look what I found: http://www.daniweb.com/software-development/legacy-languages/threads/448047/has-anybody-used-nimrod |
21:05:09 | dom96 | well I might as well write that Nimrod wikipedia article while this game downloads. |
21:05:19 | dom96 | So what do you guys think it should include? |
21:07:05 | gradha | a picture of Araq implementing garbage collection with lots of beer cans in the background |
21:07:37 | dom96 | If only such a picture existed... it would be framed above my desktop. |
21:08:02 | gradha | seriously, does anybody read wikipedia articles? I've never read about a programming language from it |
21:08:24 | dom96 | yep. I found Nimrod thanks to wikipedia. |
21:09:35 | Araq | before they removed the article due to "lack of references" ... |
21:09:59 | dom96 | indeed. |
21:10:04 | dom96 | This time I will fight them to death. |
21:10:18 | gradha | how did you "end" in wikipedia's nimrod page? |
21:10:37 | dom96 | It was linked to from the Python page. |
21:10:47 | dom96 | in the "Influenced" section |
21:10:59 | Araq | dom96: the link is interesting |
21:11:13 | Araq | it's also quite misguided ... |
21:11:19 | dom96 | Araq: You should reply. |
21:11:30 | Araq | hell no |
21:11:34 | dom96 | why? |
21:12:45 | gradha | the arguments for inheritance thrown in that thread seem to be "I have to type less", which can be accomplished through other means |
21:13:20 | gradha | yet macros are dangerous and should be avoided, sigh |
21:14:14 | Araq | "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:31 | Araq | how else should conditional compilation work? |
21:15:21 | gradha | I'm positive dom96 is registering on that forum to answer while his game downloads |
21:15:55 | reactormonk | Araq, wtf? I expect when stuff not to be typechecked, so I can include code that need a lib |
21:16:04 | Araq | "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:14 | Araq | I've heard this argument a lot |
21:16:22 | Araq | it's completely misguided |
21:16:41 | Araq | In C you often end up using T* everywhere for consistency |
21:17:03 | reactormonk | What if you're passing around an address? |
21:17:04 | Araq | and then no & at callsite tells you "will be modified" |
21:17:22 | Araq | T* x = makeT(...); |
21:17:26 | Araq | foo(x); |
21:17:29 | Araq | bar(y); |
21:17:37 | Araq | is very common in C ... |
21:18:51 | gradha | I've heard rumors const helps in this regard |
21:19:32 | Araq | how so? |
21:19:54 | Araq | it still doesn't annotate the callsite |
21:20:03 | Araq | which everybody seems to love |
21:20:17 | Araq | except that it's absurd |
21:20:29 | gradha | hmm... wait, people are arguing they want to know which parameters at the callsite won't be modified? |
21:20:40 | Araq | in most languages there are only references to objects anyway |
21:21:02 | gradha | ...without looking at the documentation? |
21:21:05 | Araq | and no, x.foo(y) DOES NOT mean 'y' cannot be modified |
21:21:17 | Araq | gradha: yeah |
21:21:34 | reactormonk | Araq, it just shouldn't |
21:22:12 | gradha | people argueing that must live in a really nice parallel universe |
21:23:04 | dom96 | gradha: Actually i'm currently arguing with my uncle about this summly thing :P |
21:24:47 | gradha | let'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:05 | gradha | so then you write your code like foo(value1, value2) and it works |
21:25:43 | gradha | some 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:42 | Araq | gradha: yeah that's the reasoning |
21:30:11 | gradha | I hope that parallel universe has more sex to compensate the lack of sense |
21:30:54 | dom96 | Parallel universe is probably getting laid right now :\ |
21:31:01 | dom96 | *parallel universe me |
21:31:02 | dom96 | lol |
21:31:17 | Araq | "a part of a general carelessness toward readability in the design of Nimrod" |
21:32:17 | Araq | yeah ... never mind that you can in fact *reason* about the code |
21:32:47 | Araq | as opposed to Ruby where you can only hope&pray ... |
21:32:50 | dom96 | Please reply to them. |
21:34:05 | gradha | dom96: 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:18 | dom96 | People 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:51 | dom96 | gradha: So you want to be korean in your parallel universe? |
21:35:55 | reactormonk | dom96, ;-) |
21:36:30 | dom96 | But yeah, upboats please :P |
21:36:35 | gradha | koreans are the superior race, they don't play silly sports like soccer or tennis, they play sc2 |
21:36:55 | reactormonk | dom96, add some more parts. |
21:36:56 | dom96 | gradha: NORTH KOREA IS BEST KOREA |
21:37:03 | dom96 | reactormonk: like? |
21:37:07 | gradha | nah, north korea is naughty korea |
21:37:49 | dom96 | Arguably the best subreddit in existence is: r/pyongyang |
21:38:04 | reactormonk | dom96, add some more about how the stuff would work in nimrod |
21:38:35 | gradha | some months ago there was a youtube video making the rounds with a north korea driving simulator, it had amazing music |
21:40:04 | dom96 | Farming Simulator ftw: http://www.youtube.com/watch?v=gEJHrmliVQw |
21:41:17 | gradha | the music on this one is better https://www.youtube.com/watch?v=p3IMwhoAMcs |
21:42:02 | dom96 | reactormonk: hrm, stuff like what? the stuff he 'fixed' for Rust's syntax? |
21:46:39 | dom96 | gradha: oh god, that game must try to kill you by boring you. |
21:48:49 | dom96 | So! Seriously. What should be in the wiki article? |
21:49:14 | gradha | try to spam it with links to all reddit discussions where you suggested using nimrod |
21:50:13 | dom96 | "Nimrod is known for some asshole who spams reddit all the time [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]" |
21:51:18 | gradha | you could embelish that a little bit, "Nimrod is known for some awesome charismatic dude who helps other programmers in times of stress" |
21:51:38 | gradha | you have to learn how to sell stuff, or nobody will buy it |
21:52:29 | dom96 | yeah, i'm too hard on myself. |
21:57:10 | dom96 | Araq: See this? http://www.reddit.com/r/programming/comments/1b6mhd/fun_with_rust_traits/c9499es |
21:57:32 | dom96 | Take example, and do your part in replying to people like this. |
21:57:38 | dom96 | Please. |
21:58:20 | Araq | I still lost my account data for reddit ... |
21:59:09 | dom96 | well I'm not talking about reddit at the minute |
21:59:19 | dom96 | (But how hard is it to get your account data back...) |
22:06:13 | gradha | why do nimforum posts have an ip field, as spam/abuse prevention measure? |
22:06:41 | Araq | I dunno, do they have an ip field? |
22:07:04 | gradha | ip inet not null |
22:08:23 | gradha | I could understand using that to prevent post requests coming from the same IP in say less than five seconds |
22:09:06 | gradha | but even for that it would be easier to track in the user table |
22:09:32 | Araq | I can't remember why I did it this way |
22:09:39 | Araq | or maybe dom96 added it |
22:11:24 | dom96 | I don't think so. |
22:12:05 | dom96 | argh, and now my comment can't be seen because the top-most has been downvoted too much. |
22:12:29 | reactormonk | Araq, fix plz |
22:12:42 | Araq | reactormonk: fix what? |
22:12:49 | reactormonk | Araq, guess what. |
22:13:06 | Araq | the lambda lifting for the JS target? |
22:13:10 | reactormonk | yep. |
22:13:22 | Araq | can't you work around easily? |
22:13:50 | reactormonk | How so? |
22:13:55 | gradha | dom96: what's your plan for db schema updates? to run manually editdb.nim? |
22:14:19 | Araq | reactormonk: you even gave a workaround in the bug report ... |
22:14:40 | reactormonk | Araq, where? https://github.com/Araq/Nimrod/issues/347 |
22:14:43 | dom96 | gradha: I think so. What else could be done? |
22:15:12 | gradha | I'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:18 | Araq | reactormonk: exactly |
22:17:25 | Araq | gradha: you can easily write the sql with "if not exists" but why is it important? |
22:18:17 | gradha | it's not particularly important, but running scripts manually is error prone, why suffer the pain? |
22:20:00 | gradha | even 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:19 | Araq | huh? do you plan for any unforeseen db schema updates? |
22:20:44 | gradha | sure, how else will you add features to nimforum? |
22:22:33 | Araq | hmm I see |
22:22:56 | Araq | you mean that it doesn't even start on the live system if the db is not up to date |
22:23:38 | gradha | it has helped me in the past |
22:23:47 | * | dom96 +1's the idea |
22:24:24 | gradha | usually 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:22 | gradha | in this config table I customize the database/software for different clients too, though that's not something that seems needed for nimforum |
22:25:59 | dom96 | I think I should also write a little script which will back up the db periodically just in case. |
22:26:08 | Araq | yeah |
22:26:17 | Araq | gradha: I like your config table idea |
22:27:30 | gradha | the 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:10 | reactormonk | Araq, where's the WA? That's JS code rewrite |
22:39:02 | Araq | I think you can use the same rewrite in nimrod |
22:39:48 | reactormonk | can you? |
22:40:15 | Araq | why not? |
22:41:30 | reactormonk | hmm |
22:49:13 | Araq | dom96: that createDir bug is strange |
22:49:30 | Araq | I can't reproduce it with a simple program that creates the very same dir ... |
22:50:50 | dom96 | yep, it is weird. |
22:51:10 | * | fowl quit (Remote host closed the connection) |
22:56:01 | reactormonk | Araq, gimme WA on issue. |
22:59:29 | Araq | what does WA mean exactly? |
23:00:41 | reactormonk | workaround |
23:03:26 | Araq | I don't get your problem |
23:03:53 | reactormonk | Araq, problem? Hum. How would you implement that in nimrod? |
23:04:02 | Araq | you're using an additional inner function in the JS code and yet can't do the very same in Nimrod? |
23:04:19 | reactormonk | maybe I'm just lazy |