00:02:27 | * | darkf joined #nimrod |
00:03:37 | * | brson joined #nimrod |
00:17:33 | * | Demos_ joined #nimrod |
00:19:00 | * | Matthias247 quit (Quit: Matthias247) |
00:43:15 | * | freezerburnv quit (Quit: freezerburnv) |
00:47:54 | * | q66 joined #nimrod |
00:54:44 | * | q66 quit (Ping timeout: 252 seconds) |
00:58:38 | * | aftershave_ joined #nimrod |
01:03:11 | * | freezerburnv joined #nimrod |
01:07:03 | * | nande joined #nimrod |
01:09:42 | * | DAddYE quit (Remote host closed the connection) |
01:10:15 | * | DAddYE joined #nimrod |
01:10:18 | * | DAddYE quit (Remote host closed the connection) |
01:10:33 | * | DAddYE joined #nimrod |
01:10:34 | * | DAddYE quit (Remote host closed the connection) |
01:11:39 | * | q66 joined #nimrod |
01:16:37 | * | aftershave_ quit (Ping timeout: 272 seconds) |
01:19:25 | * | Demos_ quit (Remote host closed the connection) |
01:22:43 | * | Guest49316 is now known as psquid |
01:52:07 | * | aftershave_ joined #nimrod |
01:54:08 | * | q66 quit (Ping timeout: 252 seconds) |
01:56:24 | * | q66 joined #nimrod |
02:07:29 | * | q66 quit (Quit: Leaving) |
02:09:20 | * | q66 joined #nimrod |
02:10:26 | * | aftershave_ quit (Ping timeout: 264 seconds) |
02:13:09 | * | freezerburnv quit (Quit: freezerburnv) |
02:32:38 | * | brson quit (Ping timeout: 264 seconds) |
02:38:02 | * | r0b2 quit (Ping timeout: 264 seconds) |
02:44:48 | * | aftershave_ joined #nimrod |
03:58:18 | Demos | bootstraping seems to be borked again |
03:58:35 | Demos | I can boot from windows but boing from the csources fails |
03:58:54 | Demos | (windows already has a fairly recent compiler) |
04:05:57 | * | r0b2 joined #nimrod |
04:21:51 | * | ub1k quit (Ping timeout: 264 seconds) |
04:23:49 | * | ub1k joined #nimrod |
04:30:51 | * | Kektain joined #nimrod |
04:32:24 | Demos | if I have something like x: seq[int] and I do "addr x[0]" do I get more or less the same garentees as doing &x[0] in c++ if x was a vector<int>? |
04:49:12 | Kektain | Hey guys, anyone have luck compiling the latest from github today? |
04:52:22 | Kektain | the commit logs make it look like something big is in the works, so I'm content to wait if it's known :D |
05:04:10 | Kektain | ....ahh, yep that's a build log. Right. :x |
05:08:45 | Araq | hi Kektain welcome |
05:08:54 | OrionPK | jesus what time is it in germany |
05:09:03 | Araq | 6 am |
05:09:32 | Kektain | morning Araq |
05:10:19 | Araq | well I broke the build yesterday, it should work now |
05:10:59 | Araq | there is still a regression I'm hunting which affects the xmltree.`<>` macro ... |
05:11:13 | Kektain | Ah, okay |
05:12:06 | renesac | Araq, [00:58:18] <Demos> bootstraping seems to be borked again <--- this is fixed? |
05:12:12 | renesac | *was |
05:12:53 | Araq | that's what #nimbuild suggests |
05:13:30 | Araq | but I'm not sure if nimbuild builds from the C sources, maybe we need to regenerate them |
05:14:12 | Kektain | Ah, didn't see nimbuild |
05:15:03 | Kektain | I followed the steps in the github readme, it failed at koch boot in compiler/vmdef.nim |
05:15:28 | Kektain | I'll check in there! |
05:15:54 | Araq | what's the error message? |
05:16:04 | Demos | renesac, not so much. I could not bootstrap from csources or naster |
05:16:06 | Demos | *master |
05:16:08 | Demos | one sec |
05:16:30 | Kektain | compiler/vm.nim(340, 18) Info: instantiation from here \ compiler/vmdef.nim(205, 62) Error: conversion from range 0..255(uint32) to TRegister is invalid |
05:17:37 | Demos | yeah that |
05:18:57 | * | renesac is now known as renesac|away |
05:19:06 | Araq | huh, interesting |
05:19:33 | Araq | ah! |
05:19:51 | Araq | yay for the new symbol lookup rules in templates |
05:20:00 | Araq | so now only devel can build devel |
05:20:23 | Kektain | ahh XD |
05:20:47 | Araq | well it's very easy to fix |
05:22:05 | Kektain | Haha, after a brief look in there I think I'll leave it to you. :) |
05:29:32 | NimBot | Araq/Nimrod devel edfc314 Araq [+0 ±1 -0]: renamed TRegister to TFullReg so that older versions can compile it |
05:29:41 | Araq | Kektain: please try again |
05:29:50 | Kektain | will do! |
05:31:48 | Kektain | Rerunning koch didn't work; I'm trying a fresh clone |
05:34:20 | Kektain | Success! :) |
05:34:54 | Araq | so now you have a compiler that runs code faster at compiletime than python does at runtime :P |
05:35:14 | Kektain | Oho! XD |
05:35:27 | * | Araq should backup his claims with meaningless micro benchmarks |
05:35:28 | Kektain | A recent result, I presume? :D |
05:36:17 | Araq | yeah, we got a new VM for compile time evaluation |
05:37:19 | Kektain | Ah, interesting! |
05:39:59 | Kektain | Is there a writeup on that? I struggle to think of a way I could use that without risking screwing myself :x |
05:41:50 | Kektain | I assume it's like C preproc on steroids |
05:43:33 | Araq | well the macro system and compile time evaluation are pretty well documented |
05:44:07 | Araq | in other words, I'm not sure I understand your question |
05:47:38 | Kektain | Ah, forgive my ignorance, I'm very early in my study. |
05:56:56 | * | carum joined #nimrod |
05:57:46 | Araq | see you later |
05:58:58 | Kektain | sure thing! Thanks for the help. |
06:17:32 | * | Demos quit (Read error: Connection reset by peer) |
06:25:04 | * | q66 quit (Quit: Leaving) |
06:25:45 | * | jcrubino joined #nimrod |
06:26:46 | jcrubino | is there a cryptolib to get base58 and sha256 hashes? |
06:26:57 | jcrubino | to use with nimrod? |
06:37:02 | * | oxful_ quit (Ping timeout: 246 seconds) |
06:37:57 | * | nande quit (Remote host closed the connection) |
06:44:54 | * | Kektain quit (Quit: ChatZilla 0.9.90.1 [Firefox 27.0.1/20140218135856]) |
06:45:29 | reactormonk | jcrubino, sha256 maybe in babel |
06:46:01 | reactormonk | jcrubino, nope, only sha1 |
06:51:00 | * | oxful_ joined #nimrod |
07:01:00 | * | carum quit (Remote host closed the connection) |
07:01:36 | * | carum joined #nimrod |
07:05:54 | * | carum quit (Ping timeout: 244 seconds) |
07:07:33 | * | ddl_smurf joined #nimrod |
07:19:30 | * | brson joined #nimrod |
07:39:14 | * | brson quit (Ping timeout: 264 seconds) |
07:44:14 | * | BitPuffin quit (Ping timeout: 246 seconds) |
07:44:49 | * | silven_ is now known as silven |
07:54:41 | * | Raynes quit (*.net *.split) |
08:22:02 | * | carum joined #nimrod |
08:54:14 | * | r0b2 quit (Ping timeout: 264 seconds) |
09:00:53 | * | Raynes joined #nimrod |
09:05:07 | * | Raynes quit (Changing host) |
09:05:07 | * | Raynes joined #nimrod |
09:17:08 | * | jcrubino quit (Ping timeout: 244 seconds) |
09:36:53 | * | sale4one joined #nimrod |
09:42:43 | * | sale4one quit (Remote host closed the connection) |
09:52:32 | * | io2 joined #nimrod |
09:52:40 | * | io2 quit (Client Quit) |
09:53:10 | * | carum quit (Remote host closed the connection) |
10:17:18 | * | faassen joined #nimrod |
10:21:48 | * | shodan45 quit (Read error: Connection reset by peer) |
10:22:06 | * | shodan45 joined #nimrod |
10:24:33 | * | shodan45 quit (Client Quit) |
10:32:16 | * | zahary joined #nimrod |
11:11:39 | * | Varriount_ joined #nimrod |
11:13:37 | * | sale4one joined #nimrod |
11:13:59 | * | Varriount quit (Ping timeout: 240 seconds) |
11:37:11 | * | oxful_ quit (Read error: Connection timed out) |
11:39:38 | * | sale4one quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
11:40:28 | * | oxful_ joined #nimrod |
11:56:39 | * | oxful_ quit (Read error: Connection timed out) |
12:20:10 | * | BitPuffin joined #nimrod |
12:36:50 | * | noam__ quit (Ping timeout: 264 seconds) |
13:23:38 | * | darkf quit (Quit: Leaving) |
13:48:37 | * | io2 joined #nimrod |
14:09:15 | BitPuffin | oww |
14:09:17 | BitPuffin | such loudness |
14:15:18 | * | faassen left #nimrod (#nimrod) |
14:22:50 | * | awestroke joined #nimrod |
15:03:00 | * | r0b2 joined #nimrod |
15:15:05 | OrionPK | https://github.com/atom |
15:15:15 | OrionPK | looks like we'll have a new editor to write a nimrod plugin for soon :D |
15:15:22 | OrionPK | github's own text editor |
15:33:09 | * | BitPuffin quit (Quit: WeeChat 0.4.3) |
15:49:11 | * | aftershave_ quit (Quit: Textual IRC Client: www.textualapp.com) |
15:59:20 | * | aftershave_ joined #nimrod |
16:26:31 | * | BitPuffin joined #nimrod |
16:29:16 | * | ddl_smurf quit (Quit: ddl_smurf) |
16:32:29 | * | Endy joined #nimrod |
16:48:00 | * | ddl_smurf joined #nimrod |
17:00:13 | * | ddl_smurf quit (Quit: ddl_smurf) |
17:05:47 | * | vendethiel joined #nimrod |
17:13:13 | Varriount_ | OrionPK: ? |
17:13:26 | * | Varriount_ is now known as Varriount |
17:16:27 | OrionPK | what? |
17:17:13 | OrionPK | it's going to b very similar to ST |
17:24:45 | * | noam joined #nimrod |
17:25:08 | * | Demos joined #nimrod |
17:26:07 | Varriount | OrionPK: I thought atom was Github's built in text editor |
17:26:17 | OrionPK | it's github's text editor |
17:26:26 | OrionPK | i.e. github is making it |
17:26:32 | Varriount | :O |
17:26:44 | Varriount | Does it have a plugin api? |
17:26:58 | Demos | so if I want pass the name of a generic type param to a macro what am I supposed to do? I was calling my macro like MacroName((T.name)) but that seems not to work any more |
17:26:59 | OrionPK | yes |
17:27:01 | OrionPK | look at the link |
17:27:05 | Varriount | What will it be like? Are there screenshots? I demand information! |
17:27:12 | OrionPK | look at the LINK! |
17:28:23 | Varriount | I did! It's just a bunch of Repos |
17:28:30 | * | Matthias247 joined #nimrod |
17:28:36 | Varriount | Hi Matthias247 |
17:28:39 | OrionPK | yeah, plugin repos |
17:28:42 | OrionPK | with screenshots |
17:28:45 | Matthias247 | hi |
17:28:58 | OrionPK | NimAtom :P |
17:29:44 | Varriount | OrionPK: The language plugin grammers looks a lot like sublime text's |
17:29:49 | OrionPK | yep |
17:29:56 | OrionPK | should be easy to port our stuff |
17:30:01 | Matthias247 | which tool? |
17:30:19 | Varriount | Matthias247: https://github.com/atom |
17:30:26 | OrionPK | it's not out yet |
17:30:33 | OrionPK | http://atom.io/ |
17:30:52 | OrionPK | looks like it's going to basically be a free/open source sublime text w/ maybe coffeescript instead of python |
17:30:59 | OrionPK | maybe it'll support python too |
17:31:09 | Varriount | OrionPK: Pyjamas? |
17:31:32 | OrionPK | hm? |
17:31:34 | Varriount | I mean, CoffeeScript is just a dialect/layer of javascript, iirc |
17:32:03 | Varriount | And Pyjamas is a Python to JavaScript converter |
17:32:32 | Matthias247 | coffescript is a scripting language that compiles to javascript |
17:32:37 | * | Demos quit (Ping timeout: 244 seconds) |
17:32:38 | Matthias247 | but i hate JS :( |
17:33:30 | Varriount | Well, on the bright side, it gives me a chance to learn something related to javascript. |
17:33:44 | Matthias247 | but the screeenshots look promising |
17:33:54 | Varriount | Where exactly are the screenshots? |
17:34:12 | Matthias247 | if you click on a subproject there is a screenshot |
17:34:16 | * | Demos joined #nimrod |
17:34:17 | Varriount | Oh, I see. |
17:34:32 | Varriount | It looks like sublime text |
17:34:45 | Varriount | Or google chrome :/ |
17:36:12 | Varriount | Matthias247: Severak people have commented positively on your work the ST plugin. |
17:36:18 | Varriount | *Several |
17:36:31 | Matthias247 | cool |
17:36:33 | * | zielmicha joined #nimrod |
17:37:25 | Matthias247 | i guess that atom thing uses node.js and runs in the browser |
17:38:19 | Varriount | dom96: Please make nimforums login https |
17:38:43 | OrionPK | Matthias247 where do you see it running in the browser? |
17:39:29 | Matthias247 | OrionPK: I didn't, but Varriount saw a chrome window :) |
17:39:30 | OrionPK | I figured it was maybe a web tech based texteditor |
17:39:41 | OrionPK | where varriount? |
17:39:41 | Varriount | Matthias247: I said it *looks* |
17:39:48 | OrionPK | link |
17:39:55 | Varriount | <Varriount> It looks like sublime text |
17:39:55 | Varriount | <Varriount> Or google chrome : |
17:39:59 | Matthias247 | and I saw node mentioned somewhere |
17:40:10 | Varriount | https://github.com/atom/tree-view |
17:40:23 | OrionPK | that looks like chrome to youi? |
17:40:29 | Varriount | The tabs do |
17:41:01 | OrionPK | lol |
17:41:02 | OrionPK | ok :p; |
17:41:19 | Matthias247 | but imho there was also a project do do node "applications", maybe, it uses that |
17:41:24 | * | Varriount slaps OrionPK around a bit with a large minnow. |
17:41:31 | OrionPK | i have no issue if it's using JS under the sheets etc, but Im guessing it's not going to be solely browser/web based editor |
17:41:50 | * | Varriount searches "Javascript to C compiler" |
17:42:03 | dom96 | Varriount: You do it :P |
17:42:15 | Varriount | dom96: I |
17:42:21 | Varriount | I'm not the web admin |
17:42:29 | * | Endy quit (Ping timeout: 240 seconds) |
17:42:29 | * | nande joined #nimrod |
17:42:55 | Matthias247 | hmm, seems to be done by github employees? |
17:43:13 | dom96 | Varriount: I don't have time |
17:44:05 | Varriount | I wonder... where does Github get all it's money from? Surely the costs of hosting all of those open source, free repos must outweigh the money taken from private business repositories. |
17:44:29 | dom96 | investors |
17:44:39 | dom96 | but IIRC they are profitable |
17:45:36 | Matthias247 | one department of my company has a private github system |
17:45:44 | Matthias247 | guess others will also have |
17:47:17 | Matthias247 | but it would be great if Atom would be comparable to sublime but be open |
17:49:01 | Varriount | Matthias247: https://github.com/limetext/lime |
17:49:53 | Matthias247 | here's a screenshot with window decorations: https://f.cloud.github.com/assets/1424/1228569/cce6eb26-27a6-11e3-8675-a6905e50a9a6.png |
17:49:59 | Matthias247 | so it seems "native" |
17:50:32 | Varriount | I wonder what kind of collaboration mechanism they are using. |
17:50:40 | Matthias247 | and it has "real" settings for skrylar ;) https://f.cloud.github.com/assets/671378/2241795/ba4827d8-9ce4-11e3-93a8-6666ee100917.png |
17:51:44 | Varriount | Matthias247: I have a half-built sublime text collaboration plugin which uses this method for text synchronization -> https://neil.fraser.name/writing/sync/ |
17:53:12 | Matthias247 | https://atom.io/assets/[email protected] |
17:53:17 | Matthias247 | it uses a browser for rendering |
17:53:40 | Varriount | libcef? |
17:53:49 | Matthias247 | I guess it'b based on node-webkit |
17:55:46 | Matthias247 | if it turns out cool we simply port all the NimLime stuff and have an official and free Nimrod reference IDE :) |
17:57:06 | Matthias247 | "At GitHub, we’re building the text editor we’ve always wanted: hackable to the core, but approachable on the first day without ever touching a config file. We can’t wait to see what you build with it." |
17:58:55 | Varriount | :O |
17:58:55 | Varriount | dom96 may not like that. |
17:59:23 | Matthias247 | oops, sorry :) |
18:00:27 | dom96 | not at all. |
18:00:34 | dom96 | Now I am convinced that this is the way to go. |
18:01:05 | dom96 | I may just give up the text editor war though |
18:01:38 | * | Demos quit (Ping timeout: 240 seconds) |
18:06:18 | Varriount | Matthias247: Where did you get that quote? |
18:07:19 | Matthias247 | Varriount: https://news.ycombinator.com/item?id=7302941 |
18:11:59 | dom96 | I may just switch to this. |
18:12:20 | * | DAddYE joined #nimrod |
18:19:33 | Matthias247 | I mean the cool thing is that the Nimrod compiler integrates the idetools and it therefore be integrated in all kinds of editors and IDEs |
18:19:37 | * | Demos joined #nimrod |
18:20:17 | * | Mat3 joined #nimrod |
18:20:22 | Mat3 | hi all |
18:21:35 | dom96 | Seems people are worried that webkit will make it slow. I'm worried about the same thing myself. |
18:21:53 | Mat3 | hi dom96 |
18:22:02 | OrionPK | :) |
18:22:08 | OrionPK | this is super exciting |
18:22:17 | Mat3 | and OrionPK |
18:22:19 | OrionPK | we'll have so much more flexibility than ST gives us |
18:22:35 | Matthias247 | I hope that the plugin API is good |
18:22:37 | Mat3 | what is wrong with WebKit ? |
18:22:43 | dom96 | It's written in JS though right? |
18:22:49 | OrionPK | Matthias247 even if it isnt; it's open source |
18:22:52 | dom96 | hi Mat3 |
18:23:01 | OrionPK | we can extend it regardless ;) |
18:23:02 | Matthias247 | OrionPK: yep, that's the good thing |
18:23:29 | Matthias247 | OrionPK: but if all people start extending the core APIs it will get a mess :) |
18:24:01 | Discoloda | instead of webkit, why not OpenGL? GL_POINTS all the characters! |
18:24:23 | OrionPK | dom96 v8 is pretty quick |
18:24:24 | Matthias247 | rendering through webkit will be a lot slower for sure than native rendering that conventional editors will do |
18:24:27 | dom96 | why not sdl? |
18:24:30 | Matthias247 | the question is if it matters |
18:24:59 | Matthias247 | the good thing is that the rendering will be quality and resolution independent |
18:26:06 | Discoloda | dom96: SDL just uses OpenGL, or if 2D only the CPU. i think it has a OpenGL backend for 2D though for hardware acceleration |
18:27:14 | * | BitPuffin quit (Ping timeout: 264 seconds) |
18:27:29 | dom96 | I see. |
18:30:47 | Varriount | Discoloda: SDL2 uses opengl, SDL1 doesn't |
18:30:49 | Matthias247 | dom96: webkit (the renderer) is written in C++. But it has quite some overhead because it has to perform all layout tasks for the many different kinds of html elements and css styles that are available. |
18:31:30 | dom96 | I'd imagine so. |
18:33:05 | Matthias247 | but we will see if it matters |
18:33:41 | Matthias247 | the coffeescript/javascript plugins would be faster than the ST pythong plugins because of V8 |
18:34:39 | * | Demos quit (Ping timeout: 272 seconds) |
18:34:52 | Discoloda | i wonder if they or someone will use jwebkit (webkit in JavaScript) for Atom |
18:37:21 | Mat3 | what about Gecko ? |
18:37:58 | Matthias247 | gecko seems to be hard to embed into other applications |
18:38:15 | Varriount | libcef? |
18:38:24 | Matthias247 | https://github.com/atom/welcome/blob/master/lib/welcome.md: "Atom is free during the beta period." |
18:38:33 | Matthias247 | may mean it will cost afterwards |
18:38:49 | Varriount | Hrm. |
18:39:07 | dom96 | Then why is it open source? |
18:39:12 | Varriount | dom96: Hosting |
18:39:28 | dom96 | hrm? |
18:39:41 | Varriount | My guess is that there will be a central server to deal with storage and collaboration |
18:40:20 | Discoloda | ill stay with vim, i code almost exclusivly in the command line anyway |
18:40:27 | Varriount | Depending on what collaboration methods they are using to resolve changes in the text, the central server could have a huge workload |
18:41:33 | dom96 | Well this sucks. I was essentially planning the same thing in Nimrod :\ |
18:41:49 | Varriount | *shrug* |
18:44:25 | Mat3 | Discoloda: I am use Joe and GNU screen partly |
18:44:41 | OrionPK | someone join their RIC channel |
18:44:43 | OrionPK | iRC* |
18:45:29 | Matthias247 | seems to be possible to define and use custom widgets in Atom plugins |
18:45:34 | OrionPK | storage and collaboration? what? |
18:45:34 | OrionPK | no |
18:45:39 | OrionPK | thats what git is for... and this is gitHUB |
18:45:40 | Matthias247 | that would make a good autocomplete much easier than with ST |
18:45:51 | OrionPK | ya |
18:46:04 | dom96 | OrionPK: What about real-time collaboration? |
18:46:41 | Matthias247 | somewhere there was written that it is coupled with etherpad (which is online realtime collab) |
18:48:27 | reactormonk | #804 anyone? :-) |
18:49:21 | Varriount | reactormonk: Would help if we had an idea of what needed to be done to fix it |
18:49:53 | Varriount | For now, the only thing you can do is run the 'reset' command after every command |
18:52:16 | * | skrylar arises from the sleeps |
18:54:21 | * | zahary quit (Quit: Leaving.) |
18:55:15 | OrionPK | dom96 i mean that would be cool I guess |
18:55:35 | OrionPK | dom96 but I dont see why that would make things dependent on cloud services |
18:55:57 | OrionPK | lets wait and see i guess |
18:56:00 | OrionPK | I'm optimistic |
18:56:06 | * | shodan45 joined #nimrod |
18:56:54 | Matthias247 | the atom core is not (yet) in github. Could mean that that stays closed source and only the plugins get published. |
18:57:21 | Matthias247 | but everything looks so much like ST that the asssumption that they might have bought it sounds valid |
18:57:42 | Mat3 | hi shodan45 |
18:57:57 | shodan45 | Mat3: o/ |
19:00:00 | shodan45 | I think #nimrod helps to keep my brain from rotting completely (I code php at work...) |
19:01:12 | * | ddl_smurf joined #nimrod |
19:07:33 | Mat3 | oO |
19:07:35 | Varriount | shodan45: Oh dear |
19:07:45 | * | carum joined #nimrod |
19:07:57 | Varriount | shodan45: I pity you. I have not heard good things about PHP |
19:08:52 | Matthias247 | I liked it - 15 years ago :) |
19:08:52 | shodan45 | Varriount: and you won't hear good things about it from me, either |
19:09:10 | shodan45 | Matthias247: yeah, that's about right :) |
19:09:13 | skrylar | it's like C for the web! |
19:09:16 | skrylar | x.x |
19:09:37 | Matthias247 | but at least you were coding. I was in 5 different meetings today... |
19:09:51 | skrylar | Matthias247: clearly you need an inflatable Matthias to place in the meeting room |
19:09:54 | Varriount | Matthias247: I would be willing to pay a one-time fee for the editor, and a subscription for any online services. |
19:10:36 | Mat3 | no, it is not like C- it is better, more subtly destructive |
19:10:38 | Varriount | (In the context of the Github Atom Editor) |
19:10:54 | skrylar | yay cloud crap |
19:10:56 | Varriount | I thought javascript was the C of the internet |
19:11:15 | skrylar | er, no.. javascript is pretty high level |
19:11:46 | Varriount | Well yeah, but it's also client side as well. And used pretty much everywhere. |
19:12:03 | Matthias247 | Varriount: will depend on the fee. But while I wouldn't mind paying something for it it would still be bad for a wide distribution. And would prohibit contributions to the core module |
19:12:36 | Matthias247 | I find javascript very primitive |
19:12:45 | Varriount | My guess is that they release the frontend, the actual editor, as open source, and keep the backend (the cloud services) closed source. |
19:13:23 | Matthias247 | if it works only online it would be a no-go for me |
19:13:53 | Varriount | Same here. |
19:14:21 | Mat3 | Matthias247: Why find you Javascript primitive (and compared to what language) ? |
19:14:23 | dom96 | Github wouldn't pull a Sim City on us. |
19:14:34 | skrylar | i found the hackernews for atom |
19:14:41 | skrylar | i agree with the "it looks like a sublime clone" |
19:15:23 | skrylar | also apparently its built on webkit oO |
19:15:32 | skrylar | well that will be great, a text editor that takes 120mb to idle |
19:15:32 | Varriount | skrylar: link? |
19:15:38 | skrylar | https://news.ycombinator.com/item?id=7302941 |
19:15:54 | Matthias247 | Mat3: because there are only objects. No classes, no namespaces, no modules, etc. |
19:16:12 | skrylar | Varriount: actually looking at all the screenshots, it really is just a carbon copy of sublime 2... |
19:16:27 | Varriount | skrylar: Yep |
19:16:45 | skrylar | Varriount: meh. Unless its legitimately free I won't use it |
19:16:58 | skrylar | If i'm going to pay for sublime i would just pay Skinner who actually wrote it |
19:17:12 | skrylar | (and i already did that) |
19:19:05 | skrylar | I've always wondered, what is it about webkit that makes people think its a great library to do all of their GUIs in? I've seen a few projects go on about it, but 1) webkit is a nightmare to build 2) webkit uses loads of resources compared to a non-web GUI for the same interface 3) thats a pretty heavyweight dependency and a lot of workarounds |
19:19:46 | dom96 | Because all GUI toolkits suck. |
19:19:51 | Varriount | ^ |
19:20:32 | Mat3 | Matthias247: Well, think of it as a prototype object-system (do you know Io or Self?) |
19:20:54 | Varriount | I see all these neat online, collaborative editors, and the thing that keeps me from using them? No plugin support, and by extension, no language support other than what's built in. |
19:21:07 | EXetoC | dom96: IUP too? |
19:21:10 | skrylar | dom96: so use a glorified document formatter? lol |
19:21:15 | EXetoC | probably haven't tried that one |
19:21:24 | skrylar | I couldn't get IUP to compile on msys |
19:21:36 | skrylar | it wanted a bunch of shell headers that aren't part of the w32api pack |
19:22:14 | dom96 | EXetoC: Never tried it, but it looks meh. |
19:22:26 | Varriount | What's IUP? |
19:22:40 | skrylar | GUI library by Puc who did Lua |
19:22:46 | Varriount | Link? |
19:22:47 | dom96 | That's another reason to use webkit: you can very easily design your own GUI. |
19:23:12 | skrylar | i usually prefer my hello worlds not occupy 50mb |
19:23:41 | dom96 | Me too. But many people don't care. |
19:23:49 | skrylar | those people shouldn't be programming |
19:23:50 | skrylar | lol |
19:24:05 | Matthias247 | Mat3: I know it uses prototypes. But I still find that primitive, because it's just a link to another INSTANCE of an object. And most people mimick classical classes on top if it |
19:24:25 | Mat3 | does one of know Display Postcript ? |
19:24:25 | skrylar | actually prototype systems have some neat benefits at times |
19:24:52 | Matthias247 | I don't lack RAM, so I don't mind :) |
19:25:18 | skrylar | Meh, I usually 1) don't like excessive resource waste and 2) hate when programmers decide they are the only program in the OS |
19:25:38 | skrylar | thats one of my larger arguments about GCs too; they're nice, but GCs tend to be retards with respect to what someone else on the computer is doing |
19:26:26 | dom96 | There is a balance, if you don't want excessive resource waste then you should be writing everything in ASM. |
19:26:43 | skrylar | dom96: that just depends on the throttle for 'excessive' |
19:26:50 | Varriount | skrylar: And nimrod's GC? |
19:27:08 | skrylar | Varriount: well my copy still says the default is the refcounter, so.. |
19:27:09 | Mat3 | Matthias247: Hmm, ok but wouldn't this more a result of mental inflexibility as language primitiveness ? I mean prototype based object-systems can be very "expressive" |
19:27:18 | dom96 | skrylar: Indeed. Everyone draws the line somewhere else. Some don't have a line at all though... |
19:27:53 | Varriount | dom96: I don't have a line. I have more of a fuzzy gradient. |
19:28:20 | skrylar | dom96: I look at things like Steam which only needs to load programs and download files and yet wants 182mb to idle because of webkit, then i look at OpenCanvas which occupies ~5mb to be an entire painting program, and then Softmaker Office which uses 20mb to be an entire MS Office clone |
19:28:34 | EXetoC | as if most employed programmers need to care particularly much about any of this in general |
19:28:51 | Varriount | Steam uses WebKit? |
19:28:59 | skrylar | they switched over to it |
19:29:00 | skrylar | IIRC |
19:29:02 | * | runvnc quit (Ping timeout: 252 seconds) |
19:29:05 | dom96 | Varriount: yeah, it uses libcef |
19:29:09 | dom96 | So does battle.net |
19:29:09 | Matthias247 | Mat3: I thought of primitive not necessarily in terms of good or bad but in that the language provides only a very limited set of constructs that everything is based on. You can choose whether you like that or not |
19:29:28 | dom96 | Spotify does too |
19:29:45 | skrylar | My current GUI project is patterned off of some things that the DOM does and some old Smalltalky things; I'd rather just factor it not to suck than bring a huge web browser |
19:29:49 | skrylar | but thats just me |
19:30:43 | skrylar | I'm okay with people using stuff like libcef, I just don't think the resource consumption is ever really appropriate for what they are doing. Does an applauncher *really* need 182mb RAM? |
19:31:18 | Matthias247 | there are currently no to not-many GUI frameworks that can do what a browser can do in terms of dynamic layout. So it might be a reason to use that |
19:31:42 | skrylar | hm? they exist people just don't use them |
19:31:52 | Mat3 | Matthias247: Sorry, I think we have different definations of the word 'primitive' |
19:32:00 | skrylar | IIRC Qt has layout managers, Tk had them since the beginning of time |
19:32:28 | Matthias247 | Qt brought up QML for that use cases |
19:32:32 | * | carum quit (Remote host closed the connection) |
19:32:38 | Matthias247 | but I don't know if that's really better :) |
19:32:45 | OrionPK | well |
19:32:50 | * | carum joined #nimrod |
19:33:09 | OrionPK | the tough part with any cross platform GUI application is making it look like a native application |
19:33:19 | skrylar | OrionPK: well libcef fails that one |
19:33:20 | skrylar | :) |
19:33:20 | OrionPK | (1 of the tough parts) |
19:33:22 | Matthias247 | my steam.exe is listed with 80MB :) |
19:33:22 | OrionPK | yeah |
19:33:24 | OrionPK | it does |
19:33:42 | OrionPK | or at least it doesnt really help you out |
19:33:52 | skrylar | It's not actually *that* hard, it depends on what you mean by native though |
19:34:03 | skrylar | Do you mean "actually uses the native API" or "looks like it belongs there" |
19:34:11 | OrionPK | skrylar so you have a tradeoff; either a ton of flexibility and inconsistency w/ native GUI |
19:34:18 | Matthias247 | it's the question if native application look is wanted in the future |
19:34:19 | OrionPK | or you have less flexibility and consistency |
19:34:24 | OrionPK | and more* consistency |
19:34:30 | EXetoC | Matthias247: 125 here, on linux |
19:34:43 | OrionPK | "looks like it belongs there" |
19:34:52 | skrylar | OrionPK: there is one argument that you should just make different layouts per OS anyway |
19:35:08 | skrylar | the HIG for OS X is very different from the "nothing" that Windows uses |
19:35:11 | OrionPK | yeah.. which (IMO) HTML has a big advantage |
19:35:16 | Matthias247 | the OS native GUI toolkits scale quite badly with resolution. That's why Win8 went away from it |
19:35:19 | skrylar | It doesn't matter if your widgets look native when the layout is foregin |
19:35:21 | OrionPK | when it comes to theming |
19:36:19 | skrylar | i'm partly spoiled because I used Articy:Draft, saw it *lag* on a small graph, and went |
19:36:27 | skrylar | "Okay, these kinds of programs really should have GL-backed UIs" |
19:38:16 | * | Varriount_ joined #nimrod |
19:38:27 | skrylar | but meh, i need to get this unicode for nimrod tested |
19:39:16 | * | zahary joined #nimrod |
19:41:41 | * | _fel1x joined #nimrod |
19:41:51 | * | renesac_ joined #nimrod |
19:45:01 | OrionPK | skrylar such a hater :p |
19:46:39 | skrylar | OrionPK: what? its a program for storing complex diagrams for storytelling and it lags with <3 entries |
19:46:46 | skrylar | you mean that's acceptable behavior? :) |
19:47:37 | * | zielmicha quit (*.net *.split) |
19:47:40 | * | Varriount quit (*.net *.split) |
19:47:41 | * | ub1k quit (*.net *.split) |
19:47:43 | * | renesac|away quit (*.net *.split) |
19:47:45 | * | zahary1 quit (*.net *.split) |
19:57:11 | * | zahary1 joined #nimrod |
19:58:35 | * | zielmicha joined #nimrod |
19:59:08 | * | zielmicha quit (*.net *.split) |
20:00:21 | * | nande_ joined #nimrod |
20:01:25 | * | zahary quit (Read error: Connection reset by peer) |
20:01:26 | * | aftershave_ quit (Ping timeout: 272 seconds) |
20:01:34 | * | nande quit (Ping timeout: 272 seconds) |
20:01:35 | * | psquid quit (Ping timeout: 272 seconds) |
20:02:35 | * | aftersha_ joined #nimrod |
20:03:25 | * | psquid joined #nimrod |
20:04:00 | * | vendethiel quit (Ping timeout: 244 seconds) |
20:04:02 | * | shodan45 quit (Quit: Konversation terminated!) |
20:04:39 | * | vendethiel joined #nimrod |
20:05:22 | * | zielmicha joined #nimrod |
20:07:22 | * | BitPuffin joined #nimrod |
20:10:33 | * | shodan45 joined #nimrod |
20:11:35 | * | Endy joined #nimrod |
20:12:32 | * | Tyler_ joined #nimrod |
20:15:42 | * | carum quit (Remote host closed the connection) |
20:16:57 | * | carum joined #nimrod |
20:18:46 | * | vendethiel quit (*.net *.split) |
20:18:49 | * | TylerE quit (*.net *.split) |
20:19:44 | * | vendethiel joined #nimrod |
20:19:59 | * | awestroke quit (Remote host closed the connection) |
20:21:11 | * | carum quit (Remote host closed the connection) |
20:24:24 | * | carum joined #nimrod |
20:25:34 | * | brson joined #nimrod |
20:26:25 | * | Demos joined #nimrod |
20:38:08 | * | aftershave_ joined #nimrod |
20:43:07 | Araq | hi _fel1x welcome |
20:44:50 | Mat3 | hi Araq |
20:45:14 | Mat3 | you asked about a method for reducing the data-type zoo ? |
20:49:13 | Discoloda | *first thought, bad idea* why not one integer type, thats a template for the range you want. when emitting C it finds the best fit |
20:49:23 | Araq | yeah, my current plan is to introduce 2 opcodes, zeroExtend and signExtend |
20:49:43 | * | skrylar managed to crash the compiler again. xD |
20:49:48 | Araq | zeroExtend a, b, 16 |
20:50:10 | Araq | is reg[a] = reg[b] and 0xffff |
20:51:20 | Araq | well 'extend' is a misnomer |
20:51:33 | Araq | it trims |
20:52:00 | Araq | but I don't know which edge cases produce the wrong behavior then |
20:52:10 | Araq | skrylar: bug reports! |
20:52:49 | skrylar | Araq: well when the VMs work, someone could plug it in to an STP solver and make a bugfinder :P |
20:52:59 | skrylar | (@edge cases) |
20:53:58 | Mat3 | the basic interger type should be identical with the word width for efficience reasons |
20:54:27 | Mat3 | I mean the width of these integer type |
20:56:51 | * | [1]Endy joined #nimrod |
20:57:07 | Araq | well no, we support int64 on 32bit machines, Mat3 |
20:57:19 | Araq | so it's always int64 in the vm |
20:59:38 | * | Endy quit (Ping timeout: 240 seconds) |
20:59:38 | * | [1]Endy is now known as Endy |
20:59:45 | Matthias247 | how can I initalize an array with like a: array[0..15, uint8] with common values? |
20:59:56 | Mat3 | then simply use the FP registers like MMX (GCC features a platform independent extension for that) |
21:00:19 | skrylar | i thought the VM was a debugging/compilation tool more than something the program runs in all the time |
21:01:40 | Araq | Matthias247: var a: array[0..15, uint8] # nimrod initializes every element to 0 for you |
21:02:26 | Matthias247 | hmm, not for me :) |
21:03:01 | skrylar | ahahaha. "/* underneath the earth is a scary place; we don't go there and neither should this test result */" |
21:03:03 | Matthias247 | maybe because I have it in an case XYZ of |
21:03:04 | Demos | actually I was wondering what the advantage of using a vm for CTFE is rather than just compileing the bits you want to run at compile time and then executing those on the real hardware. My thoughts led me to "perhaps the vm allows you to deal with dependencies better" |
21:03:36 | * | carum quit (Remote host closed the connection) |
21:03:53 | Demos | also, is static[proc(...)] a planned feature |
21:05:27 | Araq | Demos: what is static[proc (...)] ? |
21:06:28 | Demos | well I would like it to be a function pointer where you know the name and maybe even the AST at compile time |
21:06:33 | Demos | so not really a pointer at all |
21:07:31 | Matthias247 | Araq: I have that: https://gist.github.com/Matthias247/9238540 |
21:07:45 | Matthias247 | Araq: and the last line prints some not 0 fields |
21:08:25 | Demos | it is probably more useful to garentee that you know the code for the function |
21:13:49 | Araq | Demos: could be done. And now you know why we can't simply translate to machine code .P |
21:14:15 | Araq | Matthias247: flip IPv4 and IPv6 so IPv6 is the default value and it may work |
21:15:06 | Matthias247 | Araq: doesn't help |
21:15:23 | * | aftershave_ quit (Quit: Textual IRC Client: www.textualapp.com) |
21:15:53 | Matthias247 | surprisingly the first 7 (not 8) bytes are 0ed |
21:16:25 | fowl | i didnt realize you could say 0u8 instead of 0'u8 |
21:16:26 | Araq | you need to flip it in the enum declaration |
21:16:26 | * | Endy quit (Ping timeout: 264 seconds) |
21:16:40 | Araq | fowl: came with 0.9.2 iirc |
21:17:35 | Matthias247 | same |
21:18:24 | Araq | Matthias247: report is please |
21:18:29 | Araq | *it |
21:18:38 | Matthias247 | ok |
21:19:50 | Matthias247 | but there is no way to initialize the complete array with another value, like a = [1, 16] to init all elements to 1? |
21:21:01 | fowl | proc fill* [T] (x:var openarray[t]; val: T) = for id in 0 .. <len(x): x[id] = val |
21:22:03 | Araq | you can write [1, 1, 1, 1] or create a macro to do that for you |
21:22:19 | Araq | in fact, gradha wrote one to do just that iirc |
21:22:43 | Araq | but it's likely some gist only, not in the stdlib yet |
21:23:04 | * | noam_ joined #nimrod |
21:23:13 | * | Varriount__ joined #nimrod |
21:23:43 | Araq | ping Varriount, Varriount_ |
21:24:34 | * | carum joined #nimrod |
21:24:56 | Matthias247 | ok, just wanted to know if there is sth. buildin or if I have to write the loop/macro explicetly |
21:28:13 | Matthias247 | hmm, if I delete other (not relevant) code then actually no field of the array is initialized |
21:28:34 | * | cark quit (Write error: Connection reset by peer) |
21:29:34 | Araq | zahary1: you broke tests/misc/tnoinst.nim and I think it should continue to not compile and not trigger an implicit instantiation. These recent implicit instantiations concerning proc vars are too much. |
21:31:40 | * | noam__ joined #nimrod |
21:33:05 | * | comex quit (Read error: Operation timed out) |
21:33:21 | * | comex joined #nimrod |
21:35:04 | * | Varriount_ quit (Ping timeout: 252 seconds) |
21:35:05 | * | noam quit (Ping timeout: 252 seconds) |
21:35:16 | * | cark joined #nimrod |
21:35:45 | * | vendethiel quit (Ping timeout: 252 seconds) |
21:35:46 | * | noam_ quit (Ping timeout: 252 seconds) |
21:35:57 | * | vendethiel joined #nimrod |
21:40:57 | * | Mat3 processing satellite data with 3,4 - 14 gByte per channel (and it works) |
21:41:31 | fowl | cool |
21:41:44 | fowl | haxing satellites |
21:42:27 | Araq | er .. guys ... we're on reddit again |
21:42:33 | skrylar | success? |
21:42:47 | Mat3 | sorry, what's reddit again ? |
21:43:13 | EXetoC | an integral part of the internet |
21:43:14 | dom96 | interesting |
21:43:22 | skrylar | EXetoC: lol integral |
21:44:07 | EXetoC | skrylar: funny innit |
21:44:15 | Demos | wow block statement type deals are pretty common |
21:44:16 | Araq | http://www.reddit.com/r/programming/comments/1yzvjg/nimrods_block_statement_a_solution_to_multilevel/ |
21:44:23 | Demos | and block does some other stuff wrt scope right? |
21:44:25 | skrylar | EXetoC: funny, I always thought getting slashdotted was a bigger deal |
21:44:58 | EXetoC | possibly |
21:45:38 | Matthias247 | The atom site is live now. No software yet, but you can register for beta access |
21:45:46 | Demos | anyway the situation must be monitored, last time we were on reddit everyone seemed to get the idea that nimrod lacked first class functions |
21:46:24 | Mat3 | oh no, please not *that* side again |
21:46:46 | Demos | or is this part of the ongoing goto fail could have been prevented if everyone just wrote bug-free code |
21:46:52 | Demos | thing |
21:47:21 | dom96 | "Need to call into C or C++? That's possible, too." Yes, but how easy is it? :P |
21:47:23 | skrylar | anything that isn't C sucks according to reddit anyway |
21:47:26 | OrionPK | "Atom is a desktop application based on web technologies. Like other desktop apps, it has its own icon in the dock, native menus and dialogs, and full access to the file system." |
21:48:06 | Matthias247 | dom96: I guess the same difficulty as doing it in node.js ;) |
21:48:28 | skrylar | OrionPK: it doesn't sound spectacular so far |
21:48:39 | Demos | well calling into c++ is hard no matter what. I think nimrod and python probably do the best |
21:48:41 | Matthias247 | dom96: you need to build an javascript wrapper object for your c++ object. But it's not that hard with v8 |
21:48:53 | OrionPK | skrylar you didnt like it already |
21:49:02 | Demos | Matthias247: but you probably also need to build a C wrapper for the C++ object |
21:49:16 | skrylar | OrionPK: yeah but i already paid for the two programs they are cloning |
21:49:43 | EXetoC | Araq: are there any plans to support user-defined enumerator types? |
21:49:54 | Demos | anyway what the hell is up with every app using "web tech", did we fuck up windowing /that/ badly |
21:50:07 | skrylar | Demos: lol i had that conversation earlier :) |
21:50:26 | Matthias247 | Demos: no, you don't. Exposing objects to v8 is not a typical FFI |
21:50:30 | OrionPK | they havent announced pricing, have they? |
21:50:37 | Demos | Matthias247: orly? |
21:51:05 | Araq | EXetoC: what's a user-defined enumerator type? |
21:51:18 | skrylar | Araq: i think he means setting the storage type of the enum (e.g. int16) |
21:51:36 | OrionPK | varriount Matthias247 https://atom.io/docs/api/v0.59.0/api/ |
21:51:55 | Matthias247 | Demos: it's described here: http://nodejs.org/api/addons.html |
21:52:19 | skrylar | huh, their "node.js support" makes it.. wait |
21:52:31 | skrylar | Is their toolkit really just hacking libcef on top of node |
21:52:54 | EXetoC | Araq: *enumerations represented by arbitrary types supporting equality comparisons |
21:54:23 | Matthias247 | OrionPK: I will look at it in detail as soon as I can install it :) |
21:54:28 | OrionPK | :D |
21:54:29 | EXetoC | with that said, is the size pragma a better solution compared to just being able to specify a type? |
21:54:29 | OrionPK | same |
21:54:32 | Mat3 | ciao |
21:54:38 | OrionPK | we'll have to wait for our invites *sigh* |
21:54:47 | * | Mat3 quit (Quit: Verlassend) |
21:54:51 | Demos | EXetoC: C supports changing the size of an enum |
21:54:51 | skrylar | OrionPK: yeah it.. looks like they just stacked libcef on top of nodejs, looking at their packages |
21:55:04 | Demos | I think it is like enum foo: char { ... }; |
21:55:05 | OrionPK | cool |
21:55:11 | Matthias247 | hmm, would be very cool if it can use real grammars and not online the sublime-text like regexed base grammars |
21:55:13 | OrionPK | skrylar sounds good |
21:55:26 | dom96 | skrylar: It's what Light table uses too. node-webkit IIRC. |
21:55:30 | Matthias247 | skrylar: i think node-webkit |
21:55:42 | skrylar | well if they open source the core (probably unlikely because there's no reason to open source everything else and then have an invite system) i might look at it |
21:55:50 | skrylar | dom96: lighttable uses a clojure thing |
21:56:00 | EXetoC | Demos: since when? |
21:56:14 | Demos | actually I think it is a c++ feature |
21:56:21 | OrionPK | clojure or clojurescript? |
21:56:28 | * | zahary joined #nimrod |
21:56:34 | dom96 | skrylar: The readme mentions node-webkit. |
21:56:40 | Matthias247 | for me clojure is totally unreadable :) |
21:56:43 | skrylar | OrionPK: i remember looking at his dependencies and one of the runtimes is a bundled clojure |
21:56:44 | OrionPK | clojurescript compiles to javascript |
21:56:44 | * | carum quit (Remote host closed the connection) |
21:56:49 | OrionPK | and agreed; clojure is unreadable |
21:56:56 | EXetoC | Demos: introduced in C++11 then I guess |
21:56:58 | Demos | http://en.cppreference.com/w/cpp/language/enum |
21:57:03 | Demos | I don't think so |
21:57:26 | EXetoC | "enum-base(C++11)" |
21:57:35 | zahary | Araq, I consider tnoinst a bug as well - it's not quite trivial to fix tho |
21:58:06 | zahary | the inferred matching happens only when one of the proc types in concrete |
21:58:09 | Demos | ah. OK, microsoft had it implemented as far back as visual studio 2008 it looks like |
21:58:25 | Demos | heck I think long long is a c++11 feature |
21:59:02 | zahary | ah, actually maybe I'm not right - it should work under the new rules |
21:59:15 | Matthias247 | direct git integration in atom also sounds nice |
21:59:19 | OrionPK | yeah |
21:59:24 | dom96 | skrylar: Will your GUI toolkit just work with ncurses? |
21:59:30 | OrionPK | sublime's git package is ok, but of course it's implemented w/ text editors |
21:59:34 | OrionPK | rather than panels |
21:59:42 | OrionPK | since plugins dont really get nice panels |
21:59:53 | Demos | fugitive is GREAT |
22:00:01 | zahary | ah, I stand corrected again - there should be an error that the T type is not instantiated |
22:00:06 | Matthias247 | same problem for autocompletion. You can only fill the sucky panel you get provided :( |
22:00:14 | OrionPK | yeah |
22:00:30 | dom96 | That is the advantage that webkit brings to the table. |
22:00:55 | skrylar | dom96: yes |
22:01:42 | * | vendethiel quit (Quit: q+) |
22:01:43 | EXetoC | someone said it required a connection, so I suppose it's not standalone then |
22:02:13 | skrylar | dom96: the higher layer doesn't know/care what backend is being used, all though events are different for backends so some parts aren't API-identical right now |
22:02:25 | EXetoC | *optionally standalone |
22:02:56 | * | filwit joined #nimrod |
22:03:11 | EXetoC | well actually, I think it's more important to have a compact window, but some browsers are really minimal in that respect |
22:03:21 | dom96 | I'm now considering writing a GUI toolkit with an opengl backend. |
22:03:30 | skrylar | fun times that |
22:03:38 | OrionPK | EXetoC who is "someone" |
22:03:39 | EXetoC | uzbl for example |
22:04:08 | EXetoC | OrionPK: someone in here, not long ago |
22:04:13 | skrylar | http://limetext.org/ well that will be neat when it gets anywhere |
22:04:16 | EXetoC | let's see |
22:05:18 | Matthias247 | dom96: QML? ;) |
22:05:23 | EXetoC | buffer search fail |
22:05:39 | Demos | the thing is that often you don't want to make your own panel. I am just fine with saying "here is a function, call when you need completions, it returns an ordered list of some kind" |
22:05:56 | dom96 | Matthias247: I stopped reading the wikipedia page at "JavaScript-based" :P |
22:06:09 | skrylar | lisp-based gui! |
22:06:20 | Demos | that is how VS works (well you need to implement 2 or 3 interfaces first and then do some OLE incantations) |
22:08:14 | Demos | not that VS is easy to extend or anything. Point is that I don't want to deal with windowing stuff unless I am writing new windows. And even then getting embedded GUI stuff to integrate will is really hard |
22:08:19 | Matthias247 | from my point of view there are currently 3 hardware-accelerated declarative UI toolkits: QML, AIR and the MS stuff (XAML). And from them AIR is quite dead |
22:08:34 | Demos | XAML is too much magic |
22:08:42 | Araq | zahary also another guy mistakenly used 'ptr' and got crashes. I think we should rename the builtin type classes to Some*: SomePtr, SomeObject, SomeRef ... |
22:08:47 | skrylar | libRocket is neat but not very developed anymore |
22:09:03 | skrylar | TSome :o |
22:09:16 | skrylar | well, i guess those aren't builtins |
22:09:47 | Demos | is pointer a typeclass? I thought it was just a numerical value of the same width as a pointer with no operations defined on it |
22:09:53 | zahary | actually I plan to allow type class based inference for variables, which will make his code work |
22:09:58 | Demos | oh... ptr |
22:10:06 | zahary | the use case I mentioned previously is var x: var = y |
22:10:28 | zahary | for now, I can add some more errors |
22:11:21 | EXetoC | Araq: Obj? :p |
22:12:16 | skrylar | dom96: do you have a list of specific requirements for a GUI-thing? |
22:12:25 | * | ddl_smurf quit (Quit: ddl_smurf) |
22:13:04 | Demos | you know I am not sure I have seen any measurements saying that hardware accelerated GUIs are faster than ones drawn to a buffer by the CPU. |
22:13:07 | dom96 | skrylar: no. |
22:13:09 | EXetoC | dom96: who will implement password recovery for example, and when? |
22:13:23 | skrylar | Demos: depends on what you are drawing |
22:13:32 | Demos | well sure |
22:13:33 | EXetoC | I don't really use the forum much, but it should be of importance to other people |
22:14:08 | skrylar | Demos: In my case, I plan on outlines/flowcharts/noodlegraphs; so a GL backing for flowcharts gives you the ability to pan around a huge chart without lag |
22:14:12 | dom96 | EXetoC: I don't know. |
22:14:13 | skrylar | software renderers tend to lag out |
22:14:21 | EXetoC | and no, I don't really want to implement that myself right now, but maybe some other time if I can receive a little guidance |
22:14:34 | EXetoC | but I don't know if the other security issues need to be fixed first |
22:15:54 | skrylar | Araq: finished porting & testing the unicrap |
22:17:04 | skrylar | need to fix some bugs that crept in when converting the code though :\ |
22:17:18 | * | brson quit (Ping timeout: 240 seconds) |
22:17:51 | skrylar | Demos: also if you are doing a GUI with a lot of pictures in it (like decorated buttons) a GPU is a little better at it |
22:18:01 | filwit | GPU accelerated GUI's are much faster than software ones, if for no other reason than avoiding buffer-copy during composting (which is GL/DX based on modern OSes). But there's also the fact that GPU's are scalar hardware and much better at rasterization. Not to mention it free's up the CPU for general-purpose calculation, etc. Long story short, there's a reason all modern GUI's (HTML, WPF, Gtk, Qt, etc) have moved toward accelerated backends. |
22:18:41 | skrylar | i wasn't aware GTK had working accelerated backends |
22:18:47 | * | tinAndi joined #nimrod |
22:18:49 | Araq | filwit: I disagree. :-) |
22:18:53 | filwit | These days, just use OpenGL and you can get a software backend through Glamar |
22:19:23 | filwit | Glamour* |
22:19:38 | filwit | Glamor** |
22:19:42 | dom96 | I bet with OpenGL something as simple as rendering text would be a PITA. |
22:19:55 | skrylar | ... |
22:19:59 | skrylar | You could say that. |
22:20:02 | * | ddl_smurf joined #nimrod |
22:20:32 | filwit | it's no different than writing a software text renderer really. Only difference is there are many software-based text-rendering solutions |
22:20:43 | Araq | Haiku only performs cpu rendering afaik |
22:20:58 | Araq | and it renders incredibly fast even in an emulator |
22:21:00 | filwit | with OpenGL, you usually create a text "sprite map" for character at an expected resolution. it's pretty straight forward |
22:21:28 | skrylar | you need a pool manager for textures, then a bin packer (maxrects is good), the truetype rasterizer (freetype or stb_truetype), code to emit the layout as vertices |
22:21:29 | filwit | Araq: lol.. |
22:21:32 | Araq | in practice CPU rendering for *UIs* (as opposed to games) is irrelevant |
22:21:55 | filwit | Araq: being fast in a VM is completely different than being faster than the GPU |
22:22:01 | EXetoC | filwit: yeah, it's often just hidden behind a nice interface |
22:22:03 | Araq | filwit: not my point |
22:22:04 | skrylar | admittedly most people don't do software typesetting from scratch, and most of that is the same |
22:22:15 | filwit | Araq: what is your point? |
22:22:18 | dom96 | skrylar: That's why people opt for webkit :P |
22:22:28 | skrylar | dom96: yeah or pango :P |
22:22:40 | Araq | optimize your software stack and GPU acceleration is not necessary at all |
22:22:40 | skrylar | actually if I didn't mind carrying around an LGPL lib, I might have just gone Cairo+Pango ages ago |
22:22:41 | dom96 | skrylar: By the time you get something usable out of opengl you will end up with the same dependencies that webkit has. |
22:22:48 | Araq | for rendering boring grey boxes |
22:23:05 | Araq | it could be made fast enough decades ago |
22:23:22 | filwit | Araq: disagree completely, but i don't want to spend time going over the details right now. |
22:23:41 | Araq | pity |
22:23:43 | skrylar | (there is also that whole thing i mentioned earlier about "it depends on the nature of your GUI") |
22:24:05 | filwit | Araq: some other time, just want to get something else done ATM |
22:24:13 | Araq | ok |
22:24:20 | Araq | filwit: do your macros still work? |
22:24:31 | Araq | I changed the data representation as promised |
22:24:47 | filwit | Araq: yeah, i've been working on them off-n-on. I'm attempting to fix the 'system.new' issue right now |
22:25:04 | skrylar | i haven't seen a pure-software flowchart program be silky for instance, but thats one of those times where there's just a lot of weirdness going on |
22:25:24 | filwit | Araq: i haven't tried the new VM branch yet. let me try real quick |
22:26:42 | EXetoC | oh yeah, how about those alloc procs I was going to wrap :p |
22:28:24 | skrylar | (if anyone feels like laughing at failure: https://github.com/Skrylar/skUtf ) |
22:28:58 | filwit | Araq: vm2_2 breaks with my macros. looking into it.. |
22:29:34 | filwit | interesting... it fails at pretty much the same place it used too |
22:30:06 | filwit | well no, scratch that, it's a bit different |
22:30:34 | Araq | well I fixed the last regression in the test suite, but haven't pushed that yet |
22:30:55 | Araq | my bet that's what breaks your code then |
22:31:08 | filwit | can you push, or is it not ready yet? |
22:31:15 | Araq | not ready |
22:31:52 | filwit | okay, well i'll check back later once you push that. for now i'm going to try and hunt down the system.new() bug before i have to leave. |
22:32:48 | Araq | alright, very well |
22:35:11 | Discoloda | for penGL |
22:37:03 | Discoloda | for OpenGL fonts, i just used freetype to render a glyph to a buffer, then stuck that onto a texture atlas. did as needed so it could scale fonts. |
22:37:25 | filwit | ^ yep |
22:37:28 | EXetoC | Why no capitalization in the first sentence of some doc comments? :-p |
22:38:04 | filwit | cause we rebels in hear yo |
22:39:55 | filwit | btw, Araq, i remember reading about a built-in debugger? |
22:40:05 | filwit | is there some docs on that? is it broken? |
22:40:09 | EXetoC | don't worry, that can be automated using some awesome future API |
22:40:24 | Demos | Discoloda: but what if you want kerning and ligatures |
22:40:48 | * | filwit just noticed he spelled 'here' as 'hear' accidentally |
22:41:12 | EXetoC | English |
22:41:18 | Matthias247 | what's the recommended way to do char -> int in Nimrod? I konw cast[int8](char - '0'), but - is not defined for char :) |
22:41:41 | Araq | ord(ch) - ord('0') |
22:41:42 | EXetoC | Matthias247: ch.ord? |
22:42:14 | Discoloda | Demos: i stored kerning, dimensions, and offset for each glyph/size, didnt tackle ligatures |
22:42:27 | Matthias247 | ah, thx |
22:43:45 | EXetoC | Discoloda: for not that many glyphs, right? |
22:44:03 | EXetoC | otherwise you end up with a bazillion pairs |
22:46:06 | Discoloda | you dont change size often, and its per character, so in english text thats less than 100 you end up generating |
22:47:20 | Discoloda | oh, for kerning i stored that seperatly |
22:48:06 | Discoloda | i was wrong, did this more than a year ago |
22:48:41 | EXetoC | yeah so not too many. anyway, just cache some of the most common ones |
22:53:06 | * | tinAndi quit (Quit: ChatZilla 0.9.90.1 [Firefox 27.0.1/20140212131424]) |
22:55:00 | * | brson joined #nimrod |
22:58:57 | Araq | good night |
22:59:24 | filwit | later |
23:01:33 | * | zahary2 joined #nimrod |
23:01:43 | * | zahary quit (Read error: Connection reset by peer) |
23:05:44 | filwit | Araq, zahary2: the {.magic.} pragma.. where do the calls get routed too in the compiler? |
23:08:11 | zahary2 | filwit: in ast.nim, you'll find a list of all magic: look for mCompiles for example |
23:08:20 | filwit | thanks |
23:08:33 | zahary2 | then I would pick a magic and grep it across the project - there are quite a few places they are handled |
23:08:45 | zahary2 | in semexpr, there is semMagic for example |
23:09:22 | filwit | okay |
23:23:50 | filwit | another benefit of compile-to-c i think is being able to look at the c-cache for whats going on, which is a fair bit easier than objdump for me |
23:24:15 | dom96 | 'night |
23:24:22 | filwit | later |
23:25:01 | Demos | to be fair llvm is textual as well |
23:25:16 | filwit | true |
23:25:34 | filwit | guess i could compile with clang and get both though :P |
23:25:52 | filwit | (not that that would help anything..) |
23:27:17 | * | brson quit (Ping timeout: 265 seconds) |
23:36:45 | * | io2 quit () |
23:37:08 | * | zahary2 quit (Read error: Connection reset by peer) |
23:37:15 | * | zahary joined #nimrod |
23:37:24 | filwit | Demos: was it you who was asking about C's 'volitile' (or something like that) in Nimrod the other day? |
23:37:51 | filwit | Demos: you wanted to know if there was a way to indicate params didn't reference eachother ? |
23:38:15 | * | brson joined #nimrod |
23:38:20 | filwit | Demos: or was that someone else? |
23:39:21 | * | ddl_smurf quit (Quit: ddl_smurf) |
23:40:12 | filwit | zahary: 'system.new(result)' is being resolved to the locally defined 'proc new(..)' even though there's the explicit use of the module name. That's the problem for #940. Any idea on why the module name is being ignored? |
23:41:44 | filwit | zahary: sigmatch is a bit large, but I'm guessing the problem is in 'typeRel' |
23:42:06 | filwit | zahary: (just telling you in case you have any hints/ideas to give me) |
23:45:55 | * | nande_ is now known as nande |
23:50:18 | Matthias247 | is there an integer to hex string that does not produce a fixed-width string? |
23:52:42 | skrylar | huh, sourceforge changed hands again |
23:52:46 | skrylar | now some company called Dice Holdings |
23:55:50 | Demos | filwit: that was me, and it is restrict |
23:56:57 | filwit | Demos: okay, well i think Nimrod supports it like this: proc foo(a, b:PType{noalias}) |
23:57:37 | filwit | Demos: i came across that in the docs (parameter specialization) the other day and it looked like it was what you where talking about |
23:57:45 | Demos | right, but that is somewhat more limited since if you start doing pointer arithmatic on a and b you may get something that aliases |
23:57:59 | Demos | also I think it is supposed to be a compile-time check |
23:58:13 | Demos | c's restrict is not checked at runtime or compile time |
23:58:29 | filwit | ...how is it checked then ? |
23:58:34 | Demos | it is not |
23:58:42 | filwit | lol wut |
23:58:48 | filwit | then why does it exist? |
23:58:57 | skrylar | its a compiler hint |
23:58:59 | Demos | if you pass in stuff and it aliases, OR any pointers derived from those things alias then it is undefined behavior |
23:59:13 | skrylar | IIRC its supposed to allow the compiler to make assumptions |
23:59:25 | filwit | ah, okay. but there's no reason not to do compile-time checking then right? |
23:59:41 | Demos | it exists because C is trying to be as fast as FORTRAN while FORTRAN is adding stuff like modules and OOP and so lowercase |
23:59:50 | Demos | filwit: compile time checking is HARD |