<< 13-09-2014 >>

00:03:08dom96yes, very strange.
00:03:27dom96I must sleep now, maybe Araq will help you out in the morning.
00:03:32dom96Good night.
00:03:39imjoe`ok, thanks and good night
00:05:51imjoe`oh. now i'm printing out filename in system.nim and this is the only one with a relative path
00:06:00imjoe`filename: /home/joe/tmp/nn/Nimrod/lib/pure/asyncnet.nim
00:06:00imjoe`filename: lib/pure/asyncdispatch.nim
00:06:00imjoe`
00:06:16imjoe`that's got to be it. why this is i don't yet know
00:08:18enderouteI have a proc that needs “ptr TSomeProc” as a callback argument, I made a proc with the correct signature, how do you get the ptr for it? Do I have to GC_unref it?
00:08:19imjoe`hmmm yup yup :-) https://twitter.com/jacksonh/status/510529747357413376
00:10:52*Fr4n quit (Ping timeout: 240 seconds)
00:11:05imjoe`enderoute: is this any help? http://stackoverflow.com/questions/23479655/how-can-i-use-function-pointers-in-nimrod
00:12:29Jehan_enderoute: You get a pointer simply by providing the name of the procedure.
00:12:52Jehan_You may have to declare the procedure as a {.procvar.}
00:14:30*clone1018_ joined #nimrod
00:15:07*endou____ joined #nimrod
00:16:27enderoutehmm ok i’ll try, it isn’t automatically grabbing the ptr, but the function also takes in like 7 arguments so i’m double checking all my argument types again
00:17:55Jehan_It's a different type, so you may have to cast it.
00:18:08Jehan_Where did you get the `ptr TSomeProc` from?
00:18:38enderouteJehan_: portaudio library https://bitbucket.org/BitPuffin/nim-portaudio/src/b34b9f179734753c4ed23ad0bd28ac0b817e7d58/examples/saw_out.nim?at=default
00:18:39Jehan_If it actually *is* a ptr to a procedure type, then you have to box it first.
00:18:53enderoutei even grabed the proc declaration from his example code and i get the same error
00:20:50enderoutehmm ok, well i found his sample code and it works for me. i’ll pick it apart bit by bit to see what I did wrong. doesn’t seem apparant to me right now. but looks like his code is automatically getting a ptr from a proc
00:21:07Jehan_If it's the ptr TStreamCallbackTimeInfo, then this isn't a procedure pointer.
00:21:25*zling_____ quit (Ping timeout: 272 seconds)
00:21:27*clone1018 quit (Ping timeout: 272 seconds)
00:21:28*endou___ quit (Ping timeout: 272 seconds)
00:21:28*TylerE quit (Ping timeout: 272 seconds)
00:21:32*Amrykid quit (Ping timeout: 272 seconds)
00:21:36*Shoozza quit (Ping timeout: 272 seconds)
00:21:38*endou____ is now known as endou___
00:21:38*clone1018_ is now known as clone1018
00:21:49enderoute"ptr TStreamCallback" was my problem in OpenStream
00:22:21Jehan_TStreamCallbackTimeInfo is an object type with three TTime fields.
00:22:32*TylerE joined #nimrod
00:22:42*Amrykid joined #nimrod
00:22:59*zling_____ joined #nimrod
00:23:13*Shoozza joined #nimrod
00:24:04Jehan_streamCallback is a procedure that is passed to openDefaultStream, but there's no ptr there.
00:25:15Jehan_The ptr TStreamCallback is a pointer to a data structure that is passed back to the callback procedure that you provide.
00:25:36Jehan_And it contains the three timestamps that are probably of some relevance for the callback.
00:33:48*Jehan_ quit (Quit: Leaving)
00:42:57*francisl joined #nimrod
00:46:44*nande quit (Remote host closed the connection)
00:55:21*lyro quit (Ping timeout: 241 seconds)
00:55:22*Shoozza quit (Excess Flood)
00:55:43*Shoozza_ joined #nimrod
00:55:43*Shoozza_ is now known as Shoozza
00:55:46*Shoozza quit (Changing host)
00:55:46*Shoozza joined #nimrod
00:57:49*zling______ joined #nimrod
00:57:59*phI||Ip_ joined #nimrod
01:01:55*endou____ joined #nimrod
01:02:03*enderoute quit (Quit: enderoute)
01:03:49*vegai_ joined #nimrod
01:05:55*reactormonk quit (*.net *.split)
01:06:50*armin quit (*.net *.split)
01:06:56*lyro joined #nimrod
01:06:58*zling_____ quit (Ping timeout: 268 seconds)
01:06:59*phI||Ip quit (Ping timeout: 268 seconds)
01:07:00*Amrykid quit (Ping timeout: 268 seconds)
01:07:01*vegai quit (Ping timeout: 268 seconds)
01:07:02*endou___ quit (Ping timeout: 268 seconds)
01:07:06*Amrykid joined #nimrod
01:07:11*Trixar_za quit (Write error: Broken pipe)
01:07:19*BlameStross1 joined #nimrod
01:07:43*endou____ is now known as endou___
01:07:45*Trixar_za joined #nimrod
01:12:26*reactormonk joined #nimrod
01:13:17*clone1018_ joined #nimrod
01:14:29*BlameStross joined #nimrod
01:20:33*Trixar_za quit (*.net *.split)
01:20:35*BlameStross1 quit (*.net *.split)
01:20:36*lyro quit (*.net *.split)
01:20:36*TylerE quit (*.net *.split)
01:20:37*clone1018 quit (*.net *.split)
01:20:38*darkf quit (*.net *.split)
01:20:38*EastByte quit (*.net *.split)
01:21:48*clone1018_ is now known as clone1018
01:23:04*boydgreenfield quit (Quit: boydgreenfield)
01:26:40*Varriount_ joined #nimrod
01:28:22*Trixar_za joined #nimrod
01:28:22*TylerE joined #nimrod
01:28:22*lyro joined #nimrod
01:28:22*EastByte joined #nimrod
01:29:45*francisl_ joined #nimrod
01:31:05*def-- joined #nimrod
01:32:11*def- quit (Ping timeout: 276 seconds)
01:32:14*Varriount quit (Ping timeout: 276 seconds)
01:32:16*francisl quit (Ping timeout: 276 seconds)
01:32:20*francisl_ is now known as francisl
01:32:20*def-- is now known as def-
01:35:46*TieSoul quit (Read error: Connection reset by peer)
01:50:38Varriount_So.... today I (unsuccessfully) battled bash
01:50:47*Varriount_ is now known as Varriount
01:53:41EXetoCyeah?
01:55:13VarriountEXetoC: It re-enforced my dislike of OpenBSD
02:05:15*boydgreenfield joined #nimrod
02:07:20*q66 quit (Quit: Leaving)
02:15:28*Varriount_ joined #nimrod
02:16:15Onionhammerdom96
02:16:20OnionhammerUsers/erikoleary/.babel/pkgs/jester-0.1.0/private/utils.nim(4, 16) Error: undeclared identifier: 'decodeUrl'
02:17:36*Varriount quit (Ping timeout: 252 seconds)
02:48:43*Demos joined #nimrod
03:01:28*boydgreenfield quit (Quit: boydgreenfield)
03:04:01*darkf joined #nimrod
03:06:01*Varriount__ joined #nimrod
03:07:39*boydgreenfield joined #nimrod
03:08:34*Varriount_ quit (Ping timeout: 252 seconds)
03:15:45*BlameStross left #nimrod (#nimrod)
03:20:08*cryzed quit (Ping timeout: 250 seconds)
03:26:08*boydgreenfield quit (Quit: boydgreenfield)
03:48:27*Varriount|Mobile joined #nimrod
03:55:04*Varriount joined #nimrod
03:57:20*bjz quit (Ping timeout: 252 seconds)
03:57:42*Varriount__ quit (Ping timeout: 252 seconds)
04:08:13Varriount|MobileHm. Has freenode been having trouble today, or is it just me?
04:16:45Triplefoxit's been acting up for some of my friends
04:18:38*francisl quit (Quit: francisl)
04:21:59*Demos quit (Read error: Connection reset by peer)
04:45:42*elie2 quit (Ping timeout: 245 seconds)
04:58:32*flaviu joined #nimrod
04:58:32*armin joined #nimrod
04:59:24*flaviu is now known as Guest40590
04:59:39*Guest40590 quit (Quit: Leaving.)
05:03:18*flaviu1 joined #nimrod
05:03:39*zling______ quit (Changing host)
05:03:39*zling______ joined #nimrod
05:03:44*endou___ quit (Changing host)
05:03:44*endou___ joined #nimrod
05:04:04*clone1018 quit (Changing host)
05:04:04*clone1018 joined #nimrod
05:04:26*TylerE quit (Changing host)
05:04:26*TylerE joined #nimrod
05:05:30*Fr4n joined #nimrod
05:15:21*flaviu1 quit (Ping timeout: 268 seconds)
05:31:09*CARAM quit (Ping timeout: 240 seconds)
05:32:40*endou___ quit (Ping timeout: 252 seconds)
05:32:40*zling______ quit (Ping timeout: 252 seconds)
05:33:24*TylerE quit (Ping timeout: 272 seconds)
05:33:48*clone1018 quit (Ping timeout: 272 seconds)
06:20:28*fowl joined #nimrod
06:23:22*BlaXpirit joined #nimrod
06:25:00*TieSoul joined #nimrod
06:46:06*elie2 joined #nimrod
06:49:11*tdc joined #nimrod
07:05:21*tdc_ joined #nimrod
07:08:32*tdc quit (Ping timeout: 245 seconds)
07:09:30*bjz joined #nimrod
07:10:34*tdc_ is now known as tdc
07:14:22*fowl quit (Ping timeout: 268 seconds)
07:18:15*fowl joined #nimrod
07:20:39*zling______ joined #nimrod
07:25:22*clone1018_ joined #nimrod
07:26:42*CARAM joined #nimrod
07:27:04*endou____ joined #nimrod
07:29:15*TylerE joined #nimrod
07:34:52*bjz quit (Read error: Connection reset by peer)
07:35:35*bjz joined #nimrod
07:40:23*bjz_ joined #nimrod
07:42:42*bjz quit (Ping timeout: 245 seconds)
07:45:45*fowl quit (Ping timeout: 272 seconds)
07:51:12*Matthias247 joined #nimrod
08:09:05*armin is now known as reloc0
08:15:50*reactormonk quit (*.net *.split)
08:16:13*reactormonk joined #nimrod
08:19:57*EastByte quit (Ping timeout: 272 seconds)
08:21:03*Varriount_ joined #nimrod
08:21:45*Matthias247_ joined #nimrod
08:24:11*Varriount quit (Ping timeout: 252 seconds)
08:24:47*Matthias247 quit (Ping timeout: 252 seconds)
08:25:31*phI||Ip_ quit (Ping timeout: 252 seconds)
08:26:47*reactormonk quit (Ping timeout: 252 seconds)
08:29:08*phI||Ip joined #nimrod
08:29:42*reactormonk joined #nimrod
08:30:30*kunev joined #nimrod
08:38:03*EastByte_ joined #nimrod
08:38:51*EastByte_ quit (Client Quit)
08:39:00*EastByte joined #nimrod
08:51:53*Matthias247_ quit (Read error: Connection reset by peer)
09:09:47*kunev quit (Ping timeout: 245 seconds)
09:17:12*Araq_bnc is now known as Araq
09:18:33Araqimjoe`: don't use -d:nimfix for the compiler
09:18:50Araqdom96: don't tell people to use -d:nimfix
09:24:02*comex_ quit (Ping timeout: 252 seconds)
09:24:18*comex_ joined #nimrod
09:26:42*kunev joined #nimrod
09:32:27*kunev quit (Ping timeout: 246 seconds)
10:01:59*kuzy000_ joined #nimrod
10:03:07*tdc quit (Ping timeout: 245 seconds)
10:06:13*kuzy000_ quit (Read error: Connection reset by peer)
10:08:28*kunev joined #nimrod
10:17:07*kunev_ joined #nimrod
10:17:07*kunev quit (Ping timeout: 272 seconds)
10:28:16*kunev_ quit (Ping timeout: 250 seconds)
10:40:06*BlaXpirit quit (Quit: Quit Konversation)
10:42:01*kunev joined #nimrod
10:52:11*zling______ quit (Ping timeout: 276 seconds)
10:53:35*Varriount|Mobile quit (Remote host closed the connection)
10:53:49*Varriount|Mobile joined #nimrod
10:59:18*zling______ joined #nimrod
11:07:48*BlaXpirit joined #nimrod
11:27:38*kunev quit (Ping timeout: 250 seconds)
11:29:35*vegai_ quit (Ping timeout: 252 seconds)
11:29:36*vegai joined #nimrod
11:29:37*kunev joined #nimrod
11:29:38*vegai quit (Changing host)
11:29:38*vegai joined #nimrod
11:36:32*untitaker_ quit (Ping timeout: 245 seconds)
11:43:12*untitaker joined #nimrod
11:46:51*noam_ quit (Read error: Connection reset by peer)
11:47:24*noam joined #nimrod
11:48:56*kuzy000 joined #nimrod
11:51:24*tdc joined #nimrod
11:52:18dom96Araq: it looked like it may fix imjoe`'s problems. It was a temporary fix anyway. Any ideas what his problems are caused by?
11:54:10dom96Onionhammer: pull latest nim from bigbreak
12:26:03*tdc quit (Ping timeout: 246 seconds)
12:35:09*q66 joined #nimrod
12:37:44*kunev quit (Quit: leaving)
12:38:41*tdc joined #nimrod
12:45:53*Varriount|Mobile quit (Read error: Connection reset by peer)
12:45:59*Varriount-Mobile joined #nimrod
12:54:11*untitaker quit (Ping timeout: 272 seconds)
13:00:15*untitaker joined #nimrod
13:00:41Araqdom96: he's using some old config which doesn't contain --cs:partial
13:12:55*zahary joined #nimrod
13:19:44Araqbbl
13:47:51*darkf quit (Quit: Leaving)
13:55:24*mal`` quit (*.net *.split)
13:55:45*TylerE quit (*.net *.split)
13:55:45*CARAM quit (*.net *.split)
13:55:45*clone1018_ quit (*.net *.split)
13:55:46*elie2 quit (*.net *.split)
13:55:48*def- quit (*.net *.split)
13:55:51*Amrykid quit (*.net *.split)
13:55:52*Amrykid joined #nimrod
13:55:59*def- joined #nimrod
13:56:02*BlameStross joined #nimrod
13:56:03*elie2 joined #nimrod
13:56:32*clone1018_ joined #nimrod
13:56:56*CARAM joined #nimrod
13:57:20*TylerE joined #nimrod
14:06:20*willwillson joined #nimrod
14:08:17*Ven joined #nimrod
14:16:53*tillzy joined #nimrod
14:18:13*tdc quit (Ping timeout: 260 seconds)
14:21:23willwillsonon bigbreak: shouldn't compiler/nim.ini be changed to copy nim.cfg, not nimrod.cfg. I think thats why people have problems with their config not specifiying cs:partial ;-)
14:23:07*Varriount-Mobile quit (Ping timeout: 245 seconds)
14:24:12*Varriount-Mobile joined #nimrod
14:26:02*bjz_ quit (*.net *.split)
14:26:33*bjz joined #nimrod
14:30:11dom96willwillson: you mean the file extension is different?
14:30:26dom96when did this get added to the stdlib? https://github.com/Araq/Nimrod/blob/devel/lib/pure/basic2d.nim
14:30:37*Varriount-Mobile quit (Read error: No route to host)
14:30:54*Varriount-Mobile joined #nimrod
14:31:01willwillsondom96: nah, at present kock installs nimrod.cfg and not a nim.cfg. Nim looks for nim.cfg
14:31:13willwillsonso its koch
14:31:33dom96oh I see what you mean.
14:31:33*tdc joined #nimrod
14:31:37dom96Yes, it should be changed.
14:31:57*Varriount-Mobile is now known as Varriount|Mobile
14:32:04dom96We don't use koch install so it's not all that well tested.
14:32:14willwillsonI see
14:33:14willwillsonthat might have been the problem imjoe was having?
14:33:27dom96yes
14:35:09Varriount|MobileDarn. freenode might've been compromised
14:35:29dom96Varriount|Mobile: oh?
14:36:01Varriount|Mobiledom96: Didn't you just see the global message sent out?
14:36:25EXetoCdom96: it was added several months ago I think
14:36:38dom96Varriount|Mobile: nope, I guess hexchat sent it some stupid place as always
14:37:36dom96-tomaw- [Global Notice] Earlier today the freenode infra team noticed an anomaly on a single IRC server. We have identified that this was indicative of the server being compromised by an unknown third party. We immediately started an investigation to map the extent of the problem and located similar issues with several other machines and have taken those offline. For now, we
14:37:43dom96recommend that every change their NickServ password as a precaution.
14:37:48dom96found somebody's copy paste
14:37:53dom96There it is for others ^
14:41:57dom96well I suggest you guys hold off on changing the password
14:43:31willwillsonwhy's that?
14:44:38dom96because servers could still be compromised
14:44:51dom96so you would giving away your new password in plain text
14:45:17dom96*would be
14:45:38willwillsongood point
14:50:00*francisl joined #nimrod
14:50:47*Jehan_ joined #nimrod
14:55:38*tdc quit (Ping timeout: 250 seconds)
15:11:52*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:29:11*uber_ is now known as uber
15:39:23Varriount_dom96: What version of hexchat are you using?
15:39:28*Varriount_ is now known as Varriount
15:39:35dom962.10
15:39:49dom96Varriount: how are those scripts coming along?
15:40:04*Ven joined #nimrod
15:40:23Varriountdom96: Because I use Hexchat, and the global notices appear in whatever the active window was when they were sent.
15:41:12dom96maybe my BNC did something silly
15:45:22NimBotAraq/Nimrod bigbreak 69d4eb1 Dominik Picheta [+0 ±3 -0]: Some docgen fixes.
15:45:22NimBotAraq/Nimrod bigbreak d28088f Dominik Picheta [+0 ±1 -0]: Fix 'doc' command.
15:45:22NimBotAraq/Nimrod bigbreak 0047172 Dominik Picheta [+0 ±8 -1]: More docgen fixes.
15:45:40dom96Araq: So running doc2 on httpclient causes an OutOfMem error
15:46:06dom96Even though there is plenty of memory
15:46:20EXetoCmore ram :>
15:47:32dom96Araq: I think it's something recent because it worked yesterday
15:47:54Araqdom96: well I didn't push anything, did I?
15:48:32dom96I think I pulled though
15:48:36Varriountdom96: I have the script half done. Remind me again why a batch/bash script is needed for such a small process?
15:49:14VarriountI mean, the process in the csources repo is only 7 lines long.
15:49:16dom96Varriount: For the same reason why an installer is needed on Windows: convenience.
15:49:45dom96Despite the process being only 7 lines long people still get it wrong.
15:49:53Varriountdom96: Will the script reside *in* the Nimrod repository, or outside it?
15:49:57dom96The script can explain each branch to them.
15:49:59dom96outside it
15:50:06dom96put it in its own repo
15:50:22EXetoCVarriount: you think it's a poor DSL? the shell languages seem awkward, but I'm not proficient in any of them yet
15:50:42VarriountEXetoC: Yes. Yes I do.
15:50:47EXetoCmodern general purpose languages can do better I'm sure
15:50:52dom96Araq: any ideas why that error may occur?
15:51:06EXetoCnimrod maybe :> with some hacking
15:51:29EXetoCand more vm features
15:52:05Araqdom96: well I merged devel into bigbreak
15:52:17Araqand when I push this maybe it disappears again
15:52:30VarriountEXetoC: I spent 6 hours yesterday trying to make a script which, when the target directory had more than X files, would delete the Y oldest files until there were less than X files again.
15:52:31Araqbut yeah, we need some earlier check
15:52:41dom96Araq: try running koch web yourself
15:53:45dom96Varriount: Rust has a script too, have you seen the Rust guide? http://doc.rust-lang.org/guide.html
15:54:54Varriountdom96: So, aside from bootstrapping Nimrod, you also want it to update Nimrod as well.
15:55:22dom96Varriount: no.
15:55:36dom96Varriount: Keep it simple for now.
15:55:48dom96I want it interactive though.
15:56:15dom96Although you could allow the user to specify flags too I suppose.
15:56:46AraqVarriount: ugh, please don't waste your time with shell scripting
15:56:52Varriountdom96: Better idea, just have the bootstrap script compile koch with the update flag.
15:57:17Araqdom96: what should this script do?
15:57:55VarriountEXetoC: Some things were because of OpenBSD's lack of non-standard features with their basic tools, like the fact that stat can't output null character delimited lists of files, or that you can't tell find to format its output.
15:57:55dom96Araq: It should ask you where you want Nim to be installed to.
15:58:02dom96And it should then clone Nim there
15:58:05dom96and bootstrap it.
15:58:15dom96And give you instructions on how to add it to your PATH
15:58:24dom96oh, and it should ask you which branch you want
15:58:31AraqVarriount there is some lang to sh|bat compiler
15:58:43Araqwas on reddit recently
16:00:55AraqVarriount: does your tester test every babel package?
16:03:10dom96Please read https://github.com/Araq/Nimrod/blob/bigbreak/lib/pure/asyncdispatch.nim#L23 and let me know what you think.
16:03:43*gelumelu joined #nimrod
16:03:52Araqs/keyword/pseudo keyword/
16:04:45*bogen joined #nimrod
16:05:19Araqalso
16:05:40Araqplease use .. include:: asyncdocs.txt or something similar
16:05:59Araqno wonder you want multi line comments :P
16:06:13VarriountAraq: My tester specifically, or the general tester program?
16:06:16Araqthis is not supposed to be used for book chapters
16:06:23AraqVarriount Both
16:06:27EXetoCcus bad editor? :p
16:07:00dom96Araq: Yeah, I still want multiline comments.
16:07:08dom96Araq: Include is a silly workaround.
16:07:20Araqnot using include is silly in this case
16:07:21dom96What if I don't want my docs separated from my module?
16:07:35Araqyou really should want that :P
16:07:39Araqbut if not
16:07:46Araqdo it as you did here
16:08:27*gelumicu joined #nimrod
16:09:27dom96it's not a great thing to do for babel packages
16:09:33Araq"When a procedure is "awaited", the asynchronous procedure it is awaited in will suspend its execution"
16:09:38VarriountAraq: Uh... Did the tester source code get mangled or something?
16:09:40Araq<-- some typo in there
16:09:53dom96?
16:10:22AraqVarriount there were no big changes to the tester
16:10:33dom96where do you see a typo?
16:10:57VarriountAraq: Hm. Ok..
16:12:05*gelumelu quit (Ping timeout: 260 seconds)
16:12:22Araqdom96: hrm ok but " it is awaited in" sounds weird
16:12:31dom96whilst writing all these doc comments I didn't even think "hrm, it would be nice to use multi-line comments here"
16:12:50dom96Now that you put that idea into my head I won't let it go :P
16:13:01dom96So yeah, multi-line comments please.
16:13:28dom96Care to suggest an alternative way of saying what I mean?
16:13:43VarriountAraq: According to the tester source code, babel packages belonging to the github user 'nimrod-code' are tested by default, *if* babel is available.
16:13:47Araqdiscard """ """ ?
16:14:42AraqVarriount ok
16:15:37VarriountAraq: And my instance of the tester does appear to be testing the packages.
16:15:51Araqall of them?
16:16:02VarriountAraq: Let me check.
16:16:47VarriountAraq: Also, note that the packages are just tested to be downloadable and installable by babel. Since no standard 'build' or 'test' commands are available, not much else can be done.
16:19:53VarriountAraq: All of nimrod-code's babel packages are tested.
16:20:09dom96I'm sorry but making the tester test babel packages is the wrong way to do this. NimBuild should have a step for testing babel packages.
16:22:39AraqVarriount: I'm pretty sure we can compile arbitrary babel packages ... somehow
16:24:54EXetoCtest command for babel?
16:26:47dom96Araq: Just criticism then?
16:27:01dom96No other feedback?
16:27:08Araqdom96: it's fine
16:27:46Varriountdom96: By the way, it might be good idea to distinguish by architecture the directories babel stores package binaries in
16:29:27dom96nah. Which one would be the 'active' arch then?
16:29:33EXetoCdo you just run every module in the source directory? I do indeed prefer to have the tests be separate
16:29:43VarriountEXetoC: Huh?
16:30:13EXetoCVarriount: when testing the packages
16:30:25EXetoCyou just execute 'build'?
16:30:56VarriountEXetoC: The tester grabs a list of packages from github. By default, it goes through the list of packages whose user is 'nimrod-code', and 'babel install $packageName'
16:31:00dom96If the babel package is a binary then you can just install it
16:31:01Varriountthem
16:31:12dom96if it's a library then you can compile all the .nim files that have been installed
16:31:57dom96Araq: Just 'fine'? :(
16:31:57EXetoCI was thinking about actual tests, but that's less important, and you'd need to run mongo for example
16:32:16VarriountEXetoC: There's no standard way to do that through babel
16:32:18dom96EXetoC: That is what 'babel test' will run at some point.
16:32:22EXetoCbut that could be customized fairly easily
16:33:00Varriountdom96: I can't just compile every *.nim file from a downloaded package an expect it to compile successfully.
16:33:29dom96Varriount: yes you can
16:34:15Varriountdom96: So, by extension, I could compile every *.nim file in compiler directory of the Nim repo, and expect nothing but success?
16:34:28VarriountWhat about files that are included by other files?
16:34:38EXetoCand only a few libs require some kind of daemon to be running
16:35:26AraqVarriount is right dom96, this breaks for include files
16:36:30VarriountNot to mention the fact that not all babel packages are meant to be run/installed/compiled on Windows (X11 anyone?)
16:36:50dom96Yes, it won't be 100% reliable.
16:36:52dom96but it's something.
16:37:08Araqwe can easily come up with smarter heuristics
16:37:17dom96Also, include files are likely to be in 'private' dirs
16:37:22dom96so you simply don't compile them.
16:37:37Araqbut every babel package should have a foo.nim.cfg file to tell people what is the main file
16:37:44AraqIMO
16:37:50Araqbbl
16:39:14Varriountpackages need more metadata
16:39:51dom96bbl
16:42:59EXetoCAraq: not in the package file?
16:44:07VarriountAraq: I don't mind writing the batch/bash files - I need to get some practice in anyway. Even though I dislike both the shell languages, I'm still gonna have to use them.
16:47:20Jehan_Does anyone actually like any shell programming language? :)
16:51:33Varriount|MobileJehan_: Does Python count?
16:52:00Jehan_Varriount|Mobile: No, that's the escape hatch that sane people use, but it's not a shell programming language.
16:52:44EXetoCthere are nice python libs for that
16:54:36*kuzy000 quit (Read error: Connection reset by peer)
16:54:58bogenheh, yeah, I don't like shell languages, but I write a lot of shell scripts. For many I use python instead, but I don't like python, I only use it before for complex "shell" scripts, it is better than bash and the like. But just because it is much better, does not mean I like it (python)
16:55:13Jehan_EXetoC: The underlying problem is that you need something very basic for installation/configuration purposes that runs "everywhere". Once you can do that, you can leverage a higher level approach.
16:55:21bogens/before for/for
16:55:53Jehan_There are three problems with Python there:
16:56:00Jehan_(1) It's not installed everywhere.
16:56:53Jehan_(2) Where it's installed, it may be missing certain key packages (especially on some Linux installations with their ridiculous way of breaking everything down into microscopic components).
16:57:39Jehan_(3) The Python 2/3 split creates the problem that the "python" executable may not be the one you want, and "python2" as a substitute does not work everywhere, either.
16:58:29Jehan_Python is perfectly fine for doing this stuff on systems where you control the setup, but then the same holds for pretty much any programming language.
16:59:23Jehan_It's still better than most alternatives for a lot of situations, since installing Python is usually straightforward (since it's been tested on pretty much any architecture under the sun).
16:59:37EXetoCnot that we were talking about actual system scripts, but yeah
17:00:26Jehan_EXetoC: For scripting an existing system, it's a perfectly fine choice. So are plenty of other languages, though.
17:01:24Varriount|Mobilebogen: what do you prefer?
17:01:43Jehan_My favourite build system is still SCons, so I'm still using Python a lot.
17:05:36bogenVarriount|Mobile: I use bash for stuff that does not need to scale
17:06:17bogenfor things that need to scale I use python, but I hope to soon be using Nim instead of python as my goto language for a "step up" from bash
17:06:22Varriount|Mobilebogen: Do you work with OpenBSD at all?
17:06:56bogenVarriount|Mobile: I have in the past, not recently. on the BSDs I normally use bash as my shell
17:07:47bogenI've not worked with OpenBSD regularily in over 12 years
17:08:22Varriount|Mobilebogen: I'm stuck with using sh
17:08:48Varriount|MobileOn an OpenBSD system.
17:09:29Jehan_Varriount|Mobile: No alternatives?
17:10:27Varriount|MobileJehan_: Not really.
17:10:39bogenI think tcsh or some other csh might be installed, but if you are use to bash then csh is odd
17:11:14Jehan_Varriount|Mobile: Hmm, you can't even install one of your own? Or aren't you allowed to do that?
17:23:11dom96back
17:24:39bogenI used base 36 sometimes in generated Forth source
17:25:11Varriount|Mobilebogen: For what?
17:25:21bogeneh, wrong window...
17:26:52bogenVarriount|Mobile: but to answer your question, to have shorter (in source text) intialized data
17:27:03bogen(shorter than hex encoding)
17:27:48bogensome array or some structure = some data
17:28:20bogenwhere some data was generated from somewhere else
17:28:20Varriount|Mobiledom96: What do other package managers (such as npm) do with respect to package testing? Perhaps the nimrod-code packages should just have their own convention for testing and building.
17:29:07dom96I think they just have a tests dir and just compile and run whatever is in there.
17:29:31dom96And yes, they likely have some sort of convention for the files inside that dir.
17:30:33Varriount|Mobiledom96: Well, we should probably look into how other package managers do things, and do what they do (in a better fashion)
17:31:23dom96Varriount|Mobile: yes
17:32:42*mal`` joined #nimrod
17:35:50*uber quit (Read error: Connection reset by peer)
17:37:09*fowl joined #nimrod
17:50:21*kuzy000_ joined #nimrod
17:59:51*Varriount-Mobile joined #nimrod
18:00:21*Varriount|Mobile quit (Read error: No route to host)
18:04:34*Varriount-Mobile quit (Ping timeout: 250 seconds)
18:10:37*fowl quit (Ping timeout: 245 seconds)
18:12:05*bogen quit (Quit: Leaving.)
18:16:57*bogen joined #nimrod
18:24:59*pafmaf joined #nimrod
18:26:11*pafmaf quit (Client Quit)
18:27:00*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:31:07*uber joined #nimrod
18:32:51*fowl joined #nimrod
18:42:09Araqdom96: doc2 httpserver works for me
18:42:27Araqbut it generates 'uses: []' all over the place
18:43:33Araqoh wait
18:43:40Araqyeah httpclient fails with OOM
18:48:44*Ven joined #nimrod
18:49:05dom96yes
18:55:47Araqhem very strange
18:56:02Araqit says OutOfMemError
18:56:14Araqbut it should output "out of memory"
19:09:18*bjz quit (Max SendQ exceeded)
19:10:26*bjz joined #nimrod
19:27:26*JasonJAyalaP joined #nimrod
19:27:46dom96hello JasonJAyalaP
19:28:21JasonJAyalaPdom96: Heyo
19:30:43*Varriount-Mobile joined #nimrod
19:47:08JasonJAyalaPAnyone talking about making a push to have documentation/tutorials/guides/etc ready before 1.0?
19:47:55AraqJasonJAyalaP: filwit is updating the documentation builder
19:48:01Araqand created a new design etc.
19:48:23dom96JasonJAyalaP: What would you like to see apart from what we already have? Have you seen our current tutorial?
19:48:45JasonJAyalaPI have some (volunteer!) experience with technical writing, and am willing to help...
19:48:58Araqawesome
19:49:00JasonJAyalaPdom96: Well, tut 2 says "incomplete, look at manual"
19:49:43JasonJAyalaPand tut1 has partially the feel of a technical overview "Types, Collection Types, Functions", and partially the feel of tutorial/learn-by-example
19:49:54dom96I personally feel that the tutorial should be rewritten completely.
19:50:25dom96Something like Rust's guide would be nice. If you are willing to write something like that then please do!
19:50:36demilichsdThe new Rust guide?
19:50:44demilichsdThat one is actually quite mediocre and disjointed.
19:51:06JasonJAyalaPThe rust guide is dealing with that same issue too... How much "learn step by step with examples"; how much "technical overview"
19:51:17dom96demilichsd: how so?
19:51:52demilichsdwhat JasonJAyalaP essentially said, it has no direction
19:52:00AraqJasonJAyalaP: well the tutorial suffers from 2 authors
19:52:08AraqI wrote it initially
19:52:19Araqand then gradha added LOTS of additional information
19:52:41JasonJAyalaPAraq: Right. We need to settle philosophy/guidelines first. What purpose everything serves
19:53:07dom96demilichsd: I see. I only skimmed it and it looked good on first sight but perhaps you're right.
19:54:17JasonJAyalaPFor example, we could have, in order of terseness to newbie hand-holding: the Index -> The Manual -> Nimrod-By-Example -> The Guide -> The Nimrod Newbie
19:54:27dom96Maybe it would be better to split up everything as much as possible. That way people can read only what they are interested in.
19:55:05TriplefoxDocs have better impact if they can be geared towards one domain... Like, even if it's not the domain problem you ultimately want to work on it provides a complete context
19:56:38JasonJAyalaPdom96: Right. We have to answer "who's our audience and how are they trying to learn?" for anything we put out
20:01:18dom96JasonJAyalaP: I think only a small proportion of audience are new to programming. So it may make sense to focus on a guide for people who have experience in at least one programming language.
20:01:26dom96*of our audience
20:11:56AraqJasonJAyalaP: I agree with dom96. The tutorial should have many references to other languages. but if people do not know the other language, it shouldn't hurt.
20:12:29AraqOr maybe we should have things like "skip this section if you already knew C's address of operator"
20:12:37Araq*know
20:14:48dom96I don't know. I don't think people would feel comfortable skipping sections.
20:14:58*shodan45 joined #nimrod
20:15:03Araqbut if we tell them?
20:17:56dom96What advantages does this bring versus keeping things separated?
20:18:23Araqdom96: separation can be annoying
20:18:36Araqwe already have a "docs" list that nobody reads
20:18:50Araqtutorial vs manual vs internal docs vs index etc.
20:19:09Araqpeople often miss the index, for instance
20:20:29dom96I don't think they will miss this.
20:26:09Varriount-MobileJasonJAyalaP: Improvements to the (content/organization) of tutorials/guides would be really handy
20:26:20JasonJAyalaPIt's possible to write to both an intermediate programmer and an advanced-beginner... You can both make a comparison to other languages for the quick "aha", as well as fully explain the details
20:26:51Varriount-MobileThe language manual is all right, but it really just gives an overview of mechanics, not necessarily proper use.
20:26:56JasonJAyalaPVarriount-Mobile: I agree. It's big marketing issue too. The docs are the first thing people see, and make the difference between giving up and writing a blog post about it
20:27:26Varriount-MobileJasonJAyalaP: An unfortunate truth.
20:27:29JasonJAyalaP*the difference between giving up *or trying it out and writing about it
20:29:12dom96JasonJAyalaP: If you can make it work then write to both knowledge levels. But doesn't that risk confusing the target audience in the guide?
20:29:36JasonJAyalaPOne way to go about this -> Is there a language/website/documentation that does this well? We can imitate and adjust
20:30:54TriplefoxOne resource i really liked for python was the recipe book
20:30:57JasonJAyalaPdom96: Always a risk, but experience programmers read "this is halfway between enums and ADTs" and they instantly get it. Newer programmers won't, that's not necessary because you continue on and explain fully
20:31:24JasonJAyalaP*won't, but that's not
20:32:32JasonJAyalaPdom96: That saves us from having to separate the guides too much (one for complete newbies, one for beginners, one for people who know C, one for neck beards)
20:32:33dom96JasonJAyalaP: How much experience do you have with Nimrod? Think you could start writing a guide for us soon? Maybe we could get it in for this release.
20:33:24*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:35:23JasonJAyalaPdom96: Hmm. I'm less than ideal for the actual examples, but I'll have a lot to say about the structure of the document and the wording of the explanations.
20:35:42*Demos joined #nimrod
20:36:17JasonJAyalaPdom96: I don't know how much it can be rushed, but in any case, the first step is deciding what to write (generally speaking)
20:36:37*Ven joined #nimrod
20:36:59*gelumicu quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/)
20:37:01JasonJAyalaPWe seem to agree that the tuts need to be replaced. But with what? It can be multiple things, but lets pick one thing to start with
20:38:06dom96You could steal some examples from here: https://nimrod-by-example.github.io/
20:38:15dom96For others you can ask us of course.
20:38:18JasonJAyalaPOne idea is -> Put effort into the Nimrod-by-example project. This is an easy way to start showing examples and explainations, without too much worry about structure. And the audience is defined (the "just show me some examples" people)
20:39:30JasonJAyalaPone that the by-example is really filled-out and meaty, we can take those examples and structure them into a more friendly format with a bit more hand holding
20:39:36JasonJAyalaP*once that
20:42:29JasonJAyalaPperhaps... from terseness to friendly, from "low level" to high: The Manual -> By-Example -> Guide
20:45:09JasonJAyalaPAnother angle of attack: Write a learnxinyminutes.com for Nimrod. Essentially By-Example by bare necessities. This will quickly reveal what's essential.
20:45:18JasonJAyalaP*but bare necessities
20:51:02Jehan_It's interesting how many of the learn-x-in-y-minutes example don't actually get the idea.
20:51:17Jehan_Esp. compared to the Lua original.
20:51:42Jehan_Some are trying to show off what they're think is cool stuff about their language too early.
20:51:56Jehan_And the C++ version is just … weird.
20:52:25Jehan_That one's more about explaining gotchas (and even explaining them so that a newcomer won't understand them).
20:52:33TriplefoxFor lua it makes sense because it's already in a minimal structure
20:53:30Jehan_Triplefox: Yeah, but even so you want to start with basic principles and then build upon them in a logical fashion.
20:53:56Jehan_Not mix in examples that are going to throw somebody for a loop.
20:54:43JasonJAyalaPJehan_: I'm studying the different examples now. What do you think is most important? Which are good examples?
20:55:13Jehan_JasonJAyalaP: I think the Lua example is still one of the best, because it doesn't overwhelm you.
20:55:20TriplefoxMostly what I'm thinking of is when a language has essential boilerplate...e.g. java
20:55:44TriplefoxIt adds weight to every example
20:55:48EXetoCessential sure
20:56:24*tdc joined #nimrod
20:56:47TriplefoxNim fares well on that though, i think
20:56:48Jehan_Triplefox: That can be worked around, but Java boilerplate has always been a problem for teaching the language.
20:57:25Jehan_But there are also other places where the writing trips up and it's just not obvious to experienced programmers.
20:57:41Jehan_For example, the Ruby version starts out with:
20:57:49Jehan_# Numbers are objects
20:57:49Jehan_3.class #=> Fixnum
20:57:49Jehan_3.to_s #=> "3"
20:58:45Jehan_Newbie reaction: "Numbers are objects? What does that mean? What does it mean that a floating point number is followed by an identifier? What is Fixnum?"
20:59:12JasonJAyalaPJehan_: I see that often in the form of ambiguous wording which could be interpreted in a ridiculous (once you already know) way, but isn't obviously ridiculous to the new user
20:59:27Jehan_JasonJAyalaP: Yup.
20:59:52Jehan_Another example from the Ruby version:
20:59:55Jehan_=begin
20:59:55Jehan_This is a multiline comment
20:59:55Jehan_No-one uses them
20:59:55Jehan_You shouldn't either
20:59:55Jehan_=end
21:00:03JasonJAyalaPha
21:00:13JasonJAyalaPThen why waste time/head-space talking about it?
21:00:15Jehan_If nobody uses multiline comments and newbies aren't going to stumble upon them by accident, just leave them out.
21:00:18Jehan_Yeah.
21:00:26tillzyone thing that throw me a bit of when reading the tutorial (started learning this week) was the different integers, floats and things like that.. when you feel that you have to remember alot of things.
21:01:15tillzymaby sticking to the essentials as previously mentioned and only link to the more advance features of the same nature
21:01:33JasonJAyalaPtillzy: Often, guides will start with a long list of all the types, then a long list of all the data structures...
21:01:45TriplefoxSomething that's been on my mind, more of a general language design thing... is that what is probably most pressing for any language is its strengths relative to assembly... since that's ultimately the building block
21:01:45Jehan_tillzy: Yeah. The idea is to give them the basics so that (1) they can get started and (2) have a foundation to explore the rest of the language on their own.
21:02:11JasonJAyalaPTriplefox: You mean, "why not just use assembly"?
21:02:32TriplefoxOr, why have a complex syntax
21:02:35Jehan_Triplefox: For almost any language that should be that you (1) get better abstraction tools and (2) aren't tied to one specific processor.
21:03:02Jehan_It's not really hard to make the case against assembly language.
21:03:18JasonJAyalaPJehan_, tillzy: Right. People checking out the language usually want to start playing with it and "get a feel". They're not language enthusiasts wanting a spec.
21:04:14TriplefoxThat's an easy argument, but why these forms and constructs
21:04:19Jehan_JasonJAyalaP: yeah, exactly.
21:04:24TriplefoxWhat makes them special
21:04:55Jehan_Triplefox: Honestly, that's nothing that newbies care about. They're more interested in "how do I get this thing to do X" for some X they're curious about.
21:05:08JasonJAyalaPTriplefox: When I can't remember a certain syntax ("Was it `do: -> case (x:x)` or `-> |x| when x not y` ?") I often say to myself "damn, this would have been more memorable in Lisp!
21:05:12*Varriount-Mobile quit (Read error: Connection reset by peer)
21:05:47Jehan_Language comparisons are mostly just flamewar fodder for Reddit.
21:05:59JasonJAyalaPJehan_: I think Triplefox is just thinking out loud about a (perhaps related) but different subject :)
21:06:21Jehan_JasonJAyalaP: Ah, okay.
21:06:26tillzyJasonJAyalaP: thats exactly where i stand right now, i really like to experiment with different languages and tools but i often give up if i can't get that quick feel for it tho. for some reason i am still sticking with nimrod even tho i havent gotten that feel for it yet :P
21:07:15JasonJAyalaPtillzy: Same. Sometimes you feel like there's something special there, and you stick with it even though there are plenty of resources for more mainstream languages
21:07:41*brovador joined #nimrod
21:08:14TriplefoxIf I can solve things with an array, that's the ideal level of abstraction since that's as close as possible to how the computer operates... this thought has been stuck in my head
21:08:18JasonJAyalaPJehan_: Maybe I'll start doodling a rough draft of learnxinyminutes for nimrod and upload it to github.com/JasonJAyalaP; I'd appreciate your opinion
21:08:49Jehan_I think you can get plenty of feedback from everybody here. :)
21:09:31tillzythat would be amazing, looking forward to reading it JasonJAyalaP
21:10:37JasonJAyalaPTriplefox: That's the issue in all high vs low-level issues; All performance vs reasonability (don't know the term..) debates... A programming language is a link between these dumb von neuman machines and creative human mind... How do they interact?
21:10:52*bogen left #nimrod (#nimrod)
21:11:20Demosthe thing I like about nimrod is that it is pretty easy to build up abstractions over time, which is nice
21:11:36Demosalso you get to use tooling designed for C, like profilers and stuff
21:12:35*dapz joined #nimrod
21:12:47Araqhi dapz welcome
21:12:55Araqhi brovador
21:13:20TriplefoxI guess, wheeling it back to tutorials talk, I feel like emphasis on a low level style helps the introduction
21:13:39TriplefoxSince it has fewer and more common concepts
21:14:08Demosnimrod is also a pretty easy language to learn, at least it was for me
21:14:28Demosit has that thing that python has where you can guess what syntax is and you tend to get it right
21:16:24tillzyi have yet been successfull in my first attempt at rendering another rectangle in the sdl2 example, lol. guess i am a slow learner
21:21:36*kuzy000_ quit (Ping timeout: 252 seconds)
21:22:13tillzyprobably not a nimrod problem tho, just not getting the hang of the sdl library
21:23:28JasonJAyalaPtillzy: I wouldn't be hard on yourself. This is programming: One misplaced comma and the whole thing explodes and starts shouting incomprehensible madness
21:24:05tillzyJasonJAyalaP: this is true haha!
21:25:56EXetoCthe compilers should indeed be nicer to us humans
21:26:02*BlameStross left #nimrod (#nimrod)
21:26:55EXetoC"what's that doing there? it's fine, let's just remove it"
21:32:22*johnsoft quit (Ping timeout: 240 seconds)
21:38:13*def-- joined #nimrod
21:40:18*Triplefox_ joined #nimrod
21:40:30*vegai_ joined #nimrod
21:44:27*untitaker_ joined #nimrod
21:44:39Araqdom96, Jehan_ sysio.nim, line 222
21:44:49Jehan_Araq: Que?
21:44:51Araqwe die with "out of memory" but
21:45:02Araqthat's confusing
21:45:07Araqand wrong
21:45:13*brovador quit (*.net *.split)
21:45:16*tillzy quit (*.net *.split)
21:45:17*def- quit (*.net *.split)
21:45:18*untitaker quit (*.net *.split)
21:45:19*vegai quit (*.net *.split)
21:45:21*Triplefox quit (*.net *.split)
21:45:22Jehan_Araq: Not sure about the context. What triggers the error?
21:45:23*def-- is now known as def-
21:45:24*bogen joined #nimrod
21:45:27AraqJehan_: lib/system/sysio.nim
21:45:35Jehan_Which branch?
21:45:42Araqdoesn't matter
21:45:45Araqbut bigbreak
21:46:06Araqapart from the bug when p is nil
21:46:16Araqwhat should setvbuf's failure produce?
21:46:21AraqIOError?
21:47:07dom96is this because of the staticRead changes?
21:47:29Jehan_Oh, I think I see.
21:48:29Jehan_POSIX says it can fail if the file descriptor is invalid.
21:48:34*Triplefox_ is now known as Triplefox
21:48:44Jehan_No other error condition is listed.
21:50:15Jehan_So, IOError sounds legitimate, though the message should probably explain more.
21:50:16Araqdom96: no
21:50:31AraqI changed things for nimfix
21:50:42Araqwhich triggers the system.open bug
21:50:50Araqthat's been there for years, I think
21:51:28AraqJehan_: well open returns a bool, it seems ugly if it can also raise IOError
21:51:34AraqI think it should discard this
21:51:49Araqif setting a bigger buffer fails, things still continue to work
21:51:53*tdc quit (Ping timeout: 272 seconds)
21:51:57Jehan_Well, it is an error. Something's seriously broken if it happens.
21:52:18Jehan_It works on a FILE *, but the associated file descriptor is wrong.
21:52:29Araqwell we pass 'nil' for it
21:52:44Araqobviously we won't do that soon
21:53:12Araqbut what if it fails nevertheless? fatal error? exception?
21:53:21Araqignore?
21:53:36Jehan_POSIX specifies that it should only fail if FILE *'s file descriptor is screwed up.
21:54:09Araqyeah but raising IOError means it ends up as a listed possible exception
21:54:16Jehan_Which usually means something's wrong. I'd guess a closed file or mangled memory?
21:54:24Araqand that will confuse users
21:54:32Jehan_OSError?
21:54:43Araqit doesn't really matter
21:54:52Araqraising an exception for this is evil
21:55:00Araqgiven how the effects system works
21:55:14Araqdiscarding it seems much better
21:55:17Jehan_Yeah, but this is undefined behavior. This is what exceptions are for normally.
21:55:37Jehan_Something's seriously broken and continuing will make things worse.
21:55:42Araqyou'll get an IOError for read/write immediately afterwards anyway
21:55:55Jehan_Hmm, also true.
21:56:01Araqlet's keep 'open' itself clean
22:09:23*fowlmouth joined #nimrod
22:11:12*Trixar_za quit (Excess Flood)
22:14:05*Fr4n quit (Excess Flood)
22:14:14*BlaXpirit quit (Remote host closed the connection)
22:14:29*Trixar_za joined #nimrod
22:14:34*Fr4n joined #nimrod
22:16:36*fowl quit (Ping timeout: 267 seconds)
22:18:36*noam__ joined #nimrod
22:20:54*armin joined #nimrod
22:21:35*willw40 joined #nimrod
22:27:25*willwillson quit (*.net *.split)
22:27:26*noam quit (*.net *.split)
22:27:27*zling______ quit (*.net *.split)
22:27:29*reloc0 quit (*.net *.split)
22:30:13*zling______ joined #nimrod
22:36:54*zling______ quit (Changing host)
22:36:54*zling______ joined #nimrod
22:40:09JasonJAyalaPAraq: Before I go: I'm still hosting the nimrod 0.9.4 mac installer (http://jasonayala.com/files/Nimrod-0.9.4.pkg); I'm not sure if you want to wait until the next version, or if you want to replace the current download with that. I can host it (DigitalOcean still isn't enforcing the 1TB bandwidth cap... :) or you can host it wherever (of course)
22:40:44Araqah you're the mac installer guy
22:40:53Araqwell please come back
22:41:09Araqso that we can discuss how to document things
22:42:10JasonJAyalaPAraq: Alrighty
22:42:17*JasonJAyalaP left #nimrod (#nimrod)
22:43:19*BlameStross1 joined #nimrod
22:47:13*armin1 joined #nimrod
22:47:14*Varriount_ joined #nimrod
22:50:56*comex joined #nimrod
22:51:07*zahary1 joined #nimrod
22:53:17*Varriount quit (Ping timeout: 246 seconds)
22:53:18*armin quit (Ping timeout: 246 seconds)
22:53:20*comex_ quit (Ping timeout: 246 seconds)
22:53:23*Ven quit (Ping timeout: 246 seconds)
22:53:26*dapz quit (Ping timeout: 246 seconds)
22:53:27*zahary quit (Ping timeout: 246 seconds)
22:53:30*phI||Ip quit (Ping timeout: 246 seconds)
22:53:48*phI||Ip joined #nimrod
22:55:02*uber quit (Quit: bye)
22:57:54*uber joined #nimrod
22:58:17*francisl quit (Quit: francisl)
22:59:18*armin1 is now known as reloc0
23:02:30dom96Araq: Maybe we should introduce a convention to put tests (that we currently put under when isMainModule) under when defined(testing)?
23:02:56Araqdom96: for what?
23:03:17dom96Araq: So that babel can test them.
23:03:33Araqhrm
23:03:33EXetoCwhy not have separate modules?
23:05:29dom96I also think that we should simplify the unit test module into a test macro to be used as a pragma in procs.
23:07:16EXetoCI think it seems like a better idea to keep it separate
23:07:18EXetoCwhy a pragma?
23:08:42EXetoCanyway, I do indeed want 'check' to be independent of other things
23:08:48dom96hrm, I guess a 'test' macro taking a test name as first param wouldn't be much more complex.
23:08:54EXetoCat least the most useful functionality
23:09:22dom96But I think the unittest module needs to be simplified.
23:12:38Araqdom96: does your asycnc macro use parseString()?
23:13:08dom96Araq: no
23:13:18EXetoCcheck seems more useful than assert in general
23:13:49dom96EXetoC: what's different about it?
23:15:55EXetoCdom96: the fact that it breaks up the expression and stringifies them. very convenient
23:16:15dom96EXetoC: assert does that too
23:17:31EXetoChuh
23:17:48*darkf joined #nimrod
23:18:01EXetoCno
23:18:28dom96I'm not sure what you mean then. Can you give me an example?
23:23:51EXetoCdom96: 'x > f(y)' would stringify x, y and f(y)
23:24:28dom96you mean it would give the underlying value of them?
23:25:19EXetoCyes
23:25:58EXetoCwhy am I still up... cya
23:42:30Onionhammeri like that when(testing) idea
23:42:49Onionhammerbut when you did it, it would run them on ALL modules
23:42:57Onionhammerthat you have imported
23:43:01Onionhammernot just your curretn module
23:44:37dom96if you run 'babel test' then sure
23:44:54Onionhammerif it's a convention
23:46:08Onionhammerseems like tests would potentially get re-run a lot
23:46:14Onionhammerif babel packages import other babel packages
23:46:28*bjz quit (Ping timeout: 250 seconds)
23:46:59dom96yes, so it would make more sense to just run the tests in that packages .nim files
23:47:24Onionhammeryeah
23:48:41Onionhammercant you just define isMainModule on each of the .nim when "babel test" runs?
23:49:09Onionhammeror would you need compiler support for that
23:49:55dom96it would be defined for you since you would be compiling the modules lol
23:50:28dom96Not all code inside a 'when isMainModule' is for testing though
23:51:25Onionhammertrue
23:52:09Onionhammerwhat about another babel.cfg field recognized specifying a 'test' module
23:52:35Onionhammerdefault to 'tests.nim' file in each babel package