00:19:35 | * | JStoker joined #nimrod |
00:35:19 | * | dom96 quit (Ping timeout: 240 seconds) |
00:41:41 | * | dom96 joined #nimrod |
00:41:41 | * | dom96 quit (Changing host) |
00:41:41 | * | dom96 joined #nimrod |
01:05:07 | * | jyyou quit (Ping timeout: 240 seconds) |
02:15:46 | Trixar_za | wat |
02:16:08 | Trixar_za | There is a Klingon Programming Language? |
02:17:47 | * | Trixar_za is now known as Trix[a]r_za |
02:23:44 | * | reactormonk joined #nimrod |
02:24:18 | reactormonk | Araq: https://plus.google.com/u/0/110981030061712822816/posts/KaSKeg4vQtz |
02:28:52 | * | q66 quit (Quit: Quit) |
02:37:04 | reactormonk | Araq: http://developers.slashdot.org/comments.pl?sid=3040083&cid=40945131 |
05:59:26 | * | llm joined #nimrod |
06:56:21 | * | llm quit (Quit: ChatZilla 0.9.88.2 [Firefox 14.0.1/20120713134347]) |
07:34:03 | * | JStoker quit (Excess Flood) |
07:43:35 | * | JStoker joined #nimrod |
07:47:15 | Araq | reactormonk: I already know this article ;-) |
07:47:45 | Araq | and there is a syntax for 'gensym' but I'm not gonna show you as it's about to be removed already |
07:48:10 | Araq | instead hygiene will become the default and you can get rid of it with an 'inject' pragma |
08:20:01 | shevy | hehe |
08:20:05 | shevy | inject against hygiene? |
08:20:07 | shevy | is that a pun? :D |
08:25:31 | Araq | he, good point :D |
08:31:49 | Araq | shevy: you keep raising that tutorial issue, but it's not as simple |
08:32:11 | Araq | if we expand the section about procs people who know all this stuff already are easily offended |
08:32:28 | Araq | well I know I do |
08:32:46 | Araq | when I read something too verbose, I start skipping large fractions |
08:32:52 | shevy | yeah |
08:33:04 | Araq | what we really need is "Nimrod for scripters" |
08:33:06 | shevy | veterans need less information than newbies do |
08:33:16 | Araq | and "Nimrod for system programmers" |
08:33:21 | Araq | or something like that |
08:33:33 | shevy | what about this - links to standalone examples or something like that? |
08:33:45 | shevy | the veterans could skip the html links to the examples |
08:33:59 | Araq | hm that's something to consider yeah |
08:34:02 | fowl | hey araq i was going to use typeinfo to iterate over the fields of a type to create a macro, but i probably can't do that at compile time can i? |
08:34:10 | shevy | and something like, at maximum only up to 3 html links to additional examples |
08:34:18 | shevy | (for any longer paragraph) |
08:34:29 | Araq | fowl: indeed, it's impossible for now :-/ |
08:34:44 | shevy | that way the veterans don't have to read anything they don't want to, while the newbies could "dig into" a section |
08:35:13 | Araq | shevy: yeah but veterans only need a cheat sheet for the basic stuff |
08:35:30 | shevy | hehe |
08:35:52 | Araq | on the other hand, veterans should read the manual anyway ... |
08:36:17 | Araq | the problem with the manual is the large introduction with bla bla that keeps people from reading it |
08:38:06 | shevy | I can understand that |
08:39:14 | fowl | Araq: whats needed for it to work |
08:39:43 | Araq | fowl: an API for traversing types within macros |
08:40:00 | Araq | the typeinfo stuff shouldn't work at compile time as it's too level |
08:40:06 | Araq | *too low level |
08:40:46 | Araq | we also need a 'fields' iterator for objects ... |
08:41:03 | Araq | though it's hard to do with variant objects |
08:53:04 | dom96 | good morning |
08:59:18 | Araq | good morning, dom96 |
08:59:48 | dom96 | Araq: Sup? :P |
09:08:12 | Araq | ugh trying hard to become awake |
09:08:48 | fowl | :/ i wouldnt know where to start |
09:10:12 | dom96 | yes, same here. |
09:19:26 | Araq | dom96: about the UDP stuff |
09:19:37 | dom96 | yes? |
09:19:39 | Araq | can't you just assume no package loss via localhost? |
09:20:36 | dom96 | I don't think so. |
09:20:38 | dom96 | if I spam the server and no messages are read then when it overflows its buffer the messages are discarded |
09:20:55 | dom96 | So I have to connect the clients sequentially, not all of them at once. |
09:20:57 | Araq | yeah but I'm talking about a *test* |
09:21:20 | Araq | nobody spams the machine that runs the tests, right? |
09:21:33 | dom96 | no. You don't understand. |
09:21:38 | dom96 | I mean if I spam in the test. |
09:21:48 | Araq | don't do it then? |
09:22:25 | dom96 | yeah, i'm not :P |
09:23:25 | Araq | brb |
09:50:27 | dom96 | wow |
09:50:35 | dom96 | My nim-urbanterror still compiles |
09:50:39 | Araq | :P |
09:50:51 | fowl | whats that |
09:50:51 | dom96 | Nice backwards compatibility you got there :P |
09:52:14 | Araq | fowl: dom96 rewrote urbanterror in nimrod :D |
09:53:23 | dom96 | hah |
09:53:24 | dom96 | nah |
09:56:58 | Araq | so, fowl do you use aporia+suggest? |
09:57:29 | fowl | no i cant stand how it stops your typing when the box comes up |
09:57:41 | Araq | -.- |
09:57:52 | Araq | that means nobody uses that features I guess ... |
09:58:01 | Araq | as I have the same problem ... |
09:58:06 | dom96 | hah |
09:58:12 | dom96 | Araq: Told ya :P |
09:58:22 | Araq | I thought it's useful for smaller projects :P |
09:58:47 | Araq | maybe I should try it with --symbolFiles:on |
09:59:16 | dom96 | It would already be good if it was faster than finding the right field or whatever |
09:59:25 | dom96 | But I still don't have faith in its suggestive abilities sorry :P |
10:00:05 | Araq | the gtk wrappers are insane ... |
10:00:18 | fowl | gtk frustrated me |
10:00:58 | dom96 | You're preaching to the choir or whatever the phrase is :P |
10:02:51 | * | q66 joined #nimrod |
10:11:02 | dom96 | The buffering change broke it though |
10:14:17 | dom96 | I don't really see the point of sendTo when you can just use connect and then send |
10:14:41 | Araq | well I have no idea what you're talking about |
10:14:57 | Araq | 'sendTo' is not my invention, is it? |
10:20:11 | dom96 | it's not no |
10:20:22 | dom96 | I thought maybe someone else has an answer |
10:23:31 | fowl | dom96: you dont connect with udp |
10:23:58 | fowl | every language with a socket lib has sendto() |
10:23:58 | dom96 | fowl: I know. But you can create a UDP socket and still use connect() |
10:24:12 | dom96 | It doesn't actually connect |
10:24:32 | fowl | yea thats usually just a convenience thing afaik |
10:24:34 | dom96 | I suppose it's just two ways of doing the same thing. |
10:24:37 | dom96 | yeah |
10:29:02 | dom96 | yay, well my sendTo works :) |
11:59:08 | Araq | see you later guys |
13:52:10 | * | apriori__ joined #nimrod |
14:29:10 | * | madscientist_ joined #nimrod |
14:29:45 | * | madscientist_ left #nimrod (#nimrod) |
14:39:21 | * | fowl is now known as fowlzzzzzzzzzzzz |
14:43:33 | * | Trix[a]r_za is now known as Trixar_za |
15:14:59 | Trixar_za | Dammit, I'm discovering how nice node.js is |
15:24:12 | apriori__ | nooo! |
15:24:21 | apriori__ | don't join the evil javascript fellows! |
15:26:12 | Trixar_za | But But... It's so pretty O_O |
15:29:15 | apriori__ | javascript.. pretty? |
15:30:38 | Trixar_za | No, but node is :P |
15:31:13 | Trixar_za | It's like ugly parents having a sexy daughter |
15:31:27 | Trixar_za | I'd still do the daughter even if the mother is ugly like sin |
15:32:06 | apriori__ | now I got ya :P |
15:38:04 | Trixar_za | I now understand what all the fuss is about |
15:38:33 | apriori__ | hm? |
15:45:21 | * | shevy quit (Ping timeout: 252 seconds) |
15:48:08 | * | fowlzzzzzzzzzzzz is now known as fowl |
15:49:44 | * | Trixar_za is now known as Trix[a]r_za |
15:55:40 | * | q66 quit (Quit: Quit) |
15:57:45 | * | shevy joined #nimrod |
16:06:20 | * | q66 joined #nimrod |
16:25:31 | * | silven quit (Remote host closed the connection) |
16:27:31 | * | silven joined #nimrod |
17:25:16 | * | dom96 kills Trix[a]r_za |
18:12:28 | Araq | Trix[a]r_za: async io without continuations sucks :P |
18:14:48 | Araq | http://blog.ankurgoyal.com/post/6433642218/node-js-is-backwards |
18:15:05 | dom96 | Interesting. |
18:15:37 | * | apriori_ joined #nimrod |
18:17:14 | * | reactormonk quit (Ping timeout: 265 seconds) |
18:19:33 | dom96 | Araq: So what's the progress on continuations? |
18:20:21 | Araq | well ... it's hard to do efficiently ;-) |
18:20:38 | Araq | and it's only in the planning phase, no line of code has been written :P |
18:23:25 | dom96 | bah |
18:25:32 | Araq | on the other hand it's easy to do it inefficiently ;-) |
18:34:07 | dom96 | bbl food |
18:40:12 | fowl | Araq: can i fake a type declaration with a macro |
18:40:37 | Araq | dunno what you mean |
18:40:47 | fowl | mymacro: a: int b: string |
18:41:57 | Araq | no, but this should work: mymacro: tuple[a: int, b: string] |
18:45:10 | fowl | cool |
18:58:19 | dom96 | back |
19:12:35 | Amrykid | so dom96: |
19:12:37 | Amrykid | <Amrykid> c:\users\alex\downloads\araq-nimrod-v0.8.14-394-g39c06b5\araq-nimrod-39c06b5\lib |
19:12:37 | Amrykid | [11:13:35] <Amrykid> \pure\sockets.nim(1221, 20) Error: type mismatch: got (cint, cstring, int, int32 |
19:12:37 | Amrykid | [11:13:35] <Amrykid> , ptr TSockAddr, ptr Tsocklen) |
19:12:37 | Amrykid | [11:13:35] <Amrykid> but expected one of: |
19:12:37 | Amrykid | [11:13:35] <Amrykid> recvFrom(socket: TSocket, data: var string, length: int, address: var string, fl |
19:12:38 | Amrykid | [11:13:35] <Amrykid> ags: int32): int |
19:12:40 | Amrykid | [11:13:35] <Amrykid> recvfrom(s: TWinSocket, buf: cstring, len: cint, flags: cint, fromm: ptr TSockAd |
19:12:42 | Amrykid | [11:13:35] <Amrykid> dr, fromlen: ptr cint): cint |
19:12:58 | dom96 | Don't spam the channel though please :P |
19:13:00 | Amrykid | (sorry for 'spam') |
19:13:33 | dom96 | oh. I broke sockets on Windows :P |
19:13:44 | dom96 | Give me a sec. |
19:14:02 | dom96 | (I knew I forgot something; that was making sure it at least compiles on Windows. Damn.) |
19:25:03 | dom96 | Amrykid: Alright. Try it now |
19:28:28 | Amrykid | hmmm... |
19:28:34 | Amrykid | do i need to bootstrap again? |
19:28:50 | Amrykid | because i just tried patching those files with your updates (copy and paste) |
19:28:51 | dom96 | no |
19:29:24 | Amrykid | dom96, i get this: https://gist.github.com/1e030e5867590e9d05e6 |
19:30:28 | dom96 | hehe |
19:30:39 | dom96 | My sockets changes broke Aporia :P |
19:38:06 | Araq | er ... |
19:38:18 | Araq | already using closures for asyncio? |
19:38:22 | dom96 | yep |
19:38:26 | dom96 | Is that bad? |
19:38:37 | Araq | not if it works ;-) |
19:39:14 | dom96 | Araq: Can I make gtk2 initialisation implicit when importing gtk2? |
19:39:27 | Araq | if it doesn't break code |
19:40:39 | dom96 | Amrykid: ok. Another try. You should get Windows-specific errors now. |
19:40:51 | Amrykid | k |
19:41:07 | dom96 | Araq: It seems initialising gtk twice doesn't cause any errors :P |
19:41:24 | dom96 | So I will just deprecate `nimrod_init` |
19:42:21 | Araq | that will break tests ... |
19:42:26 | Araq | I'm not sure |
19:42:30 | Amrykid | it compiled but: |
19:42:31 | Amrykid | c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe: final link |
19:42:31 | Amrykid | failed: Permission denied |
19:42:31 | Amrykid | collect2: ld returned 1 exit status |
19:42:31 | Amrykid | Error: execution of an external program failed |
19:42:59 | Amrykid | not sure if ld.exe is in use or... |
19:43:00 | Araq | there was a reason why I didn't do it implicitely in gtk2.nim |
19:43:16 | Araq | though of course I can't remember it :P |
19:43:37 | dom96 | Araq: I should lecture you on the importance of comments :P |
19:44:28 | Araq | just don't deprecate it |
19:44:42 | Araq | it's nice to be able to override the default |
19:44:53 | Araq | so that GTK doesn't mess with your command line |
19:44:59 | dom96 | Initialising things twice is a bad thing though IMO |
19:45:10 | dom96 | meh |
19:45:18 | Araq | true |
19:45:22 | Araq | why fix it? |
19:45:26 | dom96 | Yeah. |
19:45:28 | dom96 | I'll leave it as is |
19:45:31 | Araq | good |
19:45:38 | Araq | gtk is incredibly verbose anyway |
19:45:38 | fowl | ha |
19:45:44 | fowl | best question ever "why fix it?" |
19:45:49 | Araq | the one line won't cut it |
19:46:08 | Amrykid | dom96, ^ |
19:47:05 | Amrykid | okay, now different error. can't load libgoobject or w/e. |
19:47:09 | * | Amrykid tries finding that |
19:48:06 | Amrykid | unless there are some binary differences... i have the correct file in the same dir :| |
19:50:12 | dom96 | make sure the filename is the same |
19:50:27 | dom96 | I'm amazed it compiles |
19:50:41 | dom96 | Did I fix aporia on windows subconsciously? |
19:50:59 | Amrykid | yeah, they're the same |
19:51:08 | Amrykid | 'libgobject-2.0-0.dll' |
19:51:51 | Amrykid | unless xchat-wdk (now called hexchat) uses a old version of gtk. |
19:52:02 | Amrykid | and never bothers to update the filename |
19:52:16 | dom96 | Amrykid: Follow the steps in the github readme for Aporia plz |
19:52:53 | Amrykid | rawr |
19:52:59 | Amrykid | readmes are for lusers. |
19:53:06 | * | Amrykid does it anyway |
20:00:08 | Amrykid | installed gtk. still can't load it |
20:00:18 | Amrykid | and yes, 'add to PATH' was checked |
20:00:44 | Araq | you need to restart cmd.exe for the PATH changes to work |
20:01:12 | dom96 | And that my friends is why I hate dependencies. |
20:01:19 | dom96 | :P |
20:01:30 | Amrykid | Araq, you freaking psychic |
20:01:42 | Araq | why? |
20:01:56 | Amrykid | how did you know i didn't close.... nvm. |
20:02:07 | Araq | ;-) |
20:02:47 | apriori_ | dom96: you could of course compile all static (which is not even really supported anymore with glibc) |
20:02:52 | apriori_ | but that will open another class of issues |
20:04:57 | dom96 | apriori_: I suppose yeah. Better to just create an installer for Windows. |
20:05:25 | Araq | nah an installer for windows is better |
20:05:33 | apriori_ | then you could also join with other people to create a proper package manager for windows |
20:05:44 | Araq | compiling all static is crazy talk |
20:06:14 | dom96 | apriori_: Lets all use Steam! It will support apps soon. |
20:06:25 | Araq | steam is evil |
20:06:28 | dom96 | Or just wait for Windows 8 to close down everything with a app store type thing :P |
20:06:30 | Araq | it's not open source |
20:06:43 | dom96 | Araq: I'm sorry, are you RMS? |
20:06:46 | Araq | windows 8 will turn your PC into a tablet :P |
20:07:29 | Araq | RMS is my personal hero ;-) |
20:07:34 | dom96 | I'm glad. Steam is finally seriously considering Linux. |
20:07:41 | dom96 | *Valve I should say. |
20:08:04 | Araq | what's the gun guy's name again? |
20:08:11 | Amrykid | could not load pcre.dll :| |
20:08:17 | * | Amrykid grabs that from dist |
20:08:42 | Amrykid | and... it works |
20:09:05 | Amrykid | except a big bug.. |
20:09:20 | Araq | eric raymond? |
20:09:26 | Amrykid | everything doesn't resize with the window |
20:09:50 | dom96 | 0_o |
20:10:12 | dom96 | Amrykid: That seems like a GTK bug |
20:13:14 | Amrykid | dom96, it also died when i opened aporia.nim and when to compile file |
20:13:18 | Amrykid | *went |
20:13:49 | dom96 | What exception? |
20:13:57 | Amrykid | one sec |
20:14:21 | Amrykid | it happens for compile current file and 'check' |
20:14:25 | apriori_ | dom96: steam won't solve any of the underlying issues |
20:14:47 | Amrykid | dom96, https://gist.github.com/4f7fcec471ad027815c5 |
20:14:57 | apriori_ | though I must say, I liked valve anouncing they now work on linux support |
20:15:06 | apriori_ | this might finally lead to useful graphics drivers |
20:16:14 | dom96 | apriori_: Yeah, I was kidding about Steam as a package manager. |
20:16:19 | dom96 | For Windows. |
20:16:33 | Araq | getcwd doesn't work on windows? |
20:17:01 | Araq | damn |
20:17:07 | Araq | I looked at the wrong file |
20:18:26 | Araq | windows unicode problem? |
20:18:58 | apriori_ | dom96: I dont have any humor, you know |
20:19:00 | apriori_ | :P |
20:19:03 | apriori_ | just sarcasm |
20:19:59 | dom96 | Araq: Yeah. That's it I bet. |
20:20:02 | dom96 | You still didn't fix that. |
20:20:08 | dom96 | What's the command to disable that? |
20:20:18 | Araq | dunno look it up |
20:20:18 | dom96 | Tell Amrykid so he can try it :P |
20:20:28 | dom96 | *sigh* |
20:20:41 | Araq | it's documented now in nimrodc.html |
20:21:09 | Araq | -d:useWinAnsi |
20:21:14 | Araq | http://build.nimrod-code.org/docs/nimrodc.html#additional-compilation-switches |
20:21:52 | dom96 | gah, beat me. |
20:22:27 | Araq | I like the quiet improvements of everything :P |
20:23:26 | Araq | I also figured the pragmas documentation is braindead |
20:23:48 | Araq | it's still grouped by a syntactic property |
20:23:58 | Araq | which doesn't help anybody |
20:24:13 | Araq | instead the 'macros' section should mention the 'compileTime' pragma, for instance |
20:24:55 | apriori_ | Araq: well, actually I'd love an overview of all available pragmas |
20:25:04 | apriori_ | because I really get the impression, new come up daily |
20:25:20 | Araq | that's true |
20:25:23 | dom96 | I never know where to look for pragmas |
20:25:31 | dom96 | It would be far nicer if they were all in the same place |
20:25:36 | Araq | gah |
20:25:55 | Araq | some pragmas are too weird to put into the spec :P |
20:26:32 | Amrykid | tried useWinAnsi and same error |
20:30:57 | dom96 | hrm. |
20:31:06 | dom96 | I suppose we will have to fix osproc on windows then :| |
20:32:01 | Araq | do you think bootstrapping on windows would work if osproc is broken? |
20:32:27 | Araq | I'm quite sure the constructed path is wrong |
20:32:36 | dom96 | hrm, true |
20:32:41 | Araq | maybe Amrykid has spaces in it for example |
20:33:14 | dom96 | It's in the output: |
20:33:15 | dom96 | nimrod c C:\Users\Alex\Downloads\nimrod-code-Aporia-v0.1.1-38-g8d1d587\nimrod-c |
20:33:15 | dom96 | ode-Aporia-8d1d587\aporia.nim |
20:33:28 | dom96 | It looks fine to me |
20:33:57 | dom96 | And. Unknown OS error suggests that no error occurred. |
20:34:08 | dom96 | So I bet the check for what some functions returns is wrong |
20:34:20 | dom96 | Because IIRC that was wrong before ;) |
20:34:40 | apriori_ | Araq: any progress on the closure issue, yet? :P |
20:35:18 | Araq | haven't even looked into yet |
20:35:18 | dom96 | Araq: There is a 'nodejs' define? 0_o |
20:35:24 | apriori_ | ok |
20:35:53 | Araq | looks quite simple though :P |
20:36:08 | Araq | and maybe my other changes already fixed it |
20:38:11 | Araq | dom96: move the line 'if success == 0: osError()' right after the createprocess call |
20:38:29 | Araq | I guess the FileClose() calls override errno |
20:38:40 | Araq | and thus there is no proper error message |
20:39:02 | Araq | but only do that for debugging as it creates a memory leak |
20:39:38 | dom96 | Maybe you should tell Amrykid to do it? |
20:39:54 | Araq | Amrykid: do it |
20:39:59 | Amrykid | do what |
20:40:09 | Araq | change your nick |
20:40:20 | Amrykid | no |
20:40:24 | Araq | I always feel bad talking with kids ;-) |
20:40:37 | Amrykid | buy me a new nick then. :P |
20:40:42 | Araq | ok then do what I told dom96 to do |
20:42:38 | Amrykid | same error |
20:42:50 | Araq | still unknown error? o.O |
20:42:56 | Amrykid | moved the line up to right after the createprocess |
20:43:11 | Amrykid | yep |
20:43:27 | Araq | should be after both createprocessA and CreateProcessW |
20:43:54 | Araq | and get rid of -d:useWinAnsi again |
20:44:28 | Amrykid | 0_o you psychic.. |
20:44:46 | Amrykid | but now the console is spaming 'idle proc exiting' |
20:45:54 | Amrykid | dom96, ^ |
20:46:03 | Amrykid | so it works im assuming |
20:47:41 | Amrykid | wait no.. |
20:47:47 | Amrykid | adding that line makes it die |
20:48:03 | Amrykid | only reason it worked was because at first it was only after the Ansi version. |
20:48:20 | Amrykid | adding it behind Ansi and Unicode CreateProcess calls kills it either way |
20:48:29 | Araq | that's good |
20:48:35 | Araq | what's the error mesage? |
20:48:42 | Amrykid | unknown |
20:48:54 | dom96 | lol |
20:49:21 | Araq | well let dom96 boot windows and take a look then |
20:50:58 | Amrykid | also the spaming of 'idle proc exiting' somehow disables editing |
20:51:34 | Amrykid | also... clicking the close button isn't closing the app. |
20:51:57 | Amrykid | which means somewhere, its setting handled to true. :| |
20:52:07 | Araq | that's because you made it worse |
20:52:33 | Amrykid | yeah, i guess compile an app makes it worse. Oh Araq, i love your logic so much. |
20:53:14 | Araq | well osproc fails silently now and aporia goes into an endless loop or something |
20:53:29 | Araq | the crash was better |
20:53:38 | Araq | that's what I meant |
20:54:23 | Amrykid | should have sad that first :| |
20:57:03 | Amrykid | and actually, that had nothing to do with my 'osproc' changes |
20:57:16 | Amrykid | because its still doing it after i reverted my changes |
20:59:22 | Araq | well if resizing the window does not work |
20:59:45 | Araq | maybe other things like shutting down don't work either |
21:53:15 | apriori__ | Araq: this might sound stupid.. but how do I properly comment out blocks without causing identation errors? |
21:53:31 | apriori__ | or a clearer question: what is the indentation rule for comments? |
21:53:42 | Araq | discard """ .... """ for commenting out works |
21:53:58 | apriori__ | ah, multiline string literal, ok |
21:54:10 | Araq | so does 'when false' but then you need to indent properly |
21:54:19 | Araq | I prefer the 'when false' though |
21:54:34 | apriori__ | yeah, I guess, it just takes a bit to get used to |
21:54:54 | Araq | and the indentation rule for comments is: comment is (ugh often) treated as a statement |
21:55:00 | Araq | if x: |
21:55:10 | Araq | # as if it were a statement |
21:55:37 | Araq | and yes this needs to be fixed somehow |
21:55:50 | Araq | as it's annoying in: |
21:56:26 | Araq | type longnamehere {.final, pure.} = object # ugh, not much space left |
21:56:38 | * | reactormonk joined #nimrod |
21:56:51 | Araq | and subsequent comment lines need to be put on the same column |
21:57:08 | apriori__ | yeah... |
21:57:12 | apriori__ | I often ran into that issue |
21:57:27 | Araq | I'm not sure what's the best way to do it |
21:57:48 | Araq | but the "comments are part of the AST" idea needs to be re-thought :-) |
21:58:09 | Araq | I guess only doc comments should be part of the AST for a start ... |
21:58:26 | Araq | (part of the AST == part of the grammar btw) |
21:58:57 | apriori__ | I know a bit about the basics |
21:59:23 | apriori__ | well, yeah.. but you would create a pre-processed language if you somehow treat comments not as part of it |
21:59:50 | Araq | true but you can't use only the AST for IDE support anyway |
22:00:11 | Araq | as string literals for example already are pre-processed |
22:00:20 | apriori__ | okay |
22:01:46 | Araq | #change to int -> success |
22:01:48 | Araq | var usage = "0" |
22:01:51 | Araq | --> nope |
22:02:00 | apriori__ | let me recheck |
22:02:05 | Araq | it's the 'len' that is offensive |
22:02:34 | apriori__ | hum |
22:02:48 | apriori__ | same result here.. |
22:02:55 | apriori__ | strange.. what the hell did I do there? :P |
22:06:07 | apriori__ | interesting... |
22:06:13 | apriori__ | deleting the marked block doesn't help either |
22:06:19 | apriori__ | I guess that was only the case for 0.8.14 |
22:06:30 | Araq | yeah |
22:06:52 | Araq | the 'len' is a big WTF |
22:07:00 | apriori__ | why? |
22:07:22 | Araq | because it should trigger some semantic error |
22:07:29 | Araq | like 'len' cannot be called |
22:07:52 | apriori__ | ah |
22:08:00 | apriori__ | so the problem is just, that it shadows a built-in proc? |
22:08:18 | Araq | in a way yes |
22:08:38 | Araq | in another way: it's stupid that locals are considered in generic instantiations |
22:08:48 | Araq | it's a feature that doesn't work well |
22:08:56 | apriori__ | hm |
22:11:19 | apriori__ | funny enough I didn't even quite realize that I accidently shadowed the proc len |
22:11:43 | Araq | only because of the missing error message |
22:11:49 | apriori__ | yeah |
22:12:16 | Araq | Nimrod supports some kind of Koenig's lookup in generics |
22:12:34 | Araq | so that later implementations of '==' are considered in generic code |
22:12:52 | Araq | in fact, it's only useful for '==' and 'hash' and a few others IMHO |
22:13:10 | Araq | and it's only done that way to have some cute example code |
22:13:16 | Araq | bad bad bad |
22:13:17 | apriori__ | hehe |
22:13:36 | Araq | instead these symbols should be marked as 'open' within the generic code |
22:13:44 | Araq | that solves all sorts of problems |
22:14:18 | Araq | it's quite like the 'bind' stuff for templates |
22:14:23 | Araq | it's the wrong default |
22:24:46 | apriori__ | Araq: I was quite surprised that nimrod even allows utf8 chars as variable/operator/proc names |
22:25:05 | Araq | why? |
22:25:20 | apriori__ | I don't know too many languages which even allow that |
22:25:27 | apriori__ | scala, haskell.. any other? |
22:26:10 | apriori__ | I'm currently talking about that with a friend of mine (also CS student, but frankly, better than me)... |
22:26:27 | Araq | fortress even supports unicode *operators* |
22:26:28 | apriori__ | first I made the statement that I doub that's a good idea.. then he showed me some code.. which definetly changed my mind about that |
22:26:44 | apriori__ | some code gets _incredible_ readable with "native" operator signs |
22:28:32 | Araq | lol I dunno |
22:28:55 | Araq | it's just that I dislike petty restrictions like these |
22:28:56 | reactormonk | apriori__: ruby |
22:29:28 | apriori__ | reactormonk: ok |
22:31:16 | Araq | reactormonk: I'm reading luajit's code for fun |
22:31:30 | Araq | don't ever excuse me of using too many abbrevs :P |
22:33:09 | reactormonk | Araq: why? |
22:33:15 | reactormonk | gimme sample ^^ |
22:34:36 | Araq | MCode *mc = J->mcarea; |
22:34:38 | Araq | J->mcarea = NULL; |
22:34:39 | Araq | J->szallmcarea = 0; |
22:49:23 | reactormonk | ... |
23:14:50 | dom96 | good night guys |
23:15:33 | Araq | me too |
23:15:35 | Araq | good night |
23:22:01 | apriori__ | night |
23:57:50 | apriori__ | anyone here? |
23:57:58 | apriori__ | how would I use pointher arithmetic? |
23:58:25 | apriori__ | something like var bla: ptr int = somePtr + someInt doesn't work |