| 00:00:46 | Varriount | So, today I experience the magic that is VB Script |
| 00:00:52 | Varriount | *experienced |
| 00:01:56 | Araq | Varriount: I uploaded mingw32 + 64 with a working gdb |
| 00:02:04 | Varriount | Yay! |
| 00:02:11 | Araq | how did you manage to get them down to 30MB? |
| 00:03:06 | * | fowl joined #nimrod |
| 00:03:09 | Varriount | Araq: Your trimcc only deals with things in 40 file blocks |
| 00:03:30 | Varriount | Araq: If a single file in 40 is required, the entire block is kept |
| 00:04:17 | Varriount | I modified trimcc to do multiple passes, with a varying block size based on successes of previous blocks |
| 00:05:13 | Araq | yes but I did it differently |
| 00:05:22 | Araq | when I used it I had no power supply |
| 00:05:49 | Araq | so I manually removed lots of things and then restored what's really necessary |
| 00:06:06 | Araq | but I ended up with 160MB |
| 00:06:10 | Araq | not with 30 |
| 00:06:21 | Araq | does yours still support c++? |
| 00:06:24 | Varriount | Araq: Well, msys isn't in there either. |
| 00:06:53 | Varriount | Araq: I supports whatever was needed for the original trimcc to compile. |
| 00:06:56 | Varriount | *It |
| 00:07:28 | Araq | well as you figured it doesn't remove extensionless files |
| 00:07:34 | Varriount | Araq: https://gist.github.com/Varriount/8c6dee0b8e2f0756575e |
| 00:07:41 | Araq | so it should never have deleted required c++ headers |
| 00:09:52 | Araq | any idea what was the problem for c++ headers? |
| 00:10:08 | Varriount | Yeah. I was using devel, not bigbreak. |
| 00:11:34 | Varriount | Araq: 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:03 | Araq | Varriount: well just make a PR |
| 00:12:36 | Varriount | Araq: I will. Right now I'm in the process of tidying up trimcc to make it a model of Nimrod-icity |
| 00:13:10 | Araq | ugh, please help me on the release instead |
| 00:13:28 | Araq | we need the infrastructure for 2 versions of the docs |
| 00:13:51 | Araq | and a web based installer would be sweet |
| 00:15:03 | Araq | also we need to get rid of the exception_hierachy file somehow. it keeps the PDF version of the manual from building |
| 00:15:15 | Araq | and new kind of show stopper: |
| 00:15:32 | Jehan_ | What's a web-based installer, out of curiosity? |
| 00:15:42 | Araq | a local Nim should not use the global (likely outdated) stdlib |
| 00:16:05 | Araq | many who update don't get rid of old stdlibs |
| 00:16:44 | Araq | Jehan_: point and click whether you want to download mingw too |
| 00:16:57 | Jehan_ | Ah, I see. |
| 00:17:17 | * | quasinoxen quit (Ping timeout: 260 seconds) |
| 00:17:35 | Jehan_ | And how can Nim see two stdlibs? Doesn't it look the stdlib up just relative to the binary's location? |
| 00:19:07 | Araq | looking at the code |
| 00:19:15 | Araq | I have no idea what's wrong |
| 00:19:46 | Araq | because it's as you say |
| 00:19:56 | Araq | nimconf.nim:224 |
| 00:20:12 | Araq | maybe the config sets lib? |
| 00:20:58 | Jehan_ | That's a possibility. |
| 00:21:23 | Araq | well no |
| 00:21:49 | Araq | the config doesn't set it |
| 00:22:45 | Araq | but it ends up processing stuff in /etc |
| 00:23:03 | Araq | and if a package manager screwed things up |
| 00:23:30 | Araq | then /etc/nimrod.cfg sets lib and things break |
| 00:23:37 | Trustable | good 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:46 | Araq | hrm this actually looks quite simple ... we can stick with InnoSetup |
| 00:36:56 | Araq | but 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:15 | Lorxu | Hi |
| 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:25 | reactormonk | Lorxu, 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:11 | gokr | Silly question: What's a Nim coder? A "Nimmer"? Not a Nimrod I guess ;) |
| 07:37:42 | gokr | Also, 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:14 | Araq | hrm dunno. Nimmer is good enough |
| 07:48:42 | Araq | gokr: we want to release nimrod 0.9.6 and nim 0.10.0 at the same time |
| 07:48:42 | gokr | :) |
| 07:49:00 | Araq | 0.9.6 being the last release with the old name |
| 07:49:09 | Araq | and mostly a bugfix release |
| 07:49:19 | Araq | all the exciting new stuff is in nim |
| 07:49:50 | Araq | 0.10.0 breaks compatibility though |
| 07:51:04 | Araq | not sure how that will turn out ... the python 2/3 split didn't go well |
| 07:51:36 | Trustable | Araq: what is the reason for 0.9.6? |
| 07:52:00 | gokr | I guess making sure people lagging have a robust 0.9.x? |
| 07:52:45 | gokr | I am writing a small blog article describing the bootstrap process - am I correct with this sentence: |
| 07:53:06 | gokr | "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:41 | gokr | And yes, I am writing these sentences with a tongue in cheek - bootstrapping is fun. |
| 07:54:08 | Araq | yeah, that sentence is correct |
| 07:54:22 | gokr | goodie. |
| 07:56:33 | gokr | This dance reminds me of the COLA stuff by Ian Piumarta, also fun bootstrapping. |
| 07:57:11 | gokr | Araq: That stuff might interest you btw, I will find one of his papers. |
| 07:58:34 | gokr | Do you know who he is? |
| 07:58:45 | Araq | nope |
| 08:00:35 | gokr | He 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:48 | gokr | You can take a look at http://piumarta.com/papers/ and http://piumarta.com/software/ |
| 08:01:16 | gokr | He works/worked with Alan Kay on several of his projects. |
| 08:03:54 | gokr | I think Ian's latest incarnation of the COLA/Albert stuff (many names) is "Maru": http://piumarta.com/tmp/maru/ |
| 08:04:28 | gokr | The 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:43 | Araq | "Making the VM disappear" is called "static compilation" :P |
| 08:07:54 | gokr | Ian Piumarta and Eliot Miranda are probably the two sharpest low level guys in the Smalltalk VM area today. |
| 08:08:14 | gokr | Araq: No, in this sense the idea is having malleable at runtime. |
| 08:08:25 | gokr | I wouldn't say disappear then - making it malleable. |
| 08:09:16 | gokr | So 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:44 | Araq | gotta go, see you later |
| 08:09:47 | gokr | I 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:51 | gokr | ciao |
| 08:10:40 | gokr | Sorry for the line noise - just felt that Araq might find some cool stuff to borrow. |
| 08:18:28 | gokr | Regarding 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:36 | gokr | Perhaps it is, just felt that one extra iteration would have been the safe route ;) |
| 08:21:04 | gokr | As in "the new compiler compiling itself produces the same binary again". |
| 08:43:06 | gokr | Also, 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:20 | Jehan_ | 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:43 | gokr | Well, personally I like it :) |
| 09:08:12 | gokr | I am writing a small blog article describing the install/bootstrap procedure. |
| 09:09:35 | Jehan_ | Bootstrap iterations: the compiler generates multiple versions, building the next with the previous one. |
| 09:10:01 | Jehan_ | It stops when successive versions are equal or after the third iteration, whichever comes first. |
| 09:11:15 | gokr | Yes, 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:29 | gokr | Intuitively I would perhaps have iterated once more. |
| 09:12:01 | gokr | As I wrote "the *new* compiler compiling itself producing the same binary" and not the old. |
| 09:12:38 | gokr | Also, does Windows always fail creating same binaries? |
| 09:12:51 | gokr | We don't warn on Windows :) |
| 09:13:04 | Jehan_ | gokr: No idea, but clang frequently fails. |
| 09:13:14 | Jehan_ | Non-deterministic linking process. |
| 09:13:35 | gokr | Spice it up with some random :) |
| 09:14:04 | Jehan_ | More likely using multiple threads. :) |
| 09:14:10 | gokr | hehe, same same ;) |
| 09:14:25 | gokr | Do you know what a SkipList is btw? |
| 09:14:32 | Jehan_ | Yes. |
| 09:14:50 | gokr | Just reminded me of that - funky with a data structure using randomness in its algo. |
| 09:14:56 | Jehan_ | Has limited applications on modern processors, though. |
| 09:15:35 | Jehan_ | Used to be a nice implementation technique for polynomial structures in computer algebra. |
| 09:15:54 | Jehan_ | In that you had most of the benefits of a tree, but also could access the lead monomial in constant time. |
| 09:15:56 | gokr | Btw, the english verb "nim" evidently stems from old "nimen" which sounds very much like "nehmen". |
| 09:16:10 | Jehan_ | Probably. :) |
| 09:16:27 | gokr | nimming and to nim something - steal, take. |
| 09:16:58 | Jehan_ | Yup. Think "nimm" in German, too. |
| 09:18:18 | gokr | Would you agree that the Nim community suffers a bit from the NiH syndrome? |
| 09:18:31 | gokr | I kinda recognize it a little bit from Smalltalk. |
| 09:18:59 | gokr | We also like to do everything in Smalltalk. ;) |
| 09:19:24 | gokr | And note that I didn't mean NiH necessarily in a bad way. |
| 09:19:51 | gokr | Eating dog food is often very good for ya. |
| 09:19:54 | Jehan_ | gokr: Hmm. Not sure about that. Certainly wrapping existing libraries seems to be popular. |
| 09:20:06 | gokr | True, that is definitely not a NiH thing. |
| 09:20:21 | gokr | But the forum, koch ... docgen? etc |
| 09:20:33 | Jehan_ | Nim itself is trying to be at close to 100% Nim itself in order to more easily support multiple backends. |
| 09:20:46 | gokr | Yeah. |
| 09:21:09 | Jehan_ | Forum I don't know. koch is a matter of having a cross-platform tool that doesn't introduce an additional dependency. |
| 09:21:37 | Jehan_ | Same goes for docgen. |
| 09:21:49 | gokr | Personally I am all fine with it, but I guess other people may react. |
| 09:22:11 | gokr | Like... what? No autoconf? What? No Makefile? What? "nake"? etc |
| 09:22:13 | Jehan_ | It's really one the reasons why I use Nim: I can package the compiler and everything easily with a project. |
| 09:22:28 | gokr | Oh yes, that aspect is very nice. |
| 09:22:34 | Jehan_ | Makefile doesn't make sense for most C languages. |
| 09:22:36 | * | BlaXpirit joined #nimrod |
| 09:22:52 | gokr | As a Squeaker (and Smalltalk in general) I like to be able to "bundle it all" and have full confidence it works. |
| 09:22:56 | Jehan_ | Make is a hack around C/C++ not having a proper module system and a compiler smart enough to know dependencies. |
| 09:23:08 | gokr | yep, I wrote that too in my article :) |
| 09:23:19 | Jehan_ | Mind you, it's a brilliant hack, but still a hack. |
| 09:23:24 | * | BlaXpirit quit (Client Quit) |
| 09:23:38 | gokr | yeah |
| 09:23:39 | Jehan_ | Autoconf is a complicated story. |
| 09:23:45 | gokr | Hehe, no kidding. |
| 09:24:04 | Jehan_ | If I could, I'd wipe all memory of autoconf from existence. :) |
| 09:24:25 | gokr | I just meant - I suspect lots of people will "react" towards this and perhaps think its NiH (in its negative form). |
| 09:24:28 | Jehan_ | I appreciate the idea underneath it, but I shudder at how it's done. |
| 09:29:31 | Jehan_ | 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:09 | Jehan_ | The biggest challenge is usually that some library or include file doesn't exist on a crippled Linux system somewhere. |
| 09:30:56 | Jehan_ | <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:57 | Jehan_ | 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:10 | gokr | I 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:40 | Jehan_ | Oops, yes, I forgot to mention mobile systems w.r.t. portability, i.e. iOS and Android. |
| 09:44:23 | Jehan_ | 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:57 | gokr | Hmmm, 0.9.5 is soon or? |
| 10:13:14 | gokr | Just realized Araq mentioned 0.9.6 above, but not 0.9.5. |
| 10:21:09 | Jehan_ | Odd numbers are development versions, even numbers are release versions. |
| 10:28:47 | * | Araq_ joined #nimrod |
| 10:29:11 | Araq_ | inventing a language from scratch itself is NiH |
| 10:29:42 | Araq_ | so yes I am full of NiH :-) |
| 10:30:04 | Araq_ | 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:44 | gokr | http://goran.krampe.se/2014/10/15/bootstrapping-nim/ |
| 11:53:47 | gokr | Phew. |
| 11:53:52 | leehambley | hi all, just ran into Nimrod, nice to see so many people in here, seems like a great language |
| 11:54:03 | gokr | Feel free to tell me of errors in that article btw. |
| 11:55:26 | gokr | leehambley: I am also just discovering it. |
| 11:56:12 | leehambley | gokr: cool, I notice that the homebrew package is out of date, so your article might be useful for me ^ |
| 11:56:16 | leehambley | Homebrew only has 0/9/2 |
| 11:57:12 | gokr | Ah. Yeah, give me any and all feedback on it. |
| 11:57:39 | gokr | I felt there was a slight lack of explanations on that process - I hope the article is both funny and interesting. |
| 11:58:42 | gokr | In fact... I might need to switch over to my Macbook for some Nimming there so... hurry up fixing homebrew :) |
| 12:01:43 | Jehan_ | 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:28 | gokr | Jehan_: True, but it does stuff that people often would typically write in a bash script or similar. |
| 12:10:43 | gokr | Which is what I meant. |
| 12:10:50 | gokr | I can clarify |
| 12:10:54 | Jehan_ | I know. :) |
| 12:14:02 | leehambley | I was surprised to see that it's not *really* mentioned in the docs that the nimcache directory contains the resulting C code |
| 12:14:25 | leehambley | coming 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:32 | leehambley | but upon seeing it, I know why it's not in the website at all |
| 12:16:22 | gokr | Oh, I completely ignored that part too. Oops. |
| 12:16:27 | gokr | Jehan_: Revised :) |
| 12:18:55 | EXetoC | it's just yet another target language |
| 12:25:19 | EXetoC | someone said something like "you might as well just use C then". kinda silly |
| 12:25:26 | gokr | ha! |
| 12:26:09 | gokr | No, not C - since it compiles to machine code - machine code it is. |
| 12:26:54 | gokr | I am actually quite impressed by the performance - given that Nim is quite a LOT different from C. |
| 12:27:16 | gokr | In fact a completely different language I would even say. |
| 12:28:28 | gokr | So what dev tools are you guys using? Araq uses Aporia. And I heard Emacs, Vim and Sublime has support - right? Anything else? |
| 12:32:41 | gokr | Found 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:01 | Jehan_ | Interestingly enough, C as a target language was a pretty popular approach in the 1990s. |
| 12:39:11 | Jehan_ | I used it myself a few times. |
| 12:40:08 | Jehan_ | 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:13 | Jehan_ | 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:24 | Jehan_ | 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:38 | Jehan_ | 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:14 | gokr | Jehan_: 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:30 | gokr | Does any of the IDEs offer good debugging? |
| 13:43:57 | gokr | I 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:06 | gokr | Since I couldn't figure out how to show source even ;) |
| 13:46:01 | * | kshlm joined #nimrod |
| 13:48:59 | BitPuffin | gokr: best one would likely be aporia but I don't know if it has good debugging or not |
| 13:49:01 | BitPuffin | ask dom96 |
| 13:49:19 | gokr | I am using Aporia, but... it looks quite anorectic |
| 13:50:22 | dom96 | gokr: Yeah, it's pretty bare bones. |
| 13:50:41 | gokr | I did notice the "definition.." thing. |
| 13:50:51 | dom96 | endb isn't really kept updated I don't think |
| 13:50:55 | gokr | But second time it bombed :) |
| 13:51:11 | dom96 | We need somebody to polish nim's idetools. |
| 13:51:46 | dom96 | gokr: Has your blog post been on HN/reddit yet? |
| 13:51:48 | * | EastByte quit (Ping timeout: 255 seconds) |
| 13:51:57 | gokr | No, not AFAIK. |
| 13:52:06 | gokr | I don't do those sites - other than reading :) |
| 13:52:10 | * | EastByte joined #nimrod |
| 13:52:11 | * | kemet joined #nimrod |
| 13:52:11 | gokr | Feel free. |
| 13:52:20 | gokr | I did two articles btw. |
| 13:52:29 | dom96 | Need to wait for Araq's opinion though. |
| 13:52:29 | gokr | The first was that trivial benching thing. |
| 13:52:35 | dom96 | Has he read your article yet? |
| 13:52:37 | gokr | dom96: Yeah, let him decide. |
| 13:52:41 | gokr | Not sure. |
| 13:52:58 | gokr | The first was http://goran.krampe.se/2014/10/13/here-comes-nim/ |
| 13:53:21 | gokr | And today I threw up http://goran.krampe.se/2014/10/15/bootstrapping-nim/ |
| 13:53:32 | gokr | I will continue with a few more as I explore. |
| 13:54:12 | gokr | I am in "evaluation mode" so to speak. |
| 13:55:17 | dom96 | cool |
| 13:55:21 | gokr | Btw, great community here guys. The Smalltalk community is very friendly - but so are you. |
| 13:55:38 | gokr | As an oldtimer I appreciate those things too, not just tech. |
| 13:55:47 | dom96 | :) |
| 13:56:05 | gokr | And as an avid Smalltalker I am probably an odd bird here. |
| 13:57:17 | dom96 | I'm sure there are others, they're just being quiet. |
| 13:57:25 | gokr | And if there is anything "wrong" in these blog articles - feel free to yell. But I think Jehan already checked this last one. |
| 13:57:57 | gokr | Ok, 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:24 | dom96 | gokr: will do. See you. |
| 13:58:28 | * | BitPuffin quit (Ping timeout: 255 seconds) |
| 14:00:11 | gokr | Next will be a test with c2nim I think, if there is some tutorial on that - I am all ears. :) |
| 14:07:54 | dom96 | http://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:06 | Araq_ | gokr: your bootstrapping article is very nice. I'd perhaps add 2 facts: |
| 15:09:52 | Araq_ | 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:13 | Araq_ | 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:31 | leehambley | gokr: I notice too that it's then not "make installed" |
| 15:46:57 | leehambley | it 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:18 | Araq_ | meh, don't install Nim. just add it to your path |
| 15:49:39 | Araq_ | causes much fewer problems especially for updates |
| 15:55:56 | leehambley | Araq_: sure, but what about the stdlib, does that not need to be made available to a search path or something ? |
| 15:56:25 | Araq_ | no, it just works |
| 15:58:08 | * | Araq_ never installed Nim on a unix based system |
| 15:58:30 | leehambley | alright, 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:11 | Trustable | dom96: When can you check the 5 PR for Aporia? https://github.com/nimrod-code/Aporia/pulls |
| 16:46:12 | gokr | I presume just adding it to the path - then it finds std libs relative to the location of the compiler. |
| 16:47:36 | gokr | Which of course makes it easier to live with multiple Nims. |
| 16:47:42 | * | nande joined #nimrod |
| 16:47:50 | gokr | Is that what devs typically do? |
| 16:53:58 | EXetoC | it'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:55 | dom96 | Trustable: 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:48 | dom96 | Araq: Saw the new humble bundle? |
| 17:35:17 | Araq | no |
| 17:35:54 | dom96 | Araq: Shows that HTML5 games using emscripten + asm.js work pretty well. |
| 17:37:03 | * | saml joined #nimrod |
| 17:37:16 | Araq | well you don't know how painful it was to create them |
| 17:37:39 | Araq | so yes, "works pretty well" when we don't look at the costs |
| 17:37:56 | * | kshlm quit (Ping timeout: 260 seconds) |
| 17:38:20 | dom96 | good 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:58 | Varriount | gokr: Your article says that the csources repo only has a master branch... that shouldn't be so. |
| 18:05:30 | Varriount | There's https://github.com/nimrod-code/csources/tree/bigbreak and https://github.com/nimrod-code/csources/tree/devel |
| 18:12:29 | Varriount | As for someone who programs in Nim, I would call them a Nim'ster |
| 18:12:37 | Varriount | but that's just my opinion. |
| 18:19:30 | Araq | that sounds like Hipster :-) |
| 18:20:58 | * | vezzy quit (Quit: No Ping reply in 180 seconds.) |
| 18:21:21 | * | quasinoxen joined #nimrod |
| 18:22:47 | Varriount | Araq: 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:11 | Mat3 | hi all |
| 18:23:15 | Varriount | Hi Mat3 |
| 18:23:38 | Mat3 | hi Varriount |
| 18:24:44 | * | dom96 quit (Excess Flood) |
| 18:26:33 | * | leehambley joined #nimrod |
| 18:26:48 | Mat3 | I 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:33 | Mat3 | now 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:30 | Mat3 | what you think about it ? |
| 18:30:32 | Araq | well I don't see how this can replace terminal.nim |
| 18:30:54 | Araq | terminal.nim's point is to interoperate with the OS's terminal |
| 18:32:25 | Araq | whereas 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:37 | Mat3 | the current one relate on ANSI (which is somewhat problematic for some operating systems). The new one would be complete driver independent |
| 18:32:56 | Mat3 | (except for SDL) |
| 18:33:53 | Mat3 | it would also allow per cell character, attribute and font control |
| 18:34:21 | Mat3 | a different use case of course |
| 18:34:30 | Araq | does your terminal support copy&paste? |
| 18:36:23 | Mat3 | currently no (I do not see why this should not be possible though) |
| 18:47:28 | * | ARCADIVS joined #nimrod |
| 18:48:44 | Araq | Mat3: what I really need is an "except" like module |
| 18:49:01 | Araq | python got one but it doesn't really work on windows |
| 18:49:13 | Araq | it's however lots of tedious work ... :-/ |
| 18:51:04 | Varriount | Araq: How is an exceptions module hard? |
| 18:51:25 | Araq | er |
| 18:51:27 | Araq | typo |
| 18:51:30 | Araq | "expect" |
| 18:51:52 | Araq | for automating interactions with the console |
| 18:53:48 | * | skroll1 quit (Ping timeout: 246 seconds) |
| 18:53:55 | Varriount | Araq: This - http://pexpect.readthedocs.org/en/latest/ ? |
| 18:54:05 | * | skroll1 joined #nimrod |
| 18:54:11 | Mat3 | I wil take a look at phyton's module |
| 18:54:42 | Araq | yeah, that's it |
| 18:55:00 | Araq | note that it says "It should work on any platform that supports the standard Python pty module." |
| 18:55:08 | Araq | and pty doesn't work on windows |
| 18:55:41 | Varriount | :/ |
| 18:55:51 | Mat3 | :( |
| 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:39 | Varriount | Araq: What can I do in the coming days to help out? |
| 20:05:00 | * | khmm joined #nimrod |
| 20:10:14 | Trustable | Hi 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:43 | Varriount | I don't suppose anyone knows what the motivation was for Java's... odd switch/case statements were? |
| 20:23:55 | Varriount | Frankly, 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:52 | Matthias247 | Varriount: what's different with switch/case between java and others? |
| 20:38:55 | gokr | Varriount: 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:08 | gokr | Ok, will fix article. |
| 20:42:14 | * | flaviu joined #nimrod |
| 20:42:22 | * | leehambley joined #nimrod |
| 20:47:33 | * | Jehan_ quit (Quit: Leaving) |
| 20:52:50 | gokr | Made some adjustments to the article, will repost it. |
| 20:57:43 | gokr | Thanks for checking it btw. |
| 20:58:08 | * | q66[lap] quit (Ping timeout: 250 seconds) |
| 21:03:34 | gokr | Is there any "standard" macros for "easier" classes, like described in http://nimrod-by-example.github.io/oop_macro/ |
| 21:04:47 | gokr | If 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:36 | EXetoC | I don't think there are multiple ways, that make much sense at least |
| 21:09:35 | gokr | Well, 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:16 | EXetoC | I 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:13 | Trustable | Is there a memset or memcpy function? |
| 21:35:03 | EXetoC | there'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:41 | Trustable | thx |
| 21:45:10 | Trustable | Good 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:37 | Varriount | Matthias247: It's not the behavior, it's the syntax |
| 22:06:26 | Varriount | Matthias247: Java's switch/case statements have this wierd (for java) colon separator |
| 22:06:57 | Matthias247 | Varriount: isn't it the same as C++/C#, when you omit specalties like fall-through? |
| 22:07:01 | Varriount | gokr: For OOP, you might want to ask filwit when he's on. |
| 22:07:16 | gokr | ok |
| 22:07:38 | Varriount | gokr: 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:00 | gokr | Interesting. We want to work with Urho3D. |
| 22:09:36 | EXetoC | he did ask about a standard interface though. I don't know if Araq wants that |
| 22:10:06 | gokr | In js it's a mess - lots of different approaches. Perhaps has stabilized now, not sure. |
| 22:10:33 | gokr | In Lua same thing - there are a few libraries that have gained followers - but... no "standard" lib. |
| 22:11:02 | gokr | I am not saying something needs to be mandated. But it might be nice with a - default. |
| 22:11:50 | gokr | IMHO 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:05 | gokr | Everyone creates their own little special thingy. |
| 22:12:34 | Varriount | Gah. 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:02 | Varriount | Also, Araq, dom96, my internet is about to go out, I have to move routers. |
| 22:17:07 | EXetoC | the standard way would be method + 'of'. it's just that construction isn't obvious |
| 22:17:14 | EXetoC | I 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:05 | Mat3 | gokr: You know, there exist Forth standards since the 70'ies ? |
| 22:25:01 | gokr | Well, 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:45 | Mat3 | that'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:34 | gokr | http://c2.com/cgi/wiki?ForthReadability |
| 22:30:37 | Mat3 | I 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:49 | gokr | Lots of people seem to make the same observation as I have done :) |
| 22:31:06 | * | Varriount quit (Ping timeout: 255 seconds) |
| 22:31:09 | Trustable | EXetoC: FYI: I committed an example program for audio output |
| 22:31:35 | gokr | Although 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:14 | gokr | Same issue appears when people go overboard on DSLs IMHO. |
| 22:32:49 | * | Varriount_ quit (Ping timeout: 255 seconds) |
| 22:32:50 | gokr | Mat3: Are you working with Forth? Have you used Factor? |
| 22:33:35 | Mat3 | I work with Forth for over 20 years and yes, I know Factor quite well |
| 22:34:28 | Mat3 | (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:47 | Mat3 | anyhow; Reading source code for languages like Forth (or APL) requires mental flexibility to overcome, once learned coinages, that's all |
| 22:36:57 | Mat3 | really |
| 22:37:49 | Mat3 | (specially for programmers, which grows with Algol oriented languages) |
| 22:38:28 | gokr | Yeah, languages like Forth, Lisp and Smalltalk etc are "mind opening". |
| 22:39:20 | gokr | i recall that "Jones Forth" essay that you could compile to a working Forth. |
| 22:39:36 | gokr | I almost got myself a Jupiter Ace when I was a kid - but went for the C64 instead ;) |
| 22:40:57 | Mat3 | my first computer was a C128 (which I programmed mainly with a CP/M based Forth) - old times |
| 22:42:44 | NimBot | nimrod-code/Aporia master 2a53647 Simon Krauter [+0 ±1 -0]: Fix crash when nimrod binary is missing |
| 22:42:44 | NimBot | nimrod-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:43 | EXetoC | Trustable: not that I have much to do with SDL, but good! |
| 22:55:20 | * | BlaXpirit quit (Quit: Quit Konversation) |
| 23:05:32 | Trustable | Good 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:46 | Demos | have we released a new version yet? |
| 23:38:13 | EXetoC | no |
| 23:38:37 | Demos | I 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:50 | Demos | damn though I thought it was going to be way harder, but understanding ucontext.h got me like 90% there |
| 23:48:30 | gokr | I 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:45 | gokr | So 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:17 | EXetoC | separate nimiomatics indeed |
| 23:54:45 | Demos | yes. That is how it is done |