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 |