<< 15-10-2014 >>

00:00:46VarriountSo, today I experience the magic that is VB Script
00:00:52Varriount*experienced
00:01:56AraqVarriount: I uploaded mingw32 + 64 with a working gdb
00:02:04VarriountYay!
00:02:11Araqhow did you manage to get them down to 30MB?
00:03:06*fowl joined #nimrod
00:03:09VarriountAraq: Your trimcc only deals with things in 40 file blocks
00:03:30VarriountAraq: If a single file in 40 is required, the entire block is kept
00:04:17VarriountI modified trimcc to do multiple passes, with a varying block size based on successes of previous blocks
00:05:13Araqyes but I did it differently
00:05:22Araqwhen I used it I had no power supply
00:05:49Araqso I manually removed lots of things and then restored what's really necessary
00:06:06Araqbut I ended up with 160MB
00:06:10Araqnot with 30
00:06:21Araqdoes yours still support c++?
00:06:24VarriountAraq: Well, msys isn't in there either.
00:06:53VarriountAraq: I supports whatever was needed for the original trimcc to compile.
00:06:56Varriount*It
00:07:28Araqwell as you figured it doesn't remove extensionless files
00:07:34VarriountAraq: https://gist.github.com/Varriount/8c6dee0b8e2f0756575e
00:07:41Araqso it should never have deleted required c++ headers
00:09:52Araqany idea what was the problem for c++ headers?
00:10:08VarriountYeah. I was using devel, not bigbreak.
00:11:34VarriountAraq: Also, that trimcc requires a tiny change to koch.nim - 'QuitSuccess' needs to be added to the procedure that displays the help message
00:12:03AraqVarriount: well just make a PR
00:12:36VarriountAraq: I will. Right now I'm in the process of tidying up trimcc to make it a model of Nimrod-icity
00:13:10Araqugh, please help me on the release instead
00:13:28Araqwe need the infrastructure for 2 versions of the docs
00:13:51Araqand a web based installer would be sweet
00:15:03Araqalso we need to get rid of the exception_hierachy file somehow. it keeps the PDF version of the manual from building
00:15:15Araqand new kind of show stopper:
00:15:32Jehan_What's a web-based installer, out of curiosity?
00:15:42Araqa local Nim should not use the global (likely outdated) stdlib
00:16:05Araqmany who update don't get rid of old stdlibs
00:16:44AraqJehan_: point and click whether you want to download mingw too
00:16:57Jehan_Ah, I see.
00:17:17*quasinoxen quit (Ping timeout: 260 seconds)
00:17:35Jehan_And how can Nim see two stdlibs? Doesn't it look the stdlib up just relative to the binary's location?
00:19:07Araqlooking at the code
00:19:15AraqI have no idea what's wrong
00:19:46Araqbecause it's as you say
00:19:56Araqnimconf.nim:224
00:20:12Araqmaybe the config sets lib?
00:20:58Jehan_That's a possibility.
00:21:23Araqwell no
00:21:49Araqthe config doesn't set it
00:22:45Araqbut it ends up processing stuff in /etc
00:23:03Araqand if a package manager screwed things up
00:23:30Araqthen /etc/nimrod.cfg sets lib and things break
00:23:37Trustablegood night people
00:23:41*Trustable quit (Quit: Leaving)
00:24:22*quasinoxen joined #nimrod
00:31:14*vezzy joined #nimrod
00:31:45*quasinoxen quit (Ping timeout: 260 seconds)
00:36:46Araqhrm this actually looks quite simple ... we can stick with InnoSetup
00:36:56Araqbut good night
00:43:40*Lorxu quit (Read error: No route to host)
00:43:55*brson quit (Quit: leaving)
00:57:58*Jehan_ quit (Quit: Leaving)
01:20:34*ehaliewicz joined #nimrod
01:26:46*noam_ joined #nimrod
01:32:01*noam quit (Ping timeout: 272 seconds)
01:33:10*Araq quit (Ping timeout: 260 seconds)
01:33:10*Amrykid quit (Ping timeout: 260 seconds)
01:33:11*JStoker quit (Ping timeout: 260 seconds)
01:33:32*JStoker joined #nimrod
01:33:33*Amrykid joined #nimrod
01:33:53*reactormonk quit (Ping timeout: 260 seconds)
01:34:00*Araq_bnc joined #nimrod
01:34:21*Francisco quit (Ping timeout: 260 seconds)
01:37:11*saml_ joined #nimrod
01:40:05*jez0990_ joined #nimrod
01:42:00*Amrykid2 joined #nimrod
01:42:50*jez0990 quit (Ping timeout: 272 seconds)
01:42:53*Amrykid quit (Ping timeout: 260 seconds)
01:48:45*Francisco joined #nimrod
01:57:04*jagillion joined #nimrod
02:00:56*reactormonk joined #nimrod
02:02:12*Lorxu joined #nimrod
02:02:15LorxuHi
02:07:06*grubs_mcgee joined #nimrod
02:07:41*boydgreenfield joined #nimrod
02:08:20*fowl quit (Ping timeout: 260 seconds)
02:09:06*grubs_mcgee is now known as fowlmouth
02:09:11*fowlmouth quit (Changing host)
02:09:11*fowlmouth joined #nimrod
02:09:16*fowlmouth is now known as grubs_mcgee
02:48:26*xenagi joined #nimrod
03:53:26*saml_ quit (Quit: Leaving)
03:55:59*boydgreenfield quit (Quit: boydgreenfield)
04:14:38*boydgreenfield joined #nimrod
04:16:14*grubs_mcgee quit (Quit: Konversation terminated!)
04:25:06*xenagi quit (Quit: Leaving)
04:31:32*BlaXpirit joined #nimrod
04:43:53*melgen quit (Quit: Konversation terminated!)
04:46:30*matiaslina joined #nimrod
04:46:43*matiaslina left #nimrod (#nimrod)
05:03:48*boydgreenfield quit (Quit: boydgreenfield)
05:06:11*jagillion quit (Quit: jagillion)
05:30:23*nande quit (Remote host closed the connection)
05:35:55*BlaXpirit quit (Quit: Quit Konversation)
05:46:54*Varriount_ joined #nimrod
05:49:26*Varriount quit (Ping timeout: 250 seconds)
05:54:37*darkf_ joined #nimrod
05:55:36*darkf quit (Ping timeout: 260 seconds)
06:14:53*gokr_ quit (Remote host closed the connection)
06:16:12*gokr_ joined #nimrod
06:19:07*darkf_ is now known as darkf
06:42:38*kshlm joined #nimrod
06:48:03*gokr_ quit (Read error: Connection reset by peer)
06:48:15*gokr_ joined #nimrod
06:50:26*ehaliewicz quit (Ping timeout: 240 seconds)
06:53:25reactormonkLorxu, o/
06:55:27*Araq_bnc is now known as Araq
07:22:11*Trustable joined #nimrod
07:28:55*noam_ is now known as noam
07:36:11gokrSilly question: What's a Nim coder? A "Nimmer"? Not a Nimrod I guess ;)
07:37:42gokrAlso, the naming change - is the idea to do it "in full effect" with 1.0? As for example, rename the compiler binary and so on.
07:48:14Araqhrm dunno. Nimmer is good enough
07:48:42Araqgokr: we want to release nimrod 0.9.6 and nim 0.10.0 at the same time
07:48:42gokr:)
07:49:00Araq0.9.6 being the last release with the old name
07:49:09Araqand mostly a bugfix release
07:49:19Araqall the exciting new stuff is in nim
07:49:50Araq0.10.0 breaks compatibility though
07:51:04Araqnot sure how that will turn out ... the python 2/3 split didn't go well
07:51:36TrustableAraq: what is the reason for 0.9.6?
07:52:00gokrI guess making sure people lagging have a robust 0.9.x?
07:52:45gokrI am writing a small blog article describing the bootstrap process - am I correct with this sentence:
07:53:06gokr"Ok, so now we have a koch tool written in Nim compiled with a slightly older Nim compiler written in Nim that we compiled from its C sources that probably was generated by an even older Nim compiler."
07:53:41gokrAnd yes, I am writing these sentences with a tongue in cheek - bootstrapping is fun.
07:54:08Araqyeah, that sentence is correct
07:54:22gokrgoodie.
07:56:33gokrThis dance reminds me of the COLA stuff by Ian Piumarta, also fun bootstrapping.
07:57:11gokrAraq: That stuff might interest you btw, I will find one of his papers.
07:58:34gokrDo you know who he is?
07:58:45Araqnope
08:00:35gokrHe is ... hmmm, hard to describe. Very sharp guy, wrote the Unix port of the Squeak VM - expert in various VM stuff and compiler techniques.
08:00:48gokrYou can take a look at http://piumarta.com/papers/ and http://piumarta.com/software/
08:01:16gokrHe works/worked with Alan Kay on several of his projects.
08:03:54gokrI think Ian's latest incarnation of the COLA/Albert stuff (many names) is "Maru": http://piumarta.com/tmp/maru/
08:04:28gokrThe idea being... to create an extremely late bound system in effect making the VM disappear, making it soft and malleable at runtime all the way down.
08:07:43Araq"Making the VM disappear" is called "static compilation" :P
08:07:54gokrIan Piumarta and Eliot Miranda are probably the two sharpest low level guys in the Smalltalk VM area today.
08:08:14gokrAraq: No, in this sense the idea is having malleable at runtime.
08:08:25gokrI wouldn't say disappear then - making it malleable.
08:09:16gokrSo Maru has this nucleus based around S-expressions and some other stuff - and then it construcs a "VM" dynamically when it starts up.
08:09:44Araqgotta go, see you later
08:09:47gokrI saw Ian demo a js implementation written in just ... 100 lines ? I think, that was faster than the js in firefox at the time.
08:09:51gokrciao
08:10:40gokrSorry for the line noise - just felt that Araq might find some cool stuff to borrow.
08:18:28gokrRegarding the bootstrap iterations - AFAICT if the new compiler binary equals the "slightly older from C sources" compiler - then we consider us done. Is that a safe assumption?
08:20:36gokrPerhaps it is, just felt that one extra iteration would have been the safe route ;)
08:21:04gokrAs in "the new compiler compiling itself produces the same binary again".
08:43:06gokrAlso, am I correct that the general idea in Nim is to use libraries in source form? I mean, they are installed in .nim source form under /usr/local/lib.
08:47:46*bjz joined #nimrod
09:04:10*Jehan_ joined #nimrod
09:07:20Jehan_gokr: binary libraries can be done, but at least for now the implementation (including the currently broken incremental compilation machinery) seems to assume building from source, yes.
09:07:43gokrWell, personally I like it :)
09:08:12gokrI am writing a small blog article describing the install/bootstrap procedure.
09:09:35Jehan_Bootstrap iterations: the compiler generates multiple versions, building the next with the previous one.
09:10:01Jehan_It stops when successive versions are equal or after the third iteration, whichever comes first.
09:11:15gokrYes, I know - I just read that code and described it in my article. BUT... I was asking if it was safe to stop after just creating the first compiler (using the older from C).
09:11:29gokrIntuitively I would perhaps have iterated once more.
09:12:01gokrAs I wrote "the *new* compiler compiling itself producing the same binary" and not the old.
09:12:38gokrAlso, does Windows always fail creating same binaries?
09:12:51gokrWe don't warn on Windows :)
09:13:04Jehan_gokr: No idea, but clang frequently fails.
09:13:14Jehan_Non-deterministic linking process.
09:13:35gokrSpice it up with some random :)
09:14:04Jehan_More likely using multiple threads. :)
09:14:10gokrhehe, same same ;)
09:14:25gokrDo you know what a SkipList is btw?
09:14:32Jehan_Yes.
09:14:50gokrJust reminded me of that - funky with a data structure using randomness in its algo.
09:14:56Jehan_Has limited applications on modern processors, though.
09:15:35Jehan_Used to be a nice implementation technique for polynomial structures in computer algebra.
09:15:54Jehan_In that you had most of the benefits of a tree, but also could access the lead monomial in constant time.
09:15:56gokrBtw, the english verb "nim" evidently stems from old "nimen" which sounds very much like "nehmen".
09:16:10Jehan_Probably. :)
09:16:27gokrnimming and to nim something - steal, take.
09:16:58Jehan_Yup. Think "nimm" in German, too.
09:18:18gokrWould you agree that the Nim community suffers a bit from the NiH syndrome?
09:18:31gokrI kinda recognize it a little bit from Smalltalk.
09:18:59gokrWe also like to do everything in Smalltalk. ;)
09:19:24gokrAnd note that I didn't mean NiH necessarily in a bad way.
09:19:51gokrEating dog food is often very good for ya.
09:19:54Jehan_gokr: Hmm. Not sure about that. Certainly wrapping existing libraries seems to be popular.
09:20:06gokrTrue, that is definitely not a NiH thing.
09:20:21gokrBut the forum, koch ... docgen? etc
09:20:33Jehan_Nim itself is trying to be at close to 100% Nim itself in order to more easily support multiple backends.
09:20:46gokrYeah.
09:21:09Jehan_Forum I don't know. koch is a matter of having a cross-platform tool that doesn't introduce an additional dependency.
09:21:37Jehan_Same goes for docgen.
09:21:49gokrPersonally I am all fine with it, but I guess other people may react.
09:22:11gokrLike... what? No autoconf? What? No Makefile? What? "nake"? etc
09:22:13Jehan_It's really one the reasons why I use Nim: I can package the compiler and everything easily with a project.
09:22:28gokrOh yes, that aspect is very nice.
09:22:34Jehan_Makefile doesn't make sense for most C languages.
09:22:36*BlaXpirit joined #nimrod
09:22:52gokrAs a Squeaker (and Smalltalk in general) I like to be able to "bundle it all" and have full confidence it works.
09:22:56Jehan_Make is a hack around C/C++ not having a proper module system and a compiler smart enough to know dependencies.
09:23:08gokryep, I wrote that too in my article :)
09:23:19Jehan_Mind you, it's a brilliant hack, but still a hack.
09:23:24*BlaXpirit quit (Client Quit)
09:23:38gokryeah
09:23:39Jehan_Autoconf is a complicated story.
09:23:45gokrHehe, no kidding.
09:24:04Jehan_If I could, I'd wipe all memory of autoconf from existence. :)
09:24:25gokrI just meant - I suspect lots of people will "react" towards this and perhaps think its NiH (in its negative form).
09:24:28Jehan_I appreciate the idea underneath it, but I shudder at how it's done.
09:29:31Jehan_Also, the reality these days is that if you cover Windows, OS X, Linux, and the BSDs, you've almost entirely covered the part of the market where anybody cares about portability.
09:30:09Jehan_The biggest challenge is usually that some library or include file doesn't exist on a crippled Linux system somewhere.
09:30:56Jehan_<rant>Because Linux distributions still optimize for a primary use case of having to deal with 300MB of disk space and 64MB of RAM.</rant>.
09:31:57Jehan_So one of the systems I'm using doesn't have the bz2 module in Python nor any means to build it yourself without jumping through really, really elaborate hoops.
09:42:10gokrI work primarily in CentOS/Ubuntu - we use those for all our servers. Our client runs on Windows and OSX, but we are moving towards Android/iOS and also Linux.
09:43:40Jehan_Oops, yes, I forgot to mention mobile systems w.r.t. portability, i.e. iOS and Android.
09:44:23Jehan_Android is really the weird outlier there with a JVM backend being preferred.
09:55:32*EXetoC quit (Read error: No route to host)
10:07:01*EXetoC joined #nimrod
10:12:57gokrHmmm, 0.9.5 is soon or?
10:13:14gokrJust realized Araq mentioned 0.9.6 above, but not 0.9.5.
10:21:09Jehan_Odd numbers are development versions, even numbers are release versions.
10:28:47*Araq_ joined #nimrod
10:29:11Araq_inventing a language from scratch itself is NiH
10:29:42Araq_so yes I am full of NiH :-)
10:30:04Araq_however, I used to use the tools that I deliberately don't use
10:33:46*io2 joined #nimrod
11:07:52*Lorxu quit (Ping timeout: 240 seconds)
11:29:32*xcombelle joined #nimrod
11:48:03*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
11:53:17*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 32.0/20140825202822])
11:53:33*leehambley joined #nimrod
11:53:44gokrhttp://goran.krampe.se/2014/10/15/bootstrapping-nim/
11:53:47gokrPhew.
11:53:52leehambleyhi all, just ran into Nimrod, nice to see so many people in here, seems like a great language
11:54:03gokrFeel free to tell me of errors in that article btw.
11:55:26gokrleehambley: I am also just discovering it.
11:56:12leehambleygokr: cool, I notice that the homebrew package is out of date, so your article might be useful for me ^
11:56:16leehambleyHomebrew only has 0/9/2
11:57:12gokrAh. Yeah, give me any and all feedback on it.
11:57:39gokrI felt there was a slight lack of explanations on that process - I hope the article is both funny and interesting.
11:58:42gokrIn fact... I might need to switch over to my Macbook for some Nimming there so... hurry up fixing homebrew :)
12:01:43Jehan_gokr: Looks good to me, except that it's perhaps somewhat imprecise to call koch.nim a "shell" script.
12:03:48*kemet joined #nimrod
12:05:57*kemet quit (Client Quit)
12:08:14*kemet joined #nimrod
12:10:28gokrJehan_: True, but it does stuff that people often would typically write in a bash script or similar.
12:10:43gokrWhich is what I meant.
12:10:50gokrI can clarify
12:10:54Jehan_I know. :)
12:14:02leehambleyI was surprised to see that it's not *really* mentioned in the docs that the nimcache directory contains the resulting C code
12:14:25leehambleycoming from a web background where Nimrod feels a lot like the CoffeeScript transpiler, I expected to see a side-by-side comparison of the intro in the website
12:14:32leehambleybut upon seeing it, I know why it's not in the website at all
12:16:22gokrOh, I completely ignored that part too. Oops.
12:16:27gokrJehan_: Revised :)
12:18:55EXetoCit's just yet another target language
12:25:19EXetoCsomeone said something like "you might as well just use C then". kinda silly
12:25:26gokrha!
12:26:09gokrNo, not C - since it compiles to machine code - machine code it is.
12:26:54gokrI am actually quite impressed by the performance - given that Nim is quite a LOT different from C.
12:27:16gokrIn fact a completely different language I would even say.
12:28:28gokrSo what dev tools are you guys using? Araq uses Aporia. And I heard Emacs, Vim and Sublime has support - right? Anything else?
12:32:41gokrFound the wiki page.
12:37:44*kemet quit (Read error: Connection reset by peer)
12:37:49*kemet1 joined #nimrod
12:38:08*Lorxu joined #nimrod
12:39:01Jehan_Interestingly enough, C as a target language was a pretty popular approach in the 1990s.
12:39:11Jehan_I used it myself a few times.
12:40:08Jehan_The biggest headaches are (1) expensive exception handling (2) no way to do stack scanning for GC that's both precise and low-overhead and (3) no cheap way to test for integer overflow.
12:43:13Jehan_You can eliminate (1) by using C++ as a target language instead, but the other problems remain.
12:44:01*bjz quit (Ping timeout: 244 seconds)
12:44:24Jehan_Still, conservative stack scanning works pretty well these days (especially on 64-bit architectures) and you can eliminate most integer overflow checks for release code.
12:44:38Jehan_And the upsides of compiling to C/C++ are pretty good.
12:50:02*kemet1 quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
12:51:14gokrJehan_: Indeed.
12:56:45*jagillion joined #nimrod
12:57:34*Lorxu quit (Read error: Connection reset by peer)
12:57:35*kemet joined #nimrod
12:57:41*AndChat|18324 joined #nimrod
12:58:23*jagillion quit (Client Quit)
13:00:47*bjz joined #nimrod
13:02:32*jagillion joined #nimrod
13:10:54*Varriount joined #nimrod
13:13:37*Varriount_ quit (Ping timeout: 245 seconds)
13:17:13*kemet quit (Remote host closed the connection)
13:18:43*kshlm quit (Ping timeout: 272 seconds)
13:26:01*BitPuffin joined #nimrod
13:27:57*Lorxu joined #nimrod
13:27:57*AndChat|18324 quit (Read error: Connection reset by peer)
13:32:05*untitaker quit (Ping timeout: 258 seconds)
13:32:18*saml quit (Quit: Leaving)
13:32:52*saml joined #nimrod
13:38:53*untitaker joined #nimrod
13:41:07*darkf quit (Quit: Leaving)
13:43:30gokrDoes any of the IDEs offer good debugging?
13:43:57gokrI played with the debugger a bit - but I came to the conclusion it was really meant to be driven from an IDE/editor - correct?
13:44:06gokrSince I couldn't figure out how to show source even ;)
13:46:01*kshlm joined #nimrod
13:48:59BitPuffingokr: best one would likely be aporia but I don't know if it has good debugging or not
13:49:01BitPuffinask dom96
13:49:19gokrI am using Aporia, but... it looks quite anorectic
13:50:22dom96gokr: Yeah, it's pretty bare bones.
13:50:41gokrI did notice the "definition.." thing.
13:50:51dom96endb isn't really kept updated I don't think
13:50:55gokrBut second time it bombed :)
13:51:11dom96We need somebody to polish nim's idetools.
13:51:46dom96gokr: Has your blog post been on HN/reddit yet?
13:51:48*EastByte quit (Ping timeout: 255 seconds)
13:51:57gokrNo, not AFAIK.
13:52:06gokrI don't do those sites - other than reading :)
13:52:10*EastByte joined #nimrod
13:52:11*kemet joined #nimrod
13:52:11gokrFeel free.
13:52:20gokrI did two articles btw.
13:52:29dom96Need to wait for Araq's opinion though.
13:52:29gokrThe first was that trivial benching thing.
13:52:35dom96Has he read your article yet?
13:52:37gokrdom96: Yeah, let him decide.
13:52:41gokrNot sure.
13:52:58gokrThe first was http://goran.krampe.se/2014/10/13/here-comes-nim/
13:53:21gokrAnd today I threw up http://goran.krampe.se/2014/10/15/bootstrapping-nim/
13:53:32gokrI will continue with a few more as I explore.
13:54:12gokrI am in "evaluation mode" so to speak.
13:55:17dom96cool
13:55:21gokrBtw, great community here guys. The Smalltalk community is very friendly - but so are you.
13:55:38gokrAs an oldtimer I appreciate those things too, not just tech.
13:55:47dom96:)
13:56:05gokrAnd as an avid Smalltalker I am probably an odd bird here.
13:57:17dom96I'm sure there are others, they're just being quiet.
13:57:25gokrAnd if there is anything "wrong" in these blog articles - feel free to yell. But I think Jehan already checked this last one.
13:57:57gokrOk, gotta go pick up my daughter from day care. later
13:57:57*Lorxu quit (Read error: Connection reset by peer)
13:58:09*Lorxu joined #nimrod
13:58:24dom96gokr: will do. See you.
13:58:28*BitPuffin quit (Ping timeout: 255 seconds)
14:00:11gokrNext will be a test with c2nim I think, if there is some tutorial on that - I am all ears. :)
14:07:54dom96http://build.nimrod-lang.org/docs/c2nim.html
14:08:12*Jehan_ quit (Ping timeout: 245 seconds)
14:20:46*xcombelle quit (Quit: Quitte)
14:21:33*io2 joined #nimrod
14:22:40*saml quit (Quit: Leaving)
14:31:25*BitPuffin joined #nimrod
14:35:59*BitPuffin quit (Ping timeout: 272 seconds)
14:44:24*kemet quit (Ping timeout: 244 seconds)
14:45:23*AndChat|18324 joined #nimrod
14:45:23*Lorxu quit (Read error: Connection reset by peer)
15:08:23*Araq_ joined #nimrod
15:09:06Araq_gokr: your bootstrapping article is very nice. I'd perhaps add 2 facts:
15:09:52Araq_1. it took a while to get it working as a "transaction" so that a failed bootstrapping doesn't overwrite a working compiler
15:11:13Araq_2. the obfuscation of 1_2 directory names in the C sources is deliberate since some C files are shared and I didn't want to receive bug reports like "omg the Mac version uses some files from the Linux directory"
15:15:41*AndChat|18324 quit (Ping timeout: 260 seconds)
15:16:02*q66[lap] joined #nimrod
15:29:58*gokr_ quit (Remote host closed the connection)
15:31:17*gokr_ joined #nimrod
15:35:07*BitPuffin joined #nimrod
15:46:31leehambleygokr: I notice too that it's then not "make installed"
15:46:57leehambleyit wasn't clear to me (and I'm at work, so I didn't try) if it's sufficient to just move ./bin/nimrod somewhere, or if I have to move some stdlib stuff as well
15:49:18Araq_meh, don't install Nim. just add it to your path
15:49:39Araq_causes much fewer problems especially for updates
15:55:56leehambleyAraq_: sure, but what about the stdlib, does that not need to be made available to a search path or something ?
15:56:25Araq_no, it just works
15:58:08*Araq_ never installed Nim on a unix based system
15:58:30leehambleyalright, good to know :)
16:01:13*gokr2 joined #nimrod
16:01:44*gokr_ quit (Ping timeout: 250 seconds)
16:12:48*Matthias247 joined #nimrod
16:19:16*Trustable quit (Remote host closed the connection)
16:20:40*Trustable joined #nimrod
16:21:07*gokr_ joined #nimrod
16:23:39*gokr2 quit (Ping timeout: 272 seconds)
16:23:49*Araq quit (Ping timeout: 260 seconds)
16:24:04*Araq_bnc joined #nimrod
16:24:08*leehamble joined #nimrod
16:24:10*leehamble quit (Client Quit)
16:25:29*johnsoft quit (Read error: Connection reset by peer)
16:26:08*johnsoft joined #nimrod
16:28:01*leehambley quit (Ping timeout: 260 seconds)
16:29:39*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 32.0/20140825202822])
16:37:16*gokr_ quit (Read error: Connection reset by peer)
16:43:54*gokr_ joined #nimrod
16:45:11Trustabledom96: When can you check the 5 PR for Aporia? https://github.com/nimrod-code/Aporia/pulls
16:46:12gokrI presume just adding it to the path - then it finds std libs relative to the location of the compiler.
16:47:36gokrWhich of course makes it easier to live with multiple Nims.
16:47:42*nande joined #nimrod
16:47:50gokrIs that what devs typically do?
16:53:58EXetoCit's easier now at least, and I think I prefer to have everything in one dir
16:57:20*xcombelle joined #nimrod
17:10:29*brson joined #nimrod
17:17:56*Araq_bnc is now known as Araq
17:18:55dom96Trustable: Should be able to today. Thank you for those!
17:19:36*Jehan_ joined #nimrod
17:23:12*BlaXpirit joined #nimrod
17:26:55*dom96 quit (Excess Flood)
17:28:05*dom96 joined #nimrod
17:34:48dom96Araq: Saw the new humble bundle?
17:35:17Araqno
17:35:54dom96Araq: Shows that HTML5 games using emscripten + asm.js work pretty well.
17:37:03*saml joined #nimrod
17:37:16Araqwell you don't know how painful it was to create them
17:37:39Araqso yes, "works pretty well" when we don't look at the costs
17:37:56*kshlm quit (Ping timeout: 260 seconds)
17:38:20dom96good point
17:40:39*gokr_ quit (Ping timeout: 246 seconds)
17:40:51*gokr_ joined #nimrod
17:46:07*leehambley joined #nimrod
17:53:01*jhc76 quit (Quit: Leaving)
18:01:15*leehambley quit (Quit: Leaving...)
18:04:58Varriountgokr: Your article says that the csources repo only has a master branch... that shouldn't be so.
18:05:30VarriountThere's https://github.com/nimrod-code/csources/tree/bigbreak and https://github.com/nimrod-code/csources/tree/devel
18:12:29VarriountAs for someone who programs in Nim, I would call them a Nim'ster
18:12:37Varriountbut that's just my opinion.
18:19:30Araqthat sounds like Hipster :-)
18:20:58*vezzy quit (Quit: No Ping reply in 180 seconds.)
18:21:21*quasinoxen joined #nimrod
18:22:47VarriountAraq: Just an fyi - with the current versions of Mingw, any programs compiled in cpp or mixed mode require the exception dlls
18:23:07*Mat3 joined #nimrod
18:23:11Mat3hi all
18:23:15VarriountHi Mat3
18:23:38Mat3hi Varriount
18:24:44*dom96 quit (Excess Flood)
18:26:33*leehambley joined #nimrod
18:26:48Mat3I finished my needed side project (at least the software part of it) and have now an SDL 2 based simulation of a modern terminal procession unit (one, which support modern display resolutions up to Full HD)
18:27:35*dom96 joined #nimrod
18:28:33Mat3now I'm reasoning about a modern interface to it for replacing Nim's actual terminal library (the one which depend on ANSI terminal sequences)
18:29:30Mat3what you think about it ?
18:30:32Araqwell I don't see how this can replace terminal.nim
18:30:54Araqterminal.nim's point is to interoperate with the OS's terminal
18:32:25Araqwhereas your module provides an alternative terminal altogether. nothing wrong with that (in fact, I need to play with that), but as I said, it's a different use case
18:32:37Mat3the current one relate on ANSI (which is somewhat problematic for some operating systems). The new one would be complete driver independent
18:32:56Mat3(except for SDL)
18:33:53Mat3it would also allow per cell character, attribute and font control
18:34:21Mat3a different use case of course
18:34:30Araqdoes your terminal support copy&paste?
18:36:23Mat3currently no (I do not see why this should not be possible though)
18:47:28*ARCADIVS joined #nimrod
18:48:44AraqMat3: what I really need is an "except" like module
18:49:01Araqpython got one but it doesn't really work on windows
18:49:13Araqit's however lots of tedious work ... :-/
18:51:04VarriountAraq: How is an exceptions module hard?
18:51:25Araqer
18:51:27Araqtypo
18:51:30Araq"expect"
18:51:52Araqfor automating interactions with the console
18:53:48*skroll1 quit (Ping timeout: 246 seconds)
18:53:55VarriountAraq: This - http://pexpect.readthedocs.org/en/latest/ ?
18:54:05*skroll1 joined #nimrod
18:54:11Mat3I wil take a look at phyton's module
18:54:42Araqyeah, that's it
18:55:00Araqnote that it says "It should work on any platform that supports the standard Python pty module."
18:55:08Araqand pty doesn't work on windows
18:55:41Varriount:/
18:55:51Mat3:(
18:56:57*hsuh_ quit (Ping timeout: 246 seconds)
18:57:39*endou quit (Ping timeout: 246 seconds)
18:59:25*hsuh joined #nimrod
18:59:35*endou joined #nimrod
19:06:36*BitPuffin quit (Ping timeout: 260 seconds)
19:30:39VarriountAraq: What can I do in the coming days to help out?
20:05:00*khmm joined #nimrod
20:10:14TrustableHi all, I'm available now
20:15:14*khmm quit (Ping timeout: 250 seconds)
20:17:59*khmm joined #nimrod
20:21:53*xcombelle quit (Ping timeout: 240 seconds)
20:22:10*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
20:23:43VarriountI don't suppose anyone knows what the motivation was for Java's... odd switch/case statements were?
20:23:55VarriountFrankly, I would have expected more braces.
20:24:56*gokr_ quit (Ping timeout: 258 seconds)
20:26:15*gokr_ joined #nimrod
20:36:14*leehambley quit (Quit: Leaving...)
20:38:52Matthias247Varriount: what's different with switch/case between java and others?
20:38:55gokrVarriount: The reason I didn't think there were more branches is because of the --depth 1. If I do "git branch -a" I only see master.
20:39:08gokrOk, will fix article.
20:42:14*flaviu joined #nimrod
20:42:22*leehambley joined #nimrod
20:47:33*Jehan_ quit (Quit: Leaving)
20:52:50gokrMade some adjustments to the article, will repost it.
20:57:43gokrThanks for checking it btw.
20:58:08*q66[lap] quit (Ping timeout: 250 seconds)
21:03:34gokrIs there any "standard" macros for "easier" classes, like described in http://nimrod-by-example.github.io/oop_macro/
21:04:47gokrIf not, I would guess it might be a nice thing to have. At least offering a default style to avoid the mess in both js and Lua regarding "how to do classes".
21:06:58*q66[lap] joined #nimrod
21:08:36EXetoCI don't think there are multiple ways, that make much sense at least
21:09:35gokrWell, the macros there - I presume people can come up with slight variations on that theme, don't you think?
21:12:13*khmm quit (Ping timeout: 260 seconds)
21:15:04*khmm joined #nimrod
21:15:16EXetoCI was thinking more about the implementation when you mentioned lua
21:21:19*jagillion quit (Quit: jagillion)
21:25:14*Jehan_ joined #nimrod
21:33:13TrustableIs there a memset or memcpy function?
21:35:03EXetoCthere's copyMem. memset? I dunno
21:37:21*leehambley quit (Ping timeout: 260 seconds)
21:43:27*khmm quit (Ping timeout: 272 seconds)
21:43:41Trustablethx
21:45:10TrustableGood news: I solved my problem with SDL audio. I didn't initialize the audio buffer, which is needed in SDL2, but not in SDL1, therefore I got a wrong sound.
21:46:02*khmm joined #nimrod
22:05:37VarriountMatthias247: It's not the behavior, it's the syntax
22:06:26VarriountMatthias247: Java's switch/case statements have this wierd (for java) colon separator
22:06:57Matthias247Varriount: isn't it the same as C++/C#, when you omit specalties like fall-through?
22:07:01Varriountgokr: For OOP, you might want to ask filwit when he's on.
22:07:16gokrok
22:07:38Varriountgokr: filwit's been working on a game engine which uses Nimrod macros to implement more OOP stuff
22:07:53*tinAndi joined #nimrod
22:08:00gokrInteresting. We want to work with Urho3D.
22:09:36EXetoChe did ask about a standard interface though. I don't know if Araq wants that
22:10:06gokrIn js it's a mess - lots of different approaches. Perhaps has stabilized now, not sure.
22:10:33gokrIn Lua same thing - there are a few libraries that have gained followers - but... no "standard" lib.
22:11:02gokrI am not saying something needs to be mandated. But it might be nice with a - default.
22:11:50gokrIMHO the danger with languages that are so ... malleable (say Forth being an extreme) - is that the tower of Babel really becomes a problem.
22:11:52*Jehan_ quit (Ping timeout: 260 seconds)
22:12:05gokrEveryone creates their own little special thingy.
22:12:34VarriountGah. I feel dirty. I'm programmatically editing an excel file by unzipping it, reading through every file it contains, and doing a find/replace.
22:13:02VarriountAlso, Araq, dom96, my internet is about to go out, I have to move routers.
22:17:07EXetoCthe standard way would be method + 'of'. it's just that construction isn't obvious
22:17:14EXetoCI don't know if any macros have taken care of that bit
22:17:33*Varriount quit (Ping timeout: 260 seconds)
22:20:59*Varriount joined #nimrod
22:23:13*rgrau` joined #nimrod
22:24:05Mat3 gokr: You know, there exist Forth standards since the 70'ies ?
22:25:01gokrWell, I merely meant that everyone seems to create their own Forth, and even if not - its a language really inviting to create your own "world" that noone else can read.
22:25:44*tinAndi left #nimrod (#nimrod)
22:26:45Mat3that's not true because every forth defination (better problem-oriented language) depend of these standards. You only need to study the sources bottom-up
22:28:01*Varriount_ joined #nimrod
22:28:53*Matthias247 quit (Ping timeout: 244 seconds)
22:29:24*Varriount__ joined #nimrod
22:30:34gokrhttp://c2.com/cgi/wiki?ForthReadability
22:30:37Mat3I think the main problem is related to the fact that much word names are symbolic (like '<r' for example) where as most programmers expect descriptive senses
22:30:49gokrLots of people seem to make the same observation as I have done :)
22:31:06*Varriount quit (Ping timeout: 255 seconds)
22:31:09TrustableEXetoC: FYI: I committed an example program for audio output
22:31:35gokrAlthough I love Forth in a zen kinda way, haven't worked with it though. But it was the first language I read about in which your own constructions (words) were first class.
22:32:14gokrSame issue appears when people go overboard on DSLs IMHO.
22:32:49*Varriount_ quit (Ping timeout: 255 seconds)
22:32:50gokrMat3: Are you working with Forth? Have you used Factor?
22:33:35Mat3I work with Forth for over 20 years and yes, I know Factor quite well
22:34:28Mat3(however, it's a bit to ... large for my interests)
22:34:34*Pisuke joined #nimrod
22:35:29*Jehan_ joined #nimrod
22:36:04*MyMind quit (Read error: Connection reset by peer)
22:36:47Mat3anyhow; Reading source code for languages like Forth (or APL) requires mental flexibility to overcome, once learned coinages, that's all
22:36:57Mat3really
22:37:49Mat3(specially for programmers, which grows with Algol oriented languages)
22:38:28gokrYeah, languages like Forth, Lisp and Smalltalk etc are "mind opening".
22:39:20gokri recall that "Jones Forth" essay that you could compile to a working Forth.
22:39:36gokrI almost got myself a Jupiter Ace when I was a kid - but went for the C64 instead ;)
22:40:57Mat3my first computer was a C128 (which I programmed mainly with a CP/M based Forth) - old times
22:42:44NimBotnimrod-code/Aporia master 2a53647 Simon Krauter [+0 ±1 -0]: Fix crash when nimrod binary is missing
22:42:44NimBotnimrod-code/Aporia master e5d144c Dominik Picheta [+0 ±1 -0]: Merge pull request #61 from trustable-code/PR1... 2 more lines
22:44:33*khmm quit (Ping timeout: 260 seconds)
22:46:06*wan quit (Ping timeout: 240 seconds)
22:46:11*fowl joined #nimrod
22:46:17*fowl quit (Changing host)
22:46:17*fowl joined #nimrod
22:46:30*wan joined #nimrod
22:51:55*Mat3 quit (Quit: Verlassend)
22:52:43EXetoCTrustable: not that I have much to do with SDL, but good!
22:55:20*BlaXpirit quit (Quit: Quit Konversation)
23:05:32TrustableGood night, people.
23:05:37*Trustable quit (Quit: Leaving)
23:08:57*johnsoft quit (Ping timeout: 272 seconds)
23:09:38*johnsoft joined #nimrod
23:11:55*rgrau` is now known as rgc
23:14:11*Lorxu joined #nimrod
23:14:23*xenagi joined #nimrod
23:27:13*Demos joined #nimrod
23:33:46Demoshave we released a new version yet?
23:38:13EXetoCno
23:38:37DemosI have been really busy but I just finished my OS class project way before I thought I would
23:45:14*darkf joined #nimrod
23:46:50Demosdamn though I thought it was going to be way harder, but understanding ucontext.h got me like 90% there
23:48:30gokrI think I managed to... connect and store something in Hyperdex using a c2nim produced wrapper for the C client lib. :) Time for bed.
23:51:45gokrSo do I get this straight - the c2nim produced wrapper tends to be kept "as is" as much as possible. And then you make an impure lib using it that incorporates the Nimiomatics?
23:53:17EXetoCseparate nimiomatics indeed
23:54:45Demosyes. That is how it is done