<< 20-04-2014 >>

00:00:19BitPuffindom96: you are missing out on segfaulting the compiler moments
00:03:57Araqer, what does echo defined(nimnewshared) produce for you guys?
00:05:09BitPuffinnimnewshared?
00:05:13BitPuffinoh
00:05:15BitPuffinI see
00:05:28BitPuffinwell doesn't it depend if we compile wiwh -d:nimnewshared ?
00:06:04dom96Araq: With the latest from git?
00:06:34Araqwith the latest working commit
00:06:40dom96false
00:06:49Araqwtf
00:07:17AraqBitPuffin: nobody likes a smarty
00:07:38BitPuffinAraq: :3
00:10:21Araqargh
00:10:24AraqI see
00:10:41Araqgah this is nasty
00:16:02dom96argh
00:16:21BitPuffinaarrrrghh!
00:16:46dom96It seems I am hitting this bug: https://github.com/Araq/Nimrod/issues/1093
00:17:52dom96oh, happy easter btw
00:18:04EXetoCquack
00:18:31BitPuffinwobwobwobwobwob
00:18:39BitPuffindom96: we should celebrate easter in the vnug!
00:19:18*Equipoise joined #nimrod
00:20:47dom96BitPuffin: stop it
00:20:58BitPuffinstahp
00:21:16BitPuffinsuch an easter pooper you you
00:21:58Equipoise"The most important thing in the programming language is the name." Why was the name nimrod chosen?
00:22:26BitPuffinfor the sake of inuendo
00:22:34BitPuffinno I dunno, I'd like to know as well
00:23:00AraqEquipoise: because Nimrod built the Tower of Babel
00:23:12BitPuffinso?
00:23:34dom96and (according to the bible) was the first king ever.
00:24:06EquipoiseAraq, he did not.
00:24:13BitPuffinpwned
00:24:31EXetoCxd
00:24:33EquipoiseAraq, so you are rebelling against God?
00:24:49AraqEquipoise: no, I am not.
00:25:14BitPuffinhe architected it
00:25:27EXetoCrebelling, what
00:25:29BitPuffinEquipoise: he's trying to say that he is the king of god
00:25:44Araqbabel refers to the many programming languages out there, creating a mess and that you can create the same mess within a language with a powerful macro system :P
00:26:01BitPuffinah
00:26:04BitPuffinthen it's actually quite a good name
00:27:17Araqwell since nobody gets it, I am seriously considering a name change
00:28:10AraqEquipoise: what do you mean "he did not"?
00:28:30EquipoiseAraq, Nimrod did not build the tower of babel this is a myth
00:28:43BitPuffinEquipoise: well in the scriptures he did I guess
00:28:51BitPuffinaliens where the ones who actually built it
00:28:51EquipoiseAraq, google it
00:29:28EquipoiseAraq, though the tower of Babel was not pleasing to God.
00:29:39BitPuffinAraq: I think people would get it if it was actually explained somewhere, I quite like the name now that I know the answer
00:30:08AraqEquipoise: when I google it first hits are wikipedia
00:30:15BitPuffinEquipoise: well, if you wanna argue facts you should probably not bring god in to the conversation
00:30:21Araqso give me the link instead please
00:31:29*Matthias247 quit (Read error: Connection reset by peer)
00:33:15Equipoisewww.bibleabookoftruth.com/NimrodAMightyHunter.pdf
00:34:09Skrylarat least he didn't call the compiler dobbs
00:34:54EquipoiseNimrod was the
00:34:55Equipoiseking of Babel and surrounding cities in the Land of Shinar but had already moved to Assyria and
00:34:55Equipoisebegan building Nineveh before the Tower of Babel was started (Genesis 10:10 to 12).
00:37:45EXetoCbook of truth
00:39:07Araq"If we put aside all the myths written about Nimrod, scripturally, what do we have left? A powerful, brave man
00:39:09Araqwho led his people, fed, protected and built cities for them"
00:39:34Araqstill fits the language ;-)
00:42:13BitPuffin:)
00:42:16EquipoiseAs long as Nimrod is the righteous Nimrod I am here to support it. I'm glad you like the righteous Nimrod.
00:43:23AraqI also picked it because it's ambiguous
00:43:55Araqhe was the first king --> positive, he built the tower --> negative
00:44:41Araqnow according to you he's only righteous. I have no problems with that.
00:45:40Trixar_zaActually, he built the tower to get closer to God - and for his arrogance God created all the languages in the world to confuse the people building it
00:45:59Trixar_zaWhich does beg the question of how everybody that DIDN'T build on it got their languages
00:46:47EquipoiseHowever, Ephrem the Syrian (306-373) relates a contradictory view, that Nimrod was righteous and opposed the builders of the Tower.
00:46:51Equipoisethat's from wikipedia
00:46:57Trixar_zaI found the whole Nimrod thing pretty clever too. First King, Tower, and Language
00:47:05Skrylaryou're not supposed to take all of those literally
00:47:39Trixar_zaAlso he quotes System Shock in the documentation
00:47:44AraqXD
00:47:45Trixar_zaThat has awesomeness written all over it
00:48:14SkrylarSHODAN for president
00:48:21BitPuffinwait
00:48:23BitPuffinwhere
00:48:25BitPuffinWHEEERE
00:48:29BitPuffinI'M PLAYING SYSTEM SHOCK RIGHT NOW
00:48:34Trixar_zaSeriously?
00:48:40SkrylarBitPuffin: yay synchronicities
00:48:46BitPuffinyeah
00:48:51BitPuffinI'm let's playing on youtube
00:49:24Trixar_zahttp://nimrod-lang.org/nimrodc.html
00:49:53BitPuffinhahaha
00:49:57Skrylarwell i guarantee that nimrod will be famous if you write the first AGI with it :P
00:49:59BitPuffinI think I may have noticed that a long time ago
00:50:13BitPuffinNimrod is free software; it is licensed under the GNU General Public License.
00:50:15BitPuffinwat
00:50:27Skrylari thought nimrod was bsd
00:50:29BitPuffinmaybe I even pointed it out
00:50:33BitPuffinthe shodan thing
00:50:35BitPuffincan't remember
00:50:51AraqBitPuffin: where are you reading that?
00:51:01Araqit's MIT since a quite a while
00:51:07BitPuffinanyways here is the let's play Trixar_za https://www.youtube.com/playlist?list=PLthHtHhsoH6AwkURYrRXTqD0PwXBxJuTW
00:51:16BitPuffinAraq: on the page Trixar_za linked
00:51:34flaviuBitPuffin: Thats a bug
00:51:57flaviufixed in the latest version
00:52:14Trixar_zaFinally made the switch to the MIT License?
00:52:26flaviuTrixar_za: Use the docs at http://build.nimrod-lang.org/docs
00:53:16Trixar_zaYou mean the page that says 403 forbidden?
00:53:29flaviuSorry, add a slash
00:53:30flaviuhttp://build.nimrod-lang.org/docs/
00:53:56NimBotAraq/Nimrod devel 13b941d Araq [+0 ±1 -0]: attempt to fix bootstrapping
00:54:06Trixar_zaYeah, I figured it out :P
00:54:36Trixar_zaIt's sad that I knew that about nginx :/
00:55:52Trixar_zaAlso as an unrelated note, but I learned more from just idling in this channel and listening in on conversations than I did coding in python and perl.
00:56:41AraqBitPuffin: we also have a quote from bioshock now.
00:56:54dom96and a Lost reference
00:56:55Trixar_zaPretty much proper object orientation and event based programming
00:57:00BitPuffinAraq: noooooooooooooooooOOOOOOOOOOOOOOOOoooooooooooooo
00:57:03BitPuffinwell
00:57:06BitPuffinis it a good quote
00:58:34Trixar_zaI think HAL 9000 and GLaDOS quotes are needed - but that's just me :P
01:01:09AraqHAL quotes are in tut1 since forever
01:02:24BitPuffinAraq: is the bioshock quote "The road to hell is paved with good intentions."
01:02:41Araqno
01:03:23Araq"We all make choices. But in the end our choices make us."
01:03:54BitPuffinwhere is that
01:04:02flaviuhttps://github.com/Araq/Nimrod/blob/devel/doc/c2nim.txt
01:04:13flaviuNeeds atribution
01:04:23BitPuffinso does the one I asked about
01:04:30BitPuffinAraq: too bad bioshock is mediocre
01:04:45*BitPuffin gets down and jumps behind cover
01:05:12Araqit's not. Bioshock Infinite is horrible though.
01:05:48*superfunc quit (Ping timeout: 240 seconds)
01:06:01BitPuffinAraq: it is
01:06:28BitPuffinAraq: what it's got going for it is a pretty nice art style, all be it very plasticy. The story (which is system shock 2 copied and pasted).
01:06:37BitPuffinthe gameplay is dumb
01:07:07flaviuAraq: Why is imm a BiggestInt when it must be in the range of a int8?
01:07:23flaviufor genABI
01:08:50Araqflaviu: if n.sons[2].isInt8Lit:
01:08:52Araq c.gABI(n, succ(opc), d, d, n.sons[2].intVal)
01:09:11Araqwe know the intVal fits but the compiler doesn't
01:09:41Araqwas easier to please the compiler this way I guess
01:09:52flaviuOk, that makes sense
01:10:27AraqBitPuffin: yeah I have to agree with you on that.
01:11:19BitPuffinbut yeah, it's nice exploring the world
01:11:40Araqgood night
01:11:45BitPuffingood night!
01:12:00Araqand Varriount, Varriount|Mobile you better be ready for the release tomorrow :-)
01:12:19BitPuffinohshit it's tomorrow?
01:12:24flaviuAraq: Is there a changelog?
01:12:36Araqflaviu: news.txt
01:13:07dom96Araq: you broke 16 tests
01:13:22BitPuffinI don't think Araq is ready for the release
01:13:44Araqdom96: I know. will fix it tomorrow
01:14:18Araqglad I only broke 16 tests :P
01:14:35dom96oh no, typo. I meant 11166
01:14:39dom96:P
01:16:16*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
01:16:29flaviuAraq: Have you considered deleting the already-merged branches?
01:16:55BitPuffinthere are too many bugs to release in my opinion
01:17:07BitPuffinI mean maybe if we release like a 0.9.4.1 release or something afterwards
01:17:08flaviuThere should have been a feature freeze IMO
01:17:12BitPuffinbut I don't think that would happen
01:29:25dom96'night
01:32:32*EXetoC quit (Quit: WeeChat 0.4.3)
01:40:33*Jesin quit (Ping timeout: 250 seconds)
01:50:37Skrylari find it really annoying when you read an article, then upon analysis found out the person said nothing
01:55:43*Jesin joined #nimrod
01:57:52Varriount|MobileBah, I think I'm turning into a vampire.
01:58:12Varriount|MobileI'm sleeping during the day and awake at night.
02:00:48flaviuHmm, I have a statement that eventually returns something, but nimrod doesn't see it as an expr
02:05:15*psquid quit (Ping timeout: 240 seconds)
02:05:55*psquid joined #nimrod
02:08:04EquipoiseAraq, I could be wrong about Nimrod being righteous, he could have been corrupted, some say he was some say he wasn't opinions are divided, so more research needs to be done. Yes a name of a language is important, and that's why it is necessary to carefully choose one that is not offensive to anyone.
02:11:39fowlwho is it offensive to
02:26:14*q66 quit (Ping timeout: 252 seconds)
02:30:12EquipoiseIf he actually did become unrighteous then it will have a negative association. For example In Rabbinical Literature: Nimrod is the prototype of a rebellious people, his name being interpreted as "he who made all the people rebellious against God" The unedited full-text of the 1906 Jewish Encyclopedia http://www.jewishencyclopedia.com/articles/11548-nimrod
02:33:57Skrylareverything is offensive to someone
02:34:13Skrylarif all else fails just tell them you named it after bugs bunny and its part of the bundle of stupids
02:34:15Skrylargit+nimrod
02:35:39*Jesin quit (Ping timeout: 240 seconds)
02:38:40*q66 joined #nimrod
02:38:40*q66 quit (Changing host)
02:38:41*q66 joined #nimrod
02:48:35BitPuffinDemos: did you also get disconnected or was it just me
02:48:50Demosjust you
03:04:11*Jesin joined #nimrod
03:13:41*ehaliewicz quit (Read error: No route to host)
03:20:09*Equipoise quit (Remote host closed the connection)
03:22:23*q66 quit (Quit: Leaving)
03:25:42*noam quit (Read error: Connection reset by peer)
03:25:58*Demos quit (Quit: Textual IRC Client: www.textualapp.com)
03:26:09*noam joined #nimrod
03:43:47*OrionPK quit (Remote host closed the connection)
03:54:23*Jesin quit (Remote host closed the connection)
04:08:36Skrylarthis is a longshot but
04:09:02Skrylaris there some super special way to store a hierarchial document, other than the obvious?
04:09:33BitPuffinSkrylar: what's the obvious?
04:09:36Skrylari think some of the 'better' tree views just store hollow trees and retrieve the children on first expansion
04:09:44SkrylarBitPuffin: the obvious is loading the whole dataset in to a tree
04:09:50BitPuffinah
04:09:52BitPuffinyeah
04:09:53Skrylarfor things like outline views
04:12:21Skrylarsadly outliners are rare creatures to study
04:12:42Skrylarinfoqube is 'neat' but whenever i've used it, it felt like it was dogpiled on a bunch of microsoft ole controls
04:16:01*brson joined #nimrod
04:21:10*ehaliewicz joined #nimrod
04:24:42*xenagi quit (Quit: Leaving)
04:31:14*xenagi joined #nimrod
04:36:31*brson quit (Quit: leaving)
05:00:25*DAddYE joined #nimrod
05:02:50*flaviu quit (Remote host closed the connection)
05:27:16*noam quit (Read error: Connection reset by peer)
06:07:59*xenagi quit (Ping timeout: 252 seconds)
06:11:59Skrylarpeople are asleep everywhere :<
06:12:04Skrylari guess there's more yak shaving to be doen
06:15:06*Varriount-Mobile joined #nimrod
06:18:51*Varriount|Mobile quit (Ping timeout: 240 seconds)
06:29:43*bjz_ quit (Read error: Connection reset by peer)
06:30:13*bjz joined #nimrod
06:31:12*BitPuffin quit (Ping timeout: 245 seconds)
06:42:18*Varriount-Mobile quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
07:21:18*faassen quit (Remote host closed the connection)
07:40:44*vendethiel quit (Quit: q+)
08:05:40*BitPuffin joined #nimrod
08:10:07*BitPuffin quit (Ping timeout: 250 seconds)
08:14:03*ehaliewicz quit (Ping timeout: 240 seconds)
08:22:45*[1]Endy joined #nimrod
08:56:55*silven joined #nimrod
09:02:37*tangentstorm joined #nimrod
09:02:39*tangentstorm left #nimrod ("WeeChat 0.3.2")
09:28:48*Matthias247 joined #nimrod
09:53:20*io2 joined #nimrod
10:02:42*DAddYE quit (Remote host closed the connection)
10:10:42NimBotAraq/Nimrod devel c80d563 Araq [+0 ±9 -0]: actors compile again
10:39:37*zahary1 quit (Read error: Connection reset by peer)
10:39:37*zahary joined #nimrod
10:44:27*bjz quit (Ping timeout: 240 seconds)
11:00:58*DAddYE joined #nimrod
11:02:28*io2 quit ()
11:05:11*DAddYE quit (Ping timeout: 250 seconds)
11:36:29Araqping zahary
11:57:45dom96hello
11:58:13dom96Araq: We're going to include babel with this release right?
11:58:17Araqright
11:58:22dom96I think it would be a good idea for me to release a new babel version then
11:58:32Araqwe should rebuilt C sources
11:58:49Araqso that I can patch more stuff to be thread safe according to the new thread safety model
11:58:52dom96just download them from nimbuild :D
12:01:49*DAddYE joined #nimrod
12:03:03NimBotAraq/Nimrod devel 39e4e3f Araq [+0 ±1 -0]: fixes OR for int8|int16 etc
12:03:03NimBotAraq/Nimrod devel be6474a Araq [+0 ±15 -2]: removed flawed thread analysis pass
12:05:25*EXetoC joined #nimrod
12:05:54AraqEXetoC: wanna test the new spawn&sync ?
12:06:13*DAddYE quit (Ping timeout: 252 seconds)
12:13:41*q66 joined #nimrod
12:13:41*q66 quit (Changing host)
12:13:41*q66 joined #nimrod
12:13:44*bjz joined #nimrod
12:18:25EXetoCAraq: yeah I'm trying it out now
12:20:02Araqgreat. add tests please
12:23:57Araq for x in lines(filename):
12:23:58Araq spawn doWork(x)
12:24:00Araq sync()
12:24:05Araqis the minimal canonical example
12:29:42NimBotAraq/Nimrod devel cf3b54f Dominik Picheta [+0 ±1 -0]: Removes tthreadanalysis3 from threadTests spec.
12:34:33EXetoCwhat should work now? spawn sometimes blocks without executing the statement
12:34:43EXetoCand sync doesn't seem to be needed
12:35:45Araqworks in the tests that I came up with ...
12:36:05Araqwhich OS are you on?
12:37:35EXetoCI added a statement after my spawn loop and it is never executed before all tasks had completed
12:38:04EXetoCdoes 'for' do anything in that regard in conjunction with spawn?
12:38:11EXetoCAraq: linux x64
12:38:45Araq'for' has no special magic
12:38:51Araqit's all in 'spawn'
12:40:01Araqwell 'spawn' does block but not for long so your output should be timing dependent
12:40:31*Matthias247 quit (Read error: Connection reset by peer)
12:41:13*Varriount|Mobile joined #nimrod
12:43:01EXetoCAraq: well actually I just incremented a global. I'm trying again with a proc that takes a lot longer to execute
12:43:44*Varriount|Mobile gets on to his laptop to join in the fun.
12:45:40*[2]Endy joined #nimrod
12:47:01EXetoCI still didn't expect it to be so consistent, but sync is indeed necessary for more complicated procs
12:48:12EXetoCbut like I said, I frequently have to kill the program
12:48:27*dom96 loves the thrill of release day
12:48:51*[1]Endy quit (Ping timeout: 240 seconds)
12:52:49VarriountGood morning!
12:53:01*Varriount|Mobile quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
12:56:23Araqhi Varriount
12:59:10dom96hello Varriount
12:59:12Araqhappy easter everyone
12:59:16Araqbbl
13:02:37*DAddYE joined #nimrod
13:05:47EXetoCthe tester doesn't keep going now when a test fails. it never gets to my test
13:07:05*DAddYE quit (Ping timeout: 252 seconds)
13:07:08Varriountdom96: I picture release day as a day when everyone is running around, acting as if the world is ending.
13:07:22dom96Varriount: Yep. That's why it's so fun.
13:11:02*Jesin joined #nimrod
13:12:34VarriountHi Jesin
13:12:43Jesinhi
13:12:50VarriountYou don't happen to live in Virginia, do you?
13:12:51EXetoCAraq: do you actually want a practical test that processes a file or something? I could add that
13:13:59Varriountdom96: I've got to leave in about an hour and a half for Easter services. (Yes, a religious programmer, I know I'm odd.)
13:14:27dom96Varriount: Araq won't be back for a few hours anyway I don't think.
13:14:44dom96Varriount: When will you get back?
13:15:12Varriountdom96: After about an hour and a half.
13:15:27dom96hrm, that should be fine.
13:15:38dom96We probably won't release until like 11pm GMT
13:17:35*pdewacht joined #nimrod
13:18:05dom96hello pdewacht
13:19:14Varriountdom96: I'm currently getting the installation generators prepared.
13:21:31dom96EXetoC: the tester keeps going for me
13:22:52EXetoCdom96: and with "c system"?
13:24:25dom96tostring is the only test in system
13:24:33dom96Only files starting with 't' are tested
13:25:44EXetoCright
13:29:48EXetoCso it this supposed to work before we release?
13:30:47dom96toString?
13:30:48dom96yes
13:30:55dom96reactormonk broke it
13:31:15EXetoCno, tasks
13:31:37NimBotAraq/Nimrod devel 232d252 Dominik Picheta [+2 ±2 -0]: Added new future module with a closure macro.
13:31:41*ehaliewicz joined #nimrod
13:31:49dom96EXetoC: I think so
13:34:09EXetoCI don't know if it synced correctly there
13:35:55NimBotAraq/Nimrod devel ed935df Dominik Picheta [+0 ±2 -0]: Remove echo from => macro and fix tclosuremacro test.
13:36:03*ehaliewicz quit (Ping timeout: 240 seconds)
13:36:11*io2 joined #nimrod
13:36:33dom96Once https://github.com/Araq/Nimrod/issues/1093 is fixed, the closure macro will be usable.
13:37:07EXetoCgreat
13:37:13*darkf quit (Quit: Leaving)
13:37:39EXetoCthe test rarely exits when executed through the tester
13:38:27EXetoCtiming issue maybe
13:39:36VarriountIs bootstrapping on master broken?
13:39:47EXetoCor maybe it's because I'm doing something else that's resource-intensive
13:41:07Varriountdom96: Where is the implementation for that closure macro going to be placed?
13:41:42EXetoCin system would be really convenient
13:42:45VarriountEXetoC: I ask, because Araq asked me to make a new module ("stdmacros.nim") for this asFunc macro I wrote for him, and I was thinking that dom96's macro should go there as well.
13:44:13EXetoCwill it be part of system?
13:44:36VarriountEXetoC: You mean, part of the list of implicitly imported modules?
13:45:24EXetoCthey are included really, but yes
13:45:51EXetoCthese seem like core features, so having to import explicitly seems silly
13:46:15VarriountThat'll be up to Araq
13:46:47EXetoCyeah ok just saying
13:47:18VarriountI could argue that a number of sequtils and strutils procedures are "core features", however that doesn't mean they are included in system.
13:48:50EXetoChm I don't know
13:50:03*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
13:50:26dom96Varriount: it's in the future module
13:50:37VarriountO_o
14:01:47VarriountWhoever removed the threadAnalysis option failed to take into account the fact that config files have that option set.
14:03:16*DAddYE joined #nimrod
14:07:18EXetoCVarriount: seq, string add etc are low-level building blocks, whereas most stuff in sequtils/strutils are much less so imo
14:07:27*DAddYE quit (Ping timeout: 245 seconds)
14:11:59EXetoCdom96: so no explicit typing will be necessary when using the closure macro together with map for example?
14:15:23dom96EXetoC: it may still be necessary, type inference still isn't perfect.
14:16:22VarriountEXetoC: Think of it this way, at least you won't get hundreds of lines of C++ template errors.
14:16:23EXetoCwell as long it's a goal
14:18:33EXetoCVarriount: is that related?
14:19:27VarriountEXetoC: I don't know. I've hardly used C++, however I've heard that drowning in template errors is a significant hazard.
14:21:40EXetoCnope, won't happen. that'd be quite the failure :>
14:22:26*Jesin quit (Quit: Leaving)
14:36:01*BitPuffin joined #nimrod
14:45:46*xenagi joined #nimrod
15:02:34BitPuffinDer Hund hat meine Hausarbeit gefressen.
15:04:01*DAddYE joined #nimrod
15:05:37BitPuffinAraq: how is the release going? :a
15:08:17*DAddYE quit (Ping timeout: 250 seconds)
15:32:50dom96The more I look at Scala the more it resembles Nimrod to me.
15:33:47BitPuffinlol
15:34:04BitPuffindom96: Scala - nimrod, without showstoppers!
15:34:10BitPuffindom96: does it have macros though?
15:34:15xenagiScala allows the metaprogramming of Nimrod?
15:34:23dom96Scala has macros, yeah.
15:34:28BitPuffinxenagi: I think he means syntactically mostly
15:34:46dom96Yeah, syntax-wise Scala looks very similar to Nimrod.
15:41:42BitPuffinwell to be fair it's not like nimrod has the most unique syntax on earth
15:41:54BitPuffinthey were probably inspired by a lot of the same languages
15:43:33*BitPuffin wonders how much work it would be to write a lisp frontend to nimrod
15:44:01*dom96 attempts to write a pattern matching macro
15:46:40*OrionPK joined #nimrod
15:47:51AraqI'm back
15:48:11dom96I really dislike that even code with no 'do' keyword can become a do notation
15:48:34Araqyeah me too
15:48:43Araqit's a PITA for macros
15:48:49BitPuffinhttp://youtu.be/lPzN916D8D0
15:48:58dom96I will create an issue for this then
15:49:41dom96Araq: Fix #1093 please
15:49:51BitPuffinfix everything please
15:50:24AraqI think fixing the language so that nimbuild compiles is more important
15:50:31EXetoCdom96: something else turns into 'do' in the AST?
15:51:19BitPuffinAraq: do you think a nimlisp would be possible?
15:51:34AraqBitPuffin: of course
15:51:52BitPuffinI have a feeling it would probably be the easiest nimrod parser to write even
15:51:52EXetoCnope, impossible!
15:52:11dom96EXetoC: https://github.com/Araq/Nimrod/issues/1120
15:52:23OrionPKholda
15:52:24OrionPKhola
15:52:30Araqhi pdewacht welcome
15:53:07BitPuffinAraq: are most of the bugs for example with generics and stuff etc backend bugs or bugs with the parser that takes nimrod code and makes the ast
15:53:14EXetoCmy guess was correct
15:53:14xenagiConcerning https://github.com/Araq/Nimrod/issues/1081 , where's a good place to start looking?
15:53:54BitPuffinAraq: I guess the only problem is that we don't really have a native list type in nimrod do we
15:55:16EXetoCdoes it matter?
15:55:31BitPuffinEXetoC: I dunno, it could
15:55:53BitPuffinI don't know how picky it is to write a parser if you are "allowed" to add features that aren't native to nimrod
15:57:32*cark quit (Ping timeout: 246 seconds)
15:57:35EXetoCAraq: how ready do you want spawn to be for the next release?
15:57:51AraqEXetoC: ready.
15:58:24EXetoCdom96 said something about 11pm GMT. that's really soon
15:58:38BitPuffinGMT?
15:58:48AraqBitPuffin: a list type is trivial to implement but cache unfriendly. much better to use something like nimrod's AST
15:58:50BitPuffinwhy not the timezone that me, EXetoC and Araq live in
15:59:12dom96who cares, it's like an hours difference anyway
15:59:19dom96also, it was an estimate
15:59:40NimBotAraq/Nimrod devel 5da463e Jason Livesay [+0 ±1 -0]: Redis: optional pipelining and better tested transactions
15:59:40NimBotAraq/Nimrod devel 9a728b1 Jason Livesay [+0 ±1 -0]: Don't need ref string; use PPipeline instead of ref TPipeline
15:59:40NimBotAraq/Nimrod devel be02aae Jason Livesay [+0 ±1 -0]: factor per comments
15:59:40NimBotAraq/Nimrod devel ebe174c Jason Livesay [+0 ±1 -0]: delete echo statements used for debugging
15:59:40NimBot4 more commits.
15:59:41*cark joined #nimrod
16:00:10BitPuffinAraq: true, linked lists are not really the bees knees for systems programming. But lists are kind of what makes lisp lisp lol. Like could you do consing on a nimrod ast?
16:00:27EXetoCwell like I said, the spawn behavior isn't consistent, but maybe it's possible to fix that today. I'll submit that test
16:00:56AraqEXetoC: when you say it "hangs" what exactly happens? deadlocks?
16:01:14BitPuffinit commits suicide
16:01:23EXetoCAraq: it hangs some time before 'call' is executed
16:01:47BitPuffinAraq: well I shouldn't distract you with lisp talk in a time like this :)
16:01:56EXetoCalso, maybe it should be possible to tell the tester to run some tests multiple times
16:04:52*DAddYE joined #nimrod
16:05:45EXetoCit happens a lot more frequently now for some reason
16:06:54Araqhmm 'gcsafe' really should be the default for proc types. damn.
16:09:15*DAddYE quit (Ping timeout: 240 seconds)
16:10:19EXetoC"for i in 0..3: spawn(...) spawn(...)" hangs 19/20 times or something like that, while removing one of the spawns reduces that to about 1/5
16:11:09Araqso ... now we know
16:11:37Araqnimbuild is provably safe wrt threads not accessing global GC'ed memory
16:12:24BitPuffinEXetoC: \o/
16:15:07EXetoCmight be a linear pattern
16:15:16EXetoCPR sent
16:19:17dom96Araq: That's good right?
16:20:13*io2 joined #nimrod
16:20:38xenagiany particular reason for having distinct `countdown` and `countup` vs an all-purpose `count` ?
16:22:12Araqdom96: yes.
16:22:43Araqxenagi: all-purpose 'count' decides at runtime if step is negative and so runs in reverse? how is that good design?
16:23:28renesacAraq, it is more flexible, but I guess the performance may be lower
16:23:35xenagihmm ok, I see. so you remove that first-step conditional by separting them
16:23:42renesacI aways liked the python range, or lua's loops
16:23:59renesacwhere you can set the step to be whatever you want
16:24:07renesacand you don't need to remember different functions
16:24:27xenagiand conditionals impacts branch prediction which hinders performance
16:25:00renesacwell, if it is a constant, and count is inlined as it should, the branch should disapear
16:25:10renesacif it isn't a constant, then you would need to branch anyway
16:25:30renesacso yeah, the performance should be the same
16:27:31xenagiI'm not sure that you would NEED to branch in run-time for count{up|down}
16:27:57EXetoCxenagi: yes if you disregard constant folding
16:28:51EXetoCmaybe not
16:29:07Araqxenagi: IMO the 'step' should be a compile-time constant in any case though
16:29:24Araqcan't see the value in changing the step at runtime
16:30:07xenagiI see
16:30:12renesacmost times you don't right
16:30:20renesacthat is why a single function would be better
16:30:24renesac:P
16:31:27renesacand countup allows you to change the step at runtime anyway
16:31:35renesaconly disallows negative steps
16:34:16Araqdom96: does website.nim already use sthe new async stuff?
16:34:27dom96hah no way
16:36:08EXetoCget with the times
16:37:27NimBotnimrod-code/nimbuild master a290127 Araq [+0 ±2 -0]: builder compiles under the new threading model
16:37:27NimBotnimrod-code/nimbuild master e665a7d Araq [+0 ±3 -0]: Merge branch 'master' of https://github.com/nimrod-code/nimbuild
16:49:42EXetoCand passing a proc to a macro generates an ICE. I'll have a look at that
16:50:09EXetoCeh
16:50:13EXetoCI meant to spawn of course
16:50:30*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
17:05:31*DAddYE joined #nimrod
17:05:55VarriountWell, considering all the optimizations that gcc has, I'd find it likely that to iterate up or down would be easily optimized away.
17:07:24renesacthat is basic constant folding when the function is inlined
17:09:33VarriountHm. Has anyone ever tried to add markdown-like syntax parsing to irc messages?
17:10:03VarriountSo that things like *Hello* are bold, italicized, etc.
17:10:03*DAddYE quit (Ping timeout: 250 seconds)
17:10:10dom96IRC already has bold
17:10:21VarriountOh?
17:10:21AraqVarriount: fiy the GCC version you suggested is fine
17:10:49VarriountAraq: So now all we need to do is tell people to use that, instead of the regular mingw :/
17:10:52dom96and color
17:11:10Araqok guys here is the issue
17:11:22Araqmy recent changes break lots of code but it's for the better
17:11:26dom96and underline, but xchat doesn't insert the correct thing for it for some reason I don't think.
17:11:37*Jesin joined #nimrod
17:11:46Araqand you all tell me to be quick about code breakage before it's too late
17:12:05VarriountRemove the band-aid quickly!
17:12:54dom96Araq: It just affects thread code right?
17:13:26Araqno. it affects every indirect call too
17:13:41Araqthough it's more noticable with threads:on
17:14:02VarriountWait, so what code is broken, why is it broken, and what should we do?
17:14:12dom96^^
17:14:21Araqannotate things with .gcsafe until the compiler shuts up
17:14:48dom96why isn't everything gcsafe by default then?
17:15:16Araqthat would break everything in the compiler
17:15:31Araqwhich is using global variables everywhere
17:15:58dom96Well, I don't get it.
17:16:22dom96Does code still break even if I don't have threads on?
17:16:40VarriountAre all procedures, from now on, going to have to be annotated with gcsafe?
17:16:58Araqdom96: yes code still breaks, but not significantly
17:17:05dom96From what I can tell it's just procedures which are used in a proc marked with {.thread.} ?
17:17:19Araqhowever --threads:on is common: aporia, nimbuild, ...
17:17:32dom96Araq: Give me an example of where it breaks when threads are *not* on
17:18:59AraqVarriount: no, for most it is inferred but there are a significant amound of procs left where it's not inferable
17:20:10dom96what happens if I mark a proc {.gcsafe.} when it's actually not gc safe?
17:20:27Araqthe compiler tells you
17:21:19dom96please give me an example of where it breaks when threads are not on
17:22:24Araqthe callbacks have to be marked as gcsafe for streams
17:22:42Araqand so you need to annotate the procs you wrap in streams as gcsafe
17:22:47Araqeven with --threads:off
17:22:49renesacwhy not make everything, except what uses global variables, gcsafe?
17:23:02renesacby default?
17:23:10Varriountrenesac: Thats what the compiler does, I think.
17:23:22Varriountrenesac: But there are cases when it can't infer, I guess.
17:23:36renesacbut it can tell that the flat you put is wrong?
17:23:47renesaceven if it can't infer?
17:24:26Varriountrenesac: flat?
17:24:35renesac*flag
17:29:32Araqbrb
17:40:59*Matthias247 joined #nimrod
17:47:31Varriountdom96: So, for this conversion process, how should the work be split?
17:47:53dom96Varriount: Conversion process?
17:48:27Varriountdom96: Well, whatever process will have to be carried out to get things working with gcsafe
17:48:43dom96Varriount: Araq is fixing it I think
17:50:51Varriountdom96: But what about all the babel packages?
17:51:09VarriountEspecially the ones under nimrod-code?
17:51:32dom96I don't know.
17:59:43NimBotnimrod-code/nimbuild master 2c6b3ff Araq [+0 ±1 -0]: website compiles again (with a jester patch)
18:04:04Araqdom96: you need to fix jester for gcsafe'ty
18:04:45NimBotAraq/Nimrod devel e6d17e6 Araq [+0 ±21 -0]: made large parts of the stdlib gcsafe
18:04:45NimBotAraq/Nimrod devel 1bb0bde Araq [+2 ±4 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
18:05:02AraqVarriount: now it's your turn
18:05:12VarriountMy turn for what?
18:05:15Araqyou volunteered to update nimrod-code
18:05:25VarriountOh, wonderful
18:05:51VarriountWell, I'm going to need to get the Win64 build bot back into working order first.
18:06:18*DAddYE joined #nimrod
18:06:44Araqyou there is time left, I broke bootstrapping. again.
18:07:25Araqwell the thing is
18:07:45Araqwe could easily cheerypick fixes into master and release that
18:08:16Araqbut now nimbuild depends on a compiler that knows about gcsafe
18:08:25Araqbut we could workaround that too
18:10:47*DAddYE quit (Ping timeout: 245 seconds)
18:27:43VarriountAraq: You broke bootstrap on Linux, not on Windows. :D
18:27:56AraqVarriount: that's why I'm on linux now
18:28:08AraqI need to fix 'spawn' anyway
18:28:26VarriountAraq: You should be proud! Usually it's Windows that needs fixing.
18:28:51Araqthat only reflects which OSes the major devs are on :P
18:29:08Araqspeaking of which
18:29:13Araqwho tests macosx?
18:29:38VarriountUnofficially, gradha.
18:34:49Araqalso I broke it everywhere unless you compile with a really recent version of the compiler
18:34:53Araqafaict
18:35:59renesacare you sure that it is a good idea do rush a design like this on the release day?
18:36:08renesacnot to mention all the breakage...
18:37:07VarriountI was under the assumption that this new stuff wasn't going to be included in what one would assume to be a (relatively) stable release.
18:37:19renesacon babel even
18:37:39renesacthen why is araq working on it today?
18:38:17Araqrenesac: no, it's a bad idea
18:38:25Araqlet's go with the cherry picking
18:39:06Araqwe should make 0.9.4 know about but ignore gcsafe
18:39:16VarriountAraq: Or just merge devel into master, and revert the unstable commits.
18:39:44Araqhmm yeah, I should create a new 'concurrency' branch
18:41:22renesacAraq, yep, those are better ideas
18:42:45Araqmeh, I can it disable in the current devel version too
18:42:51Araqshould be even easier
18:43:44VarriountAraq: Just be careful not to let git bite your hand off.
18:44:37renesacand let useless 'gcsafe' scattered around the stdlib for 0.9.4?
18:45:34Araqrenesac: why not?
18:45:48Varriountrenesac likes tidiness.
18:45:56renesacpeople will probably ask what is it
18:46:27renesacbut yeah, not really an issue
18:46:48renesacbut it will appear on the docs
18:46:59Araqno it will not
18:47:30renesacok, you will tweak the docgen to forget it also?
18:47:36renesac*ignore
18:52:45Araqrenesac: that's a side-effect as the docgen is part of the compiler
18:53:05renesacright
18:55:16*flaviu joined #nimrod
18:59:48flaviuBitPuffin: Scala macros are nearly impossible to use. Much less flexible than nimrod, the docs are worse, and the implementation has Scala's own unique version of boilerplate.
19:01:33Araqargh, how do posix condition variables work again? the extra lock drives me crazy
19:01:40Araqso pointless
19:07:07*DAddYE joined #nimrod
19:11:14*DAddYE quit (Ping timeout: 240 seconds)
19:31:03*Jesin quit (Quit: Leaving)
19:31:17*Araq is stupid for Posix's condition variables
19:31:20xenagiNimrod isn't compiling anymore (downloaded HEAD from master)
19:31:30*Araq even though he used them before
19:31:31xenagilib/system/hti.nim(88, 50) Error: invalid pragma: gcsafe
19:31:46Araqxenagi: oh really that's news to us :p
19:31:55*Demos joined #nimrod
19:32:35xenagilol just thought I'd say something
19:32:58Araqso who fixes sysspawn for posix?
19:33:11Araqworks reliably on windows
19:33:23Araqso only the condition variable handling can be wrong
19:34:40NimBotAraq/Nimrod devel da7d6c8 Araq [+0 ±2 -0]: fixes bootstrapping
19:35:52BitPuffinflaviu: okay? haha can't remember claiming anything else
19:36:23EXetoCwhat are the best ways to debug the compiler? printing the repr of nodes is unreliable..
19:36:35AraqEXetoC: debug(n)
19:36:47EXetoCoh
19:36:47flaviuI was just telling you of my experience with scala macros
19:36:48AraqEXetoC: echo renderTree(n) # often the better choice
19:38:24flaviuAraq: I wish I had asked you that a while ago, that's really helpful
19:38:29EXetoCxd
19:39:17dom96also using `??` to check the filename that you are in is useful: if n.info ?? "file.nim": debug n
19:39:32*Demos quit (Ping timeout: 245 seconds)
19:39:34flaviuI wasted a ton of time doing `echo repr n.sons[0].typ.sons[2].kind`
19:40:49Araqflaviu: so fix our internal docs. you read those, RIGHT?!
19:41:34Araqthey are slim but never get out of date ... I think
19:41:51EXetoCcan the compilation speed be improved even more?
19:42:01flaviuI didn't know they existed, I'm reading them now
19:42:11EXetoCby optimizing the compiler that is. just curious
19:42:53AraqEXetoC: yes and by a large amount
19:43:12flaviuConcurrent compilation?
19:43:20Araqincremental compilation
19:43:46Araqcache what didn't change
19:44:06Araqconcurrent compilation will never be possible with nimrod. my prediction.
19:44:40flaviuCan you elaborate on why?
19:45:26dom96Araq: How can I get the tester to verify a compile-time message for me? (echo treeRepr() in a macro)
19:45:54BitPuffinflaviu: I see
19:45:56Araqdom96: 'msg' vs 'output' iirc
19:46:03Araq'msg' is about compile-time stuff
19:46:13Araq'output' about runtime stuff
19:46:17EXetoCAraq: and of individual files? you seem to have performed some optimizations already
19:46:46dom96Araq: Tried 'msg', doesn't work
19:47:21dom96but perhaps it's just not printing the failure in the console
19:47:57Araqtmacrogenerics.nim uses 'msg'
19:48:10Araqbut maybe that's wrong too
19:48:30dom96yeah...
19:48:43dom96That's not good.
19:49:23dom96and that test does in fact fail
19:49:31Araqhmm 'msg' is still an alias for 'errormsg'
19:49:40AraqI thought zahary said he changed that
19:50:06EXetoCAraq: "internal error: evalOp(mSpawn)" (spawn(someProc)). where do I go from here?
19:50:38Araqteach evalOp it can't evaluate mSpawn at compile time
19:51:08EXetoCok
19:51:43Araqthough in fact ... it can :P
19:51:52dom96Araq: Should I fix it?
19:52:02Araqdom96: of course
19:53:29EXetoCneat
19:54:31Araqthat's the beauty of it, you can simply evaluate X in 'spawn X' at compile time and make 'sync' a no-op
19:54:57Araqbut X in general has some effect you don't want at compile time, so it's rather pointless
20:05:05EXetoCshould that possibly be supported at another time then?
20:06:35EXetoCjust because we can and stuff
20:07:53flaviuIs there a way to get the bounds on a tyRange? I thought I had gotten it to work once, but now I just get a segfault
20:07:54*DAddYE joined #nimrod
20:08:34Araqtypes.firstOrd and lastOrd do that, flaviu
20:08:37Araq"This type of implementation only works if you can afford to miss an event. I just tested it and ran into many deadlocks. The main reason for this is that the condition variables only wake up a thread that is already waiting. Signals issued before are lost."
20:08:40Araqargh ...
20:08:45Araqno wonder it doesn't work ...
20:09:01dom96Araq: So this just happened :( https://gist.github.com/dom96/5dfade8c0c4c60afeeb5
20:10:38dom96oh, i see.
20:12:57*DAddYE quit (Ping timeout: 276 seconds)
20:15:46NimBotAraq/Nimrod devel 4075159 Araq [+0 ±7 -0]: reintroduce thread analysis but disable it for backwards compatibility
20:18:46EXetoChow do I print the compiler stack trace?
20:21:13AraqEXetoC: writeStackTrace() ?
20:25:33dom96Araq: Any way to get the compiler to not print the gcc lines but still print 'operation successful'?
20:26:29Araqsome obscure verbosity:0 level plut hint[Success]:on perhaps
20:26:35Araq*plus
20:27:04dom96nope :\
20:29:01Araq elif optListCmd in gGlobalOptions or gVerbosity > 0:
20:29:03Araq res = execProcesses(cmds, {poEchoCmd, poUseShell, poParentStreams},
20:29:04Araq gNumberOfProcessors)
20:29:19Araqotherwise it doesn't poEchoCmd
20:29:57Araqah well, simply check for a substring in the compiler's output instead
20:30:25*OrionPK quit (Remote host closed the connection)
20:30:36dom96ok
20:30:43*OrionPK joined #nimrod
20:35:59flaviuIMO a stack machine is much easier to reason about
20:37:14dom96Araq: but then you won't get a nice 'given' in the test results
20:37:27dom96oh well, should be ok for now I guess
20:38:32BitPuffinhaven't seen this before http://lambda-the-ultimate.org/node/4749
20:38:49Araqflaviu: no, register based machines are much easier
20:38:56BitPuffinah
20:39:01BitPuffinaraq even commented there lol
20:40:06VarriountAraq: Ping me once the release branch is out. Then I can setup the last bits of the installer generators.
20:42:13AraqVarriount: ping
20:42:21Araqwhat's the release branch?
20:43:16NimBotAraq/Nimrod devel 36fc1d9 Araq [+0 ±1 -0]: spawn has a chance of working on posix
20:43:32AraqEXetoC: see? this is the patch you should have written
20:43:55EXetoC-.-
20:44:09VarriountAraq: Whatever branch the installers need to use
20:44:25Araqsimple, hu? I still don't understand why it *only works this way*
20:45:27Araqoh yeah posix_signal doesn't require a lock but when you don't use it, things deadlock
20:45:42Araqyeah right, *not* using a lock makes things deadlock. makes perfect sense
20:46:54BitPuffinAraq: something that might make companies more interested in using nimrod could be saying that "0.9.4 will be supported with bugfix releases once a month (for example) until the release of 0.9.6"
20:51:42AraqBitPuffin: what's the most important bug number for you?
20:52:10EXetoCI was ready to give up, but now it's fixed I think
20:53:15*[2]Endy quit (Ping timeout: 276 seconds)
20:53:18NimBotAraq/Nimrod devel 57cc823 Dominik Picheta [+1 ±2 -0]: Fixes #1093.
20:54:40dom96Araq: Can we pull #1089 for the release?
20:54:48dom96https://github.com/Araq/Nimrod/pull/1089
20:54:58flaviudom96: Github says that you fixed the bug a minute in the future: 'dom96 closed this issue from a commit in a minute'
20:55:21dom96flaviu: Yeah, my clock is off.
20:55:57dom96It runs ahead by like 3 minutes for some reason
20:56:48flaviuAraq: Is there a difference between Registers and Dests?
20:57:15*Demos joined #nimrod
20:58:26Araqdom96: too risky
20:58:59dom96Araq: ok, but I will need something like that ASAP for Nimbuild's sake.
20:59:02Araqflaviu: not really, Dest can be -1 though indicating that it should be assigned to a temporary
20:59:37Araqtests/manyloc/keineschweine/keineschweine.nim(2, 22) Error: cannot open 'gl'
20:59:48Araqnow where is this old gl module ...
21:00:20flaviuAraq: How about pull request #1113? I deleted some old, dead modules in the compiler.
21:00:25EXetoCAraq: uh oh
21:00:38EXetoClet me check that out
21:00:49EXetoCAraq: wanna merge my test? https://github.com/Araq/Nimrod/pull/1121
21:01:32AraqEXetoC: runs instantly right?
21:01:48Araqcause test suite runtime needs to be considered too
21:02:10AraqEXetoC: just add the gl.nim to keineschweine/lib
21:02:44dom96if it hangs then it's not a good idea to add it
21:02:51dom96we still don't have any timeouts in the tester
21:02:53dom96or nimbuild
21:03:08Araqyeah, good point
21:03:14Araqshouldn't hang anymore though
21:03:24AraqEXetoC: don't bother, I have gl.nim
21:04:20EXetoCyou can probably just use opengl.nim though
21:04:41Araqmissing the point
21:04:54Araqkeineschweine is a stress test and shouldn't have dependencies
21:06:28NimBotAraq/Nimrod devel dad9937 Dominik Picheta [+0 ±2 -0]: Param name and type combos now work in type sig. sugar.
21:06:35dom96EXetoC: Wanna test my closure macro?
21:08:31*DAddYE joined #nimrod
21:09:54*Demos quit (Ping timeout: 240 seconds)
21:12:42*DAddYE quit (Ping timeout: 240 seconds)
21:13:48*vendethiel joined #nimrod
21:14:47dom96Araq: doc2 isn't generating docs for my second macro in the future module
21:15:55renesachttps://github.com/Araq/Nimrod/pull/1107 <-- something still wrong with my pull request?
21:15:58EXetoCAraq: the test passes successfully now for me too
21:16:16EXetoCtsysspawn.nim
21:16:28EXetoCs/successfully/consistently
21:18:08Araqdom96: only for the 2nd? the 3rd works?
21:19:04dom96Araq: yeah. I added a third and it works
21:22:36Skrylarwell that was a short moment of happiness; actually getting a window on the screen from nimrod
21:22:54renesacSkrylar, \o/
21:25:05Araqdom96: are sure it's not some "doc2 never generates immediate macro docs" issue?
21:25:14dom96maybe
21:26:34EXetoCflaviu: trying to add float ranges?
21:26:44EXetoCor rather to make them usable
21:27:08flaviu EXetoC: No, the VM doesn't support arrays like array[1..10, int]
21:27:15BitPuffinAraq: lemme check
21:27:26dom96Araq: I'm getting an access denied when bootstrapping
21:27:37dom96When it tries to copy compiler/nimrod.exe to bin/nimrod.exe
21:27:58BitPuffinAraq: probably #1082 but that's a zahary bug
21:28:44dom96hrm
21:28:49dom96Never mind
21:28:59Araqflaviu: it's a simple c.gen(opcSubImm, idx, idx, firstOrd(foo.typ)) before the array access :P
21:29:23Araqbut surely it's useful when you learn the inner workings of the VM
21:30:19flaviuAraq: What if firstOrd > 128?
21:30:50*dom96 wonders how he got a zombie nimrod process
21:30:54BitPuffinAraq: do you review zahary's code before merging?
21:30:55EXetoCAraq: https://gist.github.com/EXetoC/e4db8952b9cbf660fa2f this is all I had to do to make float ranges be usable. might it be that simple?
21:31:33Araqflaviu: internalError(n.info, "use a meaningful index you hippie")
21:31:59Araqor you load the constant then with ldConst
21:32:01EXetoCI thought I might have to add some type checks or something, but I couldn't come up with any examples that would fail
21:32:13dom96Anyone wanna test my closure macro!??!
21:32:13AraqEXetoC: float ranges have been implemented
21:32:21EXetoCwhen?
21:32:36flaviuAraq: Mark https://github.com/Araq/Nimrod/issues/1095 as solved
21:32:49flaviuThanks, thats awesome
21:33:27Araqdom96: sorry I'm busy
21:33:57NimBotAraq/Nimrod devel 443fdd6 Dominik Picheta [+0 ±1 -0]: Fixed docs in future module.
21:33:57NimBotAraq/Nimrod devel ca2b73f Dominik Picheta [+0 ±1 -0]: Revert 4b09baa0a and 33fcd1123.
21:34:00EXetoCflaviu: which commit fixed it?
21:34:23NimBotAraq/Nimrod devel 171f4a2 EXetoC [+0 ±1 -0]: Fix spawn ICE on invalid argument.
21:34:23NimBotAraq/Nimrod devel d29cf2d EXetoC [+1 ±0 -0]: Add test for bad spawn argument.
21:34:23NimBotAraq/Nimrod devel 38892bb Andreas Rumpf [+1 ±1 -0]: Merge pull request #1124 from EXetoC/spawn-arg-check... 2 more lines
21:34:38EXetoCthat issue is the only thing that shows up in my search
21:35:22NimBotAraq/Nimrod devel 29261a0 flaviut [+0 ±1 -0]: Document vmgen.nim a bit
21:35:22NimBotAraq/Nimrod devel e34c3e7 Andreas Rumpf [+0 ±1 -0]: Merge pull request #1123 from flaviut/bug1110... 2 more lines
21:35:39flaviuEXetoC: 7056ceda6727d1725645ab046fee4c0d6bb15501
21:36:28flaviuNM, not that
21:36:43EXetoCyeah that didn't seem right
21:38:01flaviuI can't find any reference to them in the commit messages
21:38:31EXetoCI can't find it either
21:39:27NimBotAraq/Nimrod devel e2fe9dd ReneSac [+0 ±1 -0]: Additions and clarifications to tutorial 1.
21:39:27NimBotAraq/Nimrod devel 56a6928 ReneSac [+0 ±1 -0]: Referential data types may need to be declared.... 2 more lines
21:39:27NimBotAraq/Nimrod devel 1205f91 Andreas Rumpf [+0 ±1 -0]: Merge pull request #1107 from ReneSac/devel... 2 more lines
21:39:46NimBotAraq/Nimrod devel c163c06 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Avoids idetools crash on nil parameters.
21:39:46NimBotAraq/Nimrod devel 726c709 Andreas Rumpf [+0 ±1 -0]: Merge pull request #1097 from gradha/pr_avoid_idetools_crash... 2 more lines
21:40:31NimBotAraq/Nimrod devel 37ac424 Clay Sweetser [+0 ±2 -0]: Added Windows implementation of getFileInfo procedures
21:40:31NimBotAraq/Nimrod devel 8af083c Clay Sweetser [+0 ±1 -0]: Added Posix implementation of getFileInfo, organized code.
21:40:31NimBotAraq/Nimrod devel 79f0c66 Clay Sweetser [+0 ±2 -0]: Completed Linux/Posix implementation of getFileInfo... 2 more lines
21:40:31NimBotAraq/Nimrod devel 73570cb Clay Sweetser [+0 ±1 -0]: Allowed getFileInfo to accept TFile objects.
21:40:31NimBot3 more commits.
21:41:27BitPuffinwa
21:41:32BitPuffinso many commits :P
21:41:42flaviuHe's pulling requests
21:42:14EXetoCflaviu: do you know when it was fixed?
21:42:24flaviuNo idea, ask Araq
21:45:08EXetoCok
21:50:02Araqdom96: https://github.com/Araq/Nimrod/issues/1085 is fixed now?
21:51:01dom96nope
21:52:31*DAddYE joined #nimrod
21:54:04NimBotAraq/Nimrod devel 5cf8c05 Dominik Picheta [+0 ±1 -0]: Fixes #1119.
21:57:02*DAddYE quit (Ping timeout: 245 seconds)
21:57:04Araqdom96: was that reactormonk's bug?
21:58:25*OrionPK quit (Remote host closed the connection)
21:58:29dom96No, I already fixed that
21:58:37dom96oh forgot that had an issue
21:58:42*OrionPK joined #nimrod
21:58:43dom96That was gorge
21:58:49Araq:O
22:00:07Araqnice fix
22:00:20dom96It's correct right?
22:00:24Araqyup
22:00:26dom96good
22:10:50NimBotAraq/Nimrod devel 472190b Araq [+0 ±2 -0]: fixes #1085
22:10:50NimBotAraq/Nimrod devel e3fab47 Araq [+0 ±4 -0]: attempt to make some tests green
22:10:50NimBotAraq/Nimrod devel 2c97242 Araq [+3 ±10 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
22:16:28fowli needed md5 functions from openssl/md5, if anybody else need them: https://gist.github.com/fowlmouth/11126623
22:19:01EXetoCdo any type classes include nkVarTy?
22:20:26Araqwho knows
22:21:08fowlis there a curl wrapper?
22:22:52dom96Araq: Still want to move redis out?
22:23:12Araqno
22:23:27AraqI want you to add Babel to windows installer. somehow
22:23:37Araqwe can move redis later
22:23:43EXetoCAraq: n.kind is nkVarTy but I can't figure out where in "case n.kind" in semExpr that it's matched
22:23:50EXetoCnot in the 'else' branch apparently
22:24:08AraqnkVarTy is done by semTypeNode
22:24:57EXetoCok there's a range case here. sneaky
22:25:52AraqBitPuffin: so now I need to look for linagl to fix your showstopper bug. how nice
22:26:08Araqno wonder nobody fixes it :P
22:26:15EXetoCit's only a handful of values inbetween, so listing them all would be more clear
22:27:41renesacfowl, I hope you needed it for some backwards compatibility thing, and I remember seeing a md5 wrapper for nimrod, not sure if for openssl
22:28:10dom96Araq: I thought that was Varriount's job.
22:28:48EXetoCI'm trying to fix this UDTC bug
22:29:19AraqEXetoC: what's UDTC?
22:29:51Araqfowl: there is lib/libcurl.nim
22:30:03EXetoCAraq: user defined type class
22:30:14dom96fowl: Why not use the httpclient module?
22:31:03renesachum, ok, it seems implemented in nimrod rather than a wrapper
22:31:16renesacoops, or not
22:31:44Araqbabel install linagl
22:31:46AraqDownloading linagl into /tmp/babel/linagl using hg...
22:31:47Araqsh: 1: hg: not found
22:32:22renesacoh, it is indeed in nimrod
22:32:36renesacwhy cstring then?
22:33:12renesacoh, to simulate a slice?
22:34:11Araqsometimes we do that, yeah
22:35:07EXetoCwell, do you have mercurial?
22:35:44flaviuAraq: Its an easy fix on arch: `sudo pacman -S mercurial` :P
22:36:50Araqflaviu: it's easy here too
22:37:47dom96I should add a fallback to babel in case hg or git is not installed
22:38:13Araqdom96: it's fine for now. the error was easy enough to understand
22:39:05dom96It's not on Windows heh
22:40:57EXetoC"var checkedBody = c.semTryExpr(c, body.n[3].copyTree, bufferErrors = false)" this returns 'not nil' when I try to match against 'var' parameters for UDTCs
22:42:23EXetoC"if checkedBody == nil: return isNone". this is in sigmatch.matchUserTypeClass. I'm not sure what to do now
22:42:26EXetoCzahary: ?
22:43:50Araqhe's in his never ending vacation
22:44:39EXetoCok maybe you have a clue
22:45:41Araqnot really
22:47:27fowldom96, i was having trouble with downloading from dropbox
22:47:55dom96fowl: Where is your issue report?
22:48:08fowlover there
22:48:23*dom96 takes out binoculars
22:48:28dom96can't see it
22:49:32EXetoCAraq: does this help? https://gist.github.com/EXetoC/7eba2d96c2c0c363acc2
22:50:49EXetoCdon't bother if nothing comes to mind right away. I just noticed this "dummyType = if a.kind != tyVar: makeVarType(c, a) else: a" which could be of relevance
22:51:54AraqEXetoC: are you sure it's not simply another x.f(a) vs f(x, a) issue?
22:51:59Araqtry
22:52:09Araqput(c, var T) in the generic declaration
22:53:09EXetoCno change
22:53:25*DAddYE joined #nimrod
22:57:33*superfunc joined #nimrod
22:58:03*DAddYE quit (Ping timeout: 276 seconds)
23:00:32*Demos joined #nimrod
23:00:35*ehaliewicz joined #nimrod
23:06:18*BitPuffi1 joined #nimrod
23:08:09EXetoCno wait, "var T"? :E
23:08:18*BitPuffin quit (Ping timeout: 240 seconds)
23:09:23EXetoCthat's wrong. it doesn't matter though
23:14:17*xenagi quit (Quit: Leaving)
23:14:33NimBotAraq/Nimrod devel e809302 Dominik Picheta [+0 ±1 -0]: Tester now ignores deprecation warnings.
23:14:40fowlEXetoC, i fixed it
23:14:49fowl var cvar = c
23:14:49fowl put(cvar, int)
23:15:00fowlworks with T also
23:15:41fowlEXetoC, "var tvar: T" it works with put(cvar,tvar)
23:16:04fowloh and i changed put to take var
23:16:32fowlbullet point: use var to make inner copy if you need var type
23:18:19*Demos quit (Ping timeout: 252 seconds)
23:19:17fowldom96, can i add those md5 funcs to openssl?
23:19:42EXetoCok
23:20:57EXetoCI might try to fix that still, but this might allow me to perform some practical experiments
23:21:22dom96fowl: Araq's call
23:21:37Araqshouldn't we get rid of openssl asap?
23:21:48Araqand wrap the mozilla stuff instead?
23:22:30dom96Yeah, because getting openssl to work was so simple.
23:23:00AraqI bet the mozilla stuff is
23:23:02fowlwhat would be the easiest way to make nake compile nakefiles with -d:ssl
23:23:09*Demos joined #nimrod
23:23:20dom96heartbleed was patched
23:23:37dom96openssl is still the most popular
23:23:48dom96but i'll look into it
23:24:01fowldom96, i dont want to ask him, ill just do the pr >_>
23:24:18Araqtoo late
23:25:25BitPuffi1how is the release going?
23:27:40Araqit will be a pretty crappy release ...
23:28:46dom96oh come on
23:29:01dom96be positive
23:29:24*Matthias247 quit (Read error: Connection reset by peer)
23:29:27Araqdoes the matrix stuff work? no. the new VM? sometimes. async? testing right now on linux
23:29:48flaviuAraq: There's more new stuff than Java has had added in the past few releases :P
23:30:09Araqthe new thread stuff? breaks code, but I suppose spawn is really cool
23:30:42flaviuHave you considered weekly releases until 1.0?
23:30:59dom96we have cool closures now though
23:31:12*Demos quit (Ping timeout: 276 seconds)
23:31:13flaviudom96: Your macro is in the stdlib now?
23:31:18dom96flaviu: yes!
23:31:21dom96Please test it!
23:31:29dom96it's in the future module
23:31:34AraqI'm considering telling people to built from master for a stable version and from devel to get a cutting edge version
23:32:20dom96Araq: Isn't that what we already tell people?
23:32:38flaviudom96: We tell people to use devel for everything
23:33:09dom96Well. That's because master is extremely outdated.
23:33:16Araqnot anymore
23:33:23Araqwe merged it before the purge
23:33:43Araqthat's why I developed the thread stuff directly on devel btw
23:33:57dom96Er, isn't the plan to merge devel into master once a release happens?
23:34:12Araqwell I was positive :P
23:36:20flaviudom96: Can you use assert in the docs? If I ever turn them into tests, that would be helpful.
23:37:19*darkf joined #nimrod
23:37:28renesacthe tester should try to execute the code snippets on the docs
23:37:50renesacyou have syntax identifying them, so that should be possible
23:38:14flaviurenesac: Yes, definitely possible. I have some half-completed code that extracts them
23:38:17dom96flaviu: Assert in code examples will add a lot of noise.
23:38:36renesacwell, sometimes the examples use non-existing variables, and that will be broken
23:38:45renesacyeah, not so simple
23:39:13Araqdom96: doc2 crashes with an assertion for future.nim
23:39:27AraqI'm working on it but gradha's code is awful
23:39:28flaviurenesac: Are those good examples then? A good example should be self-contained
23:39:51renesacflaviu, and it should be concise
23:39:54dom96Araq: huh, must be linux specific?
23:40:19Araqwell it's an assert
23:40:28Araqif you use release mode it might fail silently
23:40:44dom96ahh
23:40:47dom96that's it
23:41:28BitPuffi1Araq: so postpone it
23:41:42BitPuffi1no more features
23:41:50BitPuffi1get master in a fairly stable state
23:41:57BitPuffi1then start working on devel
23:42:09BitPuffi1release builds every 2 weeks or so based on master
23:43:02BitPuffi1releasing something that isn't ready for the sake of releasing doesn't result in anything but a bad image
23:43:03dom96we've postponed long enough
23:43:12dom96There will always be bugs
23:43:22renesacrelease a beta
23:43:22BitPuffi1like "well I tried nimrod but I couldn't do anything because the compiler was buggy"
23:43:26renesac:P
23:43:29BitPuffi1yeah I agree
23:43:32BitPuffi1a beta would be ok
23:43:45flaviu+1 "well I tried nimrod but I couldn't do anything because the compiler was buggy"
23:44:12Araqmakes no sense to call this version a "beta". a "beta" for what?
23:44:22BitPuffi1for 0.9.4
23:44:26EXetoCAraq: ok so "var cvar c; put(cvar, T)" works, but I think "put(var c, T)" should work as well. how can I treat these in the same way?
23:44:34renesacof 0.9.4?
23:44:36renesac:P
23:44:42BitPuffi1it's not like anyone will give a shit if we postpone it
23:44:51BitPuffi1what they will give a shit about is releasing something buggy
23:45:15renesacBitPuffi1, postponing it while the main website points people to version 0.9.2 is bad
23:45:28dom96BitPuffi1: The current version doesn't work on Ubuntu
23:45:30BitPuffi1renesac: so update the website
23:45:37BitPuffi1say
23:45:39dom96And it has many other issues.
23:45:40BitPuffi1if you want to try nimrod
23:45:47BitPuffi1you should build from source
23:45:55BitPuffi1just follow the instructions here:
23:46:07BitPuffi1hell we could even write a script that does the building and installation for you
23:46:47BitPuffi1in fact don't even link to 0.9.2
23:46:51BitPuffi1it's dead
23:47:02BitPuffi1link to the master builds of the documentation
23:47:04BitPuffi1I mean come on
23:48:34BitPuffi1well at least that's what I think
23:49:36BitPuffi1like the only ones that will be disappointed if we don't release today would be those of us in here who was hoping for a release today, and we already understand the situation so it's not like anyone of us will go "fuck it!" and leave because of it
23:50:18Araqoh really? and how do we make reddit announcements without a release and attract fresh blood?
23:50:37flaviuBitPuffi1: I agree, just point to the github repo. Rust is exactly the same, they have a link to a nightly release.
23:50:47BitPuffi1Araq: we write blogposts about every new feature that gets added in the master branch
23:50:58BitPuffi1and make it easy to get the master branch, ie script the installation process
23:51:07BitPuffi1first we need to fix koch install though
23:51:25BitPuffi1now why the fuck am I BitPuffi1
23:51:28*BitPuffi1 is now known as BitPuffin
23:54:07*DAddYE joined #nimrod
23:58:33*Demos joined #nimrod
23:59:09*DAddYE quit (Ping timeout: 276 seconds)