00:02:31 | * | GangstaCat quit (Quit: Leaving) |
00:09:06 | * | abruanese joined #nim |
00:15:50 | * | yglukhov quit (Remote host closed the connection) |
00:16:20 | * | der-landgraf quit (Quit: WeeChat 1.5) |
00:18:33 | * | PMunch quit (Quit: leaving) |
00:20:08 | * | der-landgraf joined #nim |
00:29:26 | * | heretobang quit (Ping timeout: 250 seconds) |
00:30:13 | * | brson joined #nim |
00:37:59 | * | trusion joined #nim |
00:38:22 | * | yglukhov joined #nim |
00:39:44 | dom96 | def-: cool to see your blog on HN's front page, very interesting article too :) |
00:40:12 | Araq | one day I will find the time and read it |
00:40:58 | Araq | but today is already tomorrow |
00:41:05 | Araq | so good night. |
00:41:23 | dom96 | def-: I do wonder why people DDoS such services, could it be just script kiddies trying to act cool? |
00:42:52 | * | yglukhov quit (Ping timeout: 258 seconds) |
00:46:45 | def- | dom96: thanks. HN moderators are nice people, they manually put it on front page because it got ignored in new list |
00:47:00 | dom96 | def-: wow, that's awesome |
00:47:34 | dom96 | Certainly well deserved, it's a very interesting blog post. |
00:48:43 | def- | dom96: Sure, lots of script kiddies, it's much easier to attack than defend with DDoS attacks. Then some people really seem to hate our servers and at times we had attacks with over 100 GBit/s |
00:53:09 | dom96 | def-: Damn. They must just pick the easiest targets. Btw, have you got a twitter account where you tweet about your blog posts? I noticed that I am missing a lot of cool stuff from your blog. |
00:55:07 | def- | dom96: i don't use social networks, only have a feed: https://hookrace.net/blog/feed/ |
00:57:10 | dom96 | Pity. I gave up on RSS feeds after Google decided to kill Reader. |
00:57:45 | * | pregressive quit (Remote host closed the connection) |
01:08:13 | dom96 | def-: if you need someone that hasn't played teeworlds/ddnet before to test the tutorial once it's finished then let me know. It sounds like a game I might enjoy but likely won't have time to actually try it for a while anyway. |
01:13:43 | def- | dom96: will do, thanks :) |
01:27:10 | * | Jesin quit (Quit: Leaving) |
01:42:55 | * | abruanese quit (Max SendQ exceeded) |
01:53:29 | * | girvo joined #nim |
01:53:30 | * | girvo_ joined #nim |
01:56:34 | * | chemist69_ joined #nim |
01:58:19 | * | girvo_ quit (Ping timeout: 252 seconds) |
01:58:19 | * | girvo quit (Ping timeout: 252 seconds) |
01:59:52 | * | chemist69 quit (Ping timeout: 264 seconds) |
02:10:40 | * | arnetheduck joined #nim |
02:23:33 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
02:28:14 | * | heretobang joined #nim |
02:33:45 | * | akaisora quit (Ping timeout: 260 seconds) |
02:46:48 | * | heretobang quit (Ping timeout: 250 seconds) |
03:01:02 | * | heretobang joined #nim |
03:02:35 | * | brson quit (Quit: leaving) |
03:03:26 | * | bjz joined #nim |
03:07:11 | * | yglukhov joined #nim |
03:11:40 | * | yglukhov quit (Ping timeout: 260 seconds) |
03:13:42 | * | saml_ quit (Quit: Leaving) |
03:19:55 | * | fredrik92 quit (Read error: Connection reset by peer) |
03:22:59 | * | nsf quit (Quit: WeeChat 1.4) |
03:27:16 | * | fgimian joined #nim |
03:39:27 | * | girvo joined #nim |
03:39:28 | * | girvo_ joined #nim |
03:41:50 | * | zacts quit (Ping timeout: 250 seconds) |
03:43:03 | * | yglukhov joined #nim |
03:44:20 | * | girvo_ quit (Ping timeout: 272 seconds) |
03:44:20 | * | girvo quit (Ping timeout: 272 seconds) |
03:47:30 | * | yglukhov quit (Ping timeout: 272 seconds) |
03:56:48 | * | zacts joined #nim |
04:10:00 | * | heretobang quit (Ping timeout: 250 seconds) |
04:29:57 | * | fgimian quit (Quit: Textual IRC Client: www.textualapp.com) |
05:01:00 | * | heretobang joined #nim |
05:40:14 | * | girvo joined #nim |
05:40:15 | * | girvo_ joined #nim |
05:45:03 | * | girvo_ quit (Ping timeout: 276 seconds) |
05:45:03 | * | girvo quit (Ping timeout: 276 seconds) |
05:48:25 | * | deavmi_mobile joined #nim |
05:54:34 | * | deavmi_mobile2 joined #nim |
05:56:36 | * | deavmi_mobile quit (Ping timeout: 244 seconds) |
05:58:51 | * | deavmi_mobile2 quit (Ping timeout: 246 seconds) |
06:04:54 | * | yglukhov joined #nim |
06:08:01 | * | nsf joined #nim |
06:09:01 | * | yglukhov quit (Ping timeout: 240 seconds) |
06:09:45 | * | Kingsquee joined #nim |
06:40:46 | * | yglukhov joined #nim |
06:45:30 | * | yglukhov quit (Ping timeout: 276 seconds) |
07:41:08 | * | girvo joined #nim |
07:41:08 | * | girvo_ joined #nim |
07:45:25 | * | girvo quit (Ping timeout: 250 seconds) |
07:45:51 | * | girvo_ quit (Ping timeout: 250 seconds) |
07:58:11 | * | zodiak_ joined #nim |
08:00:33 | * | zodiak quit (Ping timeout: 240 seconds) |
08:15:21 | * | Salewski joined #nim |
08:17:38 | Salewski | Dom, I just took a very short look at the beginning of chapter 7. For the facts you told us about twitter and youtube you should add some references, at least a wikipedia link. |
08:20:27 | Salewski | And figure 7.1 is wrong, "View sees User" is nonsense. You may replace "sees" by "show" for a quick but not really nice fix. Or invert the arrow, from user to view maybe. Bye. |
08:20:31 | * | Salewski quit () |
08:30:31 | * | Salewski joined #nim |
08:33:09 | Salewski | One more remark, "Figure 7.2. The three different MVC components as seen on a calculator’s GUI" The model is not "seen", so you may write: "The three different MVC components of a (webbased) calculator". Have to leave now... |
08:33:15 | * | Salewski quit (Client Quit) |
09:10:33 | * | yglukhov joined #nim |
09:12:51 | * | kingofoz joined #nim |
09:27:46 | * | sanika is now known as alberti |
09:32:18 | * | nsf quit (Quit: WeeChat 1.4) |
09:36:43 | * | heretobang quit (Ping timeout: 250 seconds) |
09:41:59 | * | girvo joined #nim |
09:42:00 | * | girvo_ joined #nim |
09:46:26 | * | girvo quit (Ping timeout: 258 seconds) |
09:46:49 | * | girvo_ quit (Ping timeout: 258 seconds) |
09:56:27 | * | Kingsquee quit (Read error: Connection reset by peer) |
09:57:01 | * | Kingsquee joined #nim |
10:02:27 | * | Matthias247 joined #nim |
10:22:13 | * | desophos quit (Read error: Connection reset by peer) |
10:25:05 | kingofoz | Hi all |
10:25:16 | kingofoz | I want to ask a quick question |
10:25:20 | kingofoz | I am looking at http://nim-lang.org/docs/tut2.html#object-oriented-programming-properties |
10:25:49 | kingofoz | and I don't understand why we need proc `host=` |
10:26:17 | niv | you need it because host is not flagged as * on the object itself |
10:26:28 | niv | * means any module can access it. same goes for the proc, its marked visible/global with a * |
10:27:17 | niv | for the given example you could just as well do: host*: int and achieve the exact same result. the idea behind setter/getters is that you can run custom code, perform validations, etc |
10:27:21 | * | aziz joined #nim |
10:28:01 | kingofoz | um... you mean `host=` and host() are for other modules outside this module? |
10:28:16 | niv | yep, because they're marked with * |
10:28:24 | kingofoz | ah! I understand |
10:29:46 | kingofoz | getter and setter are prepared for the usage outside the module? |
10:30:25 | niv | yep. for example if you want a consumer of your module to only be allowed to read a value, but not write it |
10:31:02 | niv | or if you decide in a later version that you dont want to expose write access to a field, but instead want the code to do sth else when the user assigns a value |
10:31:09 | * | Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif) |
10:32:04 | kingofoz | understood |
10:32:12 | kingofoz | thank you! |
10:32:34 | niv | the `host=` backtick stuff is needed because host= on its own wouldnt be considered a valid indentifier for a proc |
10:32:36 | niv | yw |
10:35:18 | kingofoz | sure |
10:35:43 | kingofoz | I am poor on OOP. :-) |
10:45:47 | * | elrood joined #nim |
10:50:39 | EastByte | how do I pass a C structure by value to a C function? it looks like nim is automatically passing by pointer |
10:58:50 | * | fredrik92 joined #nim |
11:00:15 | def- | EastByte: http://nim-lang.org/docs/manual.html#foreign-function-interface-bycopy-pragma |
11:00:45 | def- | but even in C it's not recommended to pass structs by value usually |
11:05:59 | EastByte | I find it reasonable for tiny structs but gcc might change it on optimization anyway, I guess |
11:16:54 | cheatfate | EastByte, you need to understand that passing structures by value is looks like (pass reference, create structure in stack, memcpy to structure using passed reference as source) |
11:17:22 | cheatfate | So it will be always faster and optimized to pass structures by reference |
11:19:02 | cheatfate | And there is only one way when passing by value have same speed as passing by reference, if your structure fit to `int` size |
11:19:22 | cheatfate | so like 8 bytes on 64bit platform and 4bytes on 32bit platform |
11:23:09 | EastByte | ^ yes, plus the advantage that the data lies on stack directly and doesn't need to be derefenced on every access |
11:24:01 | Araq | Nim passes structs < wordsize*3 (or 4? don't remember) by copy |
11:24:12 | Araq | and other structs by ref |
11:25:05 | Araq | if the C code passes by copy whereas Nim decides to pass by ref, it usually implies the C programmer got it wrong :P |
11:26:35 | EastByte | well, good to know |
11:42:49 | * | girvo joined #nim |
11:42:50 | * | girvo_ joined #nim |
11:47:01 | * | girvo_ quit (Ping timeout: 240 seconds) |
11:47:01 | * | girvo quit (Ping timeout: 240 seconds) |
11:53:51 | * | cheatfate quit (Quit: Leaving) |
11:56:27 | * | nsf joined #nim |
12:01:42 | * | deavmi_mobile joined #nim |
12:02:20 | * | deavmi_mobile quit (Client Quit) |
12:02:55 | * | deavmi_mobile joined #nim |
12:03:25 | * | deavmi_mobile quit (Client Quit) |
12:03:46 | * | deavmi_mobile joined #nim |
12:04:27 | * | deavmi_mobile quit (Client Quit) |
12:05:13 | * | deavmi_mobile joined #nim |
12:05:41 | * | fredrik92 quit (Ping timeout: 240 seconds) |
12:11:56 | * | fredrik92 joined #nim |
12:24:37 | * | Demon_Fox quit (Quit: Leaving) |
12:35:14 | * | akaisora joined #nim |
12:37:21 | * | deavmi_mobile quit (Read error: No route to host) |
12:43:41 | * | girvo joined #nim |
12:43:42 | * | girvo_ joined #nim |
12:47:03 | * | aziz quit (Remote host closed the connection) |
12:48:51 | * | girvo_ quit (Ping timeout: 276 seconds) |
12:48:51 | * | girvo quit (Ping timeout: 276 seconds) |
12:54:16 | * | cheatfate joined #nim |
13:03:28 | * | kingofoz quit (Ping timeout: 258 seconds) |
13:04:17 | * | kingofoz joined #nim |
13:10:34 | * | beatmox quit (Ping timeout: 244 seconds) |
13:13:54 | * | abruanese joined #nim |
13:15:31 | * | beatmox joined #nim |
13:24:43 | * | kingofoz quit (Ping timeout: 250 seconds) |
13:25:24 | * | fredrik92 quit (Quit: Shutting down...) |
13:25:47 | * | kingofoz joined #nim |
13:26:44 | * | nsf quit (Quit: WeeChat 1.4) |
13:44:39 | * | girvo joined #nim |
13:44:39 | * | girvo_ joined #nim |
13:46:21 | * | EEE_ joined #nim |
13:46:44 | EEE_ | Hello, is Mr. Dominik here? |
13:47:49 | Araq | he is dom96 but he is away, I think |
13:47:54 | Araq | can I help you instead? |
13:48:06 | EEE_ | How can I contact him? |
13:48:46 | def- | EEE_: you can write something to him here or /msg him and he'll probably respond when he's back |
13:49:03 | * | girvo_ quit (Ping timeout: 240 seconds) |
13:49:03 | * | girvo quit (Ping timeout: 240 seconds) |
13:51:30 | * | PMunch joined #nim |
13:56:04 | arnetheduck | Araq, if "zct dealloc cell" happens twice for the same cell, any ideas what could be the cause? |
13:56:28 | arnetheduck | this is after implementing markers and running tnew |
13:56:38 | arnetheduck | (but no markers for globals) |
13:57:42 | arnetheduck | most annoying thing with llvm right now is that they don't seem to expose the debug info generation stuff to c, so can't add debugging easily to nlvm, thus can't use debugger :/ |
13:58:15 | EEE_ | Araq, how can I contact dom96? |
13:58:32 | Araq | EEE_: just be patient |
13:58:38 | Araq | what's the problem? |
13:58:59 | Araq | arnetheduck: hmm, well if you produce wrong RC ops this could happen I guess |
13:59:43 | Araq | you know about -d:useSysAssert -d:useGcAssert, right? |
14:00:32 | arnetheduck | yeah, doesn't complain |
14:00:39 | arnetheduck | ok, I |
14:00:59 | arnetheduck | 'll dig in then |
14:01:17 | cheatfate | EEE_, i think you can find more his contacts here: http://picheta.me/aboutme.html |
14:01:21 | arnetheduck | would it happen if global gc roots are added? |
14:01:49 | EEE_ | cheatfate: thank you. |
14:01:55 | Araq | er, you didn't add markers for globals? |
14:02:19 | Araq | then only the RC'ing GC can work somewhat with GC_disableMarkAndSweep |
14:02:22 | arnetheduck | no, you mentioned they might be.. redundant |
14:02:39 | Araq | no, I said the markers are redundant |
14:02:47 | Araq | except for the global markers |
14:03:48 | arnetheduck | oh. I did it the other way around ;) |
14:08:13 | def- | EEE_: the email address listed there doesn't work anymore iirc |
14:08:45 | EEE_ | what do you mean? |
14:08:52 | arnetheduck | hm, tnew.nim doesn't have any global markers though, must be something else |
14:09:32 | * | Ven_ joined #nim |
14:09:58 | def- | EEE_: dom96's website is a bit out of date I believe |
14:10:24 | EEE_ | Thanks |
14:10:35 | arnetheduck | hm, ah.. I think I know, assignments probably need an inc ref sometimes |
14:14:10 | Araq | an assignment is an incRef/decRef pair |
14:14:39 | Araq | don't do the decRef first, that would be wrong for self-assignments |
14:40:46 | * | EEE_ quit (Ping timeout: 250 seconds) |
14:45:25 | * | girvo joined #nim |
14:45:28 | * | girvo_ joined #nim |
14:49:37 | * | girvo quit (Ping timeout: 244 seconds) |
14:49:42 | * | EEE_ joined #nim |
14:50:36 | * | girvo_ quit (Ping timeout: 272 seconds) |
15:09:01 | EEE_ | Is dom96 here, now? |
15:20:03 | * | GangstaCat joined #nim |
15:20:49 | Araq | nope |
15:21:02 | Araq | can I help you instead? |
15:25:31 | EEE_ | I just want to apologize to him, because in Nim forum I offensively replied his comment. |
15:26:39 | EEE_ | What do you suggest, Araq? |
15:27:43 | Araq | consider it done. he will read this. |
15:27:50 | * | zacts quit (Ping timeout: 260 seconds) |
15:28:28 | * | Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
15:30:35 | EEE_ | dom96: It's BP (from Nim forum), I'm very sorry about offensive replies on Nim forum. |
15:30:53 | * | EEE_ quit (Quit: Page closed) |
15:32:20 | Araq | dummdidumm, how can I get a gcc cross compiler to hitachi 8300 |
15:32:44 | * | Ven_ joined #nim |
15:32:52 | Araq | GCC 2.95 doesn't build anymore, it doesn't even use C prototypes (wtf?) |
15:36:38 | * | michael_campbell joined #nim |
15:41:52 | * | zacts joined #nim |
15:46:21 | * | girvo joined #nim |
15:46:24 | * | girvo_ joined #nim |
15:50:33 | * | girvo quit (Ping timeout: 240 seconds) |
15:51:27 | * | girvo_ quit (Ping timeout: 264 seconds) |
15:58:07 | * | zacts quit (Ping timeout: 250 seconds) |
16:01:45 | * | nsf joined #nim |
16:02:01 | * | arnetheduck quit (Ping timeout: 252 seconds) |
16:03:37 | elrood | Araq, you bite the bullet, let go of the tiny linux distribution limitation, set up debian or fedora, install the appropriate debs or rpms, h8300-hitachi-hms or rcx-egcs or whatever they're called, and be done with it |
16:12:06 | * | zacts joined #nim |
16:12:17 | * | yglukhov quit (Remote host closed the connection) |
16:24:09 | * | yglukhov joined #nim |
16:28:22 | * | yglukhov quit (Ping timeout: 250 seconds) |
16:34:01 | Araq | elrood: did that, cannot find the deb packages though |
16:38:46 | elrood | https://packages.debian.org/jessie/gcc-h8300-hms ? although they should be more comfortably available via aptitude or synaptic |
16:40:42 | elrood | hope those are the right ones for your purpose, as i have no clue what you're trying to accomplish, let alone any special competence on the matter, just some google-fu |
16:46:23 | * | Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
16:47:13 | * | girvo joined #nim |
16:47:14 | * | girvo_ joined #nim |
16:51:46 | * | girvo_ quit (Ping timeout: 250 seconds) |
16:51:46 | * | girvo quit (Ping timeout: 250 seconds) |
16:59:59 | * | yglukhov joined #nim |
17:04:03 | * | yglukhov quit (Ping timeout: 240 seconds) |
17:08:20 | * | fredrik92 joined #nim |
17:11:20 | * | Trustable joined #nim |
17:11:39 | * | fredrik92 left #nim (#nim) |
17:25:38 | * | CrystalBlu joined #nim |
17:29:47 | * | TheLemonMan joined #nim |
17:37:00 | * | PMunch quit (Quit: leaving) |
17:40:00 | * | akaisora quit (Read error: Connection reset by peer) |
17:42:28 | * | sdw joined #nim |
17:47:29 | * | desophos joined #nim |
17:48:05 | * | girvo joined #nim |
17:48:06 | * | girvo_ joined #nim |
17:52:18 | * | CrystalBlu quit (Quit: Page closed) |
17:52:33 | * | girvo_ quit (Ping timeout: 240 seconds) |
17:52:33 | * | girvo quit (Ping timeout: 240 seconds) |
18:03:20 | * | alpha joined #nim |
18:03:44 | * | alpha is now known as Guest96452 |
18:05:20 | * | lazypenguin joined #nim |
18:21:09 | * | EEE_ joined #nim |
18:22:11 | * | Guest96452 quit (Quit: Page closed) |
18:22:58 | EEE_ | Araq, we can inline assembly in Nim without any problems, right? |
18:25:21 | Araq | right. |
18:27:38 | Araq | http://nim-lang.org/docs/manual.html#statements-and-expressions-assembler-statement |
18:28:23 | Araq | elrood: no luck, the assembler code doesn't compile with more recent GCC |
18:29:11 | EEE_ | Is dom96 here, now? |
18:29:27 | EEE_ | does he know that I'm sorry |
18:30:57 | Araq | he is still in italics |
18:32:01 | EEE_ | Araq, I'm truely sorry. |
18:32:35 | Araq | get over it please. much worse is that you claimed my compiler is not a real compiler because it generates C |
18:33:25 | Araq | generating (unoptimized) assembler is *easier* to do :P |
18:33:43 | EEE_ | but it does generate C code. |
18:34:20 | cheatfate | EEE_, you need to know definition of the compiler: "A compiler is a computer program (or a set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language), with the latter often having a binary form known as object code." |
18:34:47 | cheatfate | EEE_, So Nim is a compiler |
18:35:02 | EEE_ | cheatfate, Nim is a translator |
18:35:10 | EEE_ | and GCC is a compiler |
18:36:06 | cheatfate | EEE_, there even no such term "Translator"... |
18:36:10 | EEE_ | I have master degree in Computer Systems, and now you are telling what is a compiler. |
18:36:26 | elrood | you seem to be really intent on making matter worse instead of really apologizing to anyone here, are you? ;) |
18:36:48 | EEE_ | I own Mr. dom96 apologize. |
18:36:51 | cheatfate | I have master degree too, and what? |
18:37:10 | TheLemonMan | now kiss |
18:37:57 | EEE_ | Nim compiler translates Nim code (high-level code) to C (high-level code) |
18:38:19 | EEE_ | So it's very clear that Nim isn't really a compiler |
18:38:58 | cheatfate | EEE_, please check wikipedia... for term "compiler" |
18:39:11 | EEE_ | Do you even how hard it is to create a compiler? |
18:39:20 | renesac | if I call nim c hello.nim I get object code out of the nim compiler, I cdon't care what tools it calls inside |
18:39:41 | EEE_ | It's harder than you ever thought. |
18:39:42 | renesac | and if you want to be pedantic you can call it a transpiler to C, but what does it matter anyway? |
18:41:33 | EEE_ | So you all thinking that Nim compiler and Clang are the same thing? |
18:41:52 | renesac | clang translates to llvm intermediate language |
18:42:14 | renesac | nim also has a llvm transpiler (expelimental) |
18:42:20 | renesac | *experimetnal |
18:43:50 | elrood | EEE_, just as a thought experiment, do clang or gcc cease being compilers when they generate some kind of ir and leave the generation of machine code to a latter stage in the toolchain? are javac or vcc compilers if they generate bytecode? |
18:44:12 | elrood | or is this perhaps just a separation of front- and backends? |
18:44:43 | elrood | and, on a related notice, should someone be able to return his degree if people come to the conclusion that he doesn't deserve it? |
18:44:50 | EEE_ | The thing is very clear, Nim is NOT a real compiler. |
18:44:59 | EEE_ | Why don't you get it? |
18:45:02 | EEE_ | WHY?! |
18:45:13 | Araq | it's a real compiler. |
18:45:25 | Araq | it does everything a "real" compiler does. |
18:45:27 | elrood | the one thing that's very clear here is that someone in this irc channel is very hardheaded |
18:45:31 | renesac | EEE_: answer elrood |
18:45:39 | EEE_ | Does it generate machine code? |
18:45:41 | Araq | including generating code that's hard to decipher ;-) |
18:45:55 | EEE_ | But by external REAL compiler. |
18:46:50 | Araq | now, let's get back to the important topic. Should I give up and buy an NXT? |
18:46:58 | Araq | or an EV3? |
18:47:36 | lazypenguin | For what purpose? |
18:47:44 | renesac | Araq: : probably easier than using gcc 2.x |
18:48:22 | EEE_ | Araq, with all due respects, but creating a compiler is one of the HARDEST PROGRAMMING TASK. |
18:48:39 | Araq | no, it's not. |
18:48:50 | Araq | generating *optimized* code is hard. |
18:48:51 | * | girvo joined #nim |
18:48:52 | * | girvo_ joined #nim |
18:49:08 | Araq | generating some assembler code that runs is not really hard |
18:49:18 | TheLemonMan | generating *optimized* *working* code is even harder |
18:49:29 | EEE_ | I'm am not talking about toy compiler like Atari BASIC. |
18:49:51 | lazypenguin | EEE_, please kindly share your compiler code |
18:49:53 | cheatfate | EEE_, Basic is not a compiler... its an interpreter... |
18:50:21 | cheatfate | First basic compiler was QBasic |
18:50:34 | EEE_ | BASIC has both compilers and interpreters. |
18:50:52 | * | Jesin joined #nim |
18:51:05 | cheatfate | But you calling Atari BASIC as `toy compiler` but it is not a `compiler` |
18:51:22 | EEE_ | Whatever. |
18:51:43 | EEE_ | BASIC is dead, now. |
18:51:53 | EEE_ | even VB |
18:52:52 | EEE_ | But understand, a real compiler does not rely on an external compiler. |
18:53:03 | * | girvo_ quit (Ping timeout: 240 seconds) |
18:53:03 | * | girvo quit (Ping timeout: 240 seconds) |
18:53:17 | renesac | a real compiler has a front end and a back end, and maybe some more stages |
18:53:18 | cheatfate | EEE_, Java is compiler or not? |
18:53:28 | elrood | perhaps dom96 had better been here earlier. tomorrow there might be more people to apologize to |
18:53:31 | lazypenguin | def-, saw your comment thread about using re over nre to speed up regex yet documentation states re is deprecated. Is that still the case? |
18:53:39 | renesac | what does it matter if they are separate processes? |
18:54:11 | EEE_ | I tought everything about Java before you even born. |
18:54:19 | Araq | lazypenguin: I use re for my new code and dom96 shows re in his book. I think we need to de-deprecate it. |
18:55:10 | lazypenguin | Thanks for the clarification Araq |
18:57:27 | Araq | "The RCX is so out of date as to be problematic." pfff |
18:57:45 | Araq | so EV3 even runs a Linux :O |
18:59:35 | * | EEE_ left #nim (#nim) |
19:01:35 | Araq | hmmm "Replace LEGO NXT/EV3 with the Raspberry Pi-BrickPi duo for more functionality." sounds like what I need |
19:07:11 | * | EEE_ joined #nim |
19:08:27 | EEE_ | cheatface, Let me ask one question, if you are saying that Nim is a real compiler and do everything that a real compiler do (like Clang), then why it relies on an external C/C++/Obj-C compiler? |
19:09:07 | renesac | clang relies on llvm |
19:09:22 | EEE_ | Just answer the question |
19:09:39 | renesac | we are not interested in building a optimizer |
19:09:59 | EEE_ | Can just answer the fucking question, bitch. |
19:10:02 | renesac | the nim compiler use gcc or clang as a backend |
19:10:20 | renesac | optmizer back end |
19:10:30 | Araq | the answer to that question is: "real" compilers are allowed to depend on external tools. |
19:10:45 | Araq | GCC calls the GNU assembler, for instance. |
19:10:50 | EEE_ | Nim can do nothing without an external compiler. |
19:11:03 | Araq | GCC can do nothing with GNU asm. |
19:11:08 | Araq | *without |
19:11:20 | EEE_ | For god's sakes, why don't understand? WHY?! |
19:11:49 | renesac | EEE_: why it is so important for you? |
19:11:53 | renesac | easy trolling target? |
19:11:56 | Araq | I do understand. |
19:12:06 | Araq | I simply disagree with you. |
19:12:12 | cheatfate | EEE_, Nim is fully satisfies official definition of word "compiler", all other terms like "translator", "toy compiler" or "real compiler" is just words which i think was invented in University, where you get your graduation... |
19:12:45 | EEE_ | Don't you dare talk about my teachers. |
19:12:50 | Araq | keep it civilized please. |
19:12:57 | EEE_ | Okay. |
19:13:32 | Araq | the point is: your "definition" seems to include "must produce binaries directly" |
19:13:42 | EEE_ | Yes! |
19:13:46 | EEE_ | Finally! |
19:13:50 | Araq | but there is no commonly acknowledged definition which does include this property |
19:13:56 | def- | EEE_: The definition of wikipedia disagrees with you |
19:14:01 | def- | https://en.wikipedia.org/wiki/Compiler |
19:14:31 | Araq | and many compilers don't do this. |
19:14:34 | EEE_ | The point is that Nim does not produce binaries directly. |
19:14:46 | renesac | as I already said, "nim c hello.nim" does produce a binary directly for me, I don't care if it calls GCC, or if GCC calls GNU assembler |
19:14:48 | EEE_ | It's seeks for help from other compilers |
19:14:51 | renesac | programmers like to reuse code |
19:14:59 | Araq | ofc it would be cool to get rid of all these dependencies |
19:15:05 | renesac | if we have perfectly good optimizers, why not use them? |
19:15:09 | elrood | EEE_, if you want to do yourself a favor, brush up on your definitions of what a compiler is, have a look at the conceptual design and interlocking parts of other compilers, read up on the difference between a specification and an actual implementation and what implementation details are, get some sleep and think things over, and then return |
19:15:09 | cheatfate | Python can make binaries with Py2EXE, but Python still interpreter, Java can make binaries but it still interpreter |
19:15:14 | Araq | but it's simply not required in order to have a "real" compiler. |
19:15:49 | EEE_ | rensac you may not care about GCC, but the fact is that Nim can do nothing with that GCC |
19:16:04 | renesac | and gcc can't do anything w/o gnu assembler |
19:16:08 | Araq | fyi we can bundle "tiny C" directly with Nim making it a "real" compiler |
19:16:28 | EEE_ | But the same group who created GCC, created GNU asm |
19:16:52 | renesac | so GDC isn''t a real compiler? |
19:17:05 | renesac | because the D people wrote the front end, and GNU people wrote the back end? |
19:17:13 | renesac | or rust isn't a real compiler? |
19:17:30 | renesac | because the rust people are not the llvm people? |
19:17:40 | EEE_ | does Rust rely on external compilers? |
19:17:50 | renesac | they only wrote a front-end that translates their language to llvm languagte |
19:17:54 | renesac | like nim have |
19:18:47 | renesac | and why do you care if the communication between the front end and backend is via a .c file or via api calls? |
19:19:20 | lazypenguin | Furthermore, those "real" compilers compile a language down to machine code...which ultimately is a hardware-dependent programming language... |
19:19:21 | elrood | so, the really important and discerning difference here is that gcc isn't available as a library as llvm is, and that Araq is not related to rms, is it? *g |
19:19:26 | renesac | you still haven't answered that |
19:19:29 | EEE_ | You are saying that GNU GCC relys on GNU ASM, but GNU ASM is assembler not compiler. but if you are saying that Nim is a compiler, then why it relies on another compiler, why it does not do all the fucking by itself. |
19:19:32 | elrood | fun *g |
19:19:33 | EEE_ | end of speech. |
19:19:37 | renesac | finally |
19:19:48 | EEE_ | elrood, GaFY (Go and Fuck Yourself) |
19:20:06 | lazypenguin | EEE_ do you know what assembler is? |
19:20:16 | Araq | keep it civilized! |
19:20:22 | EEE_ | Okay |
19:20:30 | Araq | I never ban anybody here. |
19:20:46 | EEE_ | Okay |
19:20:53 | Araq | and I don't intend to change that. |
19:21:02 | EEE_ | Another okay. |
19:21:27 | Araq | and there is nothing to dicuss anymore anyway. We disagree. |
19:21:34 | Araq | big deal, can happen. |
19:21:42 | elrood | you're basically just making a fool out of yourself here, EEE_. if that's what you were after, well, you succeeded with flying colors, congratulations |
19:22:49 | cheatfate | Araq, but he looks like chatbot |
19:24:25 | * | benwbooth quit (Ping timeout: 252 seconds) |
19:24:36 | EEE_ | I wasted a huge time here. |
19:24:40 | * | EEE_ quit (Quit: Page closed) |
19:25:24 | vktec | Yes, yes you did |
19:25:26 | vktec | :D |
19:25:47 | renesac | for many people, that is kinda the definition of a troll... |
19:25:59 | vktec | Yup |
19:26:05 | lazypenguin | Nah, he believed what he was saying |
19:26:10 | vktec | lazypenguin: True |
19:26:19 | cheatfate | lazypenguin, bots do the same :) |
19:26:32 | vktec | Hahahaha! |
19:46:36 | * | ekarlso- joined #nim |
19:47:29 | * | Demos joined #nim |
19:48:06 | Demos | hey. How does the OpenGL loader work. I see a call to nimLoadProcs0 and I'm not sure where that's defined? |
19:49:50 | * | girvo joined #nim |
19:49:53 | * | girvo_ joined #nim |
19:54:03 | * | girvo quit (Ping timeout: 240 seconds) |
19:55:15 | * | girvo_ quit (Ping timeout: 276 seconds) |
20:00:45 | * | gokr joined #nim |
20:08:18 | * | yglukhov joined #nim |
20:13:05 | sdw | Araq: real language authors have beards. GET ON IT ;) |
20:14:09 | sdw | http://www.wired.com/2012/06/beard-gallery/ |
20:23:37 | * | Kingsquee joined #nim |
20:32:24 | elrood | now imagine g.v.rossum, s.p.jones, r.hickey, w.bright, j.backus or m.odersky with a beard |
20:34:08 | Araq | Demos: it ends up calling a compiler generated function |
20:34:30 | Araq | sdw: occasionally I have a beard :P |
20:34:39 | Demos | how does said compiler generated function work? |
20:35:23 | Araq | foo = getProcAddr(...) for every 'foo' that you actually used in your program |
20:35:44 | michael_campbell | All, when I paste in the array example from the tutorial.1 docs, I get odd output. Is this an error on my part? It is this line that doesn't behave like I expect (or is documented): |
20:35:48 | michael_campbell | echo repr(level) # --> [on, fastBlink, slowBlink, off] |
20:35:57 | michael_campbell | What I get is: |
20:36:07 | michael_campbell | [4295099393 (invalid data!), 16777732 (invalid data!), 11258999068491778 (invalid data!), -19659267904634624 (invalid data!)] |
20:36:39 | michael_campbell | 0.14.2, ubuntu 14.04, if that matters |
20:37:05 | michael_campbell | And, the behavior changes if I use -d:release |
20:37:08 | renesac | https://github.com/nim-lang/Nim/blob/devel/contributing.rst <-- here it tells to use imperative form, but don't end the documentation comments with a period |
20:37:50 | renesac | https://github.com/nim-lang/Nim/blob/devel/docstyle.rst <-- here it tells to end in periods but always use the present tense |
20:37:58 | Demos | does it just do it for all functions or just ones from OpenGL? |
20:38:25 | michael_campbell | If I output the array elements one at a time, all is well but repr(level) gives the invalid data issue. |
20:44:15 | * | yglukhov quit (Remote host closed the connection) |
20:53:25 | * | chrisheller joined #nim |
20:53:50 | * | vendethiel quit (Quit: q+) |
20:54:37 | Araq | Demos: just for the ones from OpenGL |
20:54:53 | Araq | michael_campbell: I think it's a regression. 'repr' is notoriously hard to get right |
20:55:07 | Araq | I would have removed it from the language long ago if it weren't so popular |
20:56:07 | * | yglukhov joined #nim |
20:56:38 | * | matkuki joined #nim |
20:57:54 | Araq | yglukhov: sorry we kicked your ass :P (2:0) |
20:58:35 | gokr | Araq: But... it was very close at times :) |
20:58:37 | * | benwbooth joined #nim |
21:00:13 | gokr | Araq: Did you figure out that a.nim thing? |
21:00:54 | * | yglukhov quit (Ping timeout: 276 seconds) |
21:00:57 | Araq | must be some nice internal corruption |
21:01:05 | Araq | most of the time it works, even on your machine |
21:01:23 | gokr | It does? |
21:01:49 | gokr | I felt it was 100% failing. |
21:03:42 | Araq | after 'koch temp' I couldn't reproduce it any longer |
21:03:53 | Araq | no matter if a.out exists or not or nimcache |
21:04:07 | gokr | You mean "a" (not "a.out") |
21:04:13 | Araq | yes |
21:04:25 | cheatfate | Araq, that was predictable :) (2:0) |
21:04:26 | gokr | hmm |
21:08:01 | gokr | So... your advice to me is to... use "import modules/a, modules/b etc"? |
21:10:02 | Araq | 'koch boot' without -d:release and see if it makes a difference |
21:10:19 | gokr | Ok, will test |
21:13:20 | gokr | Slower :) but still fails |
21:14:20 | Araq | really? |
21:14:30 | Araq | well compile with --verbosity:3 then |
21:14:37 | Araq | and gist the stack trace |
21:15:47 | gokr | https://gist.github.com/gokr/8570708b3fc8bb42215497e25c892da1 |
21:17:10 | gokr | But if there is a file called "a" when I compile - then it works. |
21:18:45 | * | Salewski joined #nim |
21:20:43 | gokr | hmmm, I changed to --path:"b" and... then it works. |
21:21:19 | gokr | That feels like full circle - why did I have an issue with that when all this began... |
21:23:02 | Salewski | Have just installed Nim 0.14.2. Nimsuggest install instructions at http://nim-lang.org/docs/nimsuggest.html seems to be still outdated? |
21:26:06 | gokr | Araq: Ok, so --path:"b" seems to fly, but not --path:"$projectdir/b" |
21:26:37 | gokr | With the latter - then this oddity with the "a" file being present starts. |
21:26:47 | Araq | Salewski: sorry, yes. I need to update them |
21:27:09 | Araq | however, that's not tied to the release cycle, so it shouldn't be much work |
21:28:00 | Araq | gokr: --path:"b" doesn't make much sense though, does it? |
21:28:12 | Araq | and as I said, I'm pretty sure it's not deterministic |
21:28:19 | gokr | No? That's the name of the dir? |
21:28:26 | Araq | is it? |
21:28:32 | gokr | yeah. |
21:28:33 | Araq | I thought it's "modules" |
21:28:46 | gokr | Well, in spry - yes. But in the test.zip it's called "b" |
21:28:56 | Araq | hmmm |
21:29:47 | gokr | I think my issue with spry is solved by adding a --path:"$projectdir" - since I might actually have misunderstood the original error. |
21:29:57 | gokr | But the test.zip is still confusing to me. |
21:31:51 | * | Salewski quit () |
21:32:01 | * | yglukhov joined #nim |
21:36:25 | * | yglukhov quit (Ping timeout: 252 seconds) |
21:43:05 | * | matkuki quit (Quit: ChatZilla 0.9.92 [Firefox 47.0/20160604131506]) |
21:47:15 | gokr | Araq: My conclusion is that... --path:"$projectdir/blabla" - creates the issue. But --path:"blabla" seems to work fine. |
21:47:16 | * | TheLemonMan quit (Remote host closed the connection) |
21:50:43 | * | girvo joined #nim |
21:50:46 | * | girvo_ joined #nim |
21:54:18 | Araq | gokr: ok, that's good enough for now |
21:54:27 | Araq | but I will look at i again soon |
21:55:03 | * | girvo quit (Ping timeout: 246 seconds) |
21:55:10 | * | girvo_ quit (Ping timeout: 250 seconds) |
21:57:15 | * | trusion quit (Quit: Leaving) |
21:59:04 | vktec | Has anyone ever tried to write a terminal in Nim? |
22:00:40 | Araq | vktec: *cough* my NimEdit includes a terminal |
22:01:04 | Araq | but it's not open source and I dunno if you're interested in an SDL2 based implementation |
22:02:43 | vktec | I was wondering if there was a starting point I could work from, as I'm having a hard time finding a decent terminal... |
22:06:18 | * | Nimian joined #nim |
22:06:43 | * | PMunch joined #nim |
22:07:00 | Araq | hi Nimian welcome |
22:07:14 | Araq | vktec: hmm, it surely is a starting point |
22:07:27 | Nimian | Is Nim truly the world's best system programming language (for OS, Kernel...)? |
22:08:10 | Nimian | By the way, nice name,huh? I chose Nimian, like Asian, Brazilian... |
22:08:34 | Araq | you can write OSes in it, but I cannot tell if it's the *best* language for that |
22:08:42 | gokr | Entering this channel with such a question smells trolling all over it. |
22:09:02 | * | Demon_Fox joined #nim |
22:09:41 | Nimian | Araq, you are the most active programmer I've ever met. |
22:10:28 | Araq | nah, most of the time I am quite unproductive |
22:11:27 | Nimian | Your languages is like PL/1 (ALGOL + COBOL + FORTRAN), but (C + Python + LISP) |
22:12:46 | vktec | Araq: Would you be willing to share some of the code? |
22:14:30 | Araq | vktec: get a bitbucket account and I'll give you access |
22:14:59 | Nimian | Isn't it GitHub? |
22:16:08 | Araq | Nimian: NimEdit is on bitbucket, my only non-open-source project |
22:16:14 | vktec | Araq: Thanks, 1 sec |
22:16:46 | Nimian | I saw NimEdit in your video on YouTube, |
22:17:08 | Nimian | But I think Aporia IDE is much better? |
22:18:33 | Araq | pfff |
22:18:45 | Nimian | What? |
22:19:39 | Nimian | Araq: I love Nim, and want to translate Nim's tools to Arabic and Kurdish, but how can I do that? |
22:19:49 | Nimian | Like Aporia IDE. |
22:20:28 | Araq | good question. |
22:20:46 | Araq | GTK based apps have some means to do that |
22:21:05 | Araq | but I don't know how it works and whether Aporia needs to be patched for this (I think it does) |
22:22:17 | Nimian | What about if I write meanings of all words and sentences and I send it to Mr. dom96? |
22:22:55 | vktec | Araq: Okay, I had to reset my password, not used BitBucket in ages :) |
22:23:10 | vktec | My username is samadivk |
22:25:18 | Nimian | Araq: Is there anyway for me to translate Aporia IDE to Arabic and Kurdish? |
22:25:36 | Nimian | Araq: I really want to help Nim in any way. |
22:25:40 | * | gokr quit (Ping timeout: 264 seconds) |
22:27:00 | Araq | Nimian: can't hurt but wait what dom96 says about it |
22:28:30 | PMunch | Nim 0.14.0 just dropped in the Manjaro repositories :) |
22:29:08 | cheatfate | dom96 is really wanted today :) |
22:30:02 | Demos | ugh I hate windows so much |
22:30:40 | Nimian | Demos: not me |
22:30:50 | Demos | I mean in general |
22:30:52 | * | Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif) |
22:31:02 | Demos | right now I'm trying to get an open source library to build |
22:31:15 | Nimian | Demos: All my collegue hate Windows |
22:31:44 | Demos | in general I'm fine with it, but the whole shared library situation is a clusterfuck |
22:31:52 | Nimian | Programmers hate closed-source softwares |
22:32:59 | Araq | PMunch: why not 0.14.2? |
22:33:33 | PMunch | Araq, the software in the Manjaro repos are a couple of days behind the Arch repositories to ensure stability |
22:33:44 | PMunch | What's new in .2? |
22:34:01 | Araq | fixes a critical regression concerning the "roof" operator |
22:34:12 | Araq | a[^2] |
22:34:22 | Nimian | Araq: NimEdit translateable? |
22:34:48 | Araq | Nimian: it doesn't have any text that could be translated ... :-) |
22:35:04 | Nimian | Hahahahaha, you are right :) |
22:35:14 | Nimian | I did not notice that |
22:36:24 | Nimian | Araq: I'm sure that NimEdit does not use GTK+, what does it use for GUI? |
22:36:35 | Araq | SDL2, as I said. |
22:37:49 | Nimian | Is it a native GUI written in Nim? |
22:38:18 | Nimian | I googled it, but I didn't get anything. |
22:39:12 | Araq | https://www.libsdl.org/ ? |
22:41:48 | Nimian | Araq: Why you did not use GTK+ or Qt? |
22:43:09 | Araq | cause it was a proof of concept "immediate mode UI" |
22:45:16 | Araq | I like full control, gimme putPixel() and I can write an editor on top of that :-) |
22:45:53 | Nimian | Araq: What is more beautiful than Qt for a programmer? |
22:48:30 | Araq | dunno. something that doesn't require its own preprocessor? :P |
22:48:39 | * | Trustable quit (Remote host closed the connection) |
22:48:56 | Nimian | Araq: Where is Mr. Dom96? |
22:49:44 | Araq | in space. |
22:50:07 | Nimian | day-off? |
22:50:34 | Araq | everything is in space. |
22:50:50 | Araq | but you should translate one of Nim's tutorials / manuals |
22:50:58 | Araq | not "Aporia". |
22:51:12 | Araq | programmers will be able to press that few buttons in english. |
22:52:34 | Nimian | Yes! |
22:52:49 | Nimian | I can translate manuals or Nim in Action |
22:53:34 | Nimian | I will contact dom96 about Nim in Action. |
22:54:09 | Araq | better start small. |
22:54:19 | Araq | tut1 comes to mind. |
22:54:38 | * | girvo joined #nim |
22:54:39 | * | girvo_ joined #nim |
22:56:03 | vktec | I'd just like to say, thanks for being an awesome community guys. |
22:56:27 | Nimian | Araq: I will start translating official Nim Tut1 and Tut2 to Arabic and Kurdish, but I will be proud if you make me an official Nim developer. |
22:58:57 | Araq | just create PRs and at some point you're given write access to the repo. |
22:59:15 | Araq | and then you are an "official" Nim developer. |
22:59:40 | Nimian | Thanks, but what is "RPs"? |
22:59:58 | Araq | pull requests |
23:00:04 | Nimian | GitHub? |
23:00:12 | * | PMunch quit (Quit: leaving) |
23:04:01 | Araq | yes |
23:04:53 | Nimian | Araq: i see tut1 and tut2 on Nim's GitHub pages, but can you please tell me what I should exactly? |
23:05:31 | Nimian | Should download tut1 and tur2 and then translate it after that send it to you? |
23:07:18 | Araq | work with the tut1.rst and tut2.rst files |
23:07:41 | Nimian | Okay, got it. Sorry, I know you are very bussy. |
23:07:50 | Nimian | ""...busy |
23:07:54 | Araq | translate them to tut1_arabic.rst etc. and send them to me |
23:08:02 | Nimian | Okay |
23:08:36 | Nimian | Thank you for giving this opportunity. |
23:11:26 | * | Nimian left #nim (#nim) |
23:12:28 | * | girvo quit (Quit: Lost terminal) |
23:12:28 | * | girvo_ quit (Quit: Lost terminal) |
23:15:08 | * | elrood quit (Quit: Leaving) |
23:19:11 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:28:53 | cheatfate | Araq, looks like Nimian (93.91.194.164) and _EEE (93.91.194.93) are same `trolling` persons |
23:47:08 | Araq | interesting bu I dn't mind |
23:53:39 | * | akaisora_ joined #nim |