<< 26-02-2014 >>

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:18Demosbootstraping seems to be borked again
03:58:35DemosI can boot from windows but boing from the csources fails
03:58:54Demos(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:24Demosif 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:12KektainHey guys, anyone have luck compiling the latest from github today?
04:52:22Kektainthe 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:10Kektain....ahh, yep that's a build log. Right. :x
05:08:45Araqhi Kektain welcome
05:08:54OrionPKjesus what time is it in germany
05:09:03Araq6 am
05:09:32Kektainmorning Araq
05:10:19Araqwell I broke the build yesterday, it should work now
05:10:59Araqthere is still a regression I'm hunting which affects the xmltree.`<>` macro ...
05:11:13KektainAh, okay
05:12:06renesacAraq, [00:58:18] <Demos> bootstraping seems to be borked again <--- this is fixed?
05:12:12renesac*was
05:12:53Araqthat's what #nimbuild suggests
05:13:30Araqbut I'm not sure if nimbuild builds from the C sources, maybe we need to regenerate them
05:14:12KektainAh, didn't see nimbuild
05:15:03KektainI followed the steps in the github readme, it failed at koch boot in compiler/vmdef.nim
05:15:28KektainI'll check in there!
05:15:54Araqwhat's the error message?
05:16:04Demosrenesac, not so much. I could not bootstrap from csources or naster
05:16:06Demos*master
05:16:08Demosone sec
05:16:30Kektaincompiler/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:37Demosyeah that
05:18:57*renesac is now known as renesac|away
05:19:06Araqhuh, interesting
05:19:33Araqah!
05:19:51Araqyay for the new symbol lookup rules in templates
05:20:00Araqso now only devel can build devel
05:20:23Kektainahh XD
05:20:47Araqwell it's very easy to fix
05:22:05KektainHaha, after a brief look in there I think I'll leave it to you. :)
05:29:32NimBotAraq/Nimrod devel edfc314 Araq [+0 ±1 -0]: renamed TRegister to TFullReg so that older versions can compile it
05:29:41AraqKektain: please try again
05:29:50Kektainwill do!
05:31:48KektainRerunning koch didn't work; I'm trying a fresh clone
05:34:20KektainSuccess! :)
05:34:54Araqso now you have a compiler that runs code faster at compiletime than python does at runtime :P
05:35:14KektainOho! XD
05:35:27*Araq should backup his claims with meaningless micro benchmarks
05:35:28KektainA recent result, I presume? :D
05:36:17Araqyeah, we got a new VM for compile time evaluation
05:37:19KektainAh, interesting!
05:39:59KektainIs there a writeup on that? I struggle to think of a way I could use that without risking screwing myself :x
05:41:50KektainI assume it's like C preproc on steroids
05:43:33Araqwell the macro system and compile time evaluation are pretty well documented
05:44:07Araqin other words, I'm not sure I understand your question
05:47:38KektainAh, forgive my ignorance, I'm very early in my study.
05:56:56*carum joined #nimrod
05:57:46Araqsee you later
05:58:58Kektainsure 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:46jcrubinois there a cryptolib to get base58 and sha256 hashes?
06:26:57jcrubinoto 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:29reactormonkjcrubino, sha256 maybe in babel
06:46:01reactormonkjcrubino, 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:15BitPuffinoww
14:09:17BitPuffinsuch loudness
14:15:18*faassen left #nimrod (#nimrod)
14:22:50*awestroke joined #nimrod
15:03:00*r0b2 joined #nimrod
15:15:05OrionPKhttps://github.com/atom
15:15:15OrionPKlooks like we'll have a new editor to write a nimrod plugin for soon :D
15:15:22OrionPKgithub'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:13Varriount_OrionPK: ?
17:13:26*Varriount_ is now known as Varriount
17:16:27OrionPKwhat?
17:17:13OrionPKit's going to b very similar to ST
17:24:45*noam joined #nimrod
17:25:08*Demos joined #nimrod
17:26:07VarriountOrionPK: I thought atom was Github's built in text editor
17:26:17OrionPKit's github's text editor
17:26:26OrionPKi.e. github is making it
17:26:32Varriount:O
17:26:44VarriountDoes it have a plugin api?
17:26:58Demosso 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:59OrionPKyes
17:27:01OrionPKlook at the link
17:27:05VarriountWhat will it be like? Are there screenshots? I demand information!
17:27:12OrionPKlook at the LINK!
17:28:23VarriountI did! It's just a bunch of Repos
17:28:30*Matthias247 joined #nimrod
17:28:36VarriountHi Matthias247
17:28:39OrionPKyeah, plugin repos
17:28:42OrionPKwith screenshots
17:28:45Matthias247hi
17:28:58OrionPKNimAtom :P
17:29:44VarriountOrionPK: The language plugin grammers looks a lot like sublime text's
17:29:49OrionPKyep
17:29:56OrionPKshould be easy to port our stuff
17:30:01Matthias247which tool?
17:30:19VarriountMatthias247: https://github.com/atom
17:30:26OrionPKit's not out yet
17:30:33OrionPKhttp://atom.io/
17:30:52OrionPKlooks like it's going to basically be a free/open source sublime text w/ maybe coffeescript instead of python
17:30:59OrionPKmaybe it'll support python too
17:31:09VarriountOrionPK: Pyjamas?
17:31:32OrionPKhm?
17:31:34VarriountI mean, CoffeeScript is just a dialect/layer of javascript, iirc
17:32:03VarriountAnd Pyjamas is a Python to JavaScript converter
17:32:32Matthias247coffescript is a scripting language that compiles to javascript
17:32:37*Demos quit (Ping timeout: 244 seconds)
17:32:38Matthias247but i hate JS :(
17:33:30VarriountWell, on the bright side, it gives me a chance to learn something related to javascript.
17:33:44Matthias247but the screeenshots look promising
17:33:54VarriountWhere exactly are the screenshots?
17:34:12Matthias247if you click on a subproject there is a screenshot
17:34:16*Demos joined #nimrod
17:34:17VarriountOh, I see.
17:34:32VarriountIt looks like sublime text
17:34:45VarriountOr google chrome :/
17:36:12VarriountMatthias247: Severak people have commented positively on your work the ST plugin.
17:36:18Varriount*Several
17:36:31Matthias247cool
17:36:33*zielmicha joined #nimrod
17:37:25Matthias247i guess that atom thing uses node.js and runs in the browser
17:38:19Varriountdom96: Please make nimforums login https
17:38:43OrionPKMatthias247 where do you see it running in the browser?
17:39:29Matthias247OrionPK: I didn't, but Varriount saw a chrome window :)
17:39:30OrionPKI figured it was maybe a web tech based texteditor
17:39:41OrionPKwhere varriount?
17:39:41VarriountMatthias247: I said it *looks*
17:39:48OrionPKlink
17:39:55Varriount<Varriount> It looks like sublime text
17:39:55Varriount<Varriount> Or google chrome :
17:39:59Matthias247and I saw node mentioned somewhere
17:40:10Varriounthttps://github.com/atom/tree-view
17:40:23OrionPKthat looks like chrome to youi?
17:40:29VarriountThe tabs do
17:41:01OrionPKlol
17:41:02OrionPKok :p;
17:41:19Matthias247but 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:31OrionPKi 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:03dom96Varriount: You do it :P
17:42:15Varriountdom96: I
17:42:21VarriountI'm not the web admin
17:42:29*Endy quit (Ping timeout: 240 seconds)
17:42:29*nande joined #nimrod
17:42:55Matthias247hmm, seems to be done by github employees?
17:43:13dom96Varriount: I don't have time
17:44:05VarriountI 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:29dom96investors
17:44:39dom96but IIRC they are profitable
17:45:36Matthias247one department of my company has a private github system
17:45:44Matthias247guess others will also have
17:47:17Matthias247but it would be great if Atom would be comparable to sublime but be open
17:49:01VarriountMatthias247: https://github.com/limetext/lime
17:49:53Matthias247here's a screenshot with window decorations: https://f.cloud.github.com/assets/1424/1228569/cce6eb26-27a6-11e3-8675-a6905e50a9a6.png
17:49:59Matthias247so it seems "native"
17:50:32VarriountI wonder what kind of collaboration mechanism they are using.
17:50:40Matthias247and it has "real" settings for skrylar ;) https://f.cloud.github.com/assets/671378/2241795/ba4827d8-9ce4-11e3-93a8-6666ee100917.png
17:51:44VarriountMatthias247: I have a half-built sublime text collaboration plugin which uses this method for text synchronization -> https://neil.fraser.name/writing/sync/
17:53:12Matthias247https://atom.io/assets/[email protected]
17:53:17Matthias247it uses a browser for rendering
17:53:40Varriountlibcef?
17:53:49Matthias247I guess it'b based on node-webkit
17:55:46Matthias247if it turns out cool we simply port all the NimLime stuff and have an official and free Nimrod reference IDE :)
17:57:06Matthias247"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:55Varriount:O
17:58:55Varriountdom96 may not like that.
17:59:23Matthias247oops, sorry :)
18:00:27dom96not at all.
18:00:34dom96Now I am convinced that this is the way to go.
18:01:05dom96I may just give up the text editor war though
18:01:38*Demos quit (Ping timeout: 240 seconds)
18:06:18VarriountMatthias247: Where did you get that quote?
18:07:19Matthias247Varriount: https://news.ycombinator.com/item?id=7302941
18:11:59dom96I may just switch to this.
18:12:20*DAddYE joined #nimrod
18:19:33Matthias247I 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:22Mat3hi all
18:21:35dom96Seems people are worried that webkit will make it slow. I'm worried about the same thing myself.
18:21:53Mat3hi dom96
18:22:02OrionPK:)
18:22:08OrionPKthis is super exciting
18:22:17Mat3and OrionPK
18:22:19OrionPKwe'll have so much more flexibility than ST gives us
18:22:35Matthias247I hope that the plugin API is good
18:22:37Mat3what is wrong with WebKit ?
18:22:43dom96It's written in JS though right?
18:22:49OrionPKMatthias247 even if it isnt; it's open source
18:22:52dom96hi Mat3
18:23:01OrionPKwe can extend it regardless ;)
18:23:02Matthias247OrionPK: yep, that's the good thing
18:23:29Matthias247OrionPK: but if all people start extending the core APIs it will get a mess :)
18:24:01Discolodainstead of webkit, why not OpenGL? GL_POINTS all the characters!
18:24:23OrionPKdom96 v8 is pretty quick
18:24:24Matthias247rendering through webkit will be a lot slower for sure than native rendering that conventional editors will do
18:24:27dom96why not sdl?
18:24:30Matthias247the question is if it matters
18:24:59Matthias247the good thing is that the rendering will be quality and resolution independent
18:26:06Discolodadom96: 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:29dom96I see.
18:30:47VarriountDiscoloda: SDL2 uses opengl, SDL1 doesn't
18:30:49Matthias247dom96: 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:30dom96I'd imagine so.
18:33:05Matthias247but we will see if it matters
18:33:41Matthias247the 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:52Discolodai wonder if they or someone will use jwebkit (webkit in JavaScript) for Atom
18:37:21Mat3what about Gecko ?
18:37:58Matthias247gecko seems to be hard to embed into other applications
18:38:15Varriountlibcef?
18:38:24Matthias247https://github.com/atom/welcome/blob/master/lib/welcome.md: "Atom is free during the beta period."
18:38:33Matthias247may mean it will cost afterwards
18:38:49VarriountHrm.
18:39:07dom96Then why is it open source?
18:39:12Varriountdom96: Hosting
18:39:28dom96hrm?
18:39:41VarriountMy guess is that there will be a central server to deal with storage and collaboration
18:40:20Discolodaill stay with vim, i code almost exclusivly in the command line anyway
18:40:27VarriountDepending on what collaboration methods they are using to resolve changes in the text, the central server could have a huge workload
18:41:33dom96Well this sucks. I was essentially planning the same thing in Nimrod :\
18:41:49Varriount*shrug*
18:44:25Mat3Discoloda: I am use Joe and GNU screen partly
18:44:41OrionPKsomeone join their RIC channel
18:44:43OrionPKiRC*
18:45:29Matthias247seems to be possible to define and use custom widgets in Atom plugins
18:45:34OrionPKstorage and collaboration? what?
18:45:34OrionPKno
18:45:39OrionPKthats what git is for... and this is gitHUB
18:45:40Matthias247that would make a good autocomplete much easier than with ST
18:45:51OrionPKya
18:46:04dom96OrionPK: What about real-time collaboration?
18:46:41Matthias247somewhere there was written that it is coupled with etherpad (which is online realtime collab)
18:48:27reactormonk#804 anyone? :-)
18:49:21Varriountreactormonk: Would help if we had an idea of what needed to be done to fix it
18:49:53VarriountFor 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:15OrionPKdom96 i mean that would be cool I guess
18:55:35OrionPKdom96 but I dont see why that would make things dependent on cloud services
18:55:57OrionPKlets wait and see i guess
18:56:00OrionPKI'm optimistic
18:56:06*shodan45 joined #nimrod
18:56:54Matthias247the atom core is not (yet) in github. Could mean that that stays closed source and only the plugins get published.
18:57:21Matthias247but everything looks so much like ST that the asssumption that they might have bought it sounds valid
18:57:42Mat3hi shodan45
18:57:57shodan45Mat3: o/
19:00:00shodan45I think #nimrod helps to keep my brain from rotting completely (I code php at work...)
19:01:12*ddl_smurf joined #nimrod
19:07:33Mat3oO
19:07:35Varriountshodan45: Oh dear
19:07:45*carum joined #nimrod
19:07:57Varriountshodan45: I pity you. I have not heard good things about PHP
19:08:52Matthias247I liked it - 15 years ago :)
19:08:52shodan45Varriount: and you won't hear good things about it from me, either
19:09:10shodan45Matthias247: yeah, that's about right :)
19:09:13skrylarit's like C for the web!
19:09:16skrylarx.x
19:09:37Matthias247but at least you were coding. I was in 5 different meetings today...
19:09:51skrylarMatthias247: clearly you need an inflatable Matthias to place in the meeting room
19:09:54VarriountMatthias247: I would be willing to pay a one-time fee for the editor, and a subscription for any online services.
19:10:36Mat3no, it is not like C- it is better, more subtly destructive
19:10:38Varriount(In the context of the Github Atom Editor)
19:10:54skrylaryay cloud crap
19:10:56VarriountI thought javascript was the C of the internet
19:11:15skrylarer, no.. javascript is pretty high level
19:11:46VarriountWell yeah, but it's also client side as well. And used pretty much everywhere.
19:12:03Matthias247Varriount: 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:36Matthias247I find javascript very primitive
19:12:45VarriountMy guess is that they release the frontend, the actual editor, as open source, and keep the backend (the cloud services) closed source.
19:13:23Matthias247if it works only online it would be a no-go for me
19:13:53VarriountSame here.
19:14:21Mat3Matthias247: Why find you Javascript primitive (and compared to what language) ?
19:14:23dom96Github wouldn't pull a Sim City on us.
19:14:34skrylari found the hackernews for atom
19:14:41skrylari agree with the "it looks like a sublime clone"
19:15:23skrylaralso apparently its built on webkit oO
19:15:32skrylarwell that will be great, a text editor that takes 120mb to idle
19:15:32Varriountskrylar: link?
19:15:38skrylarhttps://news.ycombinator.com/item?id=7302941
19:15:54Matthias247Mat3: because there are only objects. No classes, no namespaces, no modules, etc.
19:16:12skrylarVarriount: actually looking at all the screenshots, it really is just a carbon copy of sublime 2...
19:16:27Varriountskrylar: Yep
19:16:45skrylarVarriount: meh. Unless its legitimately free I won't use it
19:16:58skrylarIf i'm going to pay for sublime i would just pay Skinner who actually wrote it
19:17:12skrylar(and i already did that)
19:19:05skrylarI'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:46dom96Because all GUI toolkits suck.
19:19:51Varriount^
19:20:32Mat3Matthias247: Well, think of it as a prototype object-system (do you know Io or Self?)
19:20:54VarriountI 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:07EXetoCdom96: IUP too?
19:21:10skrylardom96: so use a glorified document formatter? lol
19:21:15EXetoCprobably haven't tried that one
19:21:24skrylarI couldn't get IUP to compile on msys
19:21:36skrylarit wanted a bunch of shell headers that aren't part of the w32api pack
19:22:14dom96EXetoC: Never tried it, but it looks meh.
19:22:26VarriountWhat's IUP?
19:22:40skrylarGUI library by Puc who did Lua
19:22:46VarriountLink?
19:22:47dom96That's another reason to use webkit: you can very easily design your own GUI.
19:23:12skrylari usually prefer my hello worlds not occupy 50mb
19:23:41dom96Me too. But many people don't care.
19:23:49skrylarthose people shouldn't be programming
19:23:50skrylarlol
19:24:05Matthias247Mat3: 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:25Mat3does one of know Display Postcript ?
19:24:25skrylaractually prototype systems have some neat benefits at times
19:24:52Matthias247I don't lack RAM, so I don't mind :)
19:25:18skrylarMeh, 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:38skrylarthats 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:26dom96There is a balance, if you don't want excessive resource waste then you should be writing everything in ASM.
19:26:43skrylardom96: that just depends on the throttle for 'excessive'
19:26:50Varriountskrylar: And nimrod's GC?
19:27:08skrylarVarriount: well my copy still says the default is the refcounter, so..
19:27:09Mat3Matthias247: 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:18dom96skrylar: Indeed. Everyone draws the line somewhere else. Some don't have a line at all though...
19:27:53Varriountdom96: I don't have a line. I have more of a fuzzy gradient.
19:28:20skrylardom96: 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:34EXetoCas if most employed programmers need to care particularly much about any of this in general
19:28:51VarriountSteam uses WebKit?
19:28:59skrylarthey switched over to it
19:29:00skrylarIIRC
19:29:02*runvnc quit (Ping timeout: 252 seconds)
19:29:05dom96Varriount: yeah, it uses libcef
19:29:09dom96So does battle.net
19:29:09Matthias247Mat3: 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:28dom96Spotify does too
19:29:45skrylarMy 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:49skrylarbut thats just me
19:30:43skrylarI'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:18Matthias247there 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:42skrylarhm? they exist people just don't use them
19:31:52Mat3Matthias247: Sorry, I think we have different definations of the word 'primitive'
19:32:00skrylarIIRC Qt has layout managers, Tk had them since the beginning of time
19:32:28Matthias247Qt brought up QML for that use cases
19:32:32*carum quit (Remote host closed the connection)
19:32:38Matthias247but I don't know if that's really better :)
19:32:45OrionPKwell
19:32:50*carum joined #nimrod
19:33:09OrionPKthe tough part with any cross platform GUI application is making it look like a native application
19:33:19skrylarOrionPK: well libcef fails that one
19:33:20skrylar:)
19:33:20OrionPK(1 of the tough parts)
19:33:22Matthias247my steam.exe is listed with 80MB :)
19:33:22OrionPKyeah
19:33:24OrionPKit does
19:33:42OrionPKor at least it doesnt really help you out
19:33:52skrylarIt's not actually *that* hard, it depends on what you mean by native though
19:34:03skrylarDo you mean "actually uses the native API" or "looks like it belongs there"
19:34:11OrionPKskrylar so you have a tradeoff; either a ton of flexibility and inconsistency w/ native GUI
19:34:18Matthias247it's the question if native application look is wanted in the future
19:34:19OrionPKor you have less flexibility and consistency
19:34:24OrionPKand more* consistency
19:34:30EXetoCMatthias247: 125 here, on linux
19:34:43OrionPK"looks like it belongs there"
19:34:52skrylarOrionPK: there is one argument that you should just make different layouts per OS anyway
19:35:08skrylarthe HIG for OS X is very different from the "nothing" that Windows uses
19:35:11OrionPKyeah.. which (IMO) HTML has a big advantage
19:35:16Matthias247the OS native GUI toolkits scale quite badly with resolution. That's why Win8 went away from it
19:35:19skrylarIt doesn't matter if your widgets look native when the layout is foregin
19:35:21OrionPKwhen it comes to theming
19:36:19skrylari'm partly spoiled because I used Articy:Draft, saw it *lag* on a small graph, and went
19:36:27skrylar"Okay, these kinds of programs really should have GL-backed UIs"
19:38:16*Varriount_ joined #nimrod
19:38:27skrylarbut 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:01OrionPKskrylar such a hater :p
19:46:39skrylarOrionPK: what? its a program for storing complex diagrams for storytelling and it lags with <3 entries
19:46:46skrylaryou 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:07Araqhi _fel1x welcome
20:44:50Mat3hi Araq
20:45:14Mat3you asked about a method for reducing the data-type zoo ?
20:49:13Discoloda*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:23Araqyeah, my current plan is to introduce 2 opcodes, zeroExtend and signExtend
20:49:43*skrylar managed to crash the compiler again. xD
20:49:48AraqzeroExtend a, b, 16
20:50:10Araqis reg[a] = reg[b] and 0xffff
20:51:20Araqwell 'extend' is a misnomer
20:51:33Araqit trims
20:52:00Araqbut I don't know which edge cases produce the wrong behavior then
20:52:10Araqskrylar: bug reports!
20:52:49skrylarAraq: well when the VMs work, someone could plug it in to an STP solver and make a bugfinder :P
20:52:59skrylar(@edge cases)
20:53:58Mat3the basic interger type should be identical with the word width for efficience reasons
20:54:27Mat3I mean the width of these integer type
20:56:51*[1]Endy joined #nimrod
20:57:07Araqwell no, we support int64 on 32bit machines, Mat3
20:57:19Araqso 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:45Matthias247how can I initalize an array with like a: array[0..15, uint8] with common values?
20:59:56Mat3then simply use the FP registers like MMX (GCC features a platform independent extension for that)
21:00:19skrylari thought the VM was a debugging/compilation tool more than something the program runs in all the time
21:01:40AraqMatthias247: var a: array[0..15, uint8] # nimrod initializes every element to 0 for you
21:02:26Matthias247hmm, not for me :)
21:03:01skrylarahahaha. "/* underneath the earth is a scary place; we don't go there and neither should this test result */"
21:03:03Matthias247maybe because I have it in an case XYZ of
21:03:04Demosactually 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:53Demosalso, is static[proc(...)] a planned feature
21:05:27AraqDemos: what is static[proc (...)] ?
21:06:28Demoswell I would like it to be a function pointer where you know the name and maybe even the AST at compile time
21:06:33Demosso not really a pointer at all
21:07:31Matthias247Araq: I have that: https://gist.github.com/Matthias247/9238540
21:07:45Matthias247Araq: and the last line prints some not 0 fields
21:08:25Demosit is probably more useful to garentee that you know the code for the function
21:13:49AraqDemos: could be done. And now you know why we can't simply translate to machine code .P
21:14:15AraqMatthias247: flip IPv4 and IPv6 so IPv6 is the default value and it may work
21:15:06Matthias247Araq: doesn't help
21:15:23*aftershave_ quit (Quit: Textual IRC Client: www.textualapp.com)
21:15:53Matthias247surprisingly the first 7 (not 8) bytes are 0ed
21:16:25fowli didnt realize you could say 0u8 instead of 0'u8
21:16:26Araqyou need to flip it in the enum declaration
21:16:26*Endy quit (Ping timeout: 264 seconds)
21:16:40Araqfowl: came with 0.9.2 iirc
21:17:35Matthias247same
21:18:24AraqMatthias247: report is please
21:18:29Araq*it
21:18:38Matthias247ok
21:19:50Matthias247but there is no way to initialize the complete array with another value, like a = [1, 16] to init all elements to 1?
21:21:01fowlproc fill* [T] (x:var openarray[t]; val: T) = for id in 0 .. <len(x): x[id] = val
21:22:03Araqyou can write [1, 1, 1, 1] or create a macro to do that for you
21:22:19Araqin fact, gradha wrote one to do just that iirc
21:22:43Araqbut 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:43Araqping Varriount, Varriount_
21:24:34*carum joined #nimrod
21:24:56Matthias247ok, just wanted to know if there is sth. buildin or if I have to write the loop/macro explicetly
21:28:13Matthias247hmm, 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:34Araqzahary1: 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:31fowlcool
21:41:44fowlhaxing satellites
21:42:27Araqer .. guys ... we're on reddit again
21:42:33skrylarsuccess?
21:42:47Mat3sorry, what's reddit again ?
21:43:13EXetoCan integral part of the internet
21:43:14dom96interesting
21:43:22skrylarEXetoC: lol integral
21:44:07EXetoCskrylar: funny innit
21:44:15Demoswow block statement type deals are pretty common
21:44:16Araqhttp://www.reddit.com/r/programming/comments/1yzvjg/nimrods_block_statement_a_solution_to_multilevel/
21:44:23Demosand block does some other stuff wrt scope right?
21:44:25skrylarEXetoC: funny, I always thought getting slashdotted was a bigger deal
21:44:58EXetoCpossibly
21:45:38Matthias247The atom site is live now. No software yet, but you can register for beta access
21:45:46Demosanyway 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:24Mat3oh no, please not *that* side again
21:46:46Demosor is this part of the ongoing goto fail could have been prevented if everyone just wrote bug-free code
21:46:52Demosthing
21:47:21dom96"Need to call into C or C++? That's possible, too." Yes, but how easy is it? :P
21:47:23skrylaranything that isn't C sucks according to reddit anyway
21:47:26OrionPK"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:06Matthias247dom96: I guess the same difficulty as doing it in node.js ;)
21:48:28skrylarOrionPK: it doesn't sound spectacular so far
21:48:39Demoswell calling into c++ is hard no matter what. I think nimrod and python probably do the best
21:48:41Matthias247dom96: you need to build an javascript wrapper object for your c++ object. But it's not that hard with v8
21:48:53OrionPKskrylar you didnt like it already
21:49:02DemosMatthias247: but you probably also need to build a C wrapper for the C++ object
21:49:16skrylarOrionPK: yeah but i already paid for the two programs they are cloning
21:49:43EXetoCAraq: are there any plans to support user-defined enumerator types?
21:49:54Demosanyway what the hell is up with every app using "web tech", did we fuck up windowing /that/ badly
21:50:07skrylarDemos: lol i had that conversation earlier :)
21:50:26Matthias247Demos: no, you don't. Exposing objects to v8 is not a typical FFI
21:50:30OrionPK they havent announced pricing, have they?
21:50:37DemosMatthias247: orly?
21:51:05AraqEXetoC: what's a user-defined enumerator type?
21:51:18skrylarAraq: i think he means setting the storage type of the enum (e.g. int16)
21:51:36OrionPKvarriount Matthias247 https://atom.io/docs/api/v0.59.0/api/
21:51:55Matthias247Demos: it's described here: http://nodejs.org/api/addons.html
21:52:19skrylarhuh, their "node.js support" makes it.. wait
21:52:31skrylarIs their toolkit really just hacking libcef on top of node
21:52:54EXetoCAraq: *enumerations represented by arbitrary types supporting equality comparisons
21:54:23Matthias247OrionPK: I will look at it in detail as soon as I can install it :)
21:54:28OrionPK:D
21:54:29EXetoCwith that said, is the size pragma a better solution compared to just being able to specify a type?
21:54:29OrionPKsame
21:54:32Mat3ciao
21:54:38OrionPKwe'll have to wait for our invites *sigh*
21:54:47*Mat3 quit (Quit: Verlassend)
21:54:51DemosEXetoC: C supports changing the size of an enum
21:54:51skrylarOrionPK: yeah it.. looks like they just stacked libcef on top of nodejs, looking at their packages
21:55:04DemosI think it is like enum foo: char { ... };
21:55:05OrionPKcool
21:55:11Matthias247hmm, would be very cool if it can use real grammars and not online the sublime-text like regexed base grammars
21:55:13OrionPKskrylar sounds good
21:55:26dom96skrylar: It's what Light table uses too. node-webkit IIRC.
21:55:30Matthias247skrylar: i think node-webkit
21:55:42skrylarwell 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:50skrylardom96: lighttable uses a clojure thing
21:56:00EXetoCDemos: since when?
21:56:14Demosactually I think it is a c++ feature
21:56:21OrionPKclojure or clojurescript?
21:56:28*zahary joined #nimrod
21:56:34dom96skrylar: The readme mentions node-webkit.
21:56:40Matthias247for me clojure is totally unreadable :)
21:56:43skrylarOrionPK: i remember looking at his dependencies and one of the runtimes is a bundled clojure
21:56:44OrionPKclojurescript compiles to javascript
21:56:44*carum quit (Remote host closed the connection)
21:56:49OrionPKand agreed; clojure is unreadable
21:56:56EXetoCDemos: introduced in C++11 then I guess
21:56:58Demoshttp://en.cppreference.com/w/cpp/language/enum
21:57:03DemosI don't think so
21:57:26EXetoC"enum-base(C++11)"
21:57:35zaharyAraq, I consider tnoinst a bug as well - it's not quite trivial to fix tho
21:58:06zaharythe inferred matching happens only when one of the proc types in concrete
21:58:09Demosah. OK, microsoft had it implemented as far back as visual studio 2008 it looks like
21:58:25Demosheck I think long long is a c++11 feature
21:59:02zaharyah, actually maybe I'm not right - it should work under the new rules
21:59:15Matthias247direct git integration in atom also sounds nice
21:59:19OrionPKyeah
21:59:24dom96skrylar: Will your GUI toolkit just work with ncurses?
21:59:30OrionPKsublime's git package is ok, but of course it's implemented w/ text editors
21:59:34OrionPKrather than panels
21:59:42OrionPKsince plugins dont really get nice panels
21:59:53Demosfugitive is GREAT
22:00:01zaharyah, I stand corrected again - there should be an error that the T type is not instantiated
22:00:06Matthias247same problem for autocompletion. You can only fill the sucky panel you get provided :(
22:00:14OrionPKyeah
22:00:30dom96That is the advantage that webkit brings to the table.
22:00:55skrylardom96: yes
22:01:42*vendethiel quit (Quit: q+)
22:01:43EXetoCsomeone said it required a connection, so I suppose it's not standalone then
22:02:13skrylardom96: 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:25EXetoC*optionally standalone
22:02:56*filwit joined #nimrod
22:03:11EXetoCwell actually, I think it's more important to have a compact window, but some browsers are really minimal in that respect
22:03:21dom96I'm now considering writing a GUI toolkit with an opengl backend.
22:03:30skrylarfun times that
22:03:38OrionPKEXetoC who is "someone"
22:03:39EXetoCuzbl for example
22:04:08EXetoCOrionPK: someone in here, not long ago
22:04:13skrylarhttp://limetext.org/ well that will be neat when it gets anywhere
22:04:16EXetoClet's see
22:05:18Matthias247dom96: QML? ;)
22:05:23EXetoCbuffer search fail
22:05:39Demosthe 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:56dom96Matthias247: I stopped reading the wikipedia page at "JavaScript-based" :P
22:06:09skrylarlisp-based gui!
22:06:20Demosthat is how VS works (well you need to implement 2 or 3 interfaces first and then do some OLE incantations)
22:08:14Demosnot 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:19Matthias247from 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:34DemosXAML is too much magic
22:08:42Araqzahary 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:47skrylarlibRocket is neat but not very developed anymore
22:09:03skrylarTSome :o
22:09:16skrylarwell, i guess those aren't builtins
22:09:47Demosis 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:53zaharyactually I plan to allow type class based inference for variables, which will make his code work
22:09:58Demosoh... ptr
22:10:06zaharythe use case I mentioned previously is var x: var = y
22:10:28zaharyfor now, I can add some more errors
22:11:21EXetoCAraq: Obj? :p
22:12:16skrylardom96: do you have a list of specific requirements for a GUI-thing?
22:12:25*ddl_smurf quit (Quit: ddl_smurf)
22:13:04Demosyou 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:07dom96skrylar: no.
22:13:09EXetoCdom96: who will implement password recovery for example, and when?
22:13:23skrylarDemos: depends on what you are drawing
22:13:32Demoswell sure
22:13:33EXetoCI don't really use the forum much, but it should be of importance to other people
22:14:08skrylarDemos: 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:12dom96EXetoC: I don't know.
22:14:13skrylarsoftware renderers tend to lag out
22:14:21EXetoCand 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:34EXetoCbut I don't know if the other security issues need to be fixed first
22:15:54skrylarAraq: finished porting & testing the unicrap
22:17:04skrylarneed to fix some bugs that crept in when converting the code though :\
22:17:18*brson quit (Ping timeout: 240 seconds)
22:17:51skrylarDemos: 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:01filwitGPU 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:41skrylari wasn't aware GTK had working accelerated backends
22:18:47*tinAndi joined #nimrod
22:18:49Araqfilwit: I disagree. :-)
22:18:53filwitThese days, just use OpenGL and you can get a software backend through Glamar
22:19:23filwitGlamour*
22:19:38filwitGlamor**
22:19:42dom96I bet with OpenGL something as simple as rendering text would be a PITA.
22:19:55skrylar...
22:19:59skrylarYou could say that.
22:20:02*ddl_smurf joined #nimrod
22:20:32filwitit's no different than writing a software text renderer really. Only difference is there are many software-based text-rendering solutions
22:20:43AraqHaiku only performs cpu rendering afaik
22:20:58Araqand it renders incredibly fast even in an emulator
22:21:00filwitwith OpenGL, you usually create a text "sprite map" for character at an expected resolution. it's pretty straight forward
22:21:28skrylaryou 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:29filwitAraq: lol..
22:21:32Araqin practice CPU rendering for *UIs* (as opposed to games) is irrelevant
22:21:55filwitAraq: being fast in a VM is completely different than being faster than the GPU
22:22:01EXetoCfilwit: yeah, it's often just hidden behind a nice interface
22:22:03Araqfilwit: not my point
22:22:04skrylaradmittedly most people don't do software typesetting from scratch, and most of that is the same
22:22:15filwitAraq: what is your point?
22:22:18dom96skrylar: That's why people opt for webkit :P
22:22:28skrylardom96: yeah or pango :P
22:22:40Araqoptimize your software stack and GPU acceleration is not necessary at all
22:22:40skrylaractually if I didn't mind carrying around an LGPL lib, I might have just gone Cairo+Pango ages ago
22:22:41dom96skrylar: By the time you get something usable out of opengl you will end up with the same dependencies that webkit has.
22:22:48Araqfor rendering boring grey boxes
22:23:05Araqit could be made fast enough decades ago
22:23:22filwitAraq: disagree completely, but i don't want to spend time going over the details right now.
22:23:41Araqpity
22:23:43skrylar(there is also that whole thing i mentioned earlier about "it depends on the nature of your GUI")
22:24:05filwitAraq: some other time, just want to get something else done ATM
22:24:13Araqok
22:24:20Araqfilwit: do your macros still work?
22:24:31AraqI changed the data representation as promised
22:24:47filwitAraq: yeah, i've been working on them off-n-on. I'm attempting to fix the 'system.new' issue right now
22:25:04skrylari 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:24filwitAraq: i haven't tried the new VM branch yet. let me try real quick
22:26:42EXetoCoh yeah, how about those alloc procs I was going to wrap :p
22:28:24skrylar(if anyone feels like laughing at failure: https://github.com/Skrylar/skUtf )
22:28:58filwitAraq: vm2_2 breaks with my macros. looking into it..
22:29:34filwitinteresting... it fails at pretty much the same place it used too
22:30:06filwitwell no, scratch that, it's a bit different
22:30:34Araqwell I fixed the last regression in the test suite, but haven't pushed that yet
22:30:55Araqmy bet that's what breaks your code then
22:31:08filwitcan you push, or is it not ready yet?
22:31:15Araqnot ready
22:31:52filwitokay, 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:48Araqalright, very well
22:35:11Discolodafor penGL
22:37:03Discolodafor 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:25filwit^ yep
22:37:28EXetoCWhy no capitalization in the first sentence of some doc comments? :-p
22:38:04filwitcause we rebels in hear yo
22:39:55filwitbtw, Araq, i remember reading about a built-in debugger?
22:40:05filwitis there some docs on that? is it broken?
22:40:09EXetoCdon't worry, that can be automated using some awesome future API
22:40:24DemosDiscoloda: but what if you want kerning and ligatures
22:40:48*filwit just noticed he spelled 'here' as 'hear' accidentally
22:41:12EXetoCEnglish
22:41:18Matthias247what's the recommended way to do char -> int in Nimrod? I konw cast[int8](char - '0'), but - is not defined for char :)
22:41:41Araqord(ch) - ord('0')
22:41:42EXetoCMatthias247: ch.ord?
22:42:14DiscolodaDemos: i stored kerning, dimensions, and offset for each glyph/size, didnt tackle ligatures
22:42:27Matthias247ah, thx
22:43:45EXetoCDiscoloda: for not that many glyphs, right?
22:44:03EXetoCotherwise you end up with a bazillion pairs
22:46:06Discolodayou dont change size often, and its per character, so in english text thats less than 100 you end up generating
22:47:20Discolodaoh, for kerning i stored that seperatly
22:48:06Discolodai was wrong, did this more than a year ago
22:48:41EXetoCyeah 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:57Araqgood night
22:59:24filwitlater
23:01:33*zahary2 joined #nimrod
23:01:43*zahary quit (Read error: Connection reset by peer)
23:05:44filwitAraq, zahary2: the {.magic.} pragma.. where do the calls get routed too in the compiler?
23:08:11zahary2filwit: in ast.nim, you'll find a list of all magic: look for mCompiles for example
23:08:20filwitthanks
23:08:33zahary2then I would pick a magic and grep it across the project - there are quite a few places they are handled
23:08:45zahary2in semexpr, there is semMagic for example
23:09:22filwitokay
23:23:50filwitanother 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:15dom96'night
23:24:22filwitlater
23:25:01Demosto be fair llvm is textual as well
23:25:16filwittrue
23:25:34filwitguess i could compile with clang and get both though :P
23:25:52filwit(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:24filwitDemos: was it you who was asking about C's 'volitile' (or something like that) in Nimrod the other day?
23:37:51filwitDemos: you wanted to know if there was a way to indicate params didn't reference eachother ?
23:38:15*brson joined #nimrod
23:38:20filwitDemos: or was that someone else?
23:39:21*ddl_smurf quit (Quit: ddl_smurf)
23:40:12filwitzahary: '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:44filwitzahary: sigmatch is a bit large, but I'm guessing the problem is in 'typeRel'
23:42:06filwitzahary: (just telling you in case you have any hints/ideas to give me)
23:45:55*nande_ is now known as nande
23:50:18Matthias247is there an integer to hex string that does not produce a fixed-width string?
23:52:42skrylarhuh, sourceforge changed hands again
23:52:46skrylarnow some company called Dice Holdings
23:55:50Demosfilwit: that was me, and it is restrict
23:56:57filwitDemos: okay, well i think Nimrod supports it like this: proc foo(a, b:PType{noalias})
23:57:37filwitDemos: 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:45Demosright, 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:59Demosalso I think it is supposed to be a compile-time check
23:58:13Demosc's restrict is not checked at runtime or compile time
23:58:29filwit...how is it checked then ?
23:58:34Demosit is not
23:58:42filwitlol wut
23:58:48filwitthen why does it exist?
23:58:57skrylarits a compiler hint
23:58:59Demosif you pass in stuff and it aliases, OR any pointers derived from those things alias then it is undefined behavior
23:59:13skrylarIIRC its supposed to allow the compiler to make assumptions
23:59:25filwitah, okay. but there's no reason not to do compile-time checking then right?
23:59:41Demosit 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:50Demosfilwit: compile time checking is HARD