00:08:00 | Varriount | dom96, Araq: Found out why the babel tests weren't running on Win64. Seems I forgot to add babel to my 64 bit build path. |
00:08:13 | * | CARAM quit (Remote host closed the connection) |
00:09:28 | * | CARAM joined #nimrod |
00:14:59 | * | CARAM quit (Remote host closed the connection) |
00:15:50 | * | DAddYE quit (Remote host closed the connection) |
00:18:48 | * | CARAM joined #nimrod |
00:25:44 | * | BitPuffin joined #nimrod |
00:29:18 | * | CARAM quit (Remote host closed the connection) |
00:30:33 | * | Skrylar quit (Ping timeout: 252 seconds) |
00:31:55 | * | q66 quit (Quit: Leaving) |
00:44:42 | * | rixx quit (Quit: WeeChat 0.4.3) |
00:44:50 | * | rixx joined #nimrod |
00:45:59 | BitPuffin | that moment when you can't create the reopo for your game because you don't know what you want to call it |
00:46:21 | Varriount | Gragagahahablahbaa |
00:46:58 | Varriount | I have like, 5 versions of the windows sdk installed on my computer, because Microsoft decided to do wierd things with their windows 8 sdk. |
00:49:14 | * | flaviu joined #nimrod |
00:56:46 | * | CARAM joined #nimrod |
00:57:39 | * | CARAM quit (Read error: Connection reset by peer) |
00:58:01 | * | CARAM joined #nimrod |
01:21:48 | * | CARAM quit (Remote host closed the connection) |
01:25:02 | * | BitPuffin quit (Ping timeout: 246 seconds) |
01:27:35 | * | nande joined #nimrod |
01:28:39 | * | CARAM joined #nimrod |
01:30:05 | * | CARAM quit (Remote host closed the connection) |
01:32:55 | * | bitcrusher quit (Quit: Leaving.) |
01:51:24 | * | DAddYE joined #nimrod |
02:04:06 | * | CARAM joined #nimrod |
02:06:52 | * | CARAM quit (Remote host closed the connection) |
02:16:44 | * | brson quit (Quit: leaving) |
02:20:08 | * | brson joined #nimrod |
02:30:38 | * | CARAM joined #nimrod |
02:34:55 | * | CARAM quit (Read error: Connection reset by peer) |
02:37:42 | * | DAddYE quit (Remote host closed the connection) |
02:51:08 | * | CARAM joined #nimrod |
02:55:47 | * | DAddYE joined #nimrod |
02:56:32 | * | CARAM_ joined #nimrod |
02:57:14 | Varriount | fowl: As soon as I can actually *get* allegro 5 to compile into a dll, I'll test your allegro wrapper. |
02:58:49 | * | CARAM_ quit (Remote host closed the connection) |
02:59:13 | * | CARAM quit (Ping timeout: 240 seconds) |
03:00:09 | * | DAddYE quit (Remote host closed the connection) |
03:00:43 | * | DAddYE joined #nimrod |
03:00:56 | * | Mordecai joined #nimrod |
03:01:18 | * | Mordecai is now known as Guest54139 |
03:01:51 | * | psquid quit (Ping timeout: 252 seconds) |
03:02:19 | * | CARAM joined #nimrod |
03:02:45 | fowl | Varriount, there has to be binaries somewhere |
03:02:48 | fowl | version 5.0.10 btw |
03:03:50 | fowl | Varriount, https://www.allegro.cc/files/?v=5.0 |
03:04:33 | * | CARAM quit (Remote host closed the connection) |
03:05:32 | * | brson quit (Quit: leaving) |
03:18:01 | * | CARAM joined #nimrod |
03:28:29 | * | CARAM quit (Remote host closed the connection) |
03:31:08 | * | CARAM joined #nimrod |
03:33:08 | * | CARAM quit (Remote host closed the connection) |
03:58:07 | fowl | new client/server example https://github.com/fowlmouth/flaming-nemesis |
04:07:40 | * | CARAM joined #nimrod |
04:17:24 | * | DAddYE quit (Ping timeout: 255 seconds) |
04:20:13 | * | nequitans quit (Ping timeout: 245 seconds) |
04:26:34 | * | DAddYE joined #nimrod |
04:31:12 | * | jbe joined #nimrod |
04:35:19 | jbe | hrm i'm getting a SIGSEGV from gc.nim, line 206 while trying to update an array... |
04:35:41 | jbe | does anyone have an idea what this could be? |
04:35:47 | fowl | jbe, ill take a look |
04:37:57 | fowl | ? |
04:42:06 | jbe | fowl: would you like to see the code? maybe i'm doing something wrong |
04:42:37 | fowl | ya |
04:46:47 | jbe | fowl: see bottom of gist https://gist.github.com/jbe/10091773 |
04:49:07 | jbe | probably some logical/implementation errors in that ADT, i don't understand the error though |
04:55:44 | fowl | do you have some code that makes it fail? |
04:56:00 | jbe | fowl: yeah one moment |
04:58:41 | jbe | fowl: okay, i added the tests as another file at the bottom of the same gist |
04:59:14 | jbe | they'll need a little refactoring to run |
04:59:19 | fowl | ok |
04:59:40 | fowl | btw i noticed if you use range[1..x] it fails to roll over properly |
05:01:23 | fowl | jbe, i dont get any gc error here, are you running the latest nimrod? |
05:01:28 | jbe | huh? i use 0.., not 1.. not sure i understood |
05:01:43 | jbe | oh awesome, no i don't run the very latest |
05:01:50 | jbe | a few weeks old maybe |
05:02:28 | jbe | that's helpful, thanks |
05:04:32 | fowl | jbe, i know you use 0..x i was just saying, i tried it with 1..2 |
05:06:09 | jbe | right right i understand now. yeah i know. |
05:07:02 | jbe | but i cant do SomeType[16] right..? it needs to be a range from what i understand |
05:11:04 | jbe | fowl: sometimes it would be useful to have a type like, for instance RingBuffer[int, 16], where 16 is simply the size of the buffer.. i don't know if there's some way to do that? |
05:12:28 | * | DAddYE quit (Read error: Connection reset by peer) |
05:13:06 | * | CARAM quit (Remote host closed the connection) |
05:14:12 | fowl | jbe, you should be able to use static[int] for IX |
05:15:16 | jbe | oh ok. nice. |
05:16:15 | fowl | that doesnt seem to be working though :/ |
05:17:02 | jbe | yeah that's what i thought |
05:17:15 | jbe | it's nice to know that it should though :P |
05:18:02 | * | DAddYE joined #nimrod |
05:34:25 | jbe | btw, i got an email saying the repo had been pruned, but now that i'm cloning it is still downloading 315mb |
05:37:49 | fowl | not sure if it has been done yet |
05:46:49 | jbe | fowl: i still get the same errors.. which platform did you test on? |
05:48:32 | fowl | linux |
05:48:48 | jbe | me too urgh |
05:48:48 | fowl | gcc |
05:54:50 | fowl | good night |
05:54:55 | fowl | jbe, you should submit an issue |
05:55:23 | jbe | ok will do |
05:58:48 | jbe | it compiles fine with --gc:markAndSweep |
06:05:49 | jbe | and also if i remove the "test" template block. i'll try some more |
06:20:04 | jbe | aha! it only happens with the default gc and --threads:on |
06:25:33 | * | DAddYE quit (Ping timeout: 255 seconds) |
06:46:45 | jbe | this is one seriously funky bug to figure out.. i can't reproduce the failure yet.. it seems to be related to some allocShared and casting being done somewhere else in the program, still haven't figured out if its my own codes fault or not.. |
06:51:11 | jbe | replaced the allocShared calls (in another file within the project) with plain alloc, and it works again..! |
07:06:52 | * | Demos quit (Read error: Connection reset by peer) |
07:26:45 | jbe | i was able to reproduce the segfault at last, but i don't know whose bug it is, and the reproduction is a few hundred lines, so i wont submit it unless asked to again. i'm too tired to figure it out now. but if anyone is interested the (messy) code that made gc.nim sigsegv is here https://gist.github.com/jbe/10099102 |
07:27:27 | * | jbe quit (Quit: Leaving) |
07:38:25 | * | flaviu quit (Remote host closed the connection) |
07:53:03 | * | bitcrusher joined #nimrod |
07:58:38 | * | nande quit (Remote host closed the connection) |
08:19:22 | * | gabber808 joined #nimrod |
08:19:44 | gabber808 | Hi everyone. Can anybody tell me please what the "addr" keyword means in the following line: while pollEvent(addr event) > 0: |
08:21:04 | runvnc | gabber808: did you see this in the manual http://nimrod-lang.org/manual.html#the-addr-operator |
08:21:52 | gabber808 | thanks run. I thought I tried ctrl-f(addr), but somehow I missed it then |
08:21:53 | runvnc | its the address of the pointer |
08:22:41 | runvnc | er.. well maybe thats not quite right. maybe its just a pointer in that case |
08:23:16 | gabber808 | ok, thanks |
08:53:57 | * | CarpNet joined #nimrod |
09:13:37 | gabber808 | Hi everyone. I am trying to use sdl to animate a circle as it moves across the screen. I can get the circle moving, but I cannot seem to integrate this with events. For example, the event which exits the program. Can anyone suggest how to improve this please?: http://pastebin.com/6E4bt8Ls |
09:14:29 | gabber808 | (its not catching the exit event) |
09:17:28 | gabber808 | Hi everyone. I am trying to use sdl to animate a circle as it moves across the screen. I can get the circle moving, but I cannot seem to integrate this with events. For example, the event which exits the program. Can anyone suggest how to improve this please?: http://pastebin.com/6E4bt8Ls |
09:17:30 | gabber808 | (its not catching the exit event) |
09:39:00 | * | ics quit (*.net *.split) |
09:39:00 | * | silven quit (*.net *.split) |
09:39:01 | * | eximiuswastaken quit (*.net *.split) |
09:39:01 | * | dom96 quit (*.net *.split) |
09:39:01 | * | Boscop quit (*.net *.split) |
09:39:01 | * | betawaffle quit (*.net *.split) |
09:39:20 | * | dom96 joined #nimrod |
09:39:44 | * | comex quit (*.net *.split) |
09:39:44 | * | renesac quit (*.net *.split) |
09:39:55 | * | Ycros quit (*.net *.split) |
09:39:56 | * | seubert quit (*.net *.split) |
09:40:54 | * | silven joined #nimrod |
09:40:59 | * | renesac joined #nimrod |
09:41:17 | * | Amrykid quit (*.net *.split) |
09:41:17 | * | Araq quit (*.net *.split) |
09:41:17 | * | EXetoC quit (*.net *.split) |
09:41:22 | * | comex joined #nimrod |
09:41:49 | * | Amrykid joined #nimrod |
09:41:52 | * | Araq_bnc joined #nimrod |
09:41:52 | * | Ycros joined #nimrod |
09:42:11 | * | mal`` quit (*.net *.split) |
09:42:12 | * | fowl quit (*.net *.split) |
09:42:12 | * | Raynes quit (*.net *.split) |
09:42:12 | * | zahary1 quit (*.net *.split) |
09:42:12 | * | JStoker quit (*.net *.split) |
09:42:39 | * | zahary joined #nimrod |
09:42:43 | * | gabber808 quit (Ping timeout: 245 seconds) |
09:42:56 | * | fowl joined #nimrod |
09:43:25 | * | Araq_bnc is now known as Araq |
09:43:47 | * | JStoker joined #nimrod |
09:45:06 | * | mal`` joined #nimrod |
09:45:47 | * | seubert joined #nimrod |
09:46:21 | * | betawaffle joined #nimrod |
09:46:31 | * | EXetoC joined #nimrod |
09:47:59 | * | ics joined #nimrod |
09:49:16 | * | eximiuswastaken joined #nimrod |
09:49:41 | * | Ycros quit (Remote host closed the connection) |
09:50:00 | * | Ycros joined #nimrod |
09:50:33 | * | Raynes joined #nimrod |
09:50:33 | * | Raynes quit (Changing host) |
09:50:33 | * | Raynes joined #nimrod |
10:03:27 | * | Ycros quit (*.net *.split) |
10:03:28 | * | darkf quit (*.net *.split) |
10:03:52 | * | darkf joined #nimrod |
10:04:45 | * | Ycros joined #nimrod |
10:11:24 | * | darkf quit (Read error: Connection reset by peer) |
10:12:09 | * | darkf joined #nimrod |
10:25:31 | * | io2 joined #nimrod |
10:26:42 | * | fowl quit (*.net *.split) |
10:26:43 | * | renesac quit (*.net *.split) |
10:26:43 | * | CarpNet quit (*.net *.split) |
10:26:43 | * | bitcrusher quit (*.net *.split) |
10:26:44 | * | askatasuna quit (*.net *.split) |
10:26:44 | * | rta quit (*.net *.split) |
10:26:44 | * | vendethiel quit (*.net *.split) |
10:26:44 | * | musicalchair quit (*.net *.split) |
10:26:44 | * | zielmicha_beta quit (*.net *.split) |
10:26:45 | * | phI||Ip quit (*.net *.split) |
10:27:12 | * | vendethiel joined #nimrod |
10:27:14 | * | phI||Ip joined #nimrod |
10:27:19 | * | bitcrusher joined #nimrod |
10:27:26 | * | CarpNet joined #nimrod |
10:27:27 | * | askatasuna joined #nimrod |
10:27:28 | * | zielmicha_beta joined #nimrod |
10:28:12 | * | fowl joined #nimrod |
10:28:21 | * | musicalchair joined #nimrod |
10:28:32 | * | renesac joined #nimrod |
10:29:03 | * | rta joined #nimrod |
10:39:42 | * | Guest54139 quit (*.net *.split) |
10:40:12 | * | Guest54139 joined #nimrod |
10:40:13 | * | Guest54139 quit (Changing host) |
10:40:13 | * | Guest54139 joined #nimrod |
11:22:06 | * | ics quit (Ping timeout: 252 seconds) |
11:56:33 | * | BitPuffin joined #nimrod |
12:04:01 | * | darkf quit (Read error: Connection reset by peer) |
12:04:49 | * | darkf joined #nimrod |
12:19:15 | * | rta quit (Ping timeout: 252 seconds) |
12:23:05 | * | rta joined #nimrod |
12:48:48 | * | darkf quit (Quit: Leaving) |
13:00:27 | * | gabber808 joined #nimrod |
13:01:27 | gabber808 | Hi everyone. I am trying to use sdl to animate a circle as it moves across the screen. I can get the circle moving, but I cannot seem to integrate this with events. For example, the event which exits the program. Can anyone suggest how to improve this please?: http://pastebin.com/6E4bt8Ls |
13:16:58 | * | bitcrusher quit (Quit: Leaving.) |
13:26:51 | * | faassen joined #nimrod |
13:34:10 | EXetoC | gabber808: what happens? |
13:34:17 | EXetoC | I haven't looked at that macro yet |
13:35:11 | gabber808 | it moves, then pauses etc |
13:35:35 | EXetoC | ok but doesn't the quit event work? does clicking "X" or whatever not terminate the app? |
13:36:44 | EXetoC | oh |
13:37:15 | EXetoC | "while true" prevents events from being polled |
13:38:58 | EXetoC | withEvents is not very well-documented yet, but check the source code to see why it doesn't work. |
13:40:18 | EXetoC | or the example, which doesn't rely on an explicit while loop, because "withEvents" already takes care of the looping, hence why it doesn't exit immediately after the first frame |
13:49:02 | gabber808 | Thanks EXetoc. So I made this one instead, which doesn't use withEvents. The exit button works, but now the animation is not smooth. I can't seem to get both smooth animation and events working: http://pastebin.com/McZLwGFt |
13:55:11 | EXetoC | gabber808: no, because no two frames will take the same amount of time to execute |
13:55:46 | EXetoC | and so 'x' might be incremented after 1ms the first time and then 3ms after that |
13:57:02 | gabber808 | I see. Its a lot easier in javascript/canvas. Any suggestions on how to fix the code? |
14:01:07 | EXetoC | there's some time module that let's you get the current time, and I think SDL has that too. so basically, what you need to do is this: "x *= millisecondsSinceLastFrame * someSpeedMultiplier" |
14:01:25 | EXetoC | and then you need to figure out the rest of the logic, such as how to measure the time between frames |
14:01:58 | EXetoC | and I assume that x is a float in this case |
14:02:22 | EXetoC | that's not strictly necessary but it greatly simplifies the code |
14:10:15 | gabber808 | OK, thank you. I'll look into that. |
14:11:28 | gabber808 | (though my first example gave smooth animation? |
14:11:38 | gabber808 | without your suggestion |
14:18:29 | EXetoC | you said it wasn't smooth |
14:20:06 | EXetoC | nevermind that |
14:20:42 | EXetoC | I don't even know how the window could be updated with the original code |
14:21:03 | EXetoC | bbl. other people should be active soon |
14:24:53 | BitPuffin | gabber808: you should always multiply it by delta time |
14:24:57 | BitPuffin | even in javascript canvas |
14:25:53 | BitPuffin | otherwise if it is ran on a faster computer and/or javascript engine, the animations will be faster |
14:25:57 | BitPuffin | unless you have a locked time step |
14:26:36 | gabber808 | Basically I can get the circle moving. And I can get a window to close. But not in the same program ! Could anybody use either of my two code examples to show me how it should be done please? |
14:27:02 | gabber808 | Yes, I don't mind if the speed varies from computer to computer. |
14:28:09 | EXetoC | then it'll be a rough animation everywhere, in most cases |
14:28:22 | gabber808 | ok, I don't mind rough either |
14:28:23 | EXetoC | gabber808: show the new code |
14:28:47 | * | askatasuna quit (Quit: WeeChat 0.4.3) |
14:30:59 | EXetoC | wasn't I supposed to go? later :> |
14:33:01 | gabber808 | So this is the closest I have got. The circle moves fine, but the window doesn't close when clicked: http://pastebin.com/uKEMCWSM |
14:33:45 | EXetoC | nvm it's raining outside |
14:33:46 | * | jbe joined #nimrod |
14:33:50 | EXetoC | ok I'll actually run it now. sec |
14:35:14 | jbe | a field of type array[A,B] in an object is a value type, right? as in i don't have to allocate it after allocating the object? |
14:35:26 | EXetoC | gabber808: it's going to reach "var x: int" again without the inner loop |
14:35:27 | fowl | jbe, thats correct |
14:35:41 | EXetoC | which means that you're initializing it to zero every time, and then incrementing to one |
14:36:16 | EXetoC | so you'll end up with (1, 100) for every iteration |
14:36:20 | jbe | k thx |
14:36:38 | gabber808 | but the circle moves fine |
14:37:00 | EXetoC | gabber808: I mean without the "while true" |
14:37:36 | fowl | gabber808, the program is getting caught in the inner loop, the withEvent template already has a loop so the inner one is not needed |
14:37:40 | EXetoC | gabber808: so remove that and then de-ident those statements |
14:37:54 | fowl | gabber808, but you need to move the `x` variable out of the loop so it behaves properly |
14:38:13 | EXetoC | you're just repeating what I said, but yes |
14:38:18 | fowl | oh sorry |
14:41:36 | EXetoC | pro tip: print debugging |
14:42:37 | * | flaviu joined #nimrod |
14:42:59 | gabber808 | I am really confused. Are you saying I don't need any while loops, only "withEvents"? |
14:43:23 | EXetoC | gabber808: the top level of "withEvents" is a while loop |
14:43:41 | EXetoC | just that it's hidden from users. see graphics.nim:490 |
14:44:00 | gabber808 | OK, so I have implemented your suggestion, and now the circle doesn't move (but the window DOES close properly) |
14:44:33 | EXetoC | as I said, all those lines will be executed repeatedly, including "var x: int" |
14:44:58 | gabber808 | Actually, it does move, but sporadically |
14:45:05 | * | rixx quit (*.net *.split) |
14:45:05 | * | bstrie_ quit (*.net *.split) |
14:45:05 | * | OrionPK quit (*.net *.split) |
14:45:05 | * | Trixar_za quit (*.net *.split) |
14:45:05 | * | krusipo_ quit (*.net *.split) |
14:45:30 | * | bstrie joined #nimrod |
14:45:36 | * | Trixar_za joined #nimrod |
14:45:43 | EXetoC | well, is 'x' declared inside or outside "withEvents"? |
14:46:01 | gabber808 | Declared outside, incremented inside |
14:47:01 | EXetoC | it does move for me, but only when triggering other events such as mouse focus |
14:47:54 | gabber808 | OK, at least the problems not me ! |
14:48:01 | EXetoC | so I don't know if this part of the withEvents implementation is correct: "if SDL.WaitEvent(addr(event)) == 1:" |
14:48:24 | * | rixx joined #nimrod |
14:50:43 | * | krusipo joined #nimrod |
14:51:41 | * | nande joined #nimrod |
14:52:37 | EXetoC | you should be able to get it working somehow without withEvents |
14:56:33 | BitPuffin | he needs to emit an event for each time it should update or something then I guess |
14:56:41 | BitPuffin | he could probably set up a timer somewhere |
14:56:42 | gabber808 | I have exactly the same problem using sdl directly without the graphics lib. I can get a smooth circle, or a program that exists, but not both together |
14:56:56 | BitPuffin | which emits an even't every 0.05 seconds or something |
14:57:50 | gabber808 | smooth circle, but program won't exit: http://pastebin.com/E9sCaEG3 |
14:58:25 | gabber808 | *exits, not exists ! |
14:59:39 | EXetoC | right, because the event handling is omitted completely as a result |
15:00:54 | gabber808 | Or this one: http://pastebin.com/dCukyWfd |
15:00:56 | EXetoC | gabber808: see sdl.PollEvent |
15:01:12 | EXetoC | oh |
15:17:40 | * | faassen quit (Quit: Leaving.) |
15:32:50 | * | BitPuffin quit (Ping timeout: 246 seconds) |
15:39:22 | * | jbe quit (Quit: Leaving) |
15:51:46 | fowl | gabber808, graphics and sdl 1.2 are low level modules for writing games, there are many alternatives, csfml, sdl2, allegro, all of these are higher level and use directx/opengl rather than sdl1s software rendering |
15:53:16 | * | BitPuffin joined #nimrod |
15:57:17 | Varriount | fowl: The binaries on that page are for allegro 4, not 5 |
15:57:56 | Varriount | I was under the presumption that your "allegro5" wrapper covered... allegro 5 |
15:58:31 | * | BitPuffin quit (Ping timeout: 240 seconds) |
15:58:33 | fowl | Varriount, ask in #allegro they probabl have a binary |
16:02:45 | * | bitcrusher joined #nimrod |
16:04:59 | * | jbe joined #nimrod |
16:05:26 | EXetoC | fowl: it supports hardware rendering too |
16:05:35 | EXetoC | and SDL 1.2 is more agnostic in that regard, isn't it? |
16:13:10 | * | DAddYE joined #nimrod |
16:14:44 | jbe | could someone take a quick look at this code before i submit it as an issue? https://gist.github.com/jbe/10099102 |
16:16:04 | Varriount | jbe: Have you taken into account the fact that string literals are null terminated? |
16:17:41 | fowl | jbe, using alloc0 for the string makes it work for me |
16:18:20 | jbe | fowl: ah right that makes sense |
16:27:36 | fowl | gabber808, you still around? |
16:27:43 | gabber808 | yup |
16:27:57 | gabber808 | Do you have a magical solution for me ;-) |
16:31:00 | fowl | gabber808, http://pastebin.com/eeSLQjR9 |
16:32:21 | gabber808 | Terrific, well done. I now have a moving circle, and I can close the window ! |
16:32:34 | gabber808 | And thank you |
16:33:41 | gabber808 | Looks quite complicated ! |
16:37:03 | fowl | that is just a basic game loop |
16:37:52 | fowl | gabber808, if you use it, change the framerate = line to int32(1/60 * 1000) |
16:38:11 | gabber808 | ok, thank you |
16:42:18 | * | gabber808 quit (Ping timeout: 240 seconds) |
16:50:04 | * | icebattle joined #nimrod |
16:50:07 | * | CARAM joined #nimrod |
16:50:17 | * | gabber808 joined #nimrod |
16:50:28 | * | CARAM quit (Client Quit) |
17:05:50 | * | Matthias247 joined #nimrod |
17:13:56 | * | q66 joined #nimrod |
17:25:17 | * | BitPuffin joined #nimrod |
17:29:18 | * | BitPuffin quit (Ping timeout: 240 seconds) |
17:51:51 | reactormonk | Varriount, ok, later it is. had to work some. |
17:52:20 | Varriount | reactormonk: Later what is? |
17:52:39 | reactormonk | Varriount, git stuff |
18:11:40 | Araq | Varriount: did you send the emails before we purged? lol |
18:14:13 | Varriount | Did we purge? I wasn't told. |
18:14:36 | Varriount | I said that I had them ready, and was waiting for confirmation that the repo had been purged. |
18:14:42 | * | gabber808 quit (Quit: Page closed) |
18:14:50 | Varriount | As far as I know, the master branch looks the same. |
18:15:09 | Varriount | Araq ^ |
18:17:40 | Araq | Varriount: dom96 said I need to merge all PRs before we can purge |
18:17:48 | Araq | hence the delay |
18:18:43 | Varriount | Well I have class in 2 hours, and work to get done. |
18:19:25 | EXetoC | dom96: does `=>` break in a different way now? |
18:20:19 | Araq | EXetoC: I think so |
18:20:28 | EXetoC | ok |
18:22:49 | dom96 | EXetoC: The closure macro? Kinda. Not enough time to properly get it working now. |
18:23:49 | reactormonk | Araq, I was looking into how to move the PRs to the new branch |
18:23:55 | reactormonk | it's slightly complicated, but possible |
18:24:42 | Araq | well I'm about to simple merge the last 3 and see what it breaks |
18:25:13 | dom96 | don't merge #998 |
18:25:13 | reactormonk | now that's a good way to get rid of the PRs |
18:25:34 | dom96 | unless you disagree with my comments |
18:25:43 | Araq | damn |
18:26:03 | EXetoC | dom96: can 'closure' be applied only when necessary? |
18:26:17 | dom96 | EXetoC: I'm not sure what you mean |
18:26:25 | EXetoC | the closure pragma |
18:26:47 | Araq | dom96: well I think we should teach nimrod's website builder how to generate the list of babel packages and do it all offline, no JS crap |
18:28:03 | dom96 | EXetoC: it's implicit in certain cases |
18:28:52 | dom96 | Araq: Let's worry about this later. |
18:29:40 | Araq | no, it's important for the release |
18:30:10 | EXetoC | explicitly specifying it might make the expression twice as long in some cases, but at least we'll get a more compact pragma syntax at one point |
18:34:56 | dom96 | Araq: Do you want docs generated for ALL the packages? |
18:35:13 | dom96 | We should have a separate site for that |
18:35:14 | EXetoC | did someone add a hover indicator to the website menu entries? nice! |
18:35:24 | Araq | dom96: yeah well nimrod-code ones should be special |
18:35:34 | Araq | since they have an "official" character |
18:38:24 | Araq | doing it offline has the disadvantage that we need to regenerate it all the time |
18:38:46 | Araq | but you can have a daily website updater or something |
18:38:56 | dom96 | yeah, in fact. Doing it offline is a bit stupid because of that. |
18:39:18 | Araq | oh well let's just use zielmicha_beta's JS stuff |
18:39:27 | dom96 | Yes, like I said. We need a website which does this stuff. |
18:39:40 | dom96 | Does his stuff even generate docs? |
18:39:59 | Araq | who knows |
18:40:08 | dom96 | it's just a package list |
18:40:20 | dom96 | and like I said, including a URL to another website's JS file is unsafe. |
18:40:25 | Araq | you should do it :P |
18:40:37 | Araq | your the babel master anyway |
18:41:06 | EXetoC | sandbox :> |
18:43:39 | * | brson joined #nimrod |
18:53:52 | EXetoC | how about creating a list of tasks that needs to be done? or should we just add a couple more tags to the issue tracker? |
18:55:10 | EXetoC | perhaps some meta issues |
18:55:32 | fowl | anybody notice the matrix example in the manual doesnt work |
18:55:39 | fowl | static[int] seems borked |
18:56:48 | fowl | er T:TNumber doesnt work |
18:56:51 | EXetoC | a coordinated documentation effort would be nice |
18:56:59 | EXetoC | fowl: doesn't work how? |
18:57:08 | reactormonk | Araq, *you're :-P |
18:57:33 | EXetoC | I think constraints simply don't apply atm. are you referring to that? |
18:57:36 | fowl | EXetoC, there is no "Number", it doesnt work with TNumber, it compiles and runs with T |
18:59:41 | flaviu | EXetoC: Why not add a milestone, 'Stdlib documented', and create sub-issues for each module? |
19:02:31 | EXetoC | flaviu: that might do |
19:04:33 | fowl | also a question before 0.9.4: how can we add the compiler's path to the path for a babel package, so that c2nim can be made into a package |
19:04:48 | EXetoC | A TV show called "troll hunters" is on right now. lame |
19:08:17 | * | bitcrusher quit (Read error: Connection reset by peer) |
19:09:33 | Araq | fowl: the important question is: did I recently broke the matrix example or did it never work? |
19:10:04 | Araq | also c2nim can be become a babel package already and add the compiler's path in its c2nim.nimrod.cfg |
19:10:21 | fowl | Araq, im not sure but someone had a weird bug last night with arrays and static[int] wouldnt work for some reason |
19:10:48 | fowl | what if everybody has a different path for the compiler src? |
19:14:03 | Araq | fowl: in the worst case we need to add a $compiler variable for that |
19:14:54 | Araq | well I touched the array handling to fix your allegro array declaration |
19:15:28 | Araq | but zahary needs to look at it, the code is complex like no tomorrow |
19:15:45 | fowl | cool |
19:22:37 | dom96 | EXetoC: What's this? https://github.com/Araq/Nimrod/issues/1073 |
19:22:54 | dom96 | Araq: What do you want me to do? |
19:23:11 | fowl | this is getting annoying Error: field not initialized: gui |
19:25:30 | reactormonk | Araq, now it would be great to be able to bisect >:) |
19:27:14 | * | BitPuffin joined #nimrod |
19:27:20 | EXetoC | dom96: nothing |
19:27:38 | dom96 | EXetoC: what are you testing? |
19:33:54 | Araq | dom96: just add a list of official babel packages to lib.html and a link to a list of all babel packages |
19:34:17 | Araq | I leave to you how to produce this list, even JS is fine :P |
19:34:23 | dom96 | ooh yay |
19:34:36 | dom96 | I may as well add a list of all the packages then? |
19:34:44 | Araq | yes |
19:34:58 | dom96 | I'll separate them into "official" and "unofficial" |
19:35:08 | dom96 | Should I bother trying to use the JS backend? :P |
19:36:17 | Araq | yup |
19:36:33 | * | Mat3 joined #nimrod |
19:36:37 | Mat3 | hi all |
19:36:45 | Araq | servus |
19:36:56 | Mat3 | hi Araq |
19:38:55 | reactormonk | Araq, is `echo` defined by the compiler or is it a normal proc? |
19:39:25 | EXetoC | see system.nim |
19:39:34 | EXetoC | it's a magic symbol |
19:39:40 | flaviu | It uses the "Echo" magic |
19:40:15 | reactormonk | kk, thanks for the answer |
19:40:39 | Araq | it's a magic so we can easily run it at compiletime fyi |
19:43:03 | Varriount | Yay, one more library knocked out, and one step further to compiling allegro |
19:47:01 | * | eigenlicht quit (Read error: Operation timed out) |
19:52:27 | Mat3 | Varriount: Do you mean Allegro 5.x ? |
20:02:55 | fowl | Varriount, these are 5.0.10 https://www.allegro.cc/files/?v=5.0 |
20:04:11 | reactormonk | Varriount, if you want something, try converting xtod to nimrod |
20:05:56 | dom96 | Araq: It looks like the JS backend forgot that JS isn't case insensitive. |
20:06:31 | Araq | dom96: unlikely, what's the problem? |
20:06:44 | dom96 | ArrayConstr vs. arrayConstr |
20:06:51 | dom96 | and now NimCopy isn't defined... |
20:07:19 | * | BitPuffin quit (Ping timeout: 240 seconds) |
20:10:04 | dom96 | Guess I may as well fix this while i'm at it. |
20:11:58 | Araq | that's likely a regression. please fix it |
20:16:43 | dom96 | I guess dead code elimination gets rid of nimCopy |
20:16:51 | dom96 | can I somehow force its presence using a pragma? |
20:18:06 | dom96 | Araq: ^ |
20:19:29 | fowl | Varriount, i downloaded one of them and the dll is labeled 5.0.10 |
20:19:34 | Araq | no? what's the problem? just make the codegen consistent with the compilerproc |
20:20:00 | dom96 | a nimCopy function isn't being generated for some reason |
20:23:40 | Araq | it's a compilerproc |
20:24:05 | Araq | system/jssys.nim has it |
20:24:23 | dom96 | useMagic("nimCopy") must be called I guess |
20:24:29 | dom96 | for it to be generated |
20:24:33 | Araq | exactly |
20:25:14 | dom96 | arrayConstr generates a 'nimCopy' directly. |
20:26:14 | dom96 | Should I just add useMagic("nimCopy") wherever useMagic("arrayConstr") is? |
20:30:07 | flaviu | shouldn't the `==`[T](x,y:T) method allow checking for equality between anything? |
20:30:57 | EXetoC | are trivial block templates such as graphics.withEvents needed? |
20:33:40 | flaviu | Never mind, seems like the documentation generator doesn't show that T needs to be a proc |
20:34:41 | EXetoC | those sets of statements will normally be used once per app, and it's only 4 lines |
20:35:07 | dom96 | flaviu: Make a bug report for that please. |
20:41:16 | flaviu | dom96: Ok, #1074 |
20:41:26 | * | ics joined #nimrod |
20:42:01 | Araq | EXetoC: they make for handy examples though |
20:42:06 | * | BitPuffin joined #nimrod |
20:42:34 | dom96 | Araq: well? |
20:43:35 | Araq | dom96: good catch |
20:43:42 | Araq | yeah |
20:44:05 | dom96 | Really? That sounds rather... unmaintainable. |
20:45:55 | flaviu | Is there a reason that == on seq[T] is not defined in the NimrodVM? I think it might be a typo |
20:46:33 | flaviu | https://github.com/Araq/Nimrod/blob/devel/lib/system.nim#L1564 |
20:50:26 | * | nande quit (Write error: Connection reset by peer) |
20:51:57 | Araq | flaviu: the VM doesn't support seqToPtr with its usage of 'cast' and so it is disabled |
21:00:02 | Araq | dom96: you can also use `nimCopy` in the asm statement of arrayConstr to fix it |
21:00:14 | Araq | with the backticks |
21:04:10 | jbe | oh my god i love nimrod |
21:04:37 | EXetoC | why? |
21:11:12 | EXetoC | is conciseness the reason why we use the term 'son(s)' rather than 'child(ren)'? |
21:12:00 | EXetoC | if so, why not dad to mean parent? :> |
21:12:55 | Araq | conciseness is the reason, yeah |
21:15:19 | Araq | btw this code comes from pascal which didn't support overloading of [] |
21:15:34 | Araq | n[i] is even more concise and preferrable |
21:24:00 | Araq | dom96: what about gradha's nimforum PR? should we apply that search feature and deploy nimforum? |
21:26:16 | dom96 | Yeah, maybe. |
21:29:10 | dom96 | Araq: Putting it in backticks doesn't work. |
21:29:31 | Araq | :-( |
21:30:01 | Araq | well it's weird |
21:30:42 | Araq | I remember zahary changed the compilerprocs to lowerCase and then I told him to undo it as compiler procs are case sensitive for the compiler and the compiler uses UpperCase |
21:31:15 | Araq | but now nimCopy is lowerCase and even uses itsef recursively in a wrong way |
21:31:58 | dom96 | adding useMagic("nimCopy") works |
21:32:17 | dom96 | but doing it this way is just going to cause problems in the future |
21:32:33 | Araq | yeah but in the future we can also fix backticks |
21:32:46 | Araq | just fix it for now and call it a day |
21:36:54 | Mat3 | Araq: What threading variant have you choosen for your new VM (I guess subroutine threading) ? |
21:36:57 | flaviu | What does `of` do in system.nim? |
21:37:20 | Araq | flaviu: 'of' = Java's instanceof |
21:37:31 | flaviu | Ok, thanks |
21:37:55 | Araq | Mat3: a case statement that is translated into a computed goto via {.computedGoto.} (but that's currently disabled) |
21:38:22 | Araq | the dispatching is duplicated for best prediction |
21:38:42 | Araq | subroutine threading makes it hard to keep things in registers |
21:45:21 | Mat3 | I plan to use two macros for this: One for calling a (frame less) primitive and one for the RET instruction |
21:46:32 | Mat3 | my only problem is: How can I compute the physical adress of my primitive routines in Nimrod ? |
21:46:52 | * | eigenlicht joined #nimrod |
21:47:29 | Araq | cast[pointer](myfunc) or even without the cast does the trick |
21:47:42 | Mat3 | thanks |
21:47:42 | Araq | functions are first class |
21:50:47 | Mat3 | I think the NoStackFrame pragma is of use here |
21:55:43 | * | eigenlicht quit (Ping timeout: 240 seconds) |
21:56:20 | Mat3 | need some sleep, ciao |
21:56:24 | * | Mat3 quit (Quit: Verlassend) |
22:05:13 | * | DAddYE_ joined #nimrod |
22:05:13 | * | DAddYE quit (Read error: Connection reset by peer) |
22:06:02 | NimBot | Araq/Nimrod master c32d305 Reimer Behrends [+0 ±1 -0]: Fixes various issues with shallow copying.... 11 more lines |
22:06:02 | NimBot | Araq/Nimrod master dcd8a00 Andreas Rumpf [+0 ±1 -0]: Merge pull request #691 from rbehrends/fix-shallow-pragma... 2 more lines |
22:06:21 | NimBot | Araq/Nimrod devel 296fc4f Simon Hafner [+0 ±1 -0]: use `.f` instead of `.16e` for floats... 3 more lines |
22:06:21 | NimBot | Araq/Nimrod devel f0ba951 Simon Hafner [+0 ±1 -0]: add a trailing zero to $float |
22:06:21 | NimBot | Araq/Nimrod devel 104bc73 Andreas Rumpf [+0 ±1 -0]: Merge pull request #902 from reactormonk/float_toString... 2 more lines |
22:06:41 | NimBot | Araq/Nimrod devel 24597c3 Simon Hafner [+1 ±1 -0]: Added `$` for seq |
22:06:41 | NimBot | Araq/Nimrod devel 021970c Simon Hafner [+0 ±2 -0]: explicit firstElement for `$` in collections |
22:06:41 | NimBot | Araq/Nimrod devel 13bc526 Simon Hafner [+0 ±1 -0]: removed `$` for openarray, was commented out |
22:06:41 | NimBot | Araq/Nimrod devel 2ec1583 Simon Hafner [+52 ±161 -10]: Merge branch 'devel' of github.com:Araq/Nimrod into seq_toString |
22:06:41 | NimBot | 2 more commits. |
22:06:59 | Araq | let's see what these PRs break |
22:07:03 | * | Araq <3 nimbuild |
22:08:37 | * | eigenlicht joined #nimrod |
22:08:59 | Araq | dom96: should I close #998 then? |
22:09:51 | dom96 | yes |
22:12:53 | * | eigenlicht quit (Ping timeout: 246 seconds) |
22:15:51 | * | eigenlicht joined #nimrod |
22:18:10 | Araq | flaviu: Concatinates is spelt wrong |
22:19:38 | reactormonk | Araq, and, what breaks? |
22:20:11 | Araq | reactormonk: bootstrapping |
22:20:37 | * | Skrylar joined #nimrod |
22:31:25 | * | Matthias247 quit (Quit: Matthias247) |
22:37:06 | flaviu | Araq: Thanks, fixed. I also went through the whole file and fixed spelling. Apparently `$` is the 'stingify' operator :P |
22:39:03 | dom96 | I wonder why it is 'stingify' and not 'stringify'? |
22:39:22 | Araq | typo |
22:39:31 | Araq | it should be "stringify" |
22:40:04 | * | darkf joined #nimrod |
22:41:25 | flaviu | Should I squash the commits, or are they fine as they are? |
22:42:02 | Araq | dunno but it sucks as I tried to get rid of all PRs for the great purge |
22:42:20 | Araq | and suddenly flaviu decides to help us :P |
22:43:34 | flaviu | Just diff against 7dc8ab8 and patch after the purge |
22:45:54 | flaviu | https://gist.github.com/flaviut/84446427d3a18d09e5fa |
22:46:53 | Araq | the "purge" is also a movie iirc |
22:47:26 | Araq | set in some utopian future where there is a single day of the year where murder is allowed |
22:49:15 | * | jbe quit (Quit: Leaving) |
22:52:14 | dom96 | That movie is silly. |
22:52:42 | Araq | yeah but I've seen worse |
23:00:33 | dom96 | it seems toJSStr is wrong 0_o |
23:03:02 | Araq | well the added $ operators break bootstrapping I think |
23:03:21 | Araq | can't you test that simple thing before doing PRs for fuck's sake? |
23:03:27 | Araq | I told you to be careful |
23:05:51 | dom96 | who are you talking to? |
23:06:56 | Araq | reactormonk. |
23:08:37 | Araq | though it might also be EXetoC's fault |
23:10:41 | Araq | it's however a bit subtle |
23:11:02 | Araq | $ for arrays matches better than $ for cstring when I pass a char array |
23:11:10 | Araq | which is logical but wrong ... |
23:11:19 | Araq | as it's a 0 terminated array |
23:12:01 | NimBot | Araq/Nimrod devel 064b3ec Araq [+1 ±13 -0]: implemented region pointers |
23:12:01 | NimBot | Araq/Nimrod devel 97bacca Araq [+1 ±2 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel |
23:12:01 | NimBot | Araq/Nimrod devel 8cf86d4 Araq [+0 ±2 -0]: fixes bootstrapping |
23:12:22 | EXetoC | I never actually added anything but yeah ok maybe |
23:12:50 | Araq | ok |
23:12:52 | Araq | let's purge |
23:13:17 | Araq | whoever wants to take the responsibility |
23:13:27 | Araq | I need to sleep now good night |
23:15:32 | dom96 | Before anyone does anything |
23:15:38 | EXetoC | my "timeToComplete ~= estimate * 4" law seems to apply here :> |
23:15:57 | dom96 | Please write some sort of plan on how you are going to accomplish the purge |
23:17:47 | Araq | btw ticker.txt has an educated release date |
23:17:50 | Araq | bye |
23:17:59 | Araq | *educated guess |
23:27:26 | * | Skrylar quit (Ping timeout: 246 seconds) |
23:31:19 | Varriount | I'm home |
23:31:22 | Varriount | And ready |
23:31:34 | * | xenagi joined #nimrod |
23:39:07 | * | io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist) |