00:01:47 | NimBot | Araq/Nimrod vm2 c0fd5ff Araq [+0 ±1 -0]: case expression with discardable result works |
00:01:47 | NimBot | Araq/Nimrod vm2 82d96e5 Araq [+21 ±1 -0]: added libffi for win support |
00:11:24 | fowl | winning support |
00:11:58 | OrionPKM | ftw support |
00:40:42 | * | ddl_smurf quit (Quit: ddl_smurf) |
00:51:40 | * | brson quit (Quit: Lost terminal) |
01:01:52 | * | brson joined #nimrod |
01:11:19 | * | q66_ is now known as q66 |
01:35:22 | * | ics joined #nimrod |
01:40:09 | EXetoC | åäåäåä |
01:41:08 | fowl | hey did nimbot get fixed |
01:43:43 | brihat | There was some discussion about stderr recently. Was on HN: http://spinellis.gr/blog/20131211/ |
01:44:13 | brihat | time to sleep, bye --> |
01:44:39 | * | brson quit (Remote host closed the connection) |
01:45:37 | * | brson joined #nimrod |
01:46:05 | * | brson quit (Client Quit) |
01:46:34 | * | brson joined #nimrod |
01:58:01 | * | xenagi joined #nimrod |
02:33:34 | * | Demos quit (Quit: Leaving) |
02:41:05 | * | Demos joined #nimrod |
02:50:34 | * | darkf_ joined #nimrod |
02:52:38 | * | darkf quit (Ping timeout: 240 seconds) |
03:02:52 | * | brson_ joined #nimrod |
03:03:06 | * | darkf_ is now known as darkf |
03:05:09 | * | brson quit (Ping timeout: 272 seconds) |
03:31:23 | * | BlueProtoman joined #nimrod |
03:31:56 | * | ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
03:32:13 | BlueProtoman | My future algorithms gave Nimrod the green light. Now I can't decide whether to start learning Nimrod, continue porting Ash to C++, or play video games. |
03:32:18 | BlueProtoman | *future algorithms professor |
03:32:57 | darkf | BlueProtoman: make video games in Nimrod |
03:33:16 | BlueProtoman | darkf: I have Haxe for that, honestly. |
03:34:12 | darkf | BlueProtoman: so do I, but I don't like Haxe's object system |
03:34:32 | BlueProtoman | darkf: Well, I'm not you, so there you go. |
03:36:12 | Demos | Haxe seems so pointeless to me |
03:37:16 | BlueProtoman | Demos: Haxe, via OpenFL, compiles to mobile without having to fuss around with their SDKs. |
03:37:48 | Demos | I have no idea why I dislike haxe so much, I guess I figure that it is some somewhat pointelss abstraction, but if it works for mobile games than fine |
03:38:04 | Demos | I hear Flex is no cakewalk, so Haxe may be a good alternitive |
03:38:33 | BlueProtoman | Demos: It works if you want the same game on a bazillion different platforms. If you want something low-level, Nimrod may be more up your alley. |
03:39:19 | Demos | yeah, but nimrod is getting there! |
03:44:43 | Demos | I love how Arch updates tend to have a total size < 0 |
03:45:05 | darkf | Demos: Haxe provides a language similar to AS3/C#/whatever with great portability and decent game libraries |
03:45:26 | darkf | its FP support is there but clunky because of objects everywhere |
03:48:01 | Demos | yeah, my favorite features of nimrod involve a depatrute from the c++ type objects |
03:48:14 | BlueProtoman | darkf: FP? Floating point? |
03:48:18 | Demos | clearly it is too late for spelling |
03:48:33 | Demos | functional programming, whatever that happens to be at this particular moment |
03:49:04 | BlueProtoman | Demos: Ah, right. Well, they're trying. At least it's easy to treat functions and classes like objects. |
03:49:16 | BlueProtoman | And to make anonymous functions, too. |
03:49:51 | darkf | is there any sane graphics or game libraries for Nimrod right now? if not i'm just going to throw a layer over SDL |
03:50:18 | OrionPKM | horde3d maybe |
03:50:20 | Demos | I think fowl wrote some kind of Artemis like thing |
03:50:30 | OrionPKM | but the wrapper might be out dated |
03:50:35 | Demos | horde3d did not look that great to me |
03:50:53 | darkf | ooh, Artemis-style ECS in Nimrod? :D |
03:51:29 | BlueProtoman | darkf: Yeah, that ought to make using Nimrod's graphics libraries in the raw much smoother. May not even need a full game engine. |
03:51:41 | BlueProtoman | darkf: As it happens, I'm porting Ash to C++. |
03:52:10 | darkf | BlueProtoman: any idea if he has it online/open source anywhere? and cool :) how's that going? |
03:52:16 | Demos | I mean writing an ECS is pretty easy, esp if you dont care about perf |
03:52:27 | Demos | and artemis does not care much about perf afaik |
03:52:39 | Demos | I think he does |
03:52:51 | darkf | I care more about the design/architecture |
03:52:54 | BlueProtoman | darkf: What do you mean "he has it online/open source anywhere"? Also, my Ash port is coming along nicely, I'm going to use my port for a game programming class next semester. |
03:53:14 | BlueProtoman | I'll put the source on Github soon. |
03:53:25 | darkf | BlueProtoman: like, if he has it available online on github or somewhere :P |
03:53:39 | BlueProtoman | darkf: What's "it"? Artemis? Probably. |
03:53:59 | BlueProtoman | I'm focusing on getting Ash++ working before I make it fast. |
03:54:14 | Demos | https://github.com/fowlmouth/nimlibs |
03:54:33 | Demos | what is Ash? |
03:54:46 | * | brson_ quit (Quit: leaving) |
03:54:57 | darkf | ooh awesome |
03:55:05 | BlueProtoman | Demos: Another component-entity system. Dunno how it compares to Artemis, I haven't used it. |
03:55:47 | Demos | I am current reworking my ECS in c++ to include plain vectors (well strange dynamic typed vectors that are kinda strange) of value types and "double buffering" for all the game logic |
03:56:02 | Demos | I had ye olde hash table of typeids before |
03:56:48 | BlueProtoman | Demos: What's wrong with a hash table of typeids? It's what I'm using. (Well, actually, a hash table of type_indexes, wrappers around typeids.) |
03:56:57 | Demos | bad cache locality |
03:57:04 | Demos | yeah I did the same |
03:57:19 | Demos | harder to use compoents and systems written in other langs as well |
03:58:08 | BlueProtoman | Demos: Is there a way to improve the cache locality while maintaining an associative interface? (I.e. I can do getComponent[AccelerationComponent] rather than having to do getComponent[6]) |
03:58:10 | Demos | my new thing has a class that wraps a vector<unsigned char> and takes void*s and inserts them, as long as the types are trivial it works pretty well, if not you have a problem since copying the stuff every frame starts to become a problem |
03:58:24 | Demos | store them sparsely |
03:58:39 | BlueProtoman | ? |
03:58:47 | BlueProtoman | How does that help? |
03:59:14 | Demos | so for some systems (rendering and physics among others) you can just blast through the arrays of components. For other systems you can say components[componentTypeInt][entity] |
03:59:45 | BlueProtoman | I don't follow. |
04:00:28 | darkf | yay I made the compiler crash by adding a semicolon |
04:00:34 | Demos | your top level array is size N where N is the "highest" component you have added |
04:00:58 | Demos | so if I make 150 components and add the last one to the world the array will be of size 150 |
04:01:33 | BlueProtoman | Demos: Go on. |
04:02:40 | Demos | OK so each entity has a unique ID, again created sequencially, so if you have an array of components you just access the component at that index to get the one associated with a given ent |
04:02:51 | Demos | you could also store them all packed and just binary search em |
04:03:27 | BlueProtoman | So store all components of a given type together, and give each entity a *pointer* to a given component? |
04:03:38 | Demos | entities are not a thing |
04:03:45 | Demos | you dun need entities |
04:04:22 | BlueProtoman | Right. Well, I'm going to bed, so good night! |
04:04:31 | * | BlueProtoman quit (Quit: Leaving) |
04:23:02 | * | xenagi quit (Quit: Leaving) |
05:14:10 | * | Demos quit (Quit: Konversation terminated!) |
05:14:18 | * | ics joined #nimrod |
06:17:55 | * | ics quit (Ping timeout: 245 seconds) |
06:20:01 | * | ics joined #nimrod |
07:14:39 | * | darkf_ joined #nimrod |
07:15:27 | * | darkf quit (Ping timeout: 240 seconds) |
07:15:33 | * | darkf_ is now known as darkf |
07:32:54 | * | ddl_smurf joined #nimrod |
07:32:59 | * | rndbit quit (Excess Flood) |
07:33:45 | * | rndbit joined #nimrod |
07:33:45 | * | rndbit quit (Excess Flood) |
07:35:14 | * | rndbit joined #nimrod |
07:35:15 | * | rndbit quit (Excess Flood) |
07:36:16 | * | rndbit joined #nimrod |
07:36:16 | * | rndbit quit (Excess Flood) |
07:36:48 | * | rndbit joined #nimrod |
08:06:10 | * | ics quit (Ping timeout: 252 seconds) |
08:08:31 | * | ics joined #nimrod |
08:16:37 | * | shodan45 joined #nimrod |
08:20:24 | shodan45 | anyone use nimrod with fastcgi? |
08:21:53 | shodan45 | or wrap an existing fastcgi library? |
09:09:47 | Araq | shodan45: we lack a fastcgi wrapper but imho fastcgi lost against scgi anyway |
09:10:14 | Araq | our services (forum etc.) use scgi on top of nginx |
09:13:13 | shodan45 | Araq: oh? interesting... I've only seen fastcgi "in the wild", never scgi |
09:14:58 | shodan45 | (deploying python and (gasp, barf) PHP web apps) |
09:17:20 | shodan45 | I'm currently reading the de-facto standard python library for fastcgi to see how complex it is |
09:17:39 | shodan45 | so far it looks easy |
09:18:42 | shodan45 | I'll check out scgi before attempting to write a nimrod fastcgi lib |
09:28:53 | Araq | I started a fastcgi lib once but it was too boring, lost of unnecessary binary blob parsing crap |
09:29:33 | Araq | scgi showed this is all entirely unnecessary and over-engineered |
09:29:40 | Araq | imho anyway |
09:31:09 | shodan45 | Araq: seems the biggest flaw(?) with scgi is that it has to re-open a connection every time a client connects |
09:31:23 | shodan45 | or that could be complete crap :) |
09:32:16 | shodan45 | where fastcgi reuses & multiplexes everything over 1 connection |
09:32:58 | shodan45 | (again, that could be complete crap... I only started digging in to this a few hours ago) |
09:38:49 | * | BitPuffin quit (Ping timeout: 252 seconds) |
09:39:44 | shodan45 | aaaand I just noticed that it's 3:30am |
09:40:05 | shodan45 | yay for 4 hours of sleep -_- |
09:44:11 | Araq | sounds like you're in the right channel :P |
09:55:33 | * | CarpNet joined #nimrod |
10:29:04 | * | psquid quit (Quit: work) |
10:38:40 | * | Trixar_za quit (Ping timeout: 245 seconds) |
10:39:02 | * | Trixar_za joined #nimrod |
10:46:47 | * | faassen joined #nimrod |
11:56:52 | * | BitPuffin joined #nimrod |
12:34:31 | * | darkf quit (Quit: Leaving) |
13:14:32 | BitPuffin | ahoy maties |
13:22:35 | fowl | yo |
13:26:07 | * | BlueProtoman joined #nimrod |
13:28:12 | BlueProtoman | I'm trying to compile Nimrod on Ubuntu 13.10, but I get some linker errors. http://pastebin.com/ZD8cyzFY Any tips? |
13:28:45 | fowl | BlueProtoman, use the version from github |
13:30:06 | BlueProtoman | fowl: OK, trying now. |
13:40:54 | * | Hannibal_Smith joined #nimrod |
13:44:27 | BlueProtoman | Ok, it built. Now how do I install this alongside all the other software on my system? |
13:45:27 | BitPuffin | BlueProtoman: just add it to your path instead |
13:45:31 | BitPuffin | makes it easier to maintain |
13:46:14 | BitPuffin | in your .favoriteshellrc do `export PATH=/path/to/the/git/repo/bin:$PATH` |
13:46:19 | BitPuffin | probably .bashrc |
13:46:24 | BitPuffin | in ~/ |
13:49:19 | EXetoC | usually it's in the profile config, but that should work |
13:52:34 | BitPuffin | EXetoC: I don't use that damn thing xD |
13:56:45 | fowl | BlueProtoman, nvm what he says, he's newb, just make a symlink |
13:57:17 | BlueProtoman | fowl: Too late, Nimrod's in my home directory |
13:58:48 | BlueProtoman | Now I'm trying to install babel... |
13:59:40 | fowl | best way to do that is compile babel then babel install babel |
14:04:38 | BlueProtoman | Ok, now lastly I'm trying to install aporia. |
14:17:29 | * | achim joined #nimrod |
14:28:29 | * | gradha joined #nimrod |
14:32:35 | fowl | babel install aporia |
14:35:51 | BitPuffin | fowl: symlink ftl |
14:38:02 | * | ics quit (Ping timeout: 265 seconds) |
14:42:48 | * | ics joined #nimrod |
14:45:15 | * | vendethiel quit (Ping timeout: 252 seconds) |
14:48:22 | * | shodan45 quit (Quit: Konversation terminated!) |
14:48:33 | * | vendethiel joined #nimrod |
14:49:52 | * | vendethiel quit (Read error: Connection reset by peer) |
14:53:38 | BlueProtoman | fowl: Not working, I get "FAILURE: Specified directory does not contain a .babel file." |
14:54:49 | gradha | BlueProtoman: trye babel install aporia#head |
14:55:10 | BlueProtoman | gradha: aporia.nim(11, 7) Error: cannot open 'glib2' |
14:56:43 | * | vendethiel joined #nimrod |
14:56:45 | gradha | dom96: forgot to add the gtk2 dependency, babel install gtk2 then |
14:57:20 | * | achim quit (Quit: Computer has gone to sleep.) |
14:57:39 | BlueProtoman | Actually, is Nimrod's Sublime Text plugin any good? |
14:57:56 | gradha | real programmers use notepad.exe |
14:58:19 | BlueProtoman | But real programmers also use Linux. |
14:58:28 | BlueProtoman | (Also, that worked, thanks) |
14:59:53 | BitPuffin | BlueProtoman: it's called wine, noob |
15:01:48 | * | dymk quit (Ping timeout: 246 seconds) |
15:07:23 | NimBot | nimrod-code/Aporia master a0da2e7 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds gtk2 dependency to babel file. |
15:07:23 | NimBot | nimrod-code/Aporia master d6345f4 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Mentions new babel #head suffix for installation. |
15:07:23 | NimBot | nimrod-code/Aporia master 7992387 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds hyperlink to github aporia issues. |
15:07:23 | NimBot | nimrod-code/Aporia master 936d88d Grzegorz Adam Hankiewicz [+0 ±2 -0]: Merge pull request #47 from gradha/pr_babel_tweaks... 2 more lines |
15:08:23 | * | BlueProtoman quit (Remote host closed the connection) |
15:17:23 | * | BlueProtoman joined #nimrod |
15:20:21 | OrionPKM | BlueProtoman the new sublimetext plugin is pretty good :0 |
15:20:29 | BlueProtoman | OrionPKM: Where can I get it? |
15:20:32 | OrionPKM | varriount and me are working on it, but it's not done yet |
15:20:40 | OrionPKM | https://github.com/Varriount/Nimrod-Sublime |
15:20:59 | BlueProtoman | OrionPKM: How usable is it? |
15:21:04 | OrionPKM | I use it |
15:21:22 | OrionPKM | it has go-to-definition, but it might be a bit buggy on OSX |
15:21:39 | BlueProtoman | OrionPKM: I use Ubuntu 13.10. How do I install it, then? |
15:21:48 | OrionPKM | clone it to your pacakges folder |
15:21:51 | OrionPKM | packages* |
15:22:51 | BlueProtoman | OrionPKM: Huh. That was easy. |
15:23:49 | BlueProtoman | OrionPKM: Says it can't find Nimrod. But it's in my PATH. |
15:24:05 | OrionPKM | sec im in a meeting |
15:25:13 | gradha | BlueProtoman: it opens a shell, so it should be found, but you could likely tweak https://github.com/Varriount/Nimrod-Sublime/blob/master/Nimrod.py#L59 to force a full path to it |
15:26:01 | BlueProtoman | gradha: I have no idea why the ST plugin's PATH doesn't look like mine. |
15:26:57 | gradha | if you just changed the path in your config files maybe you need to restart sublime to catch that? |
15:27:08 | BlueProtoman | gradha: No, I changed it, then logged out, then back in |
15:27:19 | BlueProtoman | (changed it in .bashrc, of course) |
15:27:52 | gradha | since the plugin opens a shell anyway you can call a script of your own where you dump $PATH and others to see what's wrong |
15:28:18 | * | Endy joined #nimrod |
15:28:27 | gradha | another reason for nimrod failing could be if you have spaces somewhere in your paths |
15:28:34 | * | dymk joined #nimrod |
15:28:54 | BlueProtoman | gradha: Nope, no spaces. |
15:29:31 | BlueProtoman | This is the path Sublime sees: [path: /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games] |
15:29:47 | BlueProtoman | And this is mine: /home/jesse/Nimrod/bin:/home/jesse/.babel/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games |
15:36:47 | BlueProtoman | Fuck it, I'm just gonna use aporia |
15:37:50 | gradha | another alternative would be to symlink nimrod to one of those other paths, or figure out why sublime doesn't get the updated $PATH |
15:38:30 | BlueProtoman | I don't want to symlink anything from my home directory into my system directory. |
15:40:27 | * | fntzr joined #nimrod |
15:45:22 | gradha | fowl: some guys invented yet another currency, cryptolocker http://www.ibtimes.co.uk/cryptolocker-criminals-earn-30-million-100-days-1429607 |
15:54:52 | * | shodan45 joined #nimrod |
15:55:11 | fntzr | Hi guys. |
15:55:18 | fntzr | I have a macro: |
15:55:23 | fntzr | macro m(ast: stmt): stmt {.immediate.} = |
15:55:23 | fntzr | echo(treeRepr(ast)) |
15:55:27 | fntzr | Exaple usage: |
15:55:27 | fntzr | m: |
15:55:27 | fntzr | var a = 1 |
15:55:32 | fntzr | It translate to |
15:55:32 | fntzr | StmtList |
15:55:32 | fntzr | VarSection |
15:55:32 | fntzr | IdentDefs |
15:55:32 | fntzr | Ident !"a" |
15:55:34 | fntzr | Empty |
15:55:36 | fntzr | IntLit 1 |
15:55:38 | fntzr | How to detect types Nodes? For example it's a IdentDefs, it's a Empty and others? |
15:55:59 | OrionPKM | BlueProtoman what OS are you on: |
15:56:01 | BitPuffin | best sentence ever |
15:56:07 | BitPuffin | "Hey guys, I have a macro" |
15:56:07 | BlueProtoman | OrionPKM: Ubuntu 13.10 |
15:56:29 | OrionPKM | i havent tested it on linux, only windows/osx |
15:56:38 | OrionPKM | if you get it working please submit a pull request :) |
15:58:31 | OrionPKM | I know in OSX if you dont start ST from the shell its path is fucked up |
15:58:41 | OrionPKM | could be the same issue on linux |
15:59:51 | gradha | fntzr: each node has a kind field |
16:00:03 | gradha | you can case on that, or us ifs, or the "expect" helper macros |
16:02:22 | gradha | it could also be sublime modifies the path explicitely, xcode does to "guarantee" your user environment doesn't change build environments |
16:03:10 | OrionPKM | it's kind of annoying.. I've googled the issue, people just say to start sublime w/ "subl" command from the terminal |
16:04:29 | fntzr | gradha, thanks |
16:06:17 | gradha | maybe the sublime guys have… you know… this rare item… documentation… which explains what is going on? |
16:06:45 | OrionPKM | maybe |
16:13:49 | dom96 | Sublime sucks. Pros use Aporia. |
16:15:09 | OrionPKM | heh |
16:15:39 | OrionPKM | aporia has babel integration? |
16:15:58 | dom96 | Who need babel integration when you've got a terminal? |
16:16:01 | OrionPKM | sub-language syntax highlighting? :P |
16:16:02 | dom96 | *needs |
16:16:23 | OrionPKM | built in terminal? |
16:16:41 | dom96 | Is sublime free??? :P |
16:16:45 | dom96 | and open source? |
16:16:46 | OrionPKM | to use, yes :p |
16:16:57 | OrionPKM | ah now we get to the root of the issue |
16:16:59 | OrionPKM | you're cheap! :P |
16:17:13 | dom96 | Sublime is a piece of annoyware |
16:18:50 | OrionPKM | indent guides |
16:19:04 | OrionPKM | scroll past end |
16:19:04 | dom96 | Is Sublime written in Nimrod!? |
16:19:20 | OrionPKM | you got me there :p |
16:20:19 | BitPuffin | terminal ftw |
16:20:28 | OrionPKM | split tab panes |
16:20:29 | OrionPKM | :P |
16:22:25 | OrionPKM | dom96 aporia should use whatever dart uses as it's base imo |
16:22:35 | dom96 | Eclipse? |
16:22:38 | OrionPKM | no.. |
16:22:50 | OrionPKM | there is a dart eclipse plugin, but there is a separate dart editor I think |
16:23:21 | dom96 | and what is its base? |
16:23:26 | OrionPKM | dunno, trying to find that out |
16:23:28 | OrionPKM | it's open source though |
16:23:31 | BitPuffin | drop the bass |
16:23:34 | BitPuffin | base |
16:23:36 | BitPuffin | bard |
16:23:37 | OrionPKM | https://www.dartlang.org/docs/dart-up-and-running/contents/ch01.html |
16:23:37 | BitPuffin | beard |
16:24:06 | dom96 | That looks like Eclipse to me |
16:25:37 | OrionPKM | dont think it is |
16:27:07 | OrionPKM | https://www.dartlang.org/tools/editor/ |
16:28:14 | OrionPKM | from the video, "it's a completely standalone editor" |
16:29:38 | * | BitPuffin quit (Ping timeout: 264 seconds) |
16:30:17 | Hannibal_Smith | Or they did copy the Eclipse UI, or it's Eclipse |
16:30:54 | dom96 | "Google built the Dart editor on Eclipse components." |
16:30:58 | dom96 | http://dartr.com/google-releases-dart-editor/ |
16:31:54 | OrionPKM | thats from 2011 |
16:32:16 | dom96 | Yeah? |
16:32:25 | Hannibal_Smith | OrionPKM, these screens are for sure is so much like Eclipse UI |
16:32:48 | OrionPKM | https://www.youtube.com/watch?v=VQLdm8BY1Ao#t=48 |
16:33:11 | OrionPKM | ok |
16:33:53 | OrionPKM | you're right, it uses eclipse |
16:34:00 | OrionPKM | but its not a plugin |
16:35:07 | Hannibal_Smith | Uhm? |
16:36:04 | Hannibal_Smith | http://storage.googleapis.com/dart-archive/channels/stable/release/latest/changelog.html |
16:36:42 | OrionPKM | OrionPKM there is a dart eclipse plugin, but there is a separate dart editor I think |
16:37:01 | OrionPKM | https://www.dartlang.org/tools/eclipse-plugin/ |
16:37:29 | OrionPKM | https://www.dartlang.org/tools/ |
16:37:38 | OrionPKM | they have intellij, eclipse, emacs, ST2, vim |
16:37:44 | OrionPKM | and then they have dart editor |
16:37:49 | OrionPKM | which is separate from all of those |
16:38:18 | Hannibal_Smith | Maybe, this "Dart editor" is an Eclipse distro |
16:46:57 | * | Arcanum_za joined #nimrod |
16:52:02 | * | vendethiel quit (*.net *.split) |
16:52:02 | * | Trixar_za quit (*.net *.split) |
16:55:48 | * | vendethiel joined #nimrod |
16:58:45 | * | vendethiel quit (*.net *.split) |
17:02:46 | fowl | gradha, how is that a coin |
17:03:37 | fowl | gradha, currency* |
17:03:50 | fowl | gradha, also that site is atrocious, it keeps reloading so the ad video can play |
17:04:53 | * | vendethiel joined #nimrod |
17:05:03 | gradha | fowl: your data, which you don't have backups of, is the new currency, and these guys are exploiting that well |
17:05:51 | fowl | it is an innovative form of kidnapping |
17:07:42 | gradha | after all, you *pay* google and facebook with your identity, pictures, contacts, etc. |
17:09:13 | * | vendethiel quit (*.net *.split) |
17:10:00 | * | vendethiel joined #nimrod |
17:10:56 | * | Demos joined #nimrod |
17:19:48 | Varriount | Is anyone currently on the VNUG? |
17:30:07 | dom96 | no, but i'm considering joining it. |
17:30:22 | dom96 | Well, I don't know if anyone is on it. |
17:30:25 | dom96 | I assume no. |
17:31:59 | Varriount | I'm in it |
17:32:20 | Varriount | And for once, I'm on my desktop, instead of my laptop |
17:33:32 | Demos | http://thread.gmane.org/gmane.comp.lang.rust.devel/3674/focus=3855 best case for how {.noSideEffects.} works ever |
17:34:55 | Demos | say, does debugLog use compile magic or can anyone just decide to break the {.noSideEffects.} contract? if anyone can do it does it just result in UB? |
17:35:24 | Demos | I may join, but there is KSP to be played |
17:46:30 | Varriount | :< |
17:47:13 | Varriount | Why are there multiple instances of 'iff' in the documentation? Is there some difference between 'iff' and 'if'? |
17:48:36 | Demos | iff means if and only if |
17:49:23 | Varriount | Perhaps a note of that should be made somewhere in the documentation? |
17:50:07 | Demos | it is a very well known convention |
17:50:17 | dom96 | indeed: https://en.wikipedia.org/wiki/If_and_only_if |
17:50:18 | gradha | it's even in my dictionary |
17:52:17 | * | zielmicha joined #nimrod |
17:53:06 | OrionPKM | every logician should know what iff means |
17:54:04 | * | ddl_smurf quit (Quit: ddl_smurf) |
17:54:05 | EXetoC | and then there's ifb: if, but only maybe |
17:58:45 | dom96 | I really regret not doing the reddit secret santa thing. |
18:04:09 | * | dymk quit (Ping timeout: 246 seconds) |
18:05:42 | * | Hannibal_Smith quit (Quit: Sto andando via) |
18:07:55 | * | brson joined #nimrod |
18:11:19 | OrionPKM | i always think "next year I'll do it" |
18:11:25 | OrionPKM | but then next year comes around i completely forget |
18:12:28 | dom96 | and here is the Steam Christmas sale |
18:12:31 | dom96 | bye money |
18:13:05 | OrionPKM | what looks good |
18:13:34 | dom96 | Bioshock Infinite and Stanley's Parable |
18:13:43 | OrionPKM | mm |
18:13:48 | OrionPKM | i already have bioshock infinite |
18:14:29 | shodan45 | must... resist... resist... steam |
18:14:35 | OrionPKM | never heard of stanley parable |
18:16:04 | dom96 | wow, only a few more pounds and I can get all the Bioshock games... |
18:16:13 | dom96 | Gaben is a genius. |
18:17:08 | dom96 | And CS: Go is just £3 |
18:17:41 | Demos | CS is kinda meh though |
18:17:42 | OrionPKM | ew CS |
18:17:43 | OrionPKM | too hard :p |
18:17:52 | Demos | GO is not that hard |
18:17:59 | OrionPKM | i dont like getting shot |
18:18:04 | OrionPKM | i like shooting people, but not getting shot |
18:18:08 | Demos | CS1.6 is where the pros are, but yeah...meh |
18:20:03 | OrionPKM | stanley parable looks funny |
18:20:46 | Varriount | Grargh. Web designers who break a browsers 'back' function should be taught... a lesson. |
18:22:10 | * | dymk joined #nimrod |
18:23:18 | OrionPKM | i want to play that game w/ the oculus |
18:23:20 | gradha | Varriount: tell that to Android designers |
18:24:53 | OrionPKM | web designers are dumb |
18:25:07 | OrionPKM | they need to learn to make pictures and let the developers do the lifting |
18:25:40 | OrionPKM | and make use of window.history |
18:28:26 | fowl | browser is best to develop for since because everyone has one |
18:29:19 | Demos | but the spec is so insane, is is like saying that you should dev for POSIX since everybody supports that (rememver windows has a POSIX subsystem) |
18:29:30 | Varriount | Yay! I now have an existsSymlink procedure, nearly ready for os.nim |
18:29:47 | Varriount | Demos, they dropped support for the subsystem |
18:29:54 | Varriount | Er, windows did. |
18:29:56 | Demos | yeah I know |
18:29:59 | Varriount | *Microsoft |
18:30:06 | Demos | and it has not been included in windows since vista I think, maybe 7 |
18:30:20 | Varriount | Which is a shame. |
18:30:36 | Demos | yeah, true |
18:30:51 | Demos | but crossplat is becomeing eaiser as we get better tools and whatnot |
18:31:00 | Varriount | Anyone with linux want to test out the new symlink procedures I just wrote? |
18:31:01 | Demos | and as standard libraries expand |
18:33:18 | * | CarpNet quit (Quit: Leaving) |
18:33:41 | Varriount | WTF? -> lib\pure\os.nim(416, 48) Error: expression 'S_IFLNK(res.st_mode)' cannot be called |
18:35:08 | Araq | well S_IFLNK looks like a constant to me |
18:35:41 | Varriount | Araq, I'm using it in the same way that the other exists* procs are |
18:36:16 | Varriount | 'return stat(dir, res) >= 0'i32 and S_ISDIR(res.st_mode)' works for existsDir |
18:36:57 | Varriount | And both are procedures specified in the posix module though header includes. |
18:38:17 | Araq | my bet: there is some other S_IFLNK defined somewhere |
18:38:38 | Araq | there is a bug so that the compiler doesn't complain as much as it should about duplicated identifiers |
18:39:50 | Varriount | Searching the entire source tree, the only instances where S_IFLNK is defined are in lib/posix/posix.nim, and tools/detect/detect.nim |
18:40:23 | Varriount | And both those definitions are copies/the same, character-wise. |
18:41:43 | * | Arcanum_za is now known as Trixar_za |
18:42:30 | Araq | dunno, try nimgrep with -y |
18:45:45 | Varriount | Araq, what would happen if a C macro or constant was imported with {.importc, header: "<sys/stat.h>".}, but the target macro/constant didn't exist? |
18:46:00 | Araq | bbl |
18:46:23 | dom96 | Varriount: The C compiler would complain |
18:50:43 | EXetoC | meep |
18:50:49 | gradha | lol, first non kpop video I like http://www.youtube.com/watch?v=aAyFgb0R6tE |
18:51:10 | Varriount | dom96, apparently mingw doesn't have S_IFLNK defined. |
18:53:16 | * | zahary quit (Quit: Leaving.) |
18:56:14 | Varriount | join #mingw64 |
18:56:27 | Varriount | argh |
18:56:33 | gradha | do they give cookies? |
18:57:22 | Varriount | gradha, probably not. |
19:08:24 | Varriount | Gradha, do you know if there is a technical specification on what a "posix symlink" is? |
19:09:01 | gradha | no idea, what exactly do you need to find out? |
19:09:20 | * | zahary joined #nimrod |
19:09:21 | Varriount | This is what I got told on the mingw-w64 channel |
19:09:37 | Varriount | <adrien> Varriount: there are no posix symlinks on windows |
19:10:39 | gradha | not sure what posix has to do, you can run linux and use a fat32 filesystem without symlink support |
19:10:49 | gradha | AFAIK symlinks are a filesystem feature |
19:11:07 | gradha | of course you then need posix calls to be able to tell one from the other |
19:11:51 | gradha | maybe you were told "mingw has API for windows symlinks, but you can't mount an ext2 and access the symlinks"? |
19:12:02 | Varriount | gradha, for windows, symlinks are a filesystem feature |
19:12:33 | gradha | recently you were saying how windows dropped posix support |
19:12:56 | gradha | so that would be it: there's an API for windows symlinks, and there is none for posix symlinks on windows. Maybe |
19:14:05 | Varriount | I thought that was the point of mingw32, to provide a compatibility layer... |
19:14:39 | gradha | if you squint your eyes maybe it is a compatibility layer at the API level |
19:14:53 | gradha | I don't know many windows people mounting ext filesystems |
19:15:04 | Varriount | Bah, silly developers. |
19:15:16 | gradha | mingw32 could offer for the programmer an API which allows posix code to migrate to windows without much retouching |
19:15:36 | gradha | that would be your compatibility, but the resulting program would not be able to interact with *real* posix symlinks on windows |
19:15:49 | gradha | also, I know nothing, don't trust me |
19:15:53 | fowl | Varriount, thats the point of cygwin, mingws purpose is to provide gnu tools on windows |
19:15:56 | fowl | gcc etc |
19:16:30 | Varriount | But I thought that cygwin did heavy-duty stuff, patching dll's and such. |
19:18:01 | gradha | IIRC DJGPP provided a symlink API for porting, not sure how it worked |
19:18:16 | fowl | why do you need posix symlinks |
19:18:22 | fowl | windows has symlinks with mklink |
19:18:34 | gradha | feature checkmark |
19:19:26 | gradha | so I looked up teamspeak and they are like skype, isn't it? |
19:19:47 | fowl | no its just voice and not a giant corporation that spies on you |
19:19:52 | fowl | or at least hasnt been exposed as such yet |
19:20:06 | gradha | let's rewrite teamspeak with nimrod and the opus codecs |
19:21:07 | Varriount | Why will no one join me? |
19:23:11 | gradha | you need one ring, to rule us all |
19:24:15 | gradha | there you go, likely the first nimrod (TM) meme bashing python https://github.com/gradha/quicklook-rest-with-nimrod/tree/develop |
19:25:09 | Varriount | gradha: you bad.. you very bad :P |
19:25:14 | * | fntzr quit (Quit: Leaving) |
19:25:35 | dom96 | gradha: nice |
19:25:44 | Varriount | gradha: you a bad-ass honey badger |
19:26:32 | gradha | people may say nimrod rst support is not complete, but honey badger nimrod doesn't care |
19:28:36 | Varriount | gradha, looks much easier then what you would have to do for windows, which is (ugh) interface with c++ |
19:28:48 | * | DAddYE_ joined #nimrod |
19:31:51 | * | DAddYE quit (Ping timeout: 240 seconds) |
19:32:46 | * | DAddYE_ quit (Remote host closed the connection) |
19:33:22 | * | DAddYE joined #nimrod |
19:38:54 | gradha | hmm... I have to make the default HTML embed a badger at the top, looking fierce |
19:39:33 | gradha | lol, maybe then people would read the docs to learn how to change it through configuration files |
19:39:41 | Araq | "people may say nimrod rst support is not complete, but honey badger nimrod doesn't care". Yup. Definitely the Nimrod spirit. |
19:40:30 | Araq | which can summarized as "yeah it doesn't adhere to the spec fully but that's because the spec sucks" |
19:41:16 | * | gradha notes that to quote to add it to the readme |
19:44:35 | * | Endy quit (Read error: Operation timed out) |
19:46:32 | * | DAddYE quit (Remote host closed the connection) |
19:49:09 | gradha | nice, with the include directive I can make a rst file include itself for a DOS attack |
19:49:53 | gradha | wow, awesome, the python implementation suffers from the same defect |
19:49:58 | Araq | gradha: it's nice that you find all these bugs, but you know what would be even better? Fixing them. |
19:50:30 | * | DAddYE_ joined #nimrod |
19:51:19 | gradha | indeed, that would be awesome |
19:52:12 | * | ack006 joined #nimrod |
19:52:15 | * | brihat quit (Read error: Connection timed out) |
19:52:56 | Araq | hi ack006 welcome back |
19:52:57 | * | brihat joined #nimrod |
19:53:40 | gradha | but seriously, when you have an "include", don't you feel the urge to test recursion with it? It's proof nobody uses rst format |
19:54:37 | gradha | oh, and now I want to test cyclic recursion, which avoids simple checks "if thisfile == includefile" |
20:07:10 | * | Endy joined #nimrod |
20:13:52 | gradha | Araq: still aiming for 16th december? |
20:16:34 | BlueProtoman | How do you append an element to a sequence? |
20:16:40 | dom96 | .add() |
20:16:47 | BlueProtoman | Ah, thank you |
20:17:48 | Araq | gradha: well ... it's the 19th today |
20:19:07 | gradha | <insert stupid year overflow jokes here> |
20:23:56 | Araq | btw cyclic dependency analysis only requires a TIntset in the compiler, you can use then use the file index |
20:24:35 | gradha | some day… I'll understand what you say to me… maybe… |
20:24:54 | Araq | and containsOrIncl(fileIdx): error("cyclic dep") |
20:25:19 | Araq | if cycleCheck.containsOrIncl(fileIdx): error("cyclic dep") |
20:27:17 | * | Endy quit (Ping timeout: 248 seconds) |
20:27:59 | BlueProtoman | Is there a way I can iterate over or index a set with ordinal elements? |
20:28:17 | BlueProtoman | *iterate over a set with ordinal elements in by the natural ordering of the elements |
20:29:15 | Araq | if you use set[T] it should iterate over the "natural" order |
20:29:38 | Araq | if you use TSet[T] you get some arbitrary order cause the implementation uses hashing |
20:29:47 | BlueProtoman | Araq: Ah, sweet, thank you. |
20:32:30 | BlueProtoman | Araq: I'm trying to make a set of integers, but it's telling me the set is too large. Is that because it's implemented as a bit set? |
20:36:21 | * | psquid joined #nimrod |
20:36:21 | * | psquid quit (Changing host) |
20:36:21 | * | psquid joined #nimrod |
20:39:26 | Varriount | Hello psquid |
20:39:47 | psquid | Ahoy hoy. |
20:41:21 | BlueProtoman | How can I make a set of ints? |
20:41:30 | * | Endy joined #nimrod |
20:41:37 | Varriount | BlueProtoman, at run time? |
20:41:56 | psquid | BlueProtoman: http://build.nimrod-lang.org/docs/intsets.html ? |
20:42:19 | BlueProtoman | psquid: Oh, I missed that. Thanks! |
20:43:05 | BlueProtoman | psquid: I assume that when iterating over intsets, the iterator runs from smallest element to largest? |
20:43:38 | Varriount | I'm guessing no, as intsets module imports the hash module |
20:43:51 | psquid | No idea. But since it doesn't say as such, I would assume you can't rely on that behaviour even if it currently happens to. |
20:43:59 | psquid | Also what Varriount said. |
20:44:19 | BlueProtoman | Then what would you recommend as the best way to store prime numbers such that I can iterate over them from smallest to largest? |
20:44:39 | Varriount | BlueProtoman, how many numbers are you iterating over? |
20:44:48 | BlueProtoman | Varriount: An arbitrary amount. |
20:45:44 | Varriount | BlueProtoman, well, you could just store them in a sequence, or, if you need to be a bit more conservative with space, a linked list |
20:45:56 | BlueProtoman | Varriount: I figured as such. |
20:46:27 | Varriount | However, you then lose the advantage of being able to randomly access the ints. |
20:46:55 | BlueProtoman | Sequences are faster, right? |
20:47:00 | BlueProtoman | For cache reasons? |
20:47:01 | Araq | yes |
20:47:06 | Araq | yes |
20:47:06 | BlueProtoman | Thought so. |
20:47:12 | Varriount | As far as I have been able to glean from Araq, sequences are implemented as dynamic arrays. |
20:47:21 | Araq | yes |
20:47:39 | Varriount | Although, I don't know what behavior they exhibit when increasing their size. |
20:47:56 | Araq | copy if out of capacity |
20:48:21 | Varriount | Araq, I meant, how much new memory is allocated? |
20:48:47 | Araq | approx 1.5 times the old capacity |
20:49:48 | Araq | if you double the capacity this means that write accesses average at 3 times the overhead over no reallocations but I forgot how that proof works |
20:50:06 | Araq | pretty interesting result though if you ask me |
20:50:49 | Varriount | I wonder how a linked list of sequences would perform. Or a linked list of arrays. |
20:51:18 | Araq | they always lose ;-) |
20:51:46 | Araq | they are theory, in practice hardware only loves arrays |
20:54:42 | BlueProtoman | How can I convert a countup() iterator to a set? |
20:56:33 | Araq | there is only sequtils.toSeq to turn an iterator into a sequence |
20:57:06 | * | q66 quit (Quit: Leaving) |
20:58:36 | gradha | hmm... I can't pass a closure where a proc is expected, doesn't that limit closures too much? |
20:59:02 | Araq | well you can pass a proc where a closure is expected, so no |
21:00:51 | * | Endy quit (Ping timeout: 246 seconds) |
21:01:18 | gradha | should I PR closures everywhere a proc callback is expected now? |
21:01:39 | Araq | why? |
21:02:13 | gradha | because a non closure callback doesn't allow me to pass a closure |
21:03:02 | Araq | well yes, C interop has its price |
21:03:15 | Demos | do the sequences do that realloc thing where the allocator may give you more memory after your current location? |
21:03:41 | Araq | no they don't as that's suprisingly hard to support in a GC |
21:04:24 | Araq | but in a mmap based system it's rather unusual to work anyway |
21:05:15 | Demos | do they memcpy if they can? what about shallow copies? |
21:06:11 | * | q66 joined #nimrod |
21:06:40 | dom96 | EXetoC: ping |
21:06:49 | gradha | Araq: the other day the pedant squad talked about how newSeq should be renamed to initSeq becaue it doesn't return a ref/ptr, what's your opinion on that |
21:07:09 | Araq | who's the pedant squad? |
21:07:28 | gradha | can't remember |
21:07:47 | Varriount | Probably me and some other folks. Though, I'm only pedantic about things like style conventions |
21:08:38 | Demos | I think I agree, consistant style in construction functions is important, important enough that some languages enforce it with an iron fist :/ |
21:08:48 | Araq | well seqs and strings are a bit hybrid creatures |
21:08:57 | Araq | so newSeq and newString are not *too* off |
21:09:11 | Demos | are seqs magic? |
21:09:15 | Araq | yes |
21:09:28 | Araq | and they do use memcpy and can always do so |
21:09:35 | psquid | Mostly off-topic: I can't be the only one who mentally pronounces "seqs" like "sex", right? |
21:09:55 | Araq | I pronounce them "sequences" |
21:10:01 | Demos | well they deep copy if you actually go and copy them presumably, but anyhow |
21:10:08 | gradha | psquid: sex, you need to ellaborate on that |
21:10:31 | psquid | I know it should probably be "seeks" if shortening it, but my brain doesn't like a single "e" sounding like two. :P |
21:10:40 | Demos | it seems like one should be able to implement all the seq stuff with some macro trickery, although having them as a magic feature is not really that bad |
21:11:10 | Araq | no, you can't implement 'seq' within the language |
21:11:10 | Varriount | I pronounce the shortened version as 'seeks' |
21:11:38 | Araq | at least not with the means that nimrod currently provides |
21:12:28 | Araq | just because C++ can doesn't mean Nimrod can. Nimrod has a GC and that makes all the difference here. |
21:13:08 | Varriount | Is there any reason why all the winapi templates that act like alias functions aren't all located in winlean.nim? |
21:13:28 | Demos | yeah, that is fair |
21:13:46 | Araq | well I dunno, winlean is supposed to be a useful module on its own |
21:14:19 | Araq | without -d:useWinAnsi stuff in it |
21:14:24 | Varriount | Araq, so wouldn't it be useful to have a template for each api procedure which automatically picks the unicode or ansi version? |
21:14:30 | Araq | but perhaps that already crept into |
21:15:30 | Araq | Varriount: usages are different enough so that it doesn't buy you anything? |
21:16:00 | Araq | well I guess we can make a 'constructString' template too to migitate the differences |
21:16:20 | Varriount | constructString? |
21:17:38 | Araq | string -> cstring|wideCstring |
21:17:46 | EXetoC | dom96: pong |
21:17:54 | Varriount | Araq, I just hate having to write templates which are spread out all over files, just so that I don't have to duplicate parts of a function |
21:17:58 | dom96 | EXetoC: Wanna play 0AD? |
21:20:54 | Araq | Varriount: wait... what? |
21:21:14 | Araq | what's the alternative then? duplicating code? |
21:22:06 | Varriount | Araq, I would like those template function to all be in winlean, otherwise you have multiple parts of the library defining alias templates |
21:22:23 | Varriount | Or you have parts of the standard library doing things like this: https://gist.github.com/Varriount/8015894 |
21:23:05 | Varriount | (Yes, the code in the gist doesn't work, but it shows my point) |
21:23:20 | Araq | well firstly: |
21:23:30 | Araq | you can declare a template in a proc |
21:24:05 | Araq | and secondly ... indeed put it to winlean then though I wonder what's special about winlean |
21:24:20 | Araq | might as well leave it in os.nim |
21:24:29 | Varriount | winlean is where the windows api functions are? |
21:25:28 | Araq | that's a guideline, not a law |
21:25:58 | EXetoC | dom96: ok |
21:26:30 | dom96 | EXetoC: Araq will play too :) |
21:26:34 | dom96 | EXetoC: You wanna talk on TS? |
21:28:08 | Araq | Varriount: ok, now that I've looked at winlean again ... :P |
21:28:15 | Araq | I tend to agree with you |
21:28:18 | Araq | however |
21:28:43 | Araq | doing |
21:29:51 | Araq | when useWinUnicode: |
21:29:52 | Araq | proc ShellExecute*(...) {.importc: "ShellExecuteW".} |
21:29:54 | Araq | else: |
21:29:55 | Araq | proc ShellExecute*(...) {.importc: "ShellExecuteA".} |
21:30:09 | Araq | would simply the code already, no need for a wrapping template then |
21:30:47 | Araq | unfortunately this breaks client code |
21:30:48 | Varriount | However, you then lose the ability to specifically call one or the other. |
21:30:59 | Araq | true |
21:31:02 | Demos | not a huge deal |
21:31:19 | Demos | even in C almost everyone uses them through macros that are #defined based on UNICODE |
21:31:37 | Araq | Demos: it is a huge deal. most of our code uses deprecated stuff for months and months |
21:32:05 | Araq | well one reason is that we're really underpowered here, but still |
21:33:40 | Varriount | Araq, perhaps a pragma macro/template could be created to generate the three procedures? |
21:33:47 | EXetoC | dom96: yeah ok |
21:33:54 | EXetoC | where's bitpuffin? bots suck |
21:34:24 | dom96 | dunno |
21:34:44 | Varriount | Maybe the robot uprising took him |
21:35:37 | Araq | Varriount: sure, can be done with a macro or perhaps with a template even |
21:37:12 | * | achim joined #nimrod |
21:45:43 | * | gradha DOSes himself and smirks |
21:48:02 | Araq | well gradha a closure has some overhead, so I don't want you to blindly add them everywhere |
21:48:25 | Araq | what is it you want to change in particular? |
21:56:20 | * | zielmicha quit (Ping timeout: 240 seconds) |
21:59:19 | EXetoC | dom96: actually, I'm gonna play dod instead |
21:59:41 | dom96 | EXetoC: ok... |
22:02:24 | EXetoC | got some poles to pwn |
22:07:47 | gradha | Araq: I'm using now the rst file finder callback with a global |
22:08:04 | gradha | Araq: I'm not going to set up a multithreaded rst builder now, so I don't really mind |
22:11:28 | * | achim quit (Quit: Computer has gone to sleep.) |
22:11:29 | gradha | hehe, it looks tempting though |
22:23:16 | * | ack006 quit (Quit: Leaving) |
22:26:14 | * | ddl_smurf joined #nimrod |
22:33:16 | Demos | YESYESYESYES string marshalling works |
22:34:10 | Demos | turns out if you declare a public static extern string foo(); function the .NET runtime will go and try and garbage collect the char* returned by the native code |
22:35:38 | Demos | who knew right |
22:39:07 | Varriount | Wait, is that a good thing? |
22:39:51 | Demos | not really, what I had to do was have the managed prototype return an IntPtr and than use Marshall.IntPtrToStringAscii or somesuch function |
22:40:25 | Demos | I am more or less praying that the default bahavior for UTF-8 strings is to not go and destroy them, but who knows |
22:42:15 | Demos | in hindsignt it is a good default, since the strings that you are supposed to be freeing work and the ones you are not crash your program very quickly |
22:42:20 | Demos | an error would be good though |
22:44:04 | gradha | hmm... so now that I've integrated rst into the nakefile to avoid process spawning, building all the docs takes 0.02s, python takes 2.4s |
22:44:32 | Varriount | gradha, to build, or to run? |
22:44:58 | gradha | isn't that the same for an rst generator? |
22:45:09 | * | BitPuffin joined #nimrod |
22:45:12 | Varriount | You know, the real advantage of nimrod is that it doesn't take a quarter of an hour to configure and compile. |
22:45:27 | Varriount | Unlike C/C++ |
22:45:39 | Varriount | BitPuffin, nice to see you |
22:45:54 | gradha | well, it takes 1s to rebuild the nakefile with the embedded rst generator, so 1.02s to build and generate the whole binary from scratch |
22:46:07 | gradha | but I'm not "compiling" python from scratch either |
22:46:22 | gradha | hmm… or maybe I am? I guess |
22:46:34 | Varriount | But, it would likely take 10 minutes to configure and build a C or C++ equivalent. |
22:47:12 | gradha | in any case the difference is so big it's not fun any more |
22:47:35 | Varriount | But programming is always fun! (except for unit tests) |
22:48:04 | Varriount | BitPuffin, ping |
22:48:48 | BitPuffin | Varriount: pong |
22:48:53 | BitPuffin | Varriount: nice to see you too |
22:50:48 | Demos | wowah hold up, we have a make-like program, not sure how I feel about that |
22:51:02 | gradha | you mean nakefiles? |
22:51:06 | Demos | yeah |
22:51:09 | gradha | they are fine |
22:51:18 | gradha | still could use some additional helper procs I have |
22:51:42 | Demos | why not just write stuff in a .nim file and compile it? |
22:51:47 | Demos | or is nake for babel? |
22:51:56 | gradha | nakefile == nimrod code |
22:52:42 | Demos | oh.... good |
22:53:44 | Demos | aaaand viewing aporia's main nim file just crashed a browser tab |
22:54:00 | gradha | aporia is big, try https://github.com/gradha/quicklook-rest-with-nimrod/blob/develop/nakefile.nim instead |
22:54:59 | * | faassen left #nimrod (#nimrod) |
22:55:50 | * | BitPuffin quit (Quit: WeeChat 0.4.2) |
22:57:12 | Demos | had me frightened there for a moment, nake looks pretty neat now |
22:57:30 | Araq | try if it works with vm2 please |
22:57:48 | Araq | it's high time vm2 is merged to master |
22:57:59 | gradha | what do we try? everything? |
22:58:26 | Araq | everything except those 2 features I know don't work :P |
23:01:00 | gradha | hmm... other than windows ffi only new change is discardable case |
23:04:24 | NimBot | Araq/Nimrod master 007d23f Araq [+0 ±1 -0]: no stack tracing for the system module; fixes stack bottom detection |
23:04:24 | NimBot | Araq/Nimrod master ecd3325 Araq [+0 ±5 -0]: Merge branch 'master' of github.com:Araq/Nimrod |
23:04:49 | Araq | Varriount: here you go, please try again |
23:10:04 | Varriount | Araq, I still get the error "Cannot open configuration file: 127.0.0.1" |
23:10:43 | Araq | recompiled with latest git head compiler? |
23:10:48 | Varriount | Yes. |
23:10:55 | Varriount | However, If I leave out the fulldebug flag |
23:10:56 | Araq | gah that's nasty |
23:11:02 | Varriount | Then it works. |
23:11:16 | Varriount | And I get an error about a GC assertion which failed. |
23:11:19 | Araq | where comex when we need him? |
23:11:37 | Araq | *where is |
23:13:04 | Araq | well but fulldebug is essential |
23:13:27 | Araq | but alright, please gist the stack trace |
23:15:59 | * | darkf joined #nimrod |
23:21:03 | Varriount | Araq, got it to run with fulldebug |
23:22:35 | Varriount | https://gist.github.com/Varriount/8047940 |
23:24:19 | * | Mordecai joined #nimrod |
23:25:35 | * | psquid quit (Ping timeout: 272 seconds) |
23:37:13 | * | xenagi joined #nimrod |
23:38:15 | comex | Araq: hi |
23:40:14 | Araq | yay |
23:40:32 | Araq | well I take the bottom of stack like &somelocal |
23:40:55 | Araq | and then I mask out the bits so that it's aligned on a page, to get the real bottom of the stack |
23:41:09 | Araq | however this doesn't work and I wonder why |
23:42:28 | Araq | any idea? |
23:48:50 | * | Mordecai is now known as psquid |