00:05:22 | * | OrionPK joined #nimrod |
01:03:39 | * | DAddYE quit (Remote host closed the connection) |
01:04:43 | * | XAMPP-8 joined #nimrod |
01:15:18 | * | XAMPP_8 joined #nimrod |
01:16:13 | * | XAMPP-8 quit (Ping timeout: 246 seconds) |
01:24:16 | * | XAMPP_8 quit (Ping timeout: 246 seconds) |
02:08:33 | * | zahary___ quit (Read error: Connection reset by peer) |
02:09:40 | * | zahary___ joined #nimrod |
02:14:06 | * | DAddYE joined #nimrod |
02:18:53 | * | DAddYE quit (Ping timeout: 256 seconds) |
02:40:14 | * | SirSkidmore is now known as SirSkids|Zzz |
03:14:44 | * | DAddYE joined #nimrod |
03:19:52 | * | DAddYE quit (Ping timeout: 276 seconds) |
03:52:26 | * | DAddYE joined #nimrod |
03:57:47 | * | OrionPK quit (Quit: Leaving) |
04:12:39 | * | comex quit (Quit: Coyote finally caught me) |
04:12:49 | * | comex joined #nimrod |
04:33:26 | * | DAddYE quit (Remote host closed the connection) |
04:41:48 | * | burntsushi left #nimrod ("Konversation terminated!") |
05:16:08 | * | DAddYE joined #nimrod |
05:16:52 | * | DAddYE quit (Remote host closed the connection) |
05:53:36 | * | DAddYE joined #nimrod |
05:58:26 | * | ARCADIVS quit (Quit: WeeChat 0.3.8) |
06:03:09 | fowl | Araq, can i merge the lua modules and leave the stubs as a module with just a deprecated warning |
06:05:29 | * | q66 joined #nimrod |
06:40:23 | * | XAMPP quit (Read error: Connection reset by peer) |
07:03:13 | * | Araq_ joined #nimrod |
07:09:41 | * | DAddYE quit (Remote host closed the connection) |
07:57:11 | * | Araq_ quit (Quit: ChatZilla 0.9.90 [Firefox 19.0.2/20130307023931]) |
08:10:02 | * | DAddYE joined #nimrod |
08:14:55 | * | DAddYE quit (Ping timeout: 264 seconds) |
08:20:12 | * | DAddYE joined #nimrod |
08:24:57 | * | DAddYE quit (Ping timeout: 256 seconds) |
09:21:00 | * | DAddYE joined #nimrod |
09:25:23 | * | DAddYE quit (Ping timeout: 240 seconds) |
09:34:14 | * | zahary joined #nimrod |
09:40:20 | * | zahary quit (Ping timeout: 263 seconds) |
10:12:09 | * | Araq_ joined #nimrod |
10:14:45 | * | Araq_ quit (Client Quit) |
10:21:46 | * | DAddYE joined #nimrod |
10:24:12 | * | Trix[a]r_za is now known as Trixar_za |
10:25:53 | * | DAddYE quit (Ping timeout: 240 seconds) |
10:31:07 | * | tangentstorm quit (Ping timeout: 264 seconds) |
10:55:43 | * | Trixar_za is now known as Trix[a]r_za |
11:03:07 | * | Trix[a]r_za is now known as Trixar_za |
11:03:42 | * | Araq_ joined #nimrod |
11:09:38 | * | Trixar_za is now known as Trix[a]r_za |
11:22:25 | * | zahary___ quit (Quit: ~ Trillian Astra - www.trillian.im ~) |
11:22:39 | * | DAddYE joined #nimrod |
11:26:58 | * | DAddYE quit (Ping timeout: 246 seconds) |
11:37:53 | * | SirSkids|Zzz is now known as SirSkidmore |
12:58:11 | * | phao joined #nimrod |
13:24:05 | * | DAddYE joined #nimrod |
13:28:17 | * | DAddYE quit (Ping timeout: 245 seconds) |
13:42:55 | * | phao quit (Quit: Not Here) |
13:56:28 | * | Endy joined #nimrod |
13:58:46 | * | Araq_ quit (Quit: ChatZilla 0.9.90 [Firefox 19.0.2/20130307023931]) |
14:12:37 | * | [1]Endy joined #nimrod |
14:14:52 | * | Endy quit (Ping timeout: 256 seconds) |
14:14:52 | * | [1]Endy is now known as Endy |
14:24:28 | * | DAddYE joined #nimrod |
14:28:53 | * | DAddYE quit (Ping timeout: 240 seconds) |
15:17:21 | * | DAddYE joined #nimrod |
15:18:40 | * | [1]Endy joined #nimrod |
15:21:53 | * | Endy quit (Ping timeout: 240 seconds) |
15:21:54 | * | [1]Endy is now known as Endy |
15:37:40 | * | gradha joined #nimrod |
16:08:39 | * | DAddYE quit (Remote host closed the connection) |
16:57:59 | * | DAddYE joined #nimrod |
17:21:53 | Araq | fowl: I'm not sure ... I prefer lua52.nim I think |
17:40:24 | gradha | Araq: any idea what --trackDirty: stands for and what's the DIRTY_BUFFER used for? |
17:54:18 | Araq | what? |
17:54:51 | Araq | is that in my compiler? |
17:55:01 | gradha | I guess it's something zahary added https://github.com/Araq/Nimrod/blob/master/tests/caas/suggest-compile.txt |
17:55:33 | gradha | it works in caas mode but not in normal mode |
17:55:42 | Araq | sure ... I think that's the point |
17:58:44 | gradha | actually it fails in caas too, I think zahary forgot to check the output of the commands, the initial version of the test suite always returns ok |
17:59:15 | gradha | but due to the test spilling lines and lines of output it's hard to notice |
18:03:47 | gradha | ah, no, my bad, I need to add some verbosity switch before I drown in confusion |
19:42:02 | * | Endy quit (Ping timeout: 252 seconds) |
19:47:48 | Araq | aufgepasst! we need another pragma |
19:47:55 | gradha | warum? |
19:48:01 | Araq | is "prop" for "proposition" fine? |
19:48:08 | gradha | or for propellerhead |
19:48:37 | gradha | can you ellaborate on what a proposition is? like putting your knee on the ground and whispering something pretty? |
19:49:11 | Araq | proc p(a, b: string) {.prop: a.len == b.len.} |
19:49:24 | Araq | but hmm we need input and output props |
19:49:36 | gradha | these are typically named precondition and postcondition |
19:49:46 | Araq | lol true ... |
19:49:47 | dom96 | call it 'cond' |
19:50:00 | Araq | "pre" and "post" then? |
19:50:41 | gradha | they seem too generic, maybe "prec" and "postc"? Allowing people to type the full "precondition/postcondition" if they wish so |
19:51:01 | Araq | btw amazing German skillz, gradha ... |
19:51:02 | dom96 | 'precond' and 'postcond', it's not that much to type. |
19:51:11 | Araq | meh, I'd rather go with "in" and "out" then |
19:52:02 | gradha | lol, now that you mention, I didn't notice "we need another pragma" was in english |
19:53:08 | Araq | aufgepasst! Wir brauchen ein weiteres Pragma |
19:53:15 | gradha | noch mehr? |
19:53:32 | Araq | nee |
19:53:43 | Araq | just checking if you can understand German |
19:53:51 | gradha | nur ein bischen |
19:54:00 | Araq | *bisschen |
19:54:12 | gradha | should have used ? |
19:54:40 | Araq | it's spelt "bisschen" |
19:55:57 | gradha | I guess not every ss can be a ? |
19:56:26 | Araq | yeah, well |
19:56:39 | dom96 | Araq: How about 'incond' and 'outcond'? |
19:56:40 | Araq | it used to be "bißchen" but then they decided to change it |
19:57:12 | Araq | dom96: 4 chars or less preferred |
19:57:20 | dom96 | What is the point of this anyway? |
19:57:29 | gradha | eiffel tower |
19:57:41 | Araq | some people call it "dependent typing" |
19:57:41 | dom96 | Is this just sugar for 'if a.len != b.len: return'? |
19:58:08 | gradha | yes, you should explain if the pragmas go away in release mode |
19:58:34 | Araq | it's similar to assert a.len == b.len, dom96 |
19:58:44 | gradha | https://en.wikipedia.org/wiki/Precondition#Eiffel_example |
19:58:47 | Araq | but checked at compile time |
19:59:10 | Araq | "require" and "ensure" are not too bad I guess |
19:59:28 | gradha | Araq: is nimrod capable of checking that *before* the actual call? meaning, you have a precond of a > 3 and somebody is statically calling foo(2) |
19:59:35 | dom96 | Will you be able to define both proc p(a, b: string) {.prop: a.len == b.len.} and proc p(a, b: string) {.prop: a.len != b.len.} and use them? |
19:59:47 | Araq | no |
19:59:53 | Araq | there is no overloading here |
20:00:13 | Araq | gradha: yes that's the point |
20:00:28 | gradha | nice, I was wondering that, since otherwise it's a glorified assert |
20:00:38 | dom96 | ahh, that makes sense. |
20:01:03 | gradha | how do you plan to export that for the C interface for interoperability? by dropping it? |
20:01:18 | Araq | yes |
20:01:39 | Araq | and don't get over excited about it ... it's quite limited for now |
20:02:04 | Araq | I'm happy if I can get it to check array bounds at compile time |
20:06:10 | Araq | we need to distinguish between compiler can prove the "ensures" correct and "enforced ensures" where the programmer knows better |
20:12:09 | dom96 | will it only check for cases where you are passing a string/array literal? |
20:12:38 | Araq | no, it will make you insert checks if it can't prove it :P |
20:13:35 | dom96 | will it make me use these pragmas? |
20:13:49 | Araq | no |
20:13:54 | Araq | it will make you write: |
20:14:06 | Araq | if a.len == b.len: p(a, b) |
20:14:39 | dom96 | that's pretty nice. |
20:14:45 | Araq | you can't call 'p' if the compiler can't prove it's safe to call |
20:15:26 | dom96 | so all these functions which require something to be initialised will be able to make use of this? |
20:15:42 | Araq | indeed p("abc", "xyz") would be allowed as the compiler knows the length at compile time then |
20:17:26 | Araq | dom96: I don't think so |
20:18:13 | Araq | you can't write {.in: f.opened.} |
20:18:28 | Araq | as there is no concept of "opened" |
20:18:55 | dom96 | what about {.in: not seq.isNil().} |
20:19:14 | Araq | that's covered by it of course |
20:19:41 | dom96 | btw isn't this an OOP thing? |
20:19:48 | Araq | omg |
20:20:52 | Araq | it's part of Eiffel though Eiffel does it all at runtime |
20:21:13 | Araq | and "part of Eiffel" doesn't mean "OOP" |
20:22:13 | dom96 | ok, how does this tie in with dependent typing? |
20:22:29 | Araq | it's a form of dependent typing |
20:50:18 | dom96 | Awesome. The guy that owns r/nimrod gave me mod powers. |
20:50:43 | gradha | is there an r/nimrod? |
20:50:50 | dom96 | yep |
20:50:52 | Araq | there is an r/nimrod? |
20:50:59 | dom96 | no |
20:51:11 | Araq | I see |
20:55:15 | dom96 | reddit supports subreddit wikis? 0_o |
20:55:33 | gradha | woah... so daft punk remixes kpop? |
20:58:21 | gradha | hmm... weird, so people remix two commercial songs and somehow the result is creative commons, right |
21:00:17 | gradha | why does http://www.reddit.com/r/nimrod not list 0.9.2? |
21:00:58 | dom96 | Just submitted |
21:01:14 | dom96 | "~7 users here now" |
21:01:21 | dom96 | I wonder how accurate that is. |
21:01:46 | dom96 | Perhaps some of the idlers here clicked the link too. |
21:03:40 | * | gradha quit (Quit: bbl, have youtube videos to watch) |
22:08:48 | * | OrionPK joined #nimrod |
22:19:43 | * | XAMPP joined #nimrod |
23:48:43 | * | tangentstorm joined #nimrod |