<< 19-04-2014 >>

00:00:11filwitAraq: about the exposure thing.. what i mean is I want to use the same exposure symbol in {.immediate.} macros, but the parser expects a symbol after the * symbol
00:00:22filwitAraq: so i cant do `part Foo*: ...`
00:00:22BitPuffinyou can't always dictate over filwit
00:00:25BitPuffinthat would be rude
00:00:27BitPuffinand evil
00:00:52filwityes..
00:00:55filwitvery evil
00:01:05filwitwait wut r you talking about?
00:01:24BitPuffinbreadcrumbs
00:02:07filwiti will add breadcrumbs.. but only if we collectively agree to henceforth call them 'cakecrumbs' instead
00:02:34BitPuffinit's a bit too late for that I am afraid
00:02:35filwitAraq: anyways, i was just wondering if you had any thoughts on the exposure symbol for immediate macros
00:02:54BitPuffindamn it cat, stop being so dramatic
00:03:28Araqfilwit: no, I'll think about it
00:04:23filwitAraq: k. it's not a huge issue right now cause my OOP stuff is targeted to stuff which is always designed to be "exposed", but for general purpose OOP macros it would be nice to have a solution which felt familiar to the rest of the syntax
00:04:28*Jesin joined #nimrod
00:04:55BitPuffinfilwit: how's your part thing going?
00:05:05filwithaven't worked on it in awhile
00:05:09filwitbeen doing other stuff
00:05:22BitPuffinaha
00:05:44BitPuffinAraq: so should we be doing a vnug bugsprint this weekend or nay
00:06:11flaviuShouldn't `array[1..6, string]` allow me to index from 1, not 0?
00:06:13filwitbesides, all these AAA game-engines are starting to add linux support and stuff, and Unreal Engine 4 basically has all my "node design, barely code" ideas
00:06:27filwitthey even said the editor was coming to linux native, so yeah
00:07:09filwiti'm still working on a bunch of stuff for that, but i'm going to focus on the site-design and stuff for the moment
00:09:50Araqflaviu: the VM doesn't support 1..N, known bug
00:10:10BitPuffincat, stop cutting yourself on my monitor
00:11:43flaviuAraq: It doesn't seem to be on github, should I report?
00:12:09Araqok
00:12:26Araqyou can fix it
00:12:52*DAddYE quit (Remote host closed the connection)
00:13:02Araqvmgen.nim, array indexing needs a subtraction if the lower bound is not 0
00:16:49EXetoCååäöåöäåöä
00:17:00AraqEXetoC: you can do that too, I'm sure
00:17:51flaviuOk, I'll try to do a pull request. I reported the bug at #1110
00:23:07*DAddYE joined #nimrod
00:23:44Varriount|MobileAraq: Did Mingw-w64 have what you want?
00:24:41AraqVarriount|Mobile: the installer crashed
00:25:05Varriount|Mobile-_-
00:25:25Varriount|MobileIt never crashed for me :/
00:29:51xenagi^ said every programmer ever
00:30:10Varriount|MobileAraq: Here's the link to the compressed installation
00:30:13Varriount|Mobilehttp://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.8.2/threads-win32/sjlj/x86_64-4.8.2-release-win32-sjlj-rt_v3-rev3.7z/download
00:38:21Demoshttp://sourceforge.net/projects/msys2/
00:38:25Demos^better
00:39:09Demoshas both msys32 and 64 avalible in a real package manager (pacman!)
00:41:35EXetoCnananana pacman
00:43:05Demoshttps://www.khronos.org/webcl/ <--- just what we need!
00:44:29xenagiidk Demos
00:44:42Demosthat was sarcasm btw
00:44:46xenagioh ok lol
00:45:16xenagiI like the Web and I'm all for it, but I'm not ready to relinquish all of my computer's resources to it lol
00:45:48Demosit is just sad
00:46:31xenagiin what way?
00:47:02Demoslike is installing applications such a burden that we need to take reimplement all our OS services in our web browsers?
00:47:38Demosdid we really screw up windowing so badly that HTML/CSS/JS is actually better?
00:48:48xenagithere's that too
00:49:01Demoss/take//
00:51:07EXetoCwhat do you mean?
00:51:16EXetoCpeople don't want to install stuff for one
00:51:30xenagiit's not hard to install stuff
00:51:52Demosthere are systems where you could just like run something over the network
00:51:57xenagithere shouldn't be a barrier to it, enough that we redevelop applications inside a DOM
00:52:03*DAddYE quit (Remote host closed the connection)
00:52:05Demos(this was not "secure" I guess)
00:52:45DemosI guess if you had content that you wanted to put up you could get that done before adding any of the "hard" code
00:53:17renesacif you install stuff it is harder to spy on what you are doing
00:53:31Demosrenesac: not really
00:53:43renesacand the application provider also can't easily uninstall your application
00:54:12Demosyou could default to having only signed apps run and the provider could revoke the cert
00:54:18*brson quit (Ping timeout: 240 seconds)
00:55:22Demosbut anyway. I guess some "webapps" are OK, but like I would be totally OK with facebook as a desktop app
00:56:15Demoslike maybe you could tell your OS "yo! I wanna run this app over here, why dont you ask it for my user data and download the executable"
00:56:18*brson joined #nimrod
00:58:03xenagiif its run faster as a desktop application, which it probably would, then i would be for it
01:00:21*Jesin quit (Quit: Leaving)
01:00:22Demosthis kind of thing has been attempted, but in the end people valued the easiness of the web over simpler and faster solutions
01:00:33Demosat least that is what seems to be the case
01:03:06Demosbut then again, the interen/www seems to be useful to a whole lot of people. So although the tech is a bit strange it may be a good thing. I guess we do not really know what makes software "good".
01:04:39BitPuffininstalling things is easy with a package manager + repository
01:05:23Demoseasy for you. You would be suprised how much trouble people have. Even on OSX where installation is more or less standardized and quite sane
01:05:24BitPuffinwhich is why app stores are so popular I guess
01:05:36Demostrue
01:05:49Demoseven then it needs to work without being root
01:05:50BitPuffinsince app stores are basically repositories
01:05:58BitPuffinwhy?
01:06:03BitPuffinwell
01:06:09BitPuffinI guess installing as local user should be fine
01:06:22BitPuffinbut I don't think becoming root is much of a barrier
01:06:30Demosbecause if I am on a lab/school/co-worker's computer I do not want to need root for check my email
01:06:51BitPuffinyeah
01:06:53BitPuffinand you don't
01:06:57BitPuffinso wtf are you talking about xD
01:07:39Demosif www worked by distributeing programs and having a data synch type deal instead of distributeing a bunch of scripts
01:07:54Demoswell distributeing IR
01:08:03Demosor C
01:08:39BitPuffindistributing
01:08:40Demosthen again we tried that with java and it was not really ideal
01:08:45BitPuffinhaha
01:08:46BitPuffinoh java
01:09:00Demosyeah, fast typing
01:09:27BitPuffinIR?
01:10:06flaviuLike assembler, but a bit higher level
01:10:28flaviuIntermediate Representation IIRC
01:10:45BitPuffinah
01:10:51BitPuffinso in other words bytecode
01:10:55Demosyes
01:11:02BitPuffinI've been arguing for a web bytecode for a long long time
01:11:08flaviuYes, but .Net and I think python use the words IR
01:11:14Demossame as what happens with stuff like HLSL bytecode
01:11:18flaviuBitPuffin: asm.js
01:11:24DemosNOOOOOOOPE
01:11:51BitPuffinflaviu: that's not bytecode at all
01:12:21BitPuffinasm.js is just (kinda) javascript with types done ugly
01:12:29BitPuffinit's not as low level as it name implies
01:12:34BitPuffinits
01:12:45flaviuIts as close as you can get and still be runnable without any special processing
01:12:47DemosBitPuffin: well we generate C, and god knows our C looks like IR
01:13:13BitPuffinmmmmmm
01:13:15BitPuffinyeah
01:13:41BitPuffinI guess asm.js is defiling javascript as much as we are defiling C
01:13:51BitPuffinhowever javascript is defiled by definition already
01:13:53BitPuffinso it's aight
01:14:05Demosand the idea of having a standard set of calls and behaviors is nice.... except in javascript they are not standard!
01:14:35flaviuI've been using --embedsrc when compiling, its occasionally helpful
01:14:40BitPuffinjavascript is pain and suffering
01:15:10Demoshttp://research.microsoft.com/pubs/154698/Atlantis-SOSP.pdf
01:16:37Demosalthought that paper is coming dangerously close to being Plan 9 from microsoft labs
01:17:06Demosanyway the idea is to let web "pages" distribute the whole layout engine and even perhaps a kernel
01:17:25flaviuHave you seen Roslyn?
01:18:22flaviuI think that nimrod is pretty close to it, at least closer than any other compiler I've heard of
01:18:52DemosI would love to be able to use the nimrod compiler as a library
01:19:17flaviuAn embedded scripting language!
01:20:05Demoswell sorta, but yeah! You can actually do this in haskell, but you end up with 150MB executables
01:20:08BitPuffinDemos: you and I think alike, I've been whining about that for months and months
01:20:17flaviuAccording to the irc logs, the reason that nimrod switched from GPL to MIT is because they were planning on having eval be a central feature
01:20:54Demosall this stuff is a bit dangerous, you gotta be sure not to destroy dead code elim
01:22:04BitPuffinDemos: well I only want it during development
01:22:26BitPuffinthe release version would merely be the binary
01:22:30BitPuffinno compiling on the fly
01:23:35Demoswell hotloading is what really makes that worth it, and that is /really hard/ with static types I think
01:23:55flaviu12-01-2013 16:36:52 Araq: well the planned runtime.eval feature requires the compiler to become at least LGPL
01:24:02fowlDemos, my compiler is 2mb
01:24:16Demosfowl: right, but your compiler is also not haskell
01:24:22*filwit quit (Quit: Leaving)
01:24:33fowloh
01:24:33Varriount|Mobileflaviu: Wait, why lgpl?
01:26:24flaviuVarriount|Mobile: IDK, but that's from 2013, and I think everything is licensed MIT now.
01:29:12Varriount|MobilePersonally, GPL makes me uncomfortable. It might be fine for certain pieces of software - like a compiler - but it restricts usage quite a bit
01:33:13*psquid_ quit (Ping timeout: 250 seconds)
01:33:29Demoshttp://mollyrocket.com/jacs/jacs_0004_0008.html <--- epic rant on inner platform and stupid complexity
01:34:12*psquid_ joined #nimrod
01:38:07*zezba9000 left #nimrod (#nimrod)
01:38:55Varriount|MobileSeems to me likena rant against steve jobs
01:39:06Demosit gets into software later on
01:40:59Varriount|MobileI have to agree with them a bit on Steve Jobs - He got things done, to a certain extent, but no-one could ever call him "nice"
01:42:15Demoshe was cat herding, although I am not srue he was as good at it as Linus
01:42:55Varriount|MobileProgrammers are cats... thats actually a pretty accurate statement.
01:43:18Varriount|MobileOr maybe they're like Republican Bees?
01:44:13Varriount|MobileThere's a certain mindset that tends to characterize programmers, in any case.
01:51:32*nande quit (Ping timeout: 265 seconds)
01:52:12flaviuI personally hate how the GPL says it doesn't restrict your freedoms, even when it does so significantly. Much less than an EULA, but still some
01:59:45Varriount|MobileAny library that uses the GPL can say goodbye to any large amount of use - people avoid such things, in case they want to make their endeavors commercial.
02:06:12reactormonkVarriount|Mobile, that's what the LGPL is good for
02:06:40reactormonkalbeit I saw a guy stopping by in the spring channel (RTS engine) to ask if he could add some code to encrypt his data files
02:09:35flaviuis there any way to get repr to avoid the `$` method?
02:11:01flaviuI'm dealing with AST nodes and their $ method does pretty printing and the treeRepr method doesn't give me all the posible information
02:11:21reactormonkflaviu, overload the `$` method maybe?
02:11:43reactormonkAraq, any way to override a method in the current scope?
02:12:06flaviuI want to override it to never being defined
02:13:15flaviuNot even `from macros import treeRepr, children` works, I guess I'll just write my own printing
02:13:38reactormonk:-/
02:16:36*Demos_ joined #nimrod
02:19:46NimBotAraq/Nimrod devel 23e9ed8 Simon Hafner [+0 ±1 -0]: added `continue` to errStmtInvalidAfterReturn
02:27:59*q66 quit (Quit: Leaving)
02:43:26Demos_wow I am looking at the style guide for the programming class I am taking next year, People bitch about it but it is like the most basic stlye guide ever!
02:48:10fowlDemos, java or c++?
02:50:53Demos_c++
02:51:51Demos_it is called "Object-Oriented and Advanced Programming", but it is not some kind of insane OOP is great you should have everything OOP because it totally makes code better here is zero data to prove it"
02:53:22flaviuI seems like repr only handles some loops. That or the object I'm looking at is over 200 levels deep.
03:02:18EXetoCI bet it's the latter
03:04:39*Demos_ quit (Ping timeout: 250 seconds)
03:09:52fowlflaviu, repr shouldnt be used for cyclic things
03:10:26flaviuIs there an alternative, especially for PNodes?
03:10:33EXetoCyou can always have a limit
03:12:16flaviuEXetoC: How?
03:12:16flaviufowl: I guess thats a bug in the docs then? "It works even for complex data graphs with cycles"
03:13:47fowlflaviu, idk, if it works for you then it works
03:26:06*xenagi quit (Quit: Leaving)
03:40:19*brson quit (Ping timeout: 252 seconds)
03:42:02*brson joined #nimrod
03:53:15*brson quit (Ping timeout: 240 seconds)
04:11:22*Varriount_ joined #nimrod
04:11:24*Varriount||Mobil joined #nimrod
04:12:48*Varriount quit (Ping timeout: 245 seconds)
04:13:07*Varriount|Mobile quit (Ping timeout: 250 seconds)
04:15:05*BitPuffin quit (Ping timeout: 265 seconds)
04:24:02*flaviu quit (Remote host closed the connection)
04:29:39*psquid joined #nimrod
04:30:03*psquid_ quit (Ping timeout: 276 seconds)
05:03:52*Technicality joined #nimrod
05:15:27Technicalitywhat is the best place to paste code?
05:16:40*Demos quit (Read error: Connection reset by peer)
05:25:09*Demos joined #nimrod
05:28:14reactormonkTechnicality, nothing special, I use lpaste
05:28:34reactormonkTechnicality, and naturally, gist @ github
05:29:51*nequitans quit (Ping timeout: 276 seconds)
05:35:45Skrylarsdl.. why you do dis
05:35:56Skrylarit stores gestures in global tables
05:36:03Skrylarbut everything else in sdl is properly reentrant
05:41:30*nequitans joined #nimrod
05:45:31*Technicality quit (Ping timeout: 258 seconds)
06:17:43*Varriount||Mobil quit (Read error: Connection reset by peer)
06:18:06*nequitans quit (Ping timeout: 258 seconds)
06:20:05*Demos quit (Ping timeout: 250 seconds)
06:27:41*DAddYE joined #nimrod
06:37:32reactormonkremind me, how again do you splice strings...
06:45:45*EXetoC quit (Quit: WeeChat 0.4.3)
06:47:38Varriount_reactormonk: splice? as in join?
06:47:44*Varriount_ is now known as Varriount
06:52:08*[1]Endy joined #nimrod
06:57:58reactormonkVarriount, nah, [0..]-1
06:58:03reactormonkehh [0..-1]
07:02:46*DAddYE quit (Remote host closed the connection)
07:03:17*DAddYE joined #nimrod
07:07:44reactormonkVarriount, hmm, how do I do pointer arithmetics again, do you remember?
07:08:07*DAddYE quit (Ping timeout: 265 seconds)
07:11:51Skrylarreactormonk: easy answer is "you don't", more difficult answer is fowl's github has a module for that
07:13:36reactormonkSkrylar, well, some C api requires it
07:19:32*DAddYE joined #nimrod
07:34:42reactormonkgot (TDbConn, string, cstring, cstring), (db: TDbConn, model: string, a: string, b: string): float
07:34:45reactormonkhum
07:36:03*Mordecai joined #nimrod
07:36:08reactormonkhum
07:36:21*Mordecai is now known as Guest16039
07:37:06*psquid quit (Ping timeout: 240 seconds)
07:47:26*io2 joined #nimrod
08:18:08*DAddYE quit (Remote host closed the connection)
08:18:34*DAddYE joined #nimrod
08:23:04*DAddYE quit (Ping timeout: 258 seconds)
09:21:27*[2]Endy joined #nimrod
09:24:15*[1]Endy quit (Ping timeout: 250 seconds)
09:26:46Araqreactormonk: how about fixing $ for floats?
09:30:52reactormonkAraq, all in due time
09:31:07Araqwe will release tomorrow
09:32:21reactormonkah fuck
09:33:34reactormonkAraq, in doubt, just revert my changes
09:34:35Araqyou can do that too ;-)
09:36:37reactormonkI doubt you want to help me with some sql
10:04:36reactormonkAraq, gotta say "expression has no address" isn't too informative
10:10:14*Matthias247 joined #nimrod
10:22:30Araqok, so make it "expression is no L-value" :P
10:34:30VarriountGood morning!
10:42:30VarriountHm.. So it appears that, at least within the past year, preliminary tests have shown that gcc compiled programs run more slowly than vcc compiled ones.
10:42:58VarriountOn the one hand, faster is good. On the other hand, I rarely deal with the "X is not fast enough" argument.
10:44:47VarriountAraq: You'll be happy to know that, at the moment, I'm re-testing the installer infrastructure I have set up, so that shiny new nimrod installations can be produced.
10:57:14dom96'morning
10:58:31dom96Araq: where are we with async?
11:02:53*Guest16039 is now known as psquid
11:05:16reactormonkAraq, l-value?
11:05:37reactormonkdom96, btw, I allowed myself a slight change in the sqlite3 module
11:05:59dom96ok, why are you telling me this specifically?
11:06:27reactormonkbecause I had some slight association you were maintaining that
11:07:02dom96nope
11:17:05*uvelichitel joined #nimrod
11:17:27dom96hello uvelichitel
11:21:37uvelichitelhi there. My lang of choice today is Go. I learn recently about nimrod. It looks nice. I mostly interested in net programming, so i looks for generic server and async IO and sockets in nimrod stdlib
11:25:37uvelichitelDoes nimrod uses system processes for threads, or own? Can I read somewhere about concurrency model? Some tutorials, explanation materials? Precisely about server programming.
11:26:19Araquvelichitel: we have c# inspired async+await which is *almost* ready
11:27:01Araqwe also have async sockets which are useful today :-)
11:27:20Araqsince we compile to C, we use OS level threads
11:28:20*io2_ joined #nimrod
11:28:36*io2 quit (Ping timeout: 258 seconds)
11:29:59*io2_ quit (Client Quit)
11:30:33AraqI don't think we have a threading tutorial yet. Nimrod uses thread local heaps and so is not as convenient as Go. For now. ;-)
11:31:59uvelichitelAraq: Thanks. Can't googling much tutorials about nimrod idiomatic usage to get feet wet. Manual quite readable but some incomplete. Where should I start? Reading stdlib source?
11:32:48Araqhmm nimforum uses the async stuff iirc
11:43:21reactormonkAraq, gotta say I would prefer some variable-length float :-/
11:43:32reactormonkbut I got no idea how to do that.
11:43:46Araqwhat's a variable length float?
11:43:49uvelichitelAraq: nimforum use Jester. Jester imports httpserver and asyncio from stdlib, as far as I can understand. So all magic in stdlib?
11:44:08Araquvelichitel: afaik, yes
11:45:55reactormonkAraq, variable length float $
12:08:41*runvnc1 joined #nimrod
12:11:54*q66 joined #nimrod
12:11:54*q66 quit (Changing host)
12:11:54*q66 joined #nimrod
12:14:54*runvnc quit (*.net *.split)
12:14:55*phI||Ip_ quit (*.net *.split)
12:17:17*phI||Ip joined #nimrod
12:39:07*Enumerate joined #nimrod
12:41:09Araqhi Enumerate welcome
12:43:41Enumeratehello. do functions already exist that convert sequences to strings?
12:44:54VarriountEnumerate: Sequences of what?
12:45:44Enumeratewhen split is used in strutils it becomes a sequence
12:45:48Enumerateto rejoin them to strings
12:46:36VarriountEnumerate: strutils.join
12:48:37Enumerateok so openarray[string] and seq are similar
12:57:35*runvnc1 quit (Quit: WeeChat 0.4.1)
13:14:07Enumerateis there an inbuilt function that will return multiple positions found in a string such as find "hat" in "the hat was the best hat ever" that will return both positions of "hat". at pos 4 and 16?
13:15:16*BitPuffin joined #nimrod
13:16:05*Skrylar quit (Ping timeout: 250 seconds)
13:21:23dom96Enumerate: Don't think so, you should be able to create one yourself with the help of the find proc in strutils.
13:34:35*EXetoC joined #nimrod
13:38:30Enumerateworked out good
13:40:34*darkf quit (Quit: Leaving)
13:54:48*Enumerate quit (Remote host closed the connection)
14:36:02*Jesin joined #nimrod
14:36:26*Jesin quit (Read error: Connection reset by peer)
14:42:04*Jesin joined #nimrod
14:57:05*Mordecai joined #nimrod
14:57:24*Mordecai is now known as Guest46329
14:59:32*psquid quit (Ping timeout: 245 seconds)
15:16:25*Matthias247 quit (Read error: Connection reset by peer)
15:57:30*Demos joined #nimrod
16:06:33*Jesin quit (Remote host closed the connection)
16:06:50*xenagi joined #nimrod
16:11:37*[2]Endy quit (Ping timeout: 252 seconds)
16:32:02*flaviu joined #nimrod
16:36:31flaviuAraq: What does ABC and ABI mean in the VM?
16:53:00*Demos quit (Ping timeout: 276 seconds)
16:59:08*nequitans joined #nimrod
17:54:23*Jesin joined #nimrod
17:56:44*io2 joined #nimrod
18:06:55*ehaliewicz joined #nimrod
18:22:36*vendethiel quit (Remote host closed the connection)
18:22:50*vendethiel joined #nimrod
18:25:22*Demos joined #nimrod
18:29:30*nequitans quit (Ping timeout: 258 seconds)
18:39:36*Demos quit (Ping timeout: 276 seconds)
18:46:02*superfunc joined #nimrod
18:54:31*nequitans joined #nimrod
19:04:43*[1]Endy joined #nimrod
19:07:42*Demos joined #nimrod
19:17:00Demosit seems that 1.0/2.0 in the VM is 0.0
19:17:07Demosor maybe that is just nimrod i
19:17:44flaviuDemos: I think thats reactormonk's fault
19:17:45flaviuhttps://github.com/Araq/Nimrod/issues/1109
19:17:46dom96Demos: likely this issue https://github.com/Araq/Nimrod/issues/1109
19:18:26Demosugh I gotta reboot
19:22:46*Demos_ joined #nimrod
19:23:04*Demos quit (Read error: Connection reset by peer)
19:23:10Demos_I am pretty sure the latest KDE update changed the ABI of the libs or something
19:23:35Demos_or at least changed a version string that caused konq to refuse to start
19:29:37*Demos_ quit (Ping timeout: 250 seconds)
19:30:24*Matthias247 joined #nimrod
19:32:01flaviu`let a = c.genx(n.sons[0], flags)` isn't very readable :/
19:33:59xenagiis that from somewhere?
19:34:20flaviuYes, https://github.com/Araq/Nimrod/blob/devel/compiler/vmgen.nim#L1182
19:43:23fowlflaviu, the compiler needs documentation badly
19:43:34fowland better variable names >_>
19:44:25flaviuHow about a warning on 1 char variables?
19:44:56flaviuexcept i, I guess
19:45:19fowli,j,k,L,a,b,..
19:45:58flaviufowl: read vmgen, a and b shouldn
19:46:06flaviu't be whitelisted
19:53:36flaviuHow do I create an AST that subtracts? newNode(nkInfix, info, @[newIdentNode(getIdent("-"), info), a,b]) crashes the VM code generator.
19:58:38fowlnewIdentNode is from macros?
19:58:52flaviuNo, from ast
19:59:26*Demos joined #nimrod
20:08:22Demosoh, it is just an issue with `$`, well that is not world-ending
20:22:18*Demos quit (Ping timeout: 276 seconds)
20:22:42*nequitans quit (Ping timeout: 240 seconds)
20:32:37*Demos joined #nimrod
21:01:40reactormonkDemos, still kinda nasty
21:05:10NimBotAraq/Nimrod devel 6ee1717 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Mentions jsondoc in compiler advanced help.
21:05:10NimBotAraq/Nimrod devel 1f9f34b Simon Hafner [+0 ±1 -0]: Merge pull request #1111 from gradha/pr_mentions_jsondoc_command... 2 more lines
21:13:01*Demos quit (Ping timeout: 252 seconds)
21:16:01*Demos joined #nimrod
21:16:15*[1]Endy quit (Ping timeout: 276 seconds)
21:20:22flaviureactormonk: Can you pull 1113?
21:21:06Demosif you forward declare a proc with a doc comment and then have a doc comment on the definition of the proc what does docgen do?
21:23:07BitPuffinDemos: commit suicide
21:23:19BitPuffinDemos: I'd imagine it only shows the public one
21:23:59fowllol
21:25:11BitPuffinwhat word does nimbros prefer, exported, or public
21:28:35fowlpubic
21:29:43flaviuBitPuffin: exported, see http://build.nimrod-lang.org/docs/docgen.html
21:42:25dom96this is pretty cool: http://autocomplete.redis.io/
21:43:18*Varriount|Mobile joined #nimrod
21:44:25Varriount|MobileAnyone here have a Hacker News account?
21:44:42dom96yes
21:44:52BitPuffindom96: not sure what it's for tho
21:45:08dom96BitPuffin: it's just a demo
21:45:12BitPuffindom96: ah
21:45:14BitPuffinyeah
21:45:16BitPuffinit's nice
21:45:18*superfunc quit (Ping timeout: 240 seconds)
21:46:14dom96Varriount|Mobile: Why do you ask?
21:46:18Varriount|Mobiledom96: There's an article on the front page about "Why Delphi won't Die", and the comments feature positive things about Delphi and Pascal
21:46:35dom96Varriount|Mobile: I already commented there.
21:46:38BitPuffinI know a guy who works with Delphi
21:46:48BitPuffinLOL dom96
21:46:50BitPuffinnerd
21:46:54xenagihey guys, i know of a way to help (a patch?) and contribute, but I don't know where to start in the codebase
21:46:58Varriount|MobileSince nimrods syntax is very Pascal-like, it might be a good opportunity to comment on nimrod
21:47:05*foodoo joined #nimrod
21:47:09BitPuffinxenagi: check the issue list
21:47:18xenagibasically, all REPLs and shells terminate with CTRL+D (End of Transmission)
21:47:26dom96BitPuffin: stfu
21:47:28xenagiBitPuffin, already had something in mind, just need some pointers
21:47:40BitPuffinxenagi: and start with poking around with the bug, look at the stack trace and stuff
21:47:41EXetoCflaviu: "c: PCtx" for example appears a gazillion times so that's fine imo, but "genx" is indeed pretty obscure. any idea what it might mean? :p
21:47:44xenagibut "nimrod i" does not
21:47:47BitPuffinxenagi: you should read through the ast module though
21:47:53Varriount|MobileAnd if the issues list overwhelms you, look at the Google Summer of Code ideas page on the github wiki
21:47:54BitPuffindom96: </3
21:47:56BitPuffinok
21:47:56fowlxenagi, try bootstrapping with --d:useGnuReadline
21:47:59*BitPuffin abandons nimrod
21:48:03xenagilol
21:48:05xenagithanks fowl
21:48:08xenagiand BitPuffin
21:48:24*BitPuffin is not allowed to talk anymore
21:48:24flaviuxenagi: Don't take the PRNG from the GSOC, that's my module
21:48:35flaviu:P
21:48:49xenagi:/ well, damn... NOW what do i do :P
21:48:52*BitPuffin downloads ocaml and haskell
21:49:05BitPuffindom96: do you see what you have DONE?!
21:49:49Varriount|Mobilexenagi: Doc-u-men-ta-tion
21:50:03xenagiI could do that...
21:50:10dom96xenagi: There are soooo many libraries you could be implementing in pure Nimrod.
21:50:14xenagiI do find it quite lacking tbh
21:50:28BitPuffinxenagi: if you do docs, we will all hug you at nimcon
21:50:33flaviuxenagi: The macro docs should be straightforward, if you want to work on them
21:50:38xenagitheres a nimcon?? lol
21:50:46BitPuffinone day yeah
21:50:50foodoowhere?
21:50:50Varriount|MobileAnd if you get bored with standard library documentation, you could always try documenting the compiler internals >:D
21:50:54fowlxenagi, yes, its at your house, next week
21:51:01BitPuffinfoodoo: there hasn't been one yet
21:51:04xenagi-.-
21:51:13flaviuxenagi: For maximum fun, document the VM internals!
21:51:24foodooThere is a VM?
21:51:47dom96For example, re implemented in pure nimrod would be fun :P
21:51:49flaviufoodoo: Yes, it powers `nimrod i` and all compile-time execution
21:52:08Varriount|MobileConsidering how spatially spread-out the developers are, we would probably have to host a convention by skype or google hangout
21:52:17BitPuffinfoodoo: yeah
21:52:17BitPuffinfoodoo: for running interpreted nimrod
21:52:17BitPuffinxenagi: alternatively you can fix my bugs with generics
21:52:17BitPuffindom96: or haskell
21:52:37dom96BitPuffin: I bet one already exists in pure haskell
21:52:58dom96If you do it in Nimrod no one will accuse you of reinventing the wheel :P
21:54:04flaviuAnd with compile-time compilation of the regexes
21:54:05dom96flaviu: In regards to PR #1113 it's probably best to ask Araq about it before getting reactormonk to pull it.
21:54:42dom96^^ yes
21:54:51dom96I wonder how hard it would be to copy the Go implementation.
21:54:57flaviudom96: Ok, I'll wait for him then. Initially, my changes were a bit more limited.
21:55:17renesacxenagi, if you want something that must be done now: fix the $ for floats
21:55:21Varriount|Mobileflaviu: If I recall correctly the compiler files are meant to be independent from the standard library
21:55:35BitPuffindom96: well you told me to stop using nimrod so whaddaIdo
21:55:52Varriount|MobileAlso see my comment on the pendx.nim
21:56:13flaviuxenagi: D-style scope macros
21:56:15dom96BitPuffin: I did no such thing
21:56:50flaviuVarriount|Mobile: I responded, the file is really basic and does nothing, and if its needed git still has a copy.
21:57:43flaviuVarriount|Mobile: The compiler uses the stdlib in many places, I think that was only the case in the pascal days because the compiler was in pascal and stdlib in nimrod.
21:59:22dom96flaviu: It's possible that the compiler version also has some optimisations which the stdlib can't have.
21:59:50Varriount|Mobileflaviu: Then you may as well open an issue to deduplicate the compiler's ropes module
22:00:01dom96It's more likely that no one bothered to rewrite the code so that it uses the stdlib though.
22:00:15dom96So a PR would be much better :P
22:00:51*Demos quit (Ping timeout: 250 seconds)
22:01:04flaviudom96: parsecfg is never used, `grep -r 'parsecfg' ./compiler ` returns nothing
22:01:20*brson joined #nimrod
22:01:50flaviuAlso, is anyone planning on deleting newtempl, vm2, vm2_2, newasync, and newparser? They've already been merged into master.
22:04:21*superfunc joined #nimrod
22:05:03flaviuVarriount: Ok, bug #1115
22:07:26BitPuffinflaviu: what's it aboot?
22:07:57flaviuBug 1115? The stdlib has a ropes module and the compiler has its own separate ropes module
22:08:14BitPuffinlol
22:18:07Araqflaviu: ABC # takes registers A, B, C
22:18:22AraqABI # takes registers A, B and an Immediate
22:19:13dom96Araq: You need to write a compiler/vm cheatsheet/reference
22:19:38flaviuThanks, that makes sense
22:20:31flaviuI would appreciate it if the VM used more verbose names though
22:21:34AraqI think it's documented in vmdef.nim
22:22:08EXetoCand the x in genx?
22:22:14Araqand I disagree, these names are used all over the place
22:22:48Araqthe 'x' stands for "I allocate the register, you better ensure to free it afterwards"
22:24:12flaviuAraq: Can you go through the VM and place comments like that? I would make it easier to understand.
22:25:09Araqyou could also read what it does ...
22:25:24Araqit's not like it's hidden from you or something, you know
22:25:42Araqiirc genx is a 4 line shell around 'gen'
22:26:21Araqbtw Lua uses the same ABC, ABI convention ...
22:44:25*uvelichitel quit (Quit: Textual IRC Client: www.textualapp.com)
22:58:37*silven quit (Remote host closed the connection)
23:05:03*psquid joined #nimrod
23:06:27*Guest46329 quit (Ping timeout: 240 seconds)
23:06:46flaviuAraq: So if I understand correctly, genABC takes the A and B registers, applies the opc operation to them, and stores them into register C?
23:08:15Araqno regA is the destination register
23:09:59*foodoo quit (Quit: happy easter)
23:17:20*Skrylar joined #nimrod
23:19:09*Reasonable joined #nimrod
23:19:27Araqhi Reasonable welcome (back?)
23:20:25NimBotAraq/Nimrod devel b961e47 Araq [+1 ±12 -0]: new concurrency model: first steps; shared is not a keyword anymore
23:20:25NimBotAraq/Nimrod devel 8e08ff5 Araq [+0 ±9 -0]: first version of 'spawn'
23:20:25NimBotAraq/Nimrod devel 3b69a8d Araq [+1 ±22 -0]: New concurrency model: next steps
23:20:25NimBotAraq/Nimrod devel 9a27040 Araq [+0 ±1 -0]: marked markAndSweep GC thread safe
23:20:25NimBot1 more commits.
23:21:12Skrylartime for another glorious day of yak shaving
23:21:16BitPuffinAraq: woa
23:21:20BitPuffinlol yak shaving
23:21:29Araqreactormonk: this is how to break things :P
23:21:36Araqit doesn't even bootstrap. yay.
23:21:40BitPuffinhahaha
23:21:41flaviuWhich yaks are we shaving?
23:21:42BitPuffinand you commit?
23:21:52AraqBitPuffin: it bootstraps for me :P
23:21:56Skrylarflaviu: me shaving yaks so i can have a gui
23:21:57BitPuffinah
23:22:00BitPuffinwell fair enough then
23:22:02BitPuffinAraq: let me guess
23:22:04BitPuffinmac os x
23:22:11Araqno
23:22:16BitPuffinnetbsd?
23:22:34flaviuHaiku OS?
23:22:38BitPuffinhaha
23:22:43BitPuffinhaiku didn't bootstrap before
23:22:45BitPuffinwell it does
23:22:47BitPuffinif you disable
23:22:49BitPuffinuh
23:22:57BitPuffincaas
23:22:57Araqcyclic dependencies between system.nim and the compiler
23:22:58xenagiopenbsd :D
23:23:23AraqI patch the compiler and then system.nim and then nothing works with an old compiler
23:23:24xenagi(i thought we were naming OSs we liked lol)
23:23:51Skrylarhaiku..
23:23:53*Demos joined #nimrod
23:23:57Skrylarits a shame that OS will never amount to anything :(
23:23:58BitPuffinSkrylar: is fucking awesome
23:24:01Skrylari heard Be was really well architected
23:24:07BitPuffinit is
23:24:14SkrylarAMOS was too
23:24:14xenagihow so?
23:24:19*darkf joined #nimrod
23:24:27BitPuffinxenagi: extremely multithreaded
23:24:27xenagiBitPuffin, if Plan 9 couldn't make it... :/
23:24:32Skrylarxenagi: because for an OS to succeed it has to have heoric amounts of marketing
23:24:39*Reasonable quit (Ping timeout: 252 seconds)
23:24:44SkrylarMicrosoft has screwed up enough times that if anyone was on their game, they could have moved in
23:24:49SkrylarBut nobody is actually organized enough to do it
23:25:02BitPuffinI love haiku
23:25:05BitPuffinit's my fav os
23:25:50xenagiextreme concurrency is appealing...
23:25:58flaviuHave people seen http://dlang.org/library/std/bitmanip.html ?
23:26:34EXetoCyes
23:26:36BitPuffinxenagi: and things are just really really simple
23:26:37flaviuWell, http://dlang.org/phobos/std_bitmanip.html is a better link
23:26:48BitPuffinxenagi: for example the applications menu is just showing a directory
23:26:56BitPuffinso to get something to show up in the menu you just put it there
23:27:22DemosBitPuffin well that is how it works in windows, except there are like 18 different directories all named in misleading ways
23:27:23BitPuffinthis is more of a #nimrod-offtopic though and Araq is kinda trigger happy when it comes to me so if you wanna talk more haiku do it there
23:27:33BitPuffinDemos: pff, windows
23:27:35BitPuffinget outaheee
23:27:42DemosAraq I think you broke bootstraps with the {.gcsafe.} annotations
23:27:50BitPuffinDemos, Varriount|Mobile, dom96: I'm disappoint in you all
23:27:57SkrylarBitPuffin: lol araq never told anyone to make that channel xD
23:28:07Demoswhat channel?
23:28:11Skrylarofftopic
23:28:13BitPuffin#nimrod-offtopic
23:28:34dom96BitPuffin: what why? I wasn't following the discussion?
23:28:52BitPuffinBecause it's been lonely as fuck in the vnug the past days 3':
23:30:18Araqso ... it turns out 'uses' tracking is quite useless
23:30:32Araqofc I found out after having implemented it
23:30:49BitPuffindom96: well at least Demos joined, but where you at
23:30:54SkrylarAraq: lol
23:31:01SkrylarAraq: what were you expecting it to do?
23:31:10dom96BitPuffin: You've been in the VNUG for the past 3 days!?
23:31:11AraqSkrylar: what 'gcsafe' now does
23:31:53BitPuffindom96: yeah
23:32:54dom96BitPuffin: Well, i'm always just sitting there listening and barely ever talking so meh
23:33:36BitPuffindom96: well you should be there
23:37:10*brson quit (Quit: leaving)
23:39:36flaviuSo all the top 127 registers are temporary registers?
23:40:45Araqno a register either holds a local variable a parameter or a temporary
23:40:51Araq0 is always result
23:40:55Araq1 is the first param
23:41:00Araq2 the 2nd etc.
23:41:27Araqand then the rest is used for locals and temporaries
23:41:53flaviuOk, but I'm not sure what imm+byteExcess is doing
23:42:14Araqit's encoded in "excess K"
23:42:49flaviuI googled that, but why do you need signed registers?
23:43:15Araqimmediate values are immediate and no registers
23:43:48Araqit's a constant directly encoded in the instruction
23:44:06flaviuOh, that makes sense, thanks.
23:44:26Araqand I like to have negative constants so 'x = -1' produces tiny code
23:45:15flaviuI understand, I thought imm was intermediate, not immediate
23:48:24*nande joined #nimrod
23:59:05*nande quit (Remote host closed the connection)
23:59:43Araqif there is no result, register 0 is not used