<< 02-04-2014 >>

00:03:13DemosVarriount: why is this better than just having a function returning a value?
00:03:19DemosI still do not get it
00:03:32VarriountDemos: It allows one to re-use memory
00:05:15Demosright, in some cases. But in many cases the compiler will optimize out copies. I guess the alternitive to this for when it does matter is relaxing the specs on result so it is not always zeroed
00:06:06Demosthis should be documented as "useful only if you have profiled"
00:07:26Demosalso, please, please, please do not use something like this in C bindings. It is really neat, but could be overused.
00:29:20*xenagi quit (Quit: Leaving)
00:48:41*q66 quit (Quit: Leaving)
00:50:57VarriountDemos: Why would I use it in C bindings?
00:51:13Demosa fair number of C APIs use out parameters
00:51:37VarriountRight now, it only works on one "out" parameter.
00:52:17VarriountAlso, how do I know when the compiler will optimize out copies? (Do compiler's even do that?)
00:57:30Demosyes, sometimes
00:57:33EXetoCyou can know that it might, if byCopy is omitted I think
00:57:55Demosactually, even if byCopy is on the return type I bet the C compile /may/ elide it
00:58:45EXetoCas always I say something that doesn't make much sense
00:58:48Demostest it!
00:59:09OrionPKis it possible to print out nice stack traces for those macros, Varriount ?
00:59:17OrionPKit'd be nice to do it for my templates module
00:59:20EXetoCbut omit byCopy and the nimrod compiler should decide whether or not copying is faster
00:59:45VarriountOrionPK: I'm trying, I'll post the new version in a minute
01:02:10*DAddYE_ quit (Remote host closed the connection)
01:03:19VarriountOrionPK: Updated.
01:08:36DemosEXetoC: right, but for output params the C compile may just use the memory of the variable you are assigning to
01:09:04*xenagi joined #nimrod
01:12:01EXetoCyes
01:29:14*BitPuffin joined #nimrod
01:31:54*xenagi|2 joined #nimrod
01:32:55*xenagi quit (Ping timeout: 240 seconds)
01:57:48*BitPuffin quit (Ping timeout: 255 seconds)
02:09:01*BitPuffin joined #nimrod
02:16:21*askatasuna quit (Ping timeout: 255 seconds)
02:21:31*brson quit (Ping timeout: 264 seconds)
02:37:56VarriountOrionPK: Araq was talking about making a macro like the one I just wrote part of the stdlib.
02:50:31*nande joined #nimrod
02:53:32*Gr33n3gg joined #nimrod
03:22:21*xenagi|2 quit (Quit: Leaving)
04:18:26*nande quit (Remote host closed the connection)
04:54:20*DAddYE joined #nimrod
05:05:46AraqDemos: 'asFunc' is about 'addf' vs 'format'. you can't reasonably get append semantics for a proper return type
05:06:10Araqso you write with append semantics and generate the function for convenience
05:06:38Demosoh
05:06:58Demosnot a wonderful name
05:07:10Demosbut that is reasonable.
05:07:17Araqit's not about copy elision
05:07:24Araqnot directly, at least
05:07:44Araqbbl
05:12:16*charlesgrodinfan joined #nimrod
05:13:03*charlesgrodinfan left #nimrod ("Quit")
05:40:11*Demos quit (Remote host closed the connection)
05:54:11*DAddYE_ joined #nimrod
05:54:11*DAddYE quit (Read error: Connection reset by peer)
06:01:04*skyfex joined #nimrod
06:02:23*DAddYE_ quit (Read error: No route to host)
06:02:47*DAddYE joined #nimrod
06:05:17*renesac joined #nimrod
06:24:38*DAddYE quit ()
06:29:30*askatasuna joined #nimrod
06:36:26*BitPuffin quit (Read error: Operation timed out)
06:48:42*askatasuna quit (Ping timeout: 252 seconds)
08:03:17*BitPuffin joined #nimrod
08:05:43*BitPuffin quit (Client Quit)
08:06:06*BitPuffin joined #nimrod
08:45:02*Gr33n3gg quit (Remote host closed the connection)
08:49:11*zahary__ quit (Ping timeout: 255 seconds)
08:50:08*BitPuffin quit (Ping timeout: 246 seconds)
08:55:59*BitPuffin joined #nimrod
09:33:32*ics quit (Ping timeout: 265 seconds)
09:35:41*ics joined #nimrod
09:42:07*io2 joined #nimrod
10:09:04BitPuffinAraq: Do you know if it is a common pattern to minimize branching in code using function pointers? ie doing some tests to determine something and assign a variable a function address based on the result and then in the loop call the pointer instead of every iteration doing an if this then call this and bla
10:44:50*easy_muffin joined #nimrod
11:01:42*Guest56680 quit (Quit: travel)
11:29:18*lyro` joined #nimrod
11:31:12*lyro quit (Ping timeout: 255 seconds)
11:35:20*lyro` quit (Ping timeout: 265 seconds)
11:37:55AraqBitPuffin: it is a pattern in some languages. it is usually an anti pattern for native code
12:43:17BitPuffinAraq: oh really? Why is it an anti pattern?
12:43:20BitPuffinSeems much more efficient
13:32:27*[1]Endy joined #nimrod
13:41:45*darkf quit (Quit: Leaving)
13:57:48*[1]Endy quit (Ping timeout: 255 seconds)
14:00:43AraqBitPuffin: depends but usually an indirect function call is worse than an 'if' for prediction
14:01:11Araq(it's an anti pattern for performance)
14:01:14Araqbbl
14:04:05*easy_muffin quit ()
14:25:04*easy_muffin joined #nimrod
14:38:57renesacBitPuffin, compilers optimizers usually do loop invariant code motion too
14:39:35renesacif it is clear that the condition will not change during the loop
14:56:50*rta joined #nimrod
14:58:50BitPuffinhm
14:58:51BitPuffindidn't know that
15:23:08*BitPuffin quit (Ping timeout: 240 seconds)
15:25:36*[1]Endy joined #nimrod
15:26:42*mwpher joined #nimrod
15:29:55mwpherHey! Is there any way to make echo not add a carriage return at the end of a line?
15:30:32EXetoCno, you have to use stdout.write then
15:31:31mwpherOkay
15:32:35mwpherThank you! I'll use that for the moment
15:33:44mwpherI might also see if I can add the ability to tell echo to not add a newline...
15:35:35*Demos joined #nimrod
15:36:44Demosmwpher: echo is really a shortcut, if you need more sophisticated formatting you will need to use something else
15:37:00*mwpher quit (Quit: mwpher)
15:40:02*easy_muffin quit ()
15:40:34*mwpher joined #nimrod
15:42:25EXetoCmwpher: I don't know if it currently is possible, assuming that you want to extend the original proc
15:45:15*mwpher quit (Client Quit)
15:45:30*mwpher joined #nimrod
15:46:02mwpherEXetoC: What do you mean if it's currently possible?
15:46:19mwpherBecause it's a builtin?
15:47:46DemosI don't think echo is a magic. Pretty sure it is just in system
15:47:47EXetoCmwpher: no. I'm pretty sure that nothing can follow 'varargs' at this point
15:48:35EXetoCDemos: It is a magic that is exposed via system.nim
15:48:37Demosthe solutio would be to make another proc for echoing without the newline, but I find when I need to do anything even moderately advanced I just apply $ to the args of echo
15:48:42Demosdamn really?
15:48:54Demoswhy does it need compiler magic?
15:50:12*Matthias247 joined #nimrod
15:51:30mwpherEXetoC: I know that, I was thinking a token at the end of the string to tell echo to NOT put a newline. Like "if string ends with \x, break, else write \n"
15:52:16mwpherAnd yeah I never understood who would need compiler besides someone writing a backdoor
15:52:19dom96Demos: It's likely an old implementation detail.
15:52:26mwpher*compiler magic
15:52:51EXetoCI don't consider that a good solution. Anyway, do you really need it so often that typing stdout.write ends up being tedious?
15:52:54*[2]Endy joined #nimrod
15:53:09Demosheck I almost always just echo one string anyways
15:55:38*[1]Endy quit (Ping timeout: 240 seconds)
15:56:28mwpherEXetoC: 1. I know that some popular language uses that already, can't remember what. 2. I use it to ask a question of the user before a readLine
15:57:11mwpherIt may be shell scripting that does that actually
15:58:06Demosjust use write. I was gunna guess perl for that other language, seems like a very perlish thing to do
16:05:16*foodoo joined #nimrod
16:05:16mwpherI'm curious, what do you all use nimrod for
16:05:42foodoohaving fun
16:07:11foodooSeriously though, there is a project that I might use Nimrod for. But I haven't decided yet.
16:07:11DemosI am writing graphics code. I like nimrod because it builds much faster than c++ even for small projects and it has modules so organising my code and dealing wtih scope is super easy
16:07:34Demosthe more advanced features of nimrod are still somewhat unstable though
16:08:43mwpherIt seems like a great language, it just needs a few more years on it
16:09:21Demoswell it has needed a few more years for a few years :D. It needs full-time devs which requires money
16:10:27DemosI just enjoy not having to write cmake/make/msbuild files
16:11:19*fowl quit (Ping timeout: 264 seconds)
16:17:19foodooI like to explore new languages from time to time
16:19:05mwpherOh yeah, another question
16:19:57mwpherIn C, you can print a float with only as many digits that matter, like printf("%G", float)
16:20:30mwpherHow can I do that in nimrod without having to specify the number of trailing digits?
16:21:17dom96formatFloat(float)
16:23:21EXetoCstrutils.formatFloat to be exact, but no that doesn't seem to do what he asked for
16:23:56*fowl joined #nimrod
16:24:31mwpherI think I had tried parsefloat, not formatFloat... I'll look at that
16:24:38EXetoCI haven't seen the 'operator' pragma before
16:25:27mwpherOh, no I did use formatFloat
16:25:38mwpherWhat operator pragma
16:31:03EXetoCit's not relevant, and it appears to be no-op anyway
16:33:51*nande joined #nimrod
16:40:19*easy_muffin joined #nimrod
16:40:59*easy_muffin quit (Client Quit)
16:43:16Demoswhy did a KSP update have to come out the day before I have an exam.... whhhhyyyyy
16:44:57dom96ooh, is that the one with the asteroids?
16:45:11Demosyeah
16:45:22Demoswatch out! it is a trap for programmers
16:45:28Demosnot as bad as spacechem though
16:48:54DemosI wonder how much NASA actually had to do with it
16:51:39foodooWas games a focus of Nimrod from the very beginning or is that something that came later?
16:51:55foodooAt least when I read about thc GC, it mentions games
16:55:13*q66 joined #nimrod
16:57:20mwpherIt's also supposed to be for systems programming
16:57:25Demosdun know. I think games are one of a fairly small number of domains where you need tight memory control but also can benifit from being able let the language "just deal with it". Natural fit I guess
16:58:05Demosit is hard to displace c++ for games. All the middleware and libraries are C++
16:58:06mwpherWell, there goes my plan to expand formatFloat to have an "auto" mode
16:58:53mwpherI didn't expect it to be written in ancient Sumarian
16:59:17dom96foodoo: When Araq was implementing the real-time features in the GC he had games in mind as one of the use cases.
16:59:31EXetoCmwpher: what do you mean?
16:59:36dom96I think Nimrod was meant to be general-purpose from the very beginning though
17:01:26*q66 quit (Ping timeout: 252 seconds)
17:01:27mwpherEXetoC: It means I'm too stupid to read the system library and get what's going on
17:02:16EXetoCwhat is it that you consider cryptic?
17:02:47mwpherI wanted to expand the functionality to have an "auto" format that would just print the number of digits that it could before being redundant
17:03:06Demosmwpher: some of the code in the compiler is a little strange, the stdlib is not that bad but the compiler itself was initially written in some Pascal dialect and was translated over
17:03:06mwpherI'll see if I can explain it...
17:03:21mwpherThis is strutils
17:03:36mwpherDemos: Oh yeah, that may be related...
17:04:08EXetoCI don't know what the compiler code has to do with this
17:04:53Demosprobably not much
17:05:20DemosI bet the formatFloat code does some stuff that could be unclear if you do not know how IEEE754 works
17:05:24*q66 joined #nimrod
17:05:39EXetoCDemos: it does use sprintf actually
17:05:51Demosoh, OK then
17:06:30mwpherI'm looking at strutils line 1044
17:06:37EXetoCmwpher: ok so it uses either of these formats as you can see: ['g', 'f', 'e']
17:07:12mwpherOh wait... I know how sprintf works
17:07:25EXetoCand you said %G, right? so adding that shouldn't be that difficult. perhaps a member should be added to TFloatFormat
17:07:28mwpherWell, I guess I found what was confusing me
17:07:40mwpherIt's making a C format string
17:07:52mwpherOk, time to reevaluate
17:08:25EXetoCit certainly not sumerian IMHO :-)
17:08:45EXetoCsomeone should implement a sumerian DSL. I'm sure unicode has those glyphs
17:09:04EXetoCdoesn't it have klingon or something? it better have that too then :>
17:10:33dom96We should have done that for april fools.
17:11:02*DAddYE joined #nimrod
17:11:16mwpherOh yeah, and why does printing the number "2" in scientific or default print "2.00000000e" while decimal gives "1.9999999"
17:11:42mwpher(Number of digits not exact, I'm going from memory)
17:12:15mwpherWouldn't that be a bug?
17:13:24mwpherThe decimal mode output I mean
17:15:36mwpher(Side note: it can be a little frustrating running FreeBSD because you can never be sure that the bug you're experiencing is a general error, or just because you're using an OS the app wasn't written for)
17:18:31EXetoCI don't know why it differs in this case, but you can't expect exact results when dealing with floats
17:21:22mwpherI know that imprecise values are just part of the deal, but I can't imagine any reason that it's happening. It clearly recognizes that the number is just two
17:22:41mwpherAnd if C can recognize it and print it just fine, why can't Nimrod do the same thing?
17:22:55mwpherIt's just bugging me
17:29:22*mwpher_ joined #nimrod
17:29:27*mwpher_ quit (Client Quit)
17:29:35EXetoCcheck the format strings generated by nimrod
17:29:42Araqhi mwpher welcome
17:29:58*DAddYE_ joined #nimrod
17:30:58*brson joined #nimrod
17:32:06Araq$ for floats is the way it is because it used to do the "pretty" printing stuff and that caused bugs in the compiler itself due to losing relevant digits
17:32:39Araqthere is a PR to change it back to something sensible but I don't want to merge it until 0.9.4 is out as it clearly will break code
17:33:20Araqhi rta welcome
17:37:30*Zuchto_ joined #nimrod
17:38:18*DAddYE quit (*.net *.split)
17:38:18*fowl quit (*.net *.split)
17:38:18*foodoo quit (*.net *.split)
17:38:18*mwpher quit (*.net *.split)
17:38:19*cark quit (*.net *.split)
17:38:20*vendethiel quit (*.net *.split)
17:38:20*Zuchto quit (*.net *.split)
17:38:48*vendethiel joined #nimrod
17:45:15*fowl joined #nimrod
17:46:01*[2]Endy quit (Ping timeout: 240 seconds)
17:50:26*BitPuffin joined #nimrod
17:51:03*Demos quit (Read error: Connection reset by peer)
17:52:22*Gr33n3gg joined #nimrod
17:55:33NimBotAraq/Nimrod devel 9632abc Ron Leisti [+0 ±1 -0]: events.TEventEmitter.emit no longer throws an exception if the named event does not exist
17:55:33NimBotAraq/Nimrod devel b61a307 Andreas Rumpf [+0 ±1 -0]: Merge pull request #1052 from rleisti/devel... 2 more lines
17:57:06NimBotAraq/Nimrod devel cc6339b Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds convenience uncompress and inflate procs to zlib.... 4 more lines
17:57:06NimBotAraq/Nimrod devel 3b7d657 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Modifies inflate() to return a discardable bool. Refs #1048.
17:57:06NimBotAraq/Nimrod devel 2247729 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Uses swap() to avoid variable copies. Refs #1048.
17:57:06NimBotAraq/Nimrod devel 6a2e2f9 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Uses finally as statement to release zlib memory. Refs #1048.
17:57:06NimBot1 more commits.
17:57:38NimBotAraq/Nimrod devel ab67552 EXetoC [+0 ±5 -0]: Fix some tests.
17:57:38NimBotAraq/Nimrod devel f4d907b Andreas Rumpf [+0 ±5 -0]: Merge pull request #1061 from EXetoC/fix-tests... 2 more lines
17:59:29NimBotAraq/Nimrod devel bd8aabc EXetoC [+0 ±1 -0]: Implement overflow/underflow checking for the VM.
17:59:29NimBotAraq/Nimrod devel ea1bff3 EXetoC [+6 ±0 -0]: Add underflow/overflow tests.
17:59:29NimBotAraq/Nimrod devel eb1a0c7 EXetoC [+0 ±0 -1]: Remove executable.
17:59:29NimBotAraq/Nimrod devel bae55c0 Andreas Rumpf [+5 ±1 -0]: Merge pull request #1060 from EXetoC/vm-arithmetic-overflow... 2 more lines
17:59:57AraqEXetoC: superb work. Just as I imagined.
18:01:11Araqif you want you can now start working on the exception stuff :-)
18:01:24AraqI implemented the basics but it's quite broken
18:05:30EXetoCgreat
18:06:52EXetoCI assume it's not all that difficult. I can take a look at it
18:07:38EXetoCI'd like to make the checked arithmetic interface usable elsewhere, but I can work on that later
18:17:20*Gr33n3gg quit (Ping timeout: 268 seconds)
18:26:46EXetoCaren't you bothered by the lack of run-time information given to the user on assertion failures?
18:27:12EXetoCa more minimal version of unittest.check would be nice
18:30:33*Gr33n3gg joined #nimrod
18:32:56*cark joined #nimrod
18:33:13EXetoCworking on it
18:43:38*Raynes quit (Ping timeout: 240 seconds)
18:55:38*Gr33n3gg left #nimrod ("Leaving")
19:07:43*Raynes joined #nimrod
19:11:19*foodoo joined #nimrod
19:13:41*brson quit (Ping timeout: 252 seconds)
19:18:22*Mat3 joined #nimrod
19:18:27*Demos joined #nimrod
19:18:28Mat3good afternoon
19:18:41*zoran joined #nimrod
19:19:00foodooMat3: good evening
19:19:09Mat3hello foodoo
19:19:26foodoohi Mat3
19:19:41dom96hi Mat3
19:19:56dom96zoran: welcome to #nimrod
19:20:57foodooIn C/C++ pragmas are directives that are not part of the language. In Nimrod pragmas are part of the language. Correct?
19:21:03Mat3hi dom96
19:21:44Mat3foodoo: If I understand you correctly, yes
19:21:50dom96Mat3: What ever happened to that native code gen of yours?
19:21:50foodooSo every Nimrod compiler should understand all pragmas
19:22:24*zoran left #nimrod (#nimrod)
19:22:26Demoswe will worry about that when we have more than one nimrod compiler :D
19:22:30*zoran joined #nimrod
19:22:38*zoran left #nimrod (#nimrod)
19:23:14foodooDemos: That's probably also what the C guys thought ;)
19:23:24Mat3dom96: it's finished (however I'm currently working on more aggressive code optimizations for it)
19:23:41dom96Mat3: Is the source online anywhere?
19:23:46Demoswe do not even have a c++ style spec, so nimrod is defined by what araq's compiler accepts, indeed this is how it should be for a young language. Also note that nimrod is a bit dependent on the compiler since you have access to the AST
19:24:35skyfexfoodoo: The pragmas are pretty central to the language it seems to me, but if someone were to implement a new nimrod compiler, they could for instance drop support for example "packed" and "union"
19:25:18*[1]Endy joined #nimrod
19:25:29skyfexIf you don't intend to support the C-interfacing aspects
19:25:37skyfexLike with a javascript compiler maybe
19:25:38Mat3dom96: not the current sources, however you can take a look here (I will update the repro soon): https://www.assembla.com/code/vanar/git/nodes/master/src
19:26:16Demosis this direct nimrod -> binary?
19:26:26Demosor rather nirmod -> object files?
19:26:28EXetoCfoodoo: builtin pragmas to be precise
19:26:38AraqIMHO the C standard is academic and C is what the intersection of LLVM, GCC and visual C accept ;-)
19:26:48dom96Mat3: Awesome. Great job! Let me know when you update it. :)
19:26:51DemosI agree with araq on that point
19:27:15Araqin fact, some aspects of the C standard make no sense
19:27:16Demosbut you can be fairly certain that most all of C89 lies in that intersection
19:27:28dom96Mat3: You should consider putting it on github for greater exposure.
19:27:30Mat3Demos: Its AVM code -> native code
19:27:41Demoswhat is AVM?
19:28:01DemosAraq: care to elaborate on that? what parts?
19:28:19Mat3Demos: my own, MISC styled processor architecture
19:28:47Mat3AVm is the VM version of it
19:28:56Mat3= software emulation
19:29:56Mat3(it original was designed to be implemented in TTL logic or FPGAs)
19:30:02AraqDemos: the address range can have "holes" but ptrdiff_t is larger or equal to int iirc
19:31:01Araqstructs are allowed to have holes but then you can't memcmp them
19:31:28Araqnor can you memcmp arrays of structs and I don't think the spec mentions that
19:31:51Araqbut even if it does, I'm sure lots of code does exactly that
19:32:12Demosthat is strange. What kind of evil hardware designers would inflict such an arch on the world
19:32:29dom96Mat3: Any plans for creating a Nimrod -> Binary compiler?
19:32:30foodooAraq: I'd like to know your perspective: Are pragmas in Nimrod part of the language or are they just intended as compiler guidances that may or may not be followed?
19:33:12Araqfoodoo: they are part of the language and increasingly used. which is why we're considering a nicer syntax for them.
19:34:07Mat3dom96: It is on my list and I'm slowly start coding on it
19:34:30dom96Mat3: That's good to hear.
19:34:33*brson joined #nimrod
19:34:44Demosit seems to me pragmas (and effects) are a good way to allow more info to the code without complicateing the type system
19:35:37DemosMat3: once we can generate object code directly it would be super cool to also be able to generate executables directly, without using the regular system linker.
19:35:56Araqyou're damn right. The effect system is pure gold.
19:36:23Mat3I agree, where can I sign the petitition ;) ?
19:36:43dom96We are still missing some of the effects system features aren't we?
19:36:53Mat3Demos: That's the plan
19:37:39Araqdom96: of course. The effect system will be enhanced for concurrency, for instance
19:37:40EXetoCIt does seem to be pretty awesome
19:38:02EXetoCthere, less bias
19:38:03DemosMat3: is is possible to skip the nimrod->objects part and still be able to do neat things with a new linker?
19:38:15*BitPuffin quit (Ping timeout: 240 seconds)
19:39:15Mat3hmm, should be possible. However there are some pitfalls because operating systems like Linux follwing the ELF specification only poorly
19:39:30Mat3^following
19:39:47DemosAraq: so once the effect system is more complete you could do things like write a dispatcher that is aware of who writes what and can order calls in such a way as to reduce the number of things competeing for locks, right?
19:40:11*BitPuffin joined #nimrod
19:40:53*Mat3 is now known as Mat3-coding
19:42:04AraqDemos: I'm not sure I can follow
19:42:15*[1]Endy quit (Ping timeout: 240 seconds)
19:42:40Araqthe effect system ensures deadlock freedom at compile time
19:43:02Araqand could be used for auto-parallelization
19:49:18Mat3-codingas side note: An easy way to auto-parallelization can be in addition simply the usage of (side-effect free) higer-order functions
19:50:18Araqyeah I've heard that before :P
19:51:05*Araq doesn't really believe in functional programming
19:51:05*brson quit (Ping timeout: 252 seconds)
19:52:00dom96Araq: careful now
19:52:55dom96You don't want to piss off the functional programming fanatics :P
19:53:17Araqshared state is evil. but you can also decide to remove the 'shared' and keep the 'state' part instead of removing the 'state' part and keeping the 'shared'. :P
19:53:25EXetoCyou hate all related concepts? :>
19:53:54Araqno, I don't hate it at all. it's too cool to hate it.
19:54:20Araqbut it's impractical for lots of things
19:56:24EXetoChow do I turn a node into a stmt? other than running it through a "(expr): stmt" template
19:58:33Mat3-codingAraq: You described the concatenative programming paradigma as alternative (which equals to the functional one, see the publications of Mr. Thun)
19:59:46AraqEXetoC: why do you need that?
20:00:18dom96Speaking of which, do we still need both 'expr' and 'stmt', are they not the same now?
20:00:36Mat3-codingit is just another code representation
20:02:45*BitPuffin quit (Ping timeout: 255 seconds)
20:03:17Araqdom96: currently there are still subtle differences
20:03:28Araqbut these are all bugs ... I think
20:03:46Araqyay @an evolving spec
20:04:40VarriountAraq: Well, as I see it, the alternative to change is stagnation, which is usually a bad thing.
20:05:11VarriountAraq: Any features that you would like me to add to that duoFunc macro I posted?
20:05:43Araqonly skimmed your implementation, sorry
20:05:55Araqwhy duoFunc and not asFunc?
20:06:21NimBotAraq/Nimrod devel 32f8e28 Araq [+0 ±1 -0]: todo.txt updated
20:06:21NimBotAraq/Nimrod devel 9b9755b Araq [+5 ±8 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
20:06:41VarriountI don't really have a good reason, other than that "duoFunc" sounds cooler.
20:06:56Araqit doesn't for me :P
20:07:13AraqduoFunc, por favor!
20:07:20*brson joined #nimrod
20:08:11AraqVarriount: what about niminst etc? can you produce working 32bit and 64bit installers?
20:08:26VarriountAraq: Yes. You had me do that ages ago.
20:08:52Araqwell I still think we can release this week
20:09:12*BitPuffin joined #nimrod
20:09:30Araqdo you include recent mingw with these?
20:09:38Araqcause you should
20:10:09Araqoh and integrate babel with the installer
20:10:09VarriountAraq: Yes, however it's not the 'bare installation', because the script to produce a bare installation won't work, and I can't figure out how to fix it.
20:10:23Araqok no problem
20:10:34Araqwell next step is babel integration then
20:10:47Araqfor win we need the exe + dependent dlls
20:11:03Araqfor unix we need to integrate the C sources somehow
20:11:05VarriountIntegrate..? You mean, include babel into the installation package?
20:11:11Araqyes.
20:11:30VarriountWell, it would help if babel was actually part of the nimrod repository...
20:11:43Araqwe decided against that
20:11:54Araqbabel needs its own issue tracker for instance
20:16:01*Mat3-coding thinks the x86 architecture is horrible
20:16:44VarriountMat3-coding: Howso?
20:18:06AraqMat3-coding: I recently read that x86's archaic instruction set makes up for 1% of the die size on a modern implementation
20:18:16Araqbut I don't know if that's accurate
20:18:17Mat3-codingthe DIV opcode only address either AX, EAX or RAX (an i8085 related idea of a fixed accumulator)
20:18:55Mat3-codingfor example
20:19:07NimBotAraq/Nimrod devel 17a594b Araq [+1 ±0 -0]: added tmissingnilcheck test
20:19:16EXetoCAraq: I'm modifying the 'check' macro which returns stmt. callsite()[1] is the relevant node
20:19:31EXetoCis it possible? I'll just use a template otherwise. no big deal
20:20:02Araqthere is no difference on the AST level, you can simply change the type declaration
20:20:05Araq(I think)
20:24:11EXetoCI don't know what you mean, but I'll just try to assemble a tree manually
20:26:51NimBotAraq/Nimrod devel 3ce3ff4 Dominik Picheta [+0 ±2 -0]: Refactored createCb in asyncdispatch.
20:29:27*Matthias247 quit (Read error: Connection reset by peer)
20:40:14*foodoo quit (Remote host closed the connection)
20:41:10*[1]Endy joined #nimrod
20:45:14Araqdom96: that's it? you refactored createCb?
20:45:27Araqyou know the bug is not in createCb, right?
20:45:36dom96Araq: I do. Take a look at how I refactored it.
20:45:49dom96first.callback = ... no longer exists.
20:46:00dom96I realised that I can simply call the callback
20:46:07Araqlol
20:46:15Araqnice
20:46:18*askatasuna joined #nimrod
20:51:35*askatasuna quit (Ping timeout: 252 seconds)
20:55:50*Varriount_ joined #nimrod
20:56:49*Varriount quit (Ping timeout: 240 seconds)
20:56:59*Varriount_ is now known as Varriount
21:06:25*Varriount quit (Ping timeout: 240 seconds)
21:07:53*Varriount joined #nimrod
21:13:24*[1]Endy quit (Ping timeout: 255 seconds)
21:13:59*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
21:14:21Mat3-codinggood night
21:14:22Mat3-codingciao
21:14:31*Mat3-coding quit (Quit: Verlassend)
21:19:04*XAMPP quit (Ping timeout: 252 seconds)
21:23:04*Varriount_ joined #nimrod
21:23:07*Varriount quit (Ping timeout: 252 seconds)
21:45:46*brson quit (Ping timeout: 268 seconds)
21:49:51*Demos quit (Read error: Connection reset by peer)
21:52:59*Varriount__ joined #nimrod
21:55:38*Varriount_ quit (Ping timeout: 240 seconds)
22:15:19*Puffin joined #nimrod
22:16:18*BitPuffin quit (Ping timeout: 240 seconds)
22:32:01*tumak quit (Ping timeout: 268 seconds)
22:32:16*brson joined #nimrod
22:33:10*tumak joined #nimrod
22:38:39*brson quit (Ping timeout: 252 seconds)
22:39:01*DAddYE joined #nimrod
22:41:10*DAddYE_ quit (Ping timeout: 255 seconds)
22:44:30*psquid joined #nimrod
22:46:36*brson joined #nimrod
22:54:49*brson quit (Ping timeout: 240 seconds)
22:58:52*brson joined #nimrod
23:28:35*Varriount__ is now known as Varriount
23:44:06Skrylarmeep!
23:44:24VarriountMoop!
23:45:55*darkf joined #nimrod