00:00:23 | OrionPK | zahary i'll see if i can reproduce it in something small |
00:05:54 | OrionPK | zahary my bad, I think I had a field of the same name as the iterator |
00:06:54 | fowl | OrionPK, clean out your desk and go home, you're fired |
00:07:27 | fowl | OrionPK, hey i am back home now so i have more time to work on stuff, lets collaborate on something |
00:11:34 | OrionPK | :P |
00:11:53 | OrionPK | fowl I'm working on an IRC thingy right now |
00:12:59 | OrionPK | basically it's a web server/web app that connects to IRC |
00:13:11 | OrionPK | and acts as a proxy for a single client to connect to IRC |
00:13:37 | OrionPK | and remains connected when the connected client leaves |
00:15:37 | OrionPK | I wanted to make it all in nimrod, but it's been a challenge because of a lot of bugs in sockets.nim and gaps in the standard library |
00:22:20 | * | EXetoC quit (Quit: WeeChat 0.4.2) |
00:24:26 | NimBot | Araq/Nimrod master 32c6adf Zahary Karadjov [+0 ±6 -0]: support for multiple test variables and var qualifiers in user-defined type classes |
00:25:14 | zahary | good night everyone |
00:25:22 | OrionPK | night |
00:37:35 | MFlamer | zahary: did you just submit something for userdefined type classes? |
00:39:01 | MFlamer | exciting! |
00:46:27 | * | BitPuffin quit (Ping timeout: 246 seconds) |
00:55:14 | filwit | lol, i just responded to someone on Phoronix about Nimrod |
00:55:32 | filwit | then i noticed the guy above me did the same thing |
00:55:47 | filwit | (respond to someone, and recommend Nimrod). |
01:14:12 | * | mflamer_ joined #nimrod |
01:22:35 | * | VarriountPhone joined #nimrod |
01:23:06 | VarriountPhone | Meep |
01:25:45 | * | VarriountPhone quit (Read error: Connection reset by peer) |
01:37:44 | * | Boscop quit (Read error: Connection reset by peer) |
01:38:06 | * | Boscop joined #nimrod |
01:38:07 | * | Boscop quit (Changing host) |
01:38:07 | * | Boscop joined #nimrod |
01:45:01 | Varriount | It's a shame that the typedesc method is a bit more verbose. |
01:50:21 | * | Trixar_za quit (Ping timeout: 240 seconds) |
01:50:26 | * | Arcanum_za joined #nimrod |
01:53:15 | * | noam_ quit (Ping timeout: 241 seconds) |
01:53:38 | * | noam_ joined #nimrod |
01:58:23 | OrionPK | Varriount i agre it's not ideal |
01:58:33 | OrionPK | especially for library authoring |
02:01:13 | * | mflamer_ quit (Ping timeout: 272 seconds) |
02:05:42 | * | brson joined #nimrod |
02:06:13 | * | brson quit (Client Quit) |
02:08:04 | * | mflamer_ joined #nimrod |
02:16:21 | * | brson joined #nimrod |
02:42:35 | * | xenagi joined #nimrod |
02:57:54 | filwit | just use 'type Foo' |
03:00:21 | fowl | OrionPK, Varriount, if you have to specify the type for a generic, then it can't be inferred by the arguments (ie marshal.to) so its probably better to make it a param anyways |
03:01:12 | fowl | good example of this is system.new(T: typedesc): ref T |
03:03:00 | * | freezerburnv joined #nimrod |
03:06:32 | * | xenagi quit (Quit: Leaving) |
03:06:39 | * | freezerburnv quit (Client Quit) |
03:07:10 | * | xenagi joined #nimrod |
03:25:16 | * | freezerburnv joined #nimrod |
03:26:05 | * | brson quit (Ping timeout: 272 seconds) |
03:35:02 | * | mflamer_ quit (Ping timeout: 240 seconds) |
03:36:14 | * | xenagi quit (Ping timeout: 240 seconds) |
03:36:41 | * | xenagi joined #nimrod |
03:36:46 | * | mflamer_ joined #nimrod |
03:36:48 | * | freezerburnv quit (Quit: freezerburnv) |
03:41:52 | * | xenagi|2 joined #nimrod |
03:42:30 | * | xenagi|2 quit (Client Quit) |
03:44:05 | * | xenagi quit (Ping timeout: 248 seconds) |
03:45:59 | * | webskipper quit (Ping timeout: 272 seconds) |
03:48:34 | * | xenagi joined #nimrod |
04:31:41 | * | filwit quit (Quit: Leaving) |
04:38:02 | * | ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
04:40:06 | * | ics joined #nimrod |
04:41:32 | * | brson joined #nimrod |
05:15:55 | * | brson quit (Ping timeout: 272 seconds) |
05:21:59 | * | mflamer_ quit (Ping timeout: 272 seconds) |
05:26:38 | * | mflamer_ joined #nimrod |
05:54:45 | * | xenagi quit (Quit: Leaving) |
05:58:25 | * | OrionPK quit (Read error: Connection reset by peer) |
06:36:50 | mflamer_ | When you create a newIntNode() why dosent it have a type assigned to it? I'm hacking in the compiler in the semantic phase, so after idents get looked up and turned into symbols. |
06:41:50 | * | DAddYE joined #nimrod |
06:58:53 | * | mflamer_ quit (Ping timeout: 272 seconds) |
07:35:53 | * | brson joined #nimrod |
07:53:27 | * | brson quit (Ping timeout: 246 seconds) |
08:17:49 | * | brson joined #nimrod |
08:46:51 | * | dymk quit (Ping timeout: 245 seconds) |
08:48:43 | * | DAddYE quit (Ping timeout: 272 seconds) |
08:54:34 | * | DAddYE joined #nimrod |
08:57:54 | * | dymk joined #nimrod |
08:59:07 | * | noam_ quit (Read error: Connection reset by peer) |
08:59:33 | * | noam_ joined #nimrod |
09:30:31 | * | delian2 quit (Quit: Terminated!) |
09:38:28 | * | CarpNet joined #nimrod |
09:57:11 | * | BitPuffin joined #nimrod |
09:57:27 | BitPuffin | g'day guvenös! |
09:58:25 | BitPuffin | somebody should really update the babel package in the aur |
09:58:28 | BitPuffin | it's really stupid |
09:59:09 | BitPuffin | first of all nimrod-git should provide nimrod so that it doesn't install 0.9.2 when installing babel. Second of all, if there is no nimrod installed then it should probably default to the one in community and not compile it from source |
09:59:12 | BitPuffin | </rant> |
10:14:54 | * | DAddYE quit (Remote host closed the connection) |
10:31:57 | * | XAMPP quit (Read error: Connection reset by peer) |
10:33:02 | * | ics quit (Ping timeout: 240 seconds) |
10:36:39 | * | ics joined #nimrod |
11:18:20 | * | MFlamer quit (Read error: Connection reset by peer) |
11:26:18 | * | DAddYE joined #nimrod |
11:30:35 | * | DAddYE quit (Ping timeout: 252 seconds) |
11:43:28 | * | brson quit (Ping timeout: 245 seconds) |
11:47:22 | * | Arcanum_za is now known as Trixar_za |
12:10:06 | * | webskipper joined #nimrod |
12:33:58 | * | EXetoC joined #nimrod |
12:36:07 | * | brson joined #nimrod |
12:54:30 | * | Ricky_Ricardo joined #nimrod |
13:25:55 | * | freezerburnv joined #nimrod |
13:31:50 | * | Endy joined #nimrod |
13:49:36 | * | Jackneill joined #nimrod |
13:51:19 | * | [1]Endy joined #nimrod |
13:53:53 | * | Endy quit (Ping timeout: 245 seconds) |
13:53:53 | * | [1]Endy is now known as Endy |
13:55:17 | * | EXetoC quit (Ping timeout: 248 seconds) |
14:11:47 | * | [1]Endy joined #nimrod |
14:14:17 | * | Endy quit (Ping timeout: 240 seconds) |
14:14:17 | * | [1]Endy is now known as Endy |
14:16:13 | * | brson quit (Ping timeout: 246 seconds) |
14:19:09 | * | DAddYE joined #nimrod |
14:19:27 | * | phil4mac joined #nimrod |
14:19:44 | * | Jackneill quit (Ping timeout: 244 seconds) |
14:20:08 | * | Jackneill joined #nimrod |
14:21:35 | phil4mac | Hi all, can anyone point me in the right direction for how to use a serial port with nimrod? E.g. open /dev/ttyS1 and read/write it etc...? |
14:21:53 | * | Ricky_Ricardo quit (Quit: laptop[lid].close) |
14:23:20 | * | DAddYE quit (Ping timeout: 245 seconds) |
14:23:53 | * | Ricky_Ricardo joined #nimrod |
14:29:22 | BitPuffin | phil4mac: the same way you'd do it in C would definitely work. No idea if there is anything like that in the stdlib but have a look |
14:31:47 | phil4mac | BitPuffin: that was my theory too, but I can find a way to make it do an open(...) call in C such as "fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY);"... |
14:32:20 | * | [1]Endy joined #nimrod |
14:32:24 | * | Ricky_Ricardo quit (Quit: laptop[lid].close) |
14:35:17 | * | Endy quit (Ping timeout: 248 seconds) |
14:35:18 | * | [1]Endy is now known as Endy |
14:40:05 | BitPuffin | phil4mac: seems like a regular file open to me |
14:42:29 | phil4mac | BitPuffin: I gave it a try and it seems to work, I notice under the surface the nimrod has turned it into an fopen(...) call rather than open(...), not sure what the implications of that are yet... |
14:44:12 | BitPuffin | phil4mac: well it's probably a wrapper around the C function |
14:44:22 | BitPuffin | or oh |
14:44:24 | BitPuffin | I dunno |
14:44:28 | BitPuffin | :P |
14:44:39 | phil4mac | I shall investigate... |
14:46:58 | BitPuffin | go for it! |
14:47:25 | * | OrionPK joined #nimrod |
14:47:40 | * | Ricky_Ricardo joined #nimrod |
14:52:52 | * | [1]Endy joined #nimrod |
14:55:25 | * | Endy quit (Ping timeout: 245 seconds) |
14:55:25 | * | [1]Endy is now known as Endy |
14:57:32 | * | mflamer joined #nimrod |
14:58:24 | mflamer | Good morning |
15:01:35 | mflamer | I wonder if Araq or zahary would concider it worthwhile to have a quick gotomeeting session sometime to give an overview of the compiler structure, stages, Q&A for a few of us who are interested in working on it. Might be more efficent use of time as opposed to answering questions over and over |
15:03:18 | mflamer | It might be a nice intermediate step towards our Nimrod "conference" in the middle of the atlantic |
15:13:19 | * | [1]Endy joined #nimrod |
15:16:05 | * | Endy quit (Ping timeout: 252 seconds) |
15:16:06 | * | [1]Endy is now known as Endy |
15:20:06 | dom96 | mflamer: That's a cool idea. |
15:20:12 | * | DAddYE joined #nimrod |
15:24:21 | * | DAddYE quit (Ping timeout: 248 seconds) |
15:25:53 | mflamer | I have a goto account and will be happy to set it up anytime |
15:26:51 | dom96 | Never used goto, what is it exactly? |
15:28:09 | mflamer | online meetings and webinars http://www.gotomeeting.com/online/ |
15:29:18 | dom96 | cool |
15:33:54 | * | [1]Endy joined #nimrod |
15:36:57 | * | mflamer quit (Ping timeout: 272 seconds) |
15:37:33 | * | Endy quit (Ping timeout: 246 seconds) |
15:37:33 | * | [1]Endy is now known as Endy |
15:43:33 | * | alex_nx joined #nimrod |
15:52:53 | * | [1]Endy joined #nimrod |
15:55:12 | * | [2]Endy joined #nimrod |
15:56:51 | * | Endy quit (Ping timeout: 272 seconds) |
15:56:52 | * | [2]Endy is now known as Endy |
15:57:05 | dom96 | hi alex_nx |
15:57:50 | alex_nx | dom96, hello |
15:57:55 | * | [1]Endy quit (Ping timeout: 245 seconds) |
15:59:10 | BitPuffin | yeah that idea mflamer had would be nice |
15:59:18 | BitPuffin | but why not make a G+ hangout instead? |
16:00:26 | dom96 | Would be nice if we could record it for later reference. |
16:00:33 | dom96 | or perhaps we could all take notes. |
16:00:56 | BitPuffin | dom96: G+ has recording support |
16:09:24 | BitPuffin | dom96: it can even publish to youtube |
16:10:40 | mkb | 5 |
16:11:10 | BitPuffin | make sense mkb |
16:12:23 | mkb | s/^/\/w / |
16:12:42 | * | mkb is sure that just confused you more |
16:14:58 | BitPuffin | more or less |
16:15:15 | mkb | irssi crap |
16:16:04 | * | [1]Endy joined #nimrod |
16:16:05 | * | Ricky_Ricardo quit (Quit: laptop[lid].close) |
16:17:54 | * | MFlamer joined #nimrod |
16:19:40 | * | Endy quit (Ping timeout: 272 seconds) |
16:19:49 | * | Endy joined #nimrod |
16:21:18 | * | DAddYE joined #nimrod |
16:23:24 | * | [1]Endy quit (Ping timeout: 246 seconds) |
16:25:26 | * | DAddYE quit (Ping timeout: 240 seconds) |
16:25:43 | NimBot | nimrod-code/babel master 37b8c46 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds support for optional web field.... 2 more lines |
16:25:43 | NimBot | nimrod-code/babel master 292bb41 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Rewrites requiredField on top of optionalField. |
16:25:43 | NimBot | nimrod-code/babel master 0a35930 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Puts TPackage json initialization into single proc. |
16:25:43 | NimBot | nimrod-code/babel master 911957d Dominik Picheta [+0 ±1 -0]: Merge pull request #13 from gradha/pr_adds_web_field... 2 more lines |
16:28:56 | * | [1]Endy joined #nimrod |
16:29:21 | NimBot | nimrod-code/babel master 09a898f Grzegorz Adam Hankiewicz [+0 ±1 -0]: Implements path command for packages.... 2 more lines |
16:29:21 | NimBot | nimrod-code/babel master 27167e3 Dominik Picheta [+0 ±1 -0]: Merge pull request #14 from gradha/pr_path_command... 2 more lines |
16:31:50 | * | Endy quit (Ping timeout: 240 seconds) |
16:31:51 | * | [1]Endy is now known as Endy |
16:38:34 | * | [1]Endy joined #nimrod |
16:42:15 | * | Endy quit (Ping timeout: 252 seconds) |
16:42:16 | * | [1]Endy is now known as Endy |
16:44:57 | * | [1]Endy joined #nimrod |
16:47:00 | * | [2]Endy joined #nimrod |
16:48:09 | * | Endy quit (Ping timeout: 272 seconds) |
16:48:10 | * | [2]Endy is now known as Endy |
16:50:05 | * | BitPuffin quit (Ping timeout: 244 seconds) |
16:50:14 | * | [1]Endy quit (Ping timeout: 246 seconds) |
16:51:00 | MFlamer | zahary: If I create an nkInt node in the semantic phase, it dosent seem to have a type by default. I can easily create a new tyInt but it seems wrong to create a new type. |
16:52:13 | MFlamer | like I should be using a symbol instead. Does that make any sense? |
16:56:28 | * | phil4mac left #nimrod (#nimrod) |
17:03:38 | * | [1]Endy joined #nimrod |
17:04:40 | * | [1]Endy quit (Client Quit) |
17:07:13 | * | Endy quit (Ping timeout: 245 seconds) |
17:28:05 | MFlamer | so quiet today |
17:39:10 | * | gradha joined #nimrod |
17:44:57 | gradha | dom96: were you able to test babel path on windows? |
17:45:15 | dom96 | no, not yet. |
17:47:22 | * | DAddYE joined #nimrod |
17:47:44 | * | DAddYE quit (Remote host closed the connection) |
17:48:32 | * | DAddYE joined #nimrod |
18:06:26 | * | MFlamer quit (Remote host closed the connection) |
18:15:04 | * | BitPuffin joined #nimrod |
18:30:11 | * | CarpNet quit (Quit: Leaving) |
18:30:40 | * | alex_nx quit (Quit: Leaving) |
18:32:37 | * | alex_nx joined #nimrod |
18:46:08 | BitPuffin | ahoy |
18:46:11 | BitPuffin | dom96: what are you up to? |
18:46:34 | BitPuffin | mkb: switch to weechat :P |
18:47:51 | OrionPK | dom96 is there an HTML encode function in jester somewhere? |
18:48:03 | OrionPK | or in the std lib |
18:48:08 | BitPuffin | OrionPK: html encode? |
18:48:11 | BitPuffin | OrionPK: you mean htmlgen? |
18:48:25 | gradha | generate html from macros? htmlgen module? |
18:48:28 | OrionPK | no, I mean convert <tag> to <tag> |
18:48:45 | gradha | there's an escape proc in the cgi module |
18:48:46 | BitPuffin | something like that would be nice indeed |
18:48:58 | BitPuffin | is there a markdown parser for nimrod? |
18:49:14 | gradha | BitPuffin: sssshh, or you will awaken Araq |
18:49:26 | OrionPK | gradha i see url encoding |
18:49:29 | OrionPK | not html encoding |
18:49:36 | gradha | OrionPK: doesn't XMLencode do what you want? |
18:49:43 | OrionPK | hmm.. |
18:49:44 | BitPuffin | gradha: hmm? |
18:49:55 | OrionPK | yeah that might do it |
18:49:57 | OrionPK | weird thing to call it though |
18:50:21 | gradha | BitPuffin: something about markdown being crap and a subset of rest |
18:50:40 | BitPuffin | gradha: :P but it's simple |
18:50:51 | gradha | and it's overflowed |
18:50:54 | gradha | and githubbed |
18:51:08 | BitPuffin | gradha: is there a rest parser for nimrod? |
18:51:16 | dom96 | BitPuffin: Trying to muster up the determination to finish the homework I have due for tomorrow. |
18:51:54 | BitPuffin | gradha: and tumbled |
18:52:03 | BitPuffin | dom96: go do it! |
18:52:08 | BitPuffin | dom96: did that help? |
18:52:26 | dom96 | BitPuffin: Not really :P |
18:53:21 | BitPuffin | dom96: go do it! or else!! |
18:53:26 | gradha | BitPuffin: like "nimrod rst2html" command? |
18:54:20 | BitPuffin | gradha: I mean like a library that I could use for my website |
18:55:20 | gradha | gradha: hmm... not sure what you mean, isn't "a library" what ipsumgenera does for generation of the static blog? |
18:55:33 | OrionPK | dom96 did you write the IRC module? |
18:55:41 | dom96 | yes |
18:56:00 | OrionPK | do you mind if I add a TTime stamp to TEvent |
18:56:03 | Araq | docutils is already a library |
18:56:03 | OrionPK | or whatever it's called |
18:56:06 | BitPuffin | gradha: something where I can do like var html = rstToHtml(rstText) |
18:56:21 | Araq | that's already supported, BitPuffin |
18:56:40 | BitPuffin | Araq: but where? |
18:56:43 | Araq | lib/packages/docutils |
18:57:07 | OrionPK | TIRCEvent |
18:57:26 | dom96 | BitPuffin: look at how ipsumgenera does it |
18:58:13 | dom96 | OrionPK: nope, go ahead. What do you need it for? |
18:58:29 | OrionPK | logging, manually to maintain a history of TIRCEvents |
18:58:34 | OrionPK | mainly* not manually |
18:58:47 | gradha | BitPuffin: another example would be nimforum, generating the html for the web pages or the rss feed |
18:59:09 | dom96 | OrionPK: Why not create some tuple type with that info? |
18:59:28 | OrionPK | dom96 I could do that, but I figured it was such a basic thing it ought to be kept with the event |
19:00:36 | BitPuffin | I'll take a look |
19:00:59 | BitPuffin | gradha, Araq, dom96 etc: is there a talk you guys recommend on concurrency/multithreading? |
19:03:56 | gradha | I'm sold on the Apple way of doing things, which unfortunately requires very expensive hardware and programming languages nobody uses |
19:05:03 | dom96 | OrionPK: I'd rather keep IRC as basic as possible. NimBot uses a little tuple for this: https://github.com/nimrod-code/nimbuild/blob/master/irclogrender.nim#L7 |
19:05:22 | OrionPK | it's an integer |
19:05:28 | OrionPK | with a unix timestamp |
19:05:32 | OrionPK | cant get much more basic than that |
19:06:45 | * | eigenlicht joined #nimrod |
19:07:16 | OrionPK | the module is already importing times even |
19:07:55 | OrionPK | all we''re doing by not having the timestamp is complicating what callers have to do IMO |
19:09:14 | Araq | I have no idea what you're talking about, but I think I agree with OrionPK ... |
19:10:20 | Araq | BitPuffin: dunno, many people like Rich's Hickey talks about concurrency. of course I don't ;-) |
19:10:54 | OrionPK | Araq its re: having a timestamp in TIRCEvent |
19:12:09 | Araq | having a timestamp is always a good idea |
19:15:04 | gradha | dom96: I'm thoroughly dissappointed in reddit |
19:15:37 | gradha | dom96: after learning about /r/programming and more importantly /r/kpop, I stumbled upon /r/kpopfap |
19:15:52 | gradha | dom96: but there is no /r/programmingfap. Where's your rule 34 now? |
19:16:06 | dom96 | OrionPK: Fine, add it then. |
19:16:15 | dom96 | gradha: You just need to create it then :P |
19:16:43 | OrionPK | k |
19:17:34 | * | gradha pictures fakes of Jobs, Gates and Torvalds in hardcore action |
19:17:44 | * | gradha runs to the bathroom to vomit |
19:17:49 | gradha | dom96: yeah, nevermind |
19:17:50 | BitPuffin | Araq: what's bad about it? :P |
19:19:00 | Araq | it's yet another "shared mutable state doesn't work" which is wrong |
19:19:14 | OrionPK | im not a fan of people on /r/programming.. they're very negative |
19:19:29 | OrionPK | everybody is not only critical of everything, but cruelly so |
19:19:54 | OrionPK | someone pours their heart and soul into working on a toy language, they submit it and people rip it to shreds |
19:20:13 | eigenlicht | /r/coding is a bit better on that matter |
19:20:56 | * | gradha wonders if /r/programming should be renamed to /r/stressrelief |
19:21:29 | gradha | OrionPK: I think it's more a problem of programmers not looking at happy things, like kpop |
19:21:48 | OrionPK | dom96 https://github.com/Araq/Nimrod/pull/670 |
19:22:23 | BitPuffin | Araq: a-ha! |
19:22:25 | eigenlicht | Araq: long time ago I saw that talk from RH, but wasnt he more like "shared mutable state is overly complex"? |
19:22:33 | BitPuffin | Araq: well shared mutable state can be problematic |
19:22:40 | BitPuffin | Araq: but it can work. |
19:22:43 | eigenlicht | rather than saying flat out: "it doesn't work" |
19:22:45 | OrionPK | gradha we should start an /r/niceprogrammers |
19:22:47 | OrionPK | :P |
19:23:03 | OrionPK | or maybe a /r/politeprogramming |
19:23:10 | eigenlicht | exactly, BitPuffin - and iirc that's what RH wanted to say |
19:23:13 | eigenlicht | but I may be wrong |
19:24:01 | eigenlicht | (but as a clojure programmer, I'm a it biased) |
19:24:19 | gradha | OrionPK: right, I even try to implement polite software https://github.com/gradha/babel/tree/pr_polite_install |
19:24:28 | OrionPK | :) |
19:25:10 | BitPuffin | eigenlicht: :P |
19:25:58 | BitPuffin | Araq: I'd really like to know what you think is the right way to do it. I assume that is competitive concurrency but I don't know what that means :P |
19:26:50 | Araq | hi alex_nx welcome |
19:27:56 | Araq | BitPuffin: you'll see |
19:28:09 | BitPuffin | Araq: But I am impatient :'( |
19:30:01 | gradha | BitPuffin: I recommend watching https://www.youtube.com/watch?v=2IzR_ClTE8Y while you wait for Araq's masterpiece |
19:32:25 | BitPuffin | gradha: wtf >.< |
19:33:03 | gradha | BitPuffin: sorry, it was a test to see if we admitted you to /r/politeprogramming, you didn't pass I'm afraid |
19:34:41 | BitPuffin | gradha: then I'll start my own /r/politeprogrammingbutbetter |
19:34:53 | eigenlicht | with black jack an hookers! |
19:35:26 | gradha | BitPuffin: surely you jest! I'll be drinking tea on the other channel |
19:37:41 | BitPuffin | gradha: and I'll be drinking espresso |
19:37:50 | BitPuffin | expresso? |
19:39:50 | OrionPK | you had it right th 1st time |
19:40:02 | BitPuffin | maybe |
19:41:09 | BitPuffin | Araq: nimrod channels can be passed around as arguments right? |
19:43:56 | BitPuffin | why the fuck does html5 feel like it needs to tell me that something is full screen. I CAN SEE THAT |
19:54:53 | Araq | BitPuffin: no, use a PChannel for that |
20:04:52 | BitPuffin | Araq: TChannel PChmammel. No but I only said channel |
20:05:15 | BitPuffin | Araq: I was kind of thinking about for a moment whether I needed to make a ref TChannel type (PChannel) |
20:05:47 | BitPuffin | Araq: By the way do you think it was the right decision for linagl to avoid sideffects? |
20:06:21 | Araq | sure |
20:07:25 | freezerburnv | BitPuffin: You might consider having ways to mutate stuff in place, but have the default behavior be no side effects |
20:07:58 | BitPuffin | freezerburnv: there is nothing stopping you from doing vec[1] = 4 |
20:08:23 | freezerburnv | BitPuffin: I meant more for something such as someVec *= someVec |
20:08:30 | freezerburnv | Er, someVec *= someOtherVec |
20:08:35 | BitPuffin | freezerburnv: that's not supported |
20:09:06 | BitPuffin | but I guess I could make a template |
20:09:17 | freezerburnv | BitPuffin: That's what I figured based on what you said, but it might be nice to have for tight loops |
20:09:45 | BitPuffin | template `*=`(a, b: TVector): expr = a = a * b |
20:10:20 | BitPuffin | that way it kind of remains pure |
20:10:51 | BitPuffin | rather than doing proc `*=`(var a, b: TVector) = a = a * b |
20:11:26 | Araq | what? |
20:11:27 | freezerburnv | BitPuffin: Does the template allocate memory? (not sure how your * works, but I'm guessing it does in some form. dunno if Nimrod optimizes that somehow though) |
20:11:52 | Araq | you've some weird notions about what a side effect is |
20:12:18 | Araq | proc `*=` ... is perfectly fine |
20:12:42 | BitPuffin | Araq: well no, I know that a side effect would be for example if the proc modified some global variable |
20:13:10 | BitPuffin | freezerburnv: no the template just rewrites the a *= b code to a = a * b at compile time |
20:13:52 | BitPuffin | Araq: I said pure. And a proc that modifies an incoming parameter is not pure |
20:14:10 | freezerburnv | BitPuffin: I know, I was more concerned about how the "a = a * b" would work at runtime. I don't know how that would affect a tight loop doing lots of vector math. Maybe it runs just fine |
20:15:00 | BitPuffin | freezerburnv: I'm sure that's low hanging fruit for an optimizer |
20:15:55 | BitPuffin | now we are kind of disregarding the fact that there isn't a `*` for TVector |
20:16:10 | BitPuffin | only *. and *+ |
20:16:30 | BitPuffin | but I'm considering making * component wise multiplication. Because that is sort of useful in image processing |
20:21:28 | * | ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
20:31:25 | * | freezerburnv quit (Quit: freezerburnv) |
20:41:27 | * | ics joined #nimrod |
20:42:19 | BitPuffin | Araq: did you write this? https://github.com/Araq/Nimrod/wiki/Coding-Guidelines |
20:43:50 | gradha | according to the history dom96 did |
20:45:04 | BitPuffin | also is a != b defines as not a == b? because when it comes to the types that are compared bit by bit, isn't it more efficient to determine that they are not equal wen comparing bits, so maybe you'll see at the first bit that they are not equal. Whereas with equality you need to check all bits to know that they are equal |
20:45:18 | BitPuffin | so doesn't that mean that it's better to define a == b as not a != b |
20:45:30 | BitPuffin | but maybe that's not how cpu's work I guess |
20:45:40 | BitPuffin | gradha: that guy, I have heard of him |
20:45:42 | fowl | != is a template |
20:45:44 | fowl | not(a == b) |
20:46:20 | BitPuffin | fowl: yeah exactly |
20:46:46 | BitPuffin | fowl: my point is couldn't you determine faster that something is not equal than that something is equal |
20:47:04 | gradha | do we have any architecture today where checking single bits and breaking out is faster than the whole thing? |
20:47:23 | fowl | shrug |
20:47:36 | BitPuffin | I dunno, that's why I said maybe that's not how CPUs work |
20:48:41 | BitPuffin | maybe I focus too much on details :P |
20:49:00 | BitPuffin | same thing when trying to learn the compiler. I focus on understanding every single line ._. |
20:49:01 | gradha | maybe what you say could be useful for complex object comparisons, but I guess you could overload the template with a specific proc |
20:49:22 | gradha | or simply specify in your API to use a faster "notEqual" proc |
20:49:41 | BitPuffin | I think overloading would be better in that case |
20:49:47 | BitPuffin | why even give the option to do it wrong :D |
20:49:55 | gradha | I think profiling your code would be better in any case |
20:50:10 | BitPuffin | sure |
20:50:41 | BitPuffin | too bad I'm not sure what the output showed in http://nimrod-code.org/estp.html is trying to tell me |
20:50:47 | BitPuffin | in the example |
20:52:45 | * | Jackneill quit (Remote host closed the connection) |
20:54:59 | * | CarpNet joined #nimrod |
21:00:43 | Araq | er ... for == you can stop as soon as you encounter a position where the bits are not equal |
21:01:07 | Araq | same as for != |
21:01:11 | * | filwit joined #nimrod |
21:01:32 | * | MFlamer joined #nimrod |
21:08:23 | MFlamer | Araq: : If I create an nkInt node in the semantic phase, it dosent seem to have a type by default. I can easily create a new tyInt but it seems like I shouldnt need to do this |
21:08:49 | MFlamer | I asked zahary eariler, but hes busy or away |
21:09:06 | Araq | check what other parts of the compiler do |
21:11:58 | zahary | and yes, the AST structures are a bit tautological sometimes - other parts of the compiler depend on the proper typ appearing in the typ field so you need to assign it |
21:11:58 | Varriount | Araq, you're back! |
21:12:59 | BitPuffin | Araq: hmm did not think of that xD |
21:13:06 | Varriount | Any particular reason parameters without any type specified default to the expr type, instead of throwing an error? I mean, what is the reasoning behind it? |
21:13:34 | BitPuffin | hey zahary! |
21:13:44 | BitPuffin | I was gonna ask you something but I can't seem to recall what it was |
21:13:48 | Araq | the reasoning is zahary likes it this way. more seriously it's consistent with the rest of the language |
21:13:58 | filwit | i like it too |
21:14:03 | Araq | template foo(a, b) = a + b |
21:14:13 | Araq | er, bad example |
21:14:26 | Araq | template foo(a, b): expr = a + b |
21:14:40 | Varriount | Yeah, but then you get wierd bugs or errors if you forget a type. |
21:14:42 | Araq | 'expr' makes most sense as the default type |
21:14:58 | Araq | well bugs are bugs ... |
21:15:01 | BitPuffin | weird* |
21:16:00 | BitPuffin | Araq: was this the talk you ment by hickey? http://youtu.be/dGVqrGmwOAw |
21:16:03 | filwit | Varriount: it's no less bug-prone than having expr really |
21:16:33 | Varriount | filwit, new users might be confused by this -> proc foo(x:proc(int):int, arg:int): bool = |
21:16:37 | MFlamer | I guess what I'm wondering is shouldnt there be 1 nkInt type for the entire AST, as oposed to many? |
21:17:01 | MFlamer | Or, maybe that dosent matter |
21:18:13 | zahary | nkInt really means int literal appearing in the source code |
21:18:35 | zahary | most integers in the program are nkSymbol (i.e. things like variables, constants, etc) |
21:18:41 | MFlamer | sorry tyInt |
21:19:23 | zahary | well, the multitude of tyInt types is preserved for the C backend |
21:20:34 | MFlamer | so, every symbol of skVar that is an int will have an individual type of tyInt? |
21:20:48 | Araq | no, they are cached |
21:20:50 | zahary | ah, I see what you mean |
21:21:18 | zahary | it was getSystemType(tyInt) or something like that |
21:21:27 | MFlamer | in the symbol table, correct? |
21:22:23 | zahary | see magicsys.nim/getSysType |
21:22:48 | Araq | in fact you need to be careful. there is tyInt and then tyInt + n(X) which is "int literal(X)" |
21:23:26 | MFlamer | ok |
21:23:34 | Araq | which is different so that mybyte + 1 produces a byte |
21:26:49 | fowl | http://clickingbad.nullism.com/ |
21:29:02 | reactormonk | no more cookies? |
21:30:09 | Varriount | Araq, just in case you don't know, there's about 7 pull requests open for contributions to the nimrod repo. |
21:30:46 | Araq | Varriount: there are 4 people who can merge iirc |
21:32:25 | Varriount | Yes, but do they know *they* know they can merge? I assumed that such things had to go through you. |
21:33:42 | Araq | well indeed I should do some reviews |
21:35:31 | * | freezerburnv joined #nimrod |
21:36:47 | * | XAMPP-8 joined #nimrod |
21:47:02 | Varriount | zahary, could you explain this? -> https://gist.github.com/Varriount/7456992 |
21:47:45 | * | XAMPP joined #nimrod |
21:49:46 | * | MFlamer quit (Remote host closed the connection) |
21:51:00 | fowl | Varriount, you arent calling typedescproc correctly |
21:51:14 | fowl | testtypedescproc(seq[int], int, iter) |
21:51:49 | filwit | Araq (or anyone): how can i iterator over a typedesc field pairs? The iterators in the system lib and typeinfo don't work with typedesc. |
21:52:15 | filwit | can i iterate** over.. |
21:53:36 | zahary | filwit, the typetrais module should gain magics for obtaining field names and types from a type, but in order to actually iterate over the values of an object, well, you need an object |
21:54:44 | * | XAMPP-8 quit (Ping timeout: 246 seconds) |
21:55:00 | filwit | zahary: hmm.. Can i make a macro which does it somehow ? (takes in a symbol name, finds type data from it, etc.. ) ? |
21:55:32 | zahary | can you clarify a bit more your goal |
21:55:55 | filwit | i'm trying to answer stingers question in the forums |
21:57:39 | zahary | he really needs a richer typetraits API |
21:57:42 | filwit | basically, i need a macro which transforms this: "type Vec3 = tuple[x, y, z:float32]" into this: "type TAosoa = object; x:array[4, float32], ..." |
21:58:15 | fowl | zahary, compiletime typetraits |
21:58:26 | filwit | hmm.. it's interesting, I wasn't expecting to run up to a wall with Nimrod on this. |
21:58:55 | filwit | so currently there's no way to run over a field pairs of an typedesc in any way? |
21:59:07 | zahary | there is another topic in the forum where I explain how easy it is to add new typetraits to the compiler :) |
21:59:22 | zahary | maybe you could try to do that |
21:59:41 | filwit | zahary: okay, so it's a "needs to be done" thing, i see |
21:59:54 | filwit | zahary: i will look into it later then |
22:00:22 | zahary | https://github.com/Araq/Nimrod/blob/master/lib/pure/typetraits.nim that's all we have so far |
22:00:29 | fowl | filwit, var x: t ; var any = x.toAny ; fieldpairs over y |
22:00:33 | filwit | zahary: as it will probably effect my life down the road, i'll fix it when it become relevant. |
22:00:39 | fowl | filwit, where x is a typedesc param |
22:00:54 | zahary | http://forum.nimrod-code.org/t/218 |
22:01:00 | zahary | the forum post I mentioned |
22:03:03 | filwit | sorry, one sec folks, on the phone |
22:06:44 | * | ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
22:07:56 | * | ics joined #nimrod |
22:11:21 | filwit | fowl: not sure i follow entirely. where did 'y' come from in your example? |
22:11:30 | filwit | zahary: thanks, i'll take a look. |
22:11:46 | fowl | filwit, sry i meant "any" instead of y |
22:11:59 | filwit | fowl: ah, okay. |
22:12:02 | gradha | I can't write '\n' but I can write char(0x0A), is there a more readable form for a newline char constant? |
22:12:02 | fowl | filwit, i used y in the test i did in aporia |
22:12:26 | filwit | fowl: 'x' is a typedesc? |
22:12:43 | fowl | filwit, yes |
22:12:44 | filwit | guess i'll just try it real quick |
22:12:59 | fowl | filwit, no, T is a typedesc, var x: t allocates a t |
22:13:19 | fowl | proc foo(t: typedesc) = var x: t; var any = x.toAny |
22:13:29 | filwit | okay. i see |
22:14:00 | filwit | i tried that earlier, but didn't know about 'toAny' |
22:14:31 | fowl | filwit, its in typeinfo |
22:14:43 | filwit | thanks |
22:14:55 | zahary | interesting method fowl, but I guess the typeinfo module won't work in compile-time context |
22:15:23 | fowl | oh hrm i only suggested that because i thought fieldpairs was in typeinfo |
22:16:21 | filwit | it's okay, i found it, but having a access nil error now |
22:16:31 | gradha | is there any clear restriction on what can be done at runtime vs compile time? |
22:16:35 | filwit | what happens if type T is a ref object? |
22:16:53 | filwit | oh, wait.. that probably doesn't matter.. |
22:19:18 | filwit | yeah, 'toAny()' causes the compiler to SIGSEGV |
22:19:31 | filwit | if used from a macro |
22:19:51 | fowl | filwit, i dont think typeinfo works at compiletime |
22:20:26 | filwit | yeah, just wanted to make sure |
22:24:30 | zahary | gradha, the typeinfo module makes some assumptions about the memory layout of the objects that are only true in the C backend after the code is compiled |
22:25:11 | zahary | other than that, C imported procs are not usable unless the compiled was compiled with FFI enabled |
22:25:50 | zahary | * unless the compiler (nimrod) was compiled* |
22:27:14 | zahary | Varriount: there are number of strange things in your gist. what are you trying to do exactly? is var x = testGenProc[seq[int],int] supposed to become a "factory" for creating iterators? |
22:27:18 | filwit | zahary: have you already started a typetraits lib? |
22:27:38 | zahary | yep, I posted an answer for you |
22:27:43 | gradha | so I can't use db_sqlite at compile time, but if I reimplemented sqlite in nimrod I could? Doesn't that mean you can't use disk IO since that maps to fopen? |
22:27:50 | filwit | ah right, i closed that link on accident |
22:28:40 | gradha | I guess I could use slurp/gorge, since they were meant for static compilation |
22:29:32 | zahary | gradha, yes, but you are better of with enabling FFI (which is going to become the default at some point) |
22:30:11 | zahary | there is also staticExec, which will allow you to have your sqlite code as an external program that the compiler will just call |
22:32:14 | gradha | I like the idea of implementing a dsl in a separate file, then slurp it with a macro at compile time |
22:32:55 | zahary | how is your DSL going to look like? |
22:32:59 | gradha | so you could have "insert_table_a.sql" files, and their extension is recognized by the editor, but still are slurped and parsed at compiletime |
22:33:24 | gradha | zahary: at some point I'll do argument parsing, no definite DSL there, there are several options |
22:33:50 | zahary | if you have some ideas already, I'll be interested to see a gist |
22:34:19 | gradha | Steve Donovan already implemented something nice at https://gist.github.com/stevedonovan/6409900 but it is all runtime |
22:34:33 | gradha | that's some nimrod implementation of lapp, which seems to be a lua dsl |
22:34:53 | freezerburnv | I'm getting a compiler error, can someone tell me what it means? |
22:34:54 | freezerburnv | hello.nim(14, 7) Info: instantiation from here |
22:34:54 | freezerburnv | debug.nim(18, 7) Error: expression 'debug' has no type (or is ambiguous) |
22:35:00 | freezerburnv | Code which causes it is here: https://gist.github.com/Freezerburn/7457726 |
22:35:11 | gradha | zahary: I'll also be taking ideas from https://github.com/docopt/docopt if valuable |
22:35:40 | gradha | one thing I dislike from all these dsl is that they leave no room for i18n |
22:35:41 | zahary | freezerburnv: for nimrod debug (lowercase) and DEBUG (uppercase) are the same |
22:36:07 | zahary | so I guess your error results from having the module name and the constant inside it with the same name |
22:36:25 | freezerburnv | Aaah |
22:36:50 | gradha | recently an issue was rejected like that too |
22:36:52 | freezerburnv | Is there complete case-insensitivity for all vars? Or just consts? Or what? |
22:37:29 | fowl | freezerburnv, all identifiers |
22:37:35 | zahary | gradha: but these are for command-line options, weren't you talking about SQL bindings? |
22:37:36 | fowl | vars, const, functions, modules |
22:38:08 | freezerburnv | fowl: That's an interesting choice to have in a language. Any idea why? |
22:38:11 | gradha | zahary: I want to implement sqlite parsing at least, no ideas for ORM yet |
22:38:35 | gradha | Araq tends to say that sql compile time parsing is possible, so I want to do it |
22:39:05 | fowl | freezerburnv, because you may not like camelCase so you can use camel_case |
22:39:11 | gradha | and looking from sqlite website, they have these fancy bnf-whatever-you-compiler-gods-call-it |
22:39:16 | zahary | well, we already have a pure nimrod parser I think - this one should work at compile time |
22:39:27 | fowl | freezerburnv, also _'s can be added |
22:39:33 | gradha | zahary: where? I was looking but didn't find it, at least in the sqlite related code |
22:39:42 | fowl | freezerburnv, so not only case-insensitive, its style-insensitive |
22:39:49 | freezerburnv | fowl: So basically, case and _'s are ignored? Interesting |
22:40:07 | gradha | freezerburnv: but for 1.0 release some of these may change, so beware |
22:41:40 | zahary | lib/pure/parsesql - I have only seen the name tho, I'm not sure what SQL dialect is targeted |
22:42:26 | gradha | looks pretty scary |
22:44:24 | gradha | indeed, what is parsesql doing there all alone instead of being integrated with the other modules? |
22:45:32 | zahary | dunno, it's quite old |
22:46:26 | * | gradha wonders if Araq has negative skills in marketing |
22:51:04 | gradha | is there a compiler switch which "preprocesses" a source file expanding all macros/templates just to see the output= |
22:51:08 | gradha | arr? |
22:51:11 | Araq | no |
22:51:26 | Araq | and yeah, I suck at marketing, you should know that by now |
22:51:42 | Araq | and parsesql works at compile time in theory ;-) |
22:52:21 | Araq | though I guess I should ensure it works in practice since I'm working on the new compile time engine anyway |
22:53:22 | gradha | aren't you doing too much stuff without commiting to master? or did you decide master is "stable" |
22:58:59 | gradha | so I have this fancy macro I've written but nimrod says "cannot evaluate" and leaves it at that |
22:59:40 | gradha | the code inside the macro compiles as a proc, so at least it has valid syntax |
23:00:29 | gradha | maybe I'm using something not available at compile time? https://gist.github.com/gradha/7458065 |
23:01:26 | * | CarpNet quit (Quit: Leaving) |
23:01:37 | gradha | ah, so the problem is the map line |
23:03:49 | gradha | ok, map works, the proc works, but lambdas don't |
23:06:49 | BitPuffin | Araq: maybe we need a mascot :p |
23:07:07 | gradha | BitPuffin: bold move for volunteering! |
23:07:15 | filwit | lol |
23:07:22 | BitPuffin | gradha: you mean I have to make one? ;_; |
23:07:28 | BitPuffin | I'll draw a penis |
23:07:42 | gradha | nah, pythonistas will claim prior art |
23:07:56 | BitPuffin | and I shall call it the tower of babel |
23:08:16 | filwit | haha |
23:08:32 | filwit | genius |
23:10:05 | Araq | BitPuffin: we have a mascot |
23:10:11 | * | freezerburnv quit (Quit: freezerburnv) |
23:10:28 | filwit | oh yeah... did i see that a long time ago |
23:10:38 | filwit | it's in the repo or something |
23:10:41 | gradha | don't tell me, a pink unicorn? |
23:10:48 | filwit | lol |
23:11:17 | BitPuffin | Araq: is it a golden crown? Because that's not really a mascot |
23:12:29 | filwit | BitPuffing, i think there's actually a mascot in the repo somewhere.. i forget, but kinda remember seeing it before |
23:12:49 | BitPuffin | filwit: who is this BitPuffing you speak of |
23:13:01 | filwit | lol |
23:13:14 | Araq | well the mascot is filwit's crown now |
23:13:15 | OrionPK | i like that name better |
23:13:24 | OrionPK | mascots are typically not inanimate |
23:13:29 | filwit | ^ |
23:13:37 | filwit | the crown is more of a "logo" |
23:13:39 | OrionPK | the crown is a logo |
23:13:40 | OrionPK | eyah |
23:13:52 | BitPuffin | OrionPK: Is Puffing even a thing. Puffin is a kind of bird/penguin thing |
23:14:04 | filwit | one is the playful things you put on mugs and shit, the other is your advertisement face |
23:14:04 | OrionPK | puffing is a thing |
23:14:11 | OrionPK | as in huffing and puffing |
23:15:24 | filwit | not that nimrod really needs a mascot though guys.. it's not like anyone's having t-shirts made or anything right now. |
23:15:29 | BitPuffin | OrionPK: lol |
23:15:43 | BitPuffin | well I want a nimrod t-shirt god damn it |
23:15:46 | Araq | alright well we have a logo and hell freezes over before we get that golang bunny |
23:15:59 | BitPuffin | that's kind of what made me thing of it HAHA |
23:16:01 | filwit | hahaha |
23:17:21 | BitPuffin | maybe we should have something that eats bunnies or something |
23:17:32 | OrionPK | I agree, mascots are silly |
23:17:52 | gradha | I like BitPuffin's babel mascot |
23:17:56 | dom96 | Do other languages have mascots? |
23:18:03 | OrionPK | go has a gopher thing |
23:18:05 | dom96 | (except go) |
23:18:13 | filwit | babel has a mascot? |
23:18:26 | BitPuffin | OrionPK: But look at all the big languages. Java has that guy guy, python has a snake probable, go has gopher |
23:18:32 | BitPuffin | C has unix (lol) |
23:18:46 | filwit | idk, D doesn't have a mascot |
23:18:48 | BitPuffin | perl has that bird thing |
23:18:52 | filwit | either does C# |
23:18:52 | BitPuffin | but D isn't big |
23:18:59 | filwit | ^ see bove |
23:19:01 | filwit | above* |
23:19:05 | dom96 | yeah, we're not big either :P |
23:19:08 | BitPuffin | no |
23:19:12 | BitPuffin | and we and D do not have mascots |
23:19:15 | BitPuffin | it all makes sense |
23:19:15 | filwit | Java has a mascot? |
23:19:18 | BitPuffin | yes |
23:19:19 | BitPuffin | filwit: that guy |
23:19:22 | BitPuffin | wtf is his name |
23:19:26 | BitPuffin | the black and white thing |
23:19:31 | BitPuffin | with a ball as a nose |
23:19:36 | filwit | ahh, right |
23:19:38 | BitPuffin | Duke |
23:19:39 | filwit | that jester dude |
23:19:46 | filwit | right |
23:19:56 | BitPuffin | Duke nukem |
23:20:23 | BitPuffin | thanks gradha btw :P |
23:20:37 | BitPuffin | I knew you'd be on board |
23:20:41 | filwit | screw mascots though. I'm just going to make a obama "hope" style pic of Araq's strangloop pic and start posting it everywhere |
23:21:05 | BitPuffin | HAHAHA |
23:21:08 | BitPuffin | that would be nice |
23:21:10 | filwit | the images wont have captions, they'll just like to the nimrod site |
23:21:34 | BitPuffin | I vote that Araq becomes our new mascot |
23:21:46 | filwit | lol |
23:23:29 | BitPuffin | he does have a pretty friendly face |
23:24:31 | * | MFlamer joined #nimrod |
23:24:55 | BitPuffin | filwit: I expect hope pictures by tomorrow morning |
23:25:01 | BitPuffin | we need to make Araq famous! |
23:25:10 | filwit | lol |
23:25:43 | BitPuffin | hmm, but maybe we shouldn't look like some kind of cult either |
23:25:46 | BitPuffin | that wouldn't be good |
23:25:52 | filwit | nah, i wont embarrass him that much, haha |
23:27:32 | Araq | good. thanks |
23:29:10 | BitPuffin | speaking of strange loop. Araq we really want the recordings of the talk :( any chance you can shoot them an email? or can we send an email demanding it somewhere? |
23:31:23 | dom96 | I for one would love Araq's face on a t-shirt with the caption "I <3 the Nimrod BDFL" :P |
23:31:46 | BitPuffin | dom96: BDFL? |
23:31:51 | BitPuffin | ah |
23:31:56 | BitPuffin | benevouarc h 4lyf |
23:31:58 | gradha | blunt dictator for life |
23:32:01 | filwit | Belovid Dictartor for life |
23:32:11 | filwit | gradha's is better |
23:32:22 | dom96 | Bra Developer For Life. |
23:32:32 | BitPuffin | yeah that would be awesome |
23:32:37 | filwit | o.O |
23:32:39 | BitPuffin | I would buy 20 |
23:32:43 | BitPuffin | thousand |
23:32:54 | BitPuffin | toothpicks |
23:32:59 | BitPuffin | to whoever put that together |
23:33:32 | fowl | <epitron> golang binaries are so big... i made a hello world. it's 1.3 megs. |
23:33:50 | reactormonk | not bad |
23:33:51 | BitPuffin | fowl: how big is nimrod's? |
23:33:59 | filwit | fowl: same with D |
23:34:26 | fowl | BitPuffin, 156k |
23:34:31 | BitPuffin | are you sure that's the same with D? I mean you can import std.io: writeln or whatever |
23:34:35 | gradha | don't worry, with ouroboros you can embed an mp4 into your binary, so your size won't be smaller than that from those lesser languages |
23:34:46 | BitPuffin | whereas in nirmod you get system.nim |
23:34:52 | gradha | because size matters |
23:35:02 | BitPuffin | anyways |
23:35:05 | BitPuffin | time to sleep |
23:35:11 | fowl | BitPuffin, the trick is deadCodeElim |
23:35:11 | gradha | good night |
23:35:11 | BitPuffin | filwit, remember, change |
23:35:15 | BitPuffin | fowl: yup |
23:35:18 | filwit | BitPuffin: problem is usually 'writeln' depends one another module that imports a bunch of stuff |
23:35:21 | BitPuffin | fowl: but doesn't D have those too? |
23:35:26 | fowl | idk |
23:35:27 | BitPuffin | those dead codes |
23:35:30 | BitPuffin | that are eliminated |
23:35:33 | BitPuffin | by the terminator |
23:35:36 | fowl | D to me is an abbreviation for dick |
23:35:37 | MFlamer | goodnight Bitpuffin |
23:35:49 | BitPuffin | see you guys |
23:35:58 | filwit | bye! |
23:36:07 | BitPuffin | you guys are gonna have to get up earlier. It's so lonely during the day at my internship in this irc |
23:36:10 | BitPuffin | bai! |
23:36:14 | filwit | fowl, lol |
23:40:33 | * | BitPuffin quit (Ping timeout: 246 seconds) |
23:42:19 | MFlamer | in ast.nim I see "nkDerefExpr, # a^" is `^ ` an operatorI dont know about? |
23:43:46 | fowl | MFlamer, its old |
23:43:53 | fowl | deref is now ptr[] |
23:44:30 | * | EXetoC joined #nimrod |
23:44:57 | MFlamer | thanks |
23:45:31 | * | freezerburnv joined #nimrod |
23:50:34 | gradha | Good night |
23:50:49 | * | gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=2IzR_ClTE8Y again) |
23:51:16 | Araq | same here, good night |
23:51:29 | filwit | later guys |
23:51:58 | MFlamer | is there a way to render the entire AST or a piece of it? |
23:52:18 | MFlamer | I use debug alot, but would like to see more at once |
23:52:31 | filwit | dumpTree: <nimcode> ... OR pnode.treeRepr |
23:52:41 | fowl | from a macro repr(node) will show it in nimrod codes |
23:53:00 | MFlamer | that'll show more than one node? |
23:53:05 | filwit | treeRepr(node) will |
23:53:11 | MFlamer | ok, cool |
23:53:36 | Araq | MFlamer: renderTree(ast) |
23:53:53 | MFlamer | sweet |
23:54:07 | MFlamer | goodnight guys |
23:54:13 | filwit | night! |
23:55:01 | MFlamer | Think about my web meeting idea Araq |
23:56:22 | Araq | well don't we do that already? |
23:57:00 | filwit | it's a lot easy to convey ideas in person |
23:57:12 | MFlamer | yeah, but it seems like you could cover alot of ground on the compiler quickly |
23:57:18 | filwit | but then, it's only productive if you have a team actually working on stuff a ton |
23:57:33 | * | freezerburnv quit (Quit: freezerburnv) |
23:57:52 | MFlamer | Sure. |
23:58:24 | MFlamer | Why ever meet in person then? |
23:58:45 | filwit | well i agree meeting online would be good |
23:59:04 | filwit | but i don't have time to put towards compilers bugs or anything right now |
23:59:04 | MFlamer | Anyway, only worth it if it saves Araq time |
23:59:19 | filwit | so it wouldn't really help if i showed up just to chat, lol |
23:59:29 | MFlamer | maybe after 1.0 or something |
23:59:41 | filwit | maybe others are working on the compiler more, but it seems like it's mostly casual right now |