<< 08-04-2014 >>

00:08:00Varriountdom96, 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:59BitPuffinthat moment when you can't create the reopo for your game because you don't know what you want to call it
00:46:21VarriountGragagahahablahbaa
00:46:58VarriountI 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:14Varriountfowl: 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:45fowlVarriount, there has to be binaries somewhere
03:02:48fowlversion 5.0.10 btw
03:03:50fowlVarriount, 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:07fowlnew 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:19jbehrm i'm getting a SIGSEGV from gc.nim, line 206 while trying to update an array...
04:35:41jbedoes anyone have an idea what this could be?
04:35:47fowljbe, ill take a look
04:37:57fowl?
04:42:06jbefowl: would you like to see the code? maybe i'm doing something wrong
04:42:37fowlya
04:46:47jbefowl: see bottom of gist https://gist.github.com/jbe/10091773
04:49:07jbeprobably some logical/implementation errors in that ADT, i don't understand the error though
04:55:44fowldo you have some code that makes it fail?
04:56:00jbefowl: yeah one moment
04:58:41jbefowl: okay, i added the tests as another file at the bottom of the same gist
04:59:14jbethey'll need a little refactoring to run
04:59:19fowlok
04:59:40fowlbtw i noticed if you use range[1..x] it fails to roll over properly
05:01:23fowljbe, i dont get any gc error here, are you running the latest nimrod?
05:01:28jbehuh? i use 0.., not 1.. not sure i understood
05:01:43jbeoh awesome, no i don't run the very latest
05:01:50jbea few weeks old maybe
05:02:28jbethat's helpful, thanks
05:04:32fowljbe, i know you use 0..x i was just saying, i tried it with 1..2
05:06:09jberight right i understand now. yeah i know.
05:07:02jbebut i cant do SomeType[16] right..? it needs to be a range from what i understand
05:11:04jbefowl: 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:12fowljbe, you should be able to use static[int] for IX
05:15:16jbeoh ok. nice.
05:16:15fowlthat doesnt seem to be working though :/
05:17:02jbeyeah that's what i thought
05:17:15jbeit's nice to know that it should though :P
05:18:02*DAddYE joined #nimrod
05:34:25jbebtw, i got an email saying the repo had been pruned, but now that i'm cloning it is still downloading 315mb
05:37:49fowlnot sure if it has been done yet
05:46:49jbefowl: i still get the same errors.. which platform did you test on?
05:48:32fowllinux
05:48:48jbeme too urgh
05:48:48fowlgcc
05:54:50fowlgood night
05:54:55fowljbe, you should submit an issue
05:55:23jbeok will do
05:58:48jbeit compiles fine with --gc:markAndSweep
06:05:49jbeand also if i remove the "test" template block. i'll try some more
06:20:04jbeaha! it only happens with the default gc and --threads:on
06:25:33*DAddYE quit (Ping timeout: 255 seconds)
06:46:45jbethis 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:11jbereplaced 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:45jbei 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:44gabber808Hi everyone. Can anybody tell me please what the "addr" keyword means in the following line: while pollEvent(addr event) > 0:
08:21:04runvncgabber808: did you see this in the manual http://nimrod-lang.org/manual.html#the-addr-operator
08:21:52gabber808thanks run. I thought I tried ctrl-f(addr), but somehow I missed it then
08:21:53runvncits the address of the pointer
08:22:41runvncer.. well maybe thats not quite right. maybe its just a pointer in that case
08:23:16gabber808ok, thanks
08:53:57*CarpNet joined #nimrod
09:13:37gabber808Hi 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:29gabber808(its not catching the exit event)
09:17:28gabber808Hi 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:30gabber808(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:27gabber808Hi 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:10EXetoCgabber808: what happens?
13:34:17EXetoCI haven't looked at that macro yet
13:35:11gabber808it moves, then pauses etc
13:35:35EXetoCok but doesn't the quit event work? does clicking "X" or whatever not terminate the app?
13:36:44EXetoCoh
13:37:15EXetoC"while true" prevents events from being polled
13:38:58EXetoCwithEvents is not very well-documented yet, but check the source code to see why it doesn't work.
13:40:18EXetoCor 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:02gabber808Thanks 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:11EXetoCgabber808: no, because no two frames will take the same amount of time to execute
13:55:46EXetoCand so 'x' might be incremented after 1ms the first time and then 3ms after that
13:57:02gabber808I see. Its a lot easier in javascript/canvas. Any suggestions on how to fix the code?
14:01:07EXetoCthere'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:25EXetoCand then you need to figure out the rest of the logic, such as how to measure the time between frames
14:01:58EXetoCand I assume that x is a float in this case
14:02:22EXetoCthat's not strictly necessary but it greatly simplifies the code
14:10:15gabber808OK, thank you. I'll look into that.
14:11:28gabber808(though my first example gave smooth animation?
14:11:38gabber808without your suggestion
14:18:29EXetoCyou said it wasn't smooth
14:20:06EXetoCnevermind that
14:20:42EXetoCI don't even know how the window could be updated with the original code
14:21:03EXetoCbbl. other people should be active soon
14:24:53BitPuffingabber808: you should always multiply it by delta time
14:24:57BitPuffineven in javascript canvas
14:25:53BitPuffinotherwise if it is ran on a faster computer and/or javascript engine, the animations will be faster
14:25:57BitPuffinunless you have a locked time step
14:26:36gabber808Basically 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:02gabber808Yes, I don't mind if the speed varies from computer to computer.
14:28:09EXetoCthen it'll be a rough animation everywhere, in most cases
14:28:22gabber808ok, I don't mind rough either
14:28:23EXetoCgabber808: show the new code
14:28:47*askatasuna quit (Quit: WeeChat 0.4.3)
14:30:59EXetoCwasn't I supposed to go? later :>
14:33:01gabber808So 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:45EXetoCnvm it's raining outside
14:33:46*jbe joined #nimrod
14:33:50EXetoCok I'll actually run it now. sec
14:35:14jbea 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:26EXetoCgabber808: it's going to reach "var x: int" again without the inner loop
14:35:27fowljbe, thats correct
14:35:41EXetoCwhich means that you're initializing it to zero every time, and then incrementing to one
14:36:16EXetoCso you'll end up with (1, 100) for every iteration
14:36:20jbek thx
14:36:38gabber808but the circle moves fine
14:37:00EXetoCgabber808: I mean without the "while true"
14:37:36fowlgabber808, 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:40EXetoCgabber808: so remove that and then de-ident those statements
14:37:54fowlgabber808, but you need to move the `x` variable out of the loop so it behaves properly
14:38:13EXetoCyou're just repeating what I said, but yes
14:38:18fowloh sorry
14:41:36EXetoCpro tip: print debugging
14:42:37*flaviu joined #nimrod
14:42:59gabber808I am really confused. Are you saying I don't need any while loops, only "withEvents"?
14:43:23EXetoCgabber808: the top level of "withEvents" is a while loop
14:43:41EXetoCjust that it's hidden from users. see graphics.nim:490
14:44:00gabber808OK, so I have implemented your suggestion, and now the circle doesn't move (but the window DOES close properly)
14:44:33EXetoCas I said, all those lines will be executed repeatedly, including "var x: int"
14:44:58gabber808Actually, 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:43EXetoCwell, is 'x' declared inside or outside "withEvents"?
14:46:01gabber808Declared outside, incremented inside
14:47:01EXetoCit does move for me, but only when triggering other events such as mouse focus
14:47:54gabber808OK, at least the problems not me !
14:48:01EXetoCso 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:37EXetoCyou should be able to get it working somehow without withEvents
14:56:33BitPuffinhe needs to emit an event for each time it should update or something then I guess
14:56:41BitPuffinhe could probably set up a timer somewhere
14:56:42gabber808I 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:56BitPuffinwhich emits an even't every 0.05 seconds or something
14:57:50gabber808smooth circle, but program won't exit: http://pastebin.com/E9sCaEG3
14:58:25gabber808*exits, not exists !
14:59:39EXetoCright, because the event handling is omitted completely as a result
15:00:54gabber808Or this one: http://pastebin.com/dCukyWfd
15:00:56EXetoCgabber808: see sdl.PollEvent
15:01:12EXetoCoh
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:46fowlgabber808, 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:17Varriountfowl: The binaries on that page are for allegro 4, not 5
15:57:56VarriountI was under the presumption that your "allegro5" wrapper covered... allegro 5
15:58:31*BitPuffin quit (Ping timeout: 240 seconds)
15:58:33fowlVarriount, ask in #allegro they probabl have a binary
16:02:45*bitcrusher joined #nimrod
16:04:59*jbe joined #nimrod
16:05:26EXetoCfowl: it supports hardware rendering too
16:05:35EXetoCand SDL 1.2 is more agnostic in that regard, isn't it?
16:13:10*DAddYE joined #nimrod
16:14:44jbecould someone take a quick look at this code before i submit it as an issue? https://gist.github.com/jbe/10099102
16:16:04Varriountjbe: Have you taken into account the fact that string literals are null terminated?
16:17:41fowljbe, using alloc0 for the string makes it work for me
16:18:20jbefowl: ah right that makes sense
16:27:36fowlgabber808, you still around?
16:27:43gabber808yup
16:27:57gabber808Do you have a magical solution for me ;-)
16:31:00fowlgabber808, http://pastebin.com/eeSLQjR9
16:32:21gabber808Terrific, well done. I now have a moving circle, and I can close the window !
16:32:34gabber808And thank you
16:33:41gabber808Looks quite complicated !
16:37:03fowlthat is just a basic game loop
16:37:52fowlgabber808, if you use it, change the framerate = line to int32(1/60 * 1000)
16:38:11gabber808ok, 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:51reactormonkVarriount, ok, later it is. had to work some.
17:52:20Varriountreactormonk: Later what is?
17:52:39reactormonkVarriount, git stuff
18:11:40AraqVarriount: did you send the emails before we purged? lol
18:14:13VarriountDid we purge? I wasn't told.
18:14:36VarriountI 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:50VarriountAs far as I know, the master branch looks the same.
18:15:09VarriountAraq ^
18:17:40AraqVarriount: dom96 said I need to merge all PRs before we can purge
18:17:48Araqhence the delay
18:18:43VarriountWell I have class in 2 hours, and work to get done.
18:19:25EXetoCdom96: does `=>` break in a different way now?
18:20:19AraqEXetoC: I think so
18:20:28EXetoCok
18:22:49dom96EXetoC: The closure macro? Kinda. Not enough time to properly get it working now.
18:23:49reactormonkAraq, I was looking into how to move the PRs to the new branch
18:23:55reactormonkit's slightly complicated, but possible
18:24:42Araqwell I'm about to simple merge the last 3 and see what it breaks
18:25:13dom96don't merge #998
18:25:13reactormonknow that's a good way to get rid of the PRs
18:25:34dom96unless you disagree with my comments
18:25:43Araqdamn
18:26:03EXetoCdom96: can 'closure' be applied only when necessary?
18:26:17dom96EXetoC: I'm not sure what you mean
18:26:25EXetoCthe closure pragma
18:26:47Araqdom96: 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:03dom96EXetoC: it's implicit in certain cases
18:28:52dom96Araq: Let's worry about this later.
18:29:40Araqno, it's important for the release
18:30:10EXetoCexplicitly 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:56dom96Araq: Do you want docs generated for ALL the packages?
18:35:13dom96We should have a separate site for that
18:35:14EXetoCdid someone add a hover indicator to the website menu entries? nice!
18:35:24Araqdom96: yeah well nimrod-code ones should be special
18:35:34Araqsince they have an "official" character
18:38:24Araqdoing it offline has the disadvantage that we need to regenerate it all the time
18:38:46Araqbut you can have a daily website updater or something
18:38:56dom96yeah, in fact. Doing it offline is a bit stupid because of that.
18:39:18Araqoh well let's just use zielmicha_beta's JS stuff
18:39:27dom96Yes, like I said. We need a website which does this stuff.
18:39:40dom96Does his stuff even generate docs?
18:39:59Araqwho knows
18:40:08dom96it's just a package list
18:40:20dom96and like I said, including a URL to another website's JS file is unsafe.
18:40:25Araqyou should do it :P
18:40:37Araqyour the babel master anyway
18:41:06EXetoCsandbox :>
18:43:39*brson joined #nimrod
18:53:52EXetoChow 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:10EXetoCperhaps some meta issues
18:55:32fowlanybody notice the matrix example in the manual doesnt work
18:55:39fowlstatic[int] seems borked
18:56:48fowler T:TNumber doesnt work
18:56:51EXetoCa coordinated documentation effort would be nice
18:56:59EXetoCfowl: doesn't work how?
18:57:08reactormonkAraq, *you're :-P
18:57:33EXetoCI think constraints simply don't apply atm. are you referring to that?
18:57:36fowlEXetoC, there is no "Number", it doesnt work with TNumber, it compiles and runs with T
18:59:41flaviuEXetoC: Why not add a milestone, 'Stdlib documented', and create sub-issues for each module?
19:02:31EXetoCflaviu: that might do
19:04:33fowlalso 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:48EXetoCA TV show called "troll hunters" is on right now. lame
19:08:17*bitcrusher quit (Read error: Connection reset by peer)
19:09:33Araqfowl: the important question is: did I recently broke the matrix example or did it never work?
19:10:04Araqalso c2nim can be become a babel package already and add the compiler's path in its c2nim.nimrod.cfg
19:10:21fowlAraq, im not sure but someone had a weird bug last night with arrays and static[int] wouldnt work for some reason
19:10:48fowlwhat if everybody has a different path for the compiler src?
19:14:03Araqfowl: in the worst case we need to add a $compiler variable for that
19:14:54Araqwell I touched the array handling to fix your allegro array declaration
19:15:28Araqbut zahary needs to look at it, the code is complex like no tomorrow
19:15:45fowlcool
19:22:37dom96EXetoC: What's this? https://github.com/Araq/Nimrod/issues/1073
19:22:54dom96Araq: What do you want me to do?
19:23:11fowlthis is getting annoying Error: field not initialized: gui
19:25:30reactormonkAraq, now it would be great to be able to bisect >:)
19:27:14*BitPuffin joined #nimrod
19:27:20EXetoCdom96: nothing
19:27:38dom96EXetoC: what are you testing?
19:33:54Araqdom96: just add a list of official babel packages to lib.html and a link to a list of all babel packages
19:34:17AraqI leave to you how to produce this list, even JS is fine :P
19:34:23dom96ooh yay
19:34:36dom96I may as well add a list of all the packages then?
19:34:44Araqyes
19:34:58dom96I'll separate them into "official" and "unofficial"
19:35:08dom96Should I bother trying to use the JS backend? :P
19:36:17Araqyup
19:36:33*Mat3 joined #nimrod
19:36:37Mat3hi all
19:36:45Araqservus
19:36:56Mat3hi Araq
19:38:55reactormonkAraq, is `echo` defined by the compiler or is it a normal proc?
19:39:25EXetoCsee system.nim
19:39:34EXetoCit's a magic symbol
19:39:40flaviuIt uses the "Echo" magic
19:40:15reactormonkkk, thanks for the answer
19:40:39Araqit's a magic so we can easily run it at compiletime fyi
19:43:03VarriountYay, one more library knocked out, and one step further to compiling allegro
19:47:01*eigenlicht quit (Read error: Operation timed out)
19:52:27Mat3Varriount: Do you mean Allegro 5.x ?
20:02:55fowlVarriount, these are 5.0.10 https://www.allegro.cc/files/?v=5.0
20:04:11reactormonkVarriount, if you want something, try converting xtod to nimrod
20:05:56dom96Araq: It looks like the JS backend forgot that JS isn't case insensitive.
20:06:31Araqdom96: unlikely, what's the problem?
20:06:44dom96ArrayConstr vs. arrayConstr
20:06:51dom96and now NimCopy isn't defined...
20:07:19*BitPuffin quit (Ping timeout: 240 seconds)
20:10:04dom96Guess I may as well fix this while i'm at it.
20:11:58Araqthat's likely a regression. please fix it
20:16:43dom96I guess dead code elimination gets rid of nimCopy
20:16:51dom96can I somehow force its presence using a pragma?
20:18:06dom96Araq: ^
20:19:29fowlVarriount, i downloaded one of them and the dll is labeled 5.0.10
20:19:34Araqno? what's the problem? just make the codegen consistent with the compilerproc
20:20:00dom96a nimCopy function isn't being generated for some reason
20:23:40Araqit's a compilerproc
20:24:05Araqsystem/jssys.nim has it
20:24:23dom96useMagic("nimCopy") must be called I guess
20:24:29dom96for it to be generated
20:24:33Araqexactly
20:25:14dom96arrayConstr generates a 'nimCopy' directly.
20:26:14dom96Should I just add useMagic("nimCopy") wherever useMagic("arrayConstr") is?
20:30:07flaviushouldn't the `==`[T](x,y:T) method allow checking for equality between anything?
20:30:57EXetoCare trivial block templates such as graphics.withEvents needed?
20:33:40flaviuNever mind, seems like the documentation generator doesn't show that T needs to be a proc
20:34:41EXetoCthose sets of statements will normally be used once per app, and it's only 4 lines
20:35:07dom96flaviu: Make a bug report for that please.
20:41:16flaviudom96: Ok, #1074
20:41:26*ics joined #nimrod
20:42:01AraqEXetoC: they make for handy examples though
20:42:06*BitPuffin joined #nimrod
20:42:34dom96Araq: well?
20:43:35Araqdom96: good catch
20:43:42Araqyeah
20:44:05dom96Really? That sounds rather... unmaintainable.
20:45:55flaviuIs there a reason that == on seq[T] is not defined in the NimrodVM? I think it might be a typo
20:46:33flaviuhttps://github.com/Araq/Nimrod/blob/devel/lib/system.nim#L1564
20:50:26*nande quit (Write error: Connection reset by peer)
20:51:57Araqflaviu: the VM doesn't support seqToPtr with its usage of 'cast' and so it is disabled
21:00:02Araqdom96: you can also use `nimCopy` in the asm statement of arrayConstr to fix it
21:00:14Araqwith the backticks
21:04:10jbeoh my god i love nimrod
21:04:37EXetoCwhy?
21:11:12EXetoCis conciseness the reason why we use the term 'son(s)' rather than 'child(ren)'?
21:12:00EXetoCif so, why not dad to mean parent? :>
21:12:55Araqconciseness is the reason, yeah
21:15:19Araqbtw this code comes from pascal which didn't support overloading of []
21:15:34Araqn[i] is even more concise and preferrable
21:24:00Araqdom96: what about gradha's nimforum PR? should we apply that search feature and deploy nimforum?
21:26:16dom96Yeah, maybe.
21:29:10dom96Araq: Putting it in backticks doesn't work.
21:29:31Araq:-(
21:30:01Araqwell it's weird
21:30:42AraqI 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:15Araqbut now nimCopy is lowerCase and even uses itsef recursively in a wrong way
21:31:58dom96adding useMagic("nimCopy") works
21:32:17dom96but doing it this way is just going to cause problems in the future
21:32:33Araqyeah but in the future we can also fix backticks
21:32:46Araqjust fix it for now and call it a day
21:36:54Mat3Araq: What threading variant have you choosen for your new VM (I guess subroutine threading) ?
21:36:57flaviuWhat does `of` do in system.nim?
21:37:20Araqflaviu: 'of' = Java's instanceof
21:37:31flaviuOk, thanks
21:37:55AraqMat3: a case statement that is translated into a computed goto via {.computedGoto.} (but that's currently disabled)
21:38:22Araqthe dispatching is duplicated for best prediction
21:38:42Araqsubroutine threading makes it hard to keep things in registers
21:45:21Mat3I plan to use two macros for this: One for calling a (frame less) primitive and one for the RET instruction
21:46:32Mat3my only problem is: How can I compute the physical adress of my primitive routines in Nimrod ?
21:46:52*eigenlicht joined #nimrod
21:47:29Araqcast[pointer](myfunc) or even without the cast does the trick
21:47:42Mat3thanks
21:47:42Araqfunctions are first class
21:50:47Mat3I think the NoStackFrame pragma is of use here
21:55:43*eigenlicht quit (Ping timeout: 240 seconds)
21:56:20Mat3need 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:02NimBotAraq/Nimrod master c32d305 Reimer Behrends [+0 ±1 -0]: Fixes various issues with shallow copying.... 11 more lines
22:06:02NimBotAraq/Nimrod master dcd8a00 Andreas Rumpf [+0 ±1 -0]: Merge pull request #691 from rbehrends/fix-shallow-pragma... 2 more lines
22:06:21NimBotAraq/Nimrod devel 296fc4f Simon Hafner [+0 ±1 -0]: use `.f` instead of `.16e` for floats... 3 more lines
22:06:21NimBotAraq/Nimrod devel f0ba951 Simon Hafner [+0 ±1 -0]: add a trailing zero to $float
22:06:21NimBotAraq/Nimrod devel 104bc73 Andreas Rumpf [+0 ±1 -0]: Merge pull request #902 from reactormonk/float_toString... 2 more lines
22:06:41NimBotAraq/Nimrod devel 24597c3 Simon Hafner [+1 ±1 -0]: Added `$` for seq
22:06:41NimBotAraq/Nimrod devel 021970c Simon Hafner [+0 ±2 -0]: explicit firstElement for `$` in collections
22:06:41NimBotAraq/Nimrod devel 13bc526 Simon Hafner [+0 ±1 -0]: removed `$` for openarray, was commented out
22:06:41NimBotAraq/Nimrod devel 2ec1583 Simon Hafner [+52 ±161 -10]: Merge branch 'devel' of github.com:Araq/Nimrod into seq_toString
22:06:41NimBot2 more commits.
22:06:59Araqlet's see what these PRs break
22:07:03*Araq <3 nimbuild
22:08:37*eigenlicht joined #nimrod
22:08:59Araqdom96: should I close #998 then?
22:09:51dom96yes
22:12:53*eigenlicht quit (Ping timeout: 246 seconds)
22:15:51*eigenlicht joined #nimrod
22:18:10Araqflaviu: Concatinates is spelt wrong
22:19:38reactormonkAraq, and, what breaks?
22:20:11Araqreactormonk: bootstrapping
22:20:37*Skrylar joined #nimrod
22:31:25*Matthias247 quit (Quit: Matthias247)
22:37:06flaviuAraq: Thanks, fixed. I also went through the whole file and fixed spelling. Apparently `$` is the 'stingify' operator :P
22:39:03dom96I wonder why it is 'stingify' and not 'stringify'?
22:39:22Araqtypo
22:39:31Araqit should be "stringify"
22:40:04*darkf joined #nimrod
22:41:25flaviuShould I squash the commits, or are they fine as they are?
22:42:02Araqdunno but it sucks as I tried to get rid of all PRs for the great purge
22:42:20Araqand suddenly flaviu decides to help us :P
22:43:34flaviuJust diff against 7dc8ab8 and patch after the purge
22:45:54flaviuhttps://gist.github.com/flaviut/84446427d3a18d09e5fa
22:46:53Araqthe "purge" is also a movie iirc
22:47:26Araqset 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:14dom96That movie is silly.
22:52:42Araqyeah but I've seen worse
23:00:33dom96it seems toJSStr is wrong 0_o
23:03:02Araqwell the added $ operators break bootstrapping I think
23:03:21Araqcan't you test that simple thing before doing PRs for fuck's sake?
23:03:27AraqI told you to be careful
23:05:51dom96who are you talking to?
23:06:56Araqreactormonk.
23:08:37Araqthough it might also be EXetoC's fault
23:10:41Araqit's however a bit subtle
23:11:02Araq$ for arrays matches better than $ for cstring when I pass a char array
23:11:10Araqwhich is logical but wrong ...
23:11:19Araqas it's a 0 terminated array
23:12:01NimBotAraq/Nimrod devel 064b3ec Araq [+1 ±13 -0]: implemented region pointers
23:12:01NimBotAraq/Nimrod devel 97bacca Araq [+1 ±2 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
23:12:01NimBotAraq/Nimrod devel 8cf86d4 Araq [+0 ±2 -0]: fixes bootstrapping
23:12:22EXetoCI never actually added anything but yeah ok maybe
23:12:50Araqok
23:12:52Araqlet's purge
23:13:17Araqwhoever wants to take the responsibility
23:13:27AraqI need to sleep now good night
23:15:32dom96Before anyone does anything
23:15:38EXetoCmy "timeToComplete ~= estimate * 4" law seems to apply here :>
23:15:57dom96Please write some sort of plan on how you are going to accomplish the purge
23:17:47Araqbtw ticker.txt has an educated release date
23:17:50Araqbye
23:17:59Araq*educated guess
23:27:26*Skrylar quit (Ping timeout: 246 seconds)
23:31:19VarriountI'm home
23:31:22VarriountAnd ready
23:31:34*xenagi joined #nimrod
23:39:07*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)