<< 20-07-2014 >>

00:09:28Araqgood night
00:15:08*adoniscik joined #nimrod
00:19:41*Jehan_ quit (Quit: Leaving)
00:27:59*clone1018_ quit (Remote host closed the connection)
00:28:22*adoniscik quit (Ping timeout: 240 seconds)
00:28:27*clone1018 joined #nimrod
00:28:58*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:31:57*Fx00F quit (Quit: leaving)
00:34:53*Matthias247 quit (Read error: Connection reset by peer)
00:47:49*boydgreenfield joined #nimrod
00:54:10*Jesin quit (Quit: Leaving)
01:08:31*goobles quit (Quit: Page closed)
01:09:04*goobles joined #nimrod
01:26:00*bjz joined #nimrod
01:59:33*vendethiel quit (Remote host closed the connection)
01:59:50*vendethiel joined #nimrod
02:24:05flaviuCan someone tag https://github.com/Araq/Nimrod/issues/1386 as RFC?
02:28:49Varriountflaviu: Your wish is my command.
02:29:05VarriountHi vendethiel
02:29:08flaviuThanks
02:29:14*gsingh93 joined #nimrod
02:52:25gooblesnimroooood
03:00:05*Varriount gobbles up goobles greedily
03:02:33gooblesis there any good docs on nimrods memory model/gc
03:04:11flaviugoobles: Not much, but http://nimrod-lang.org/gc.html
03:07:09*q66 quit (Quit: Leaving)
03:42:09*adoniscik joined #nimrod
04:01:24*johnsoft quit (Ping timeout: 250 seconds)
04:02:06*johnsoft joined #nimrod
04:19:19*kemet joined #nimrod
04:20:51*kemet quit (Client Quit)
04:23:40gooblesis nimrod going for a global GC for entire program or seperate gc per task/thread?
04:30:24Demosper thread gc
04:36:04*saml_ joined #nimrod
04:42:22*flaviu quit (Ping timeout: 240 seconds)
05:08:38*Demos quit (Read error: Connection reset by peer)
05:15:10*boydgreenfield quit (Quit: boydgreenfield)
05:53:18adoniscikhow can you get the base type of a sequence or array? type() returns array
05:53:26adoniscikI want the type of its elements
05:54:31adoniscikI guess I could use type(foo.low)
06:21:37*saml_ quit (Remote host closed the connection)
06:26:47*boydgreenfield joined #nimrod
06:31:46*goobles quit (Ping timeout: 246 seconds)
06:38:35*mwbrown quit (Ping timeout: 250 seconds)
06:43:03fowltype(foo[0])
07:00:50vendethielhi Varriount (?)
07:05:31*brson quit (Ping timeout: 256 seconds)
07:33:58*noam_ quit (Ping timeout: 240 seconds)
07:35:33*boydgreenfield quit (Quit: boydgreenfield)
07:39:35*kunev joined #nimrod
07:39:58*boydgreenfield joined #nimrod
07:55:49*boydgreenfield quit (Quit: boydgreenfield)
08:04:01*kunev quit (Quit: leaving)
08:11:18*Ven joined #nimrod
08:22:10*johnsoft quit (Ping timeout: 264 seconds)
08:22:33*johnsoft joined #nimrod
08:23:43*adoniscik quit (Ping timeout: 256 seconds)
08:28:53*Matthias247 joined #nimrod
08:35:23*Fr4n joined #nimrod
08:35:46*Fr4n is now known as Guest11193
08:36:09*Guest11193 quit (Client Quit)
08:36:26*Francisco joined #nimrod
09:17:52*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:19:35*Ven joined #nimrod
09:34:58*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:58:48*Mat3 joined #nimrod
09:58:53Mat3hello
10:03:51*io2 joined #nimrod
10:03:53*io2 quit (Changing host)
10:03:53*io2 joined #nimrod
10:04:23*io2 quit (Client Quit)
10:12:34*Mat3 quit (Quit: Verlassend)
10:12:39*BitPuffin quit (Ping timeout: 250 seconds)
10:21:26*johnsoft quit (Ping timeout: 250 seconds)
10:22:10*johnsoft joined #nimrod
10:42:37dom96hi
10:46:24*io2 joined #nimrod
11:37:23*ARCADIVS quit (Quit: WeeChat 0.4.3)
12:04:16*q66 joined #nimrod
12:04:59*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
12:07:11*BitPuffin joined #nimrod
12:08:55*BitPuffin quit (Client Quit)
12:23:26*BitPuffin joined #nimrod
12:28:31*BitPuffin quit (Ping timeout: 256 seconds)
12:33:33*untitaker quit (Ping timeout: 240 seconds)
12:39:27*untitaker joined #nimrod
12:44:54*q66 quit (Remote host closed the connection)
12:46:41*q66 joined #nimrod
12:51:29*darkf quit (Quit: Leaving)
13:05:47*io2 joined #nimrod
13:11:38*Kos_ joined #nimrod
13:14:48dom96hello Kos_, welcome.
13:23:57Kos_Hello
13:24:16Kos_I'm attempting to install Aporia on Windows
13:24:45Kos_Is it meaningful option at all ?
13:25:06Kos_Or it will go much smoother on Linux ?
13:26:24Kos_Thanks in advance
13:26:43*q66 quit (Quit: Leaving)
13:27:04dom96Kos_: Should be much easier on Linux.
13:27:46Kos_as usual with ported software.
13:28:57dom96You can try this on Windows: http://nimrod-lang.org/download/aporia-0.2.0.zip
13:29:08dom96It's missing pcre.dll though
13:29:13dom96I still need to fix that
13:35:57*q66 joined #nimrod
13:37:41Kos_thank you
13:41:07*SnarlPatrick|2 joined #nimrod
13:41:19*SnarlPatrick|2 left #nimrod (#nimrod)
13:53:04Kos_dom96 : Is that package with Aporia 32bit or 64bit ?
13:53:13dom9632
13:53:27Kos_Do you have 64 bit one ?
13:54:08Kos_I can download 32bit nimrod actually
13:55:27dom96You don't need 32 bit nimrod to use 32 bit Aporia
13:55:42dom96But I suggest you use 32 bit nimrod anyway
13:56:46Kos_Now it works, thanks
13:59:39Kos_I needed 32 bit pcre.dll
14:01:25Kos_Aporia started but fails to access nimrod.exe even started with administrator privilagies. Will better test it with Linux
14:01:40dom96you need it in your PATH
14:10:16Kos_BTW it was already there
14:10:26Kos_it was installed using installer from site
14:10:48Kos_thank you for answers
14:10:53*Kos_ quit (Quit: Page closed)
14:11:25*vbtt quit (Remote host closed the connection)
14:11:57NimBotAraq/Nimrod devel be616fc Dominik Picheta [+0 ±1 -0]: Fixes #1219.
14:11:57NimBotAraq/Nimrod devel 8968b51 Dominik Picheta [+0 ±3 -0]: Fixes #1065.
14:25:17*bjz quit (Ping timeout: 250 seconds)
14:27:34*eigenlicht_ quit (Quit: WeeChat 0.3.2)
15:06:44*kunev joined #nimrod
15:09:00*mwbrown joined #nimrod
15:12:32*Jehan_ joined #nimrod
15:29:56*Demos joined #nimrod
15:32:43*BitPuffin joined #nimrod
15:40:38*BitPuffin quit (Quit: See you on the dark side of the moon!)
16:06:22*BitPuffin joined #nimrod
16:09:06*q66_ joined #nimrod
16:09:58*q66 quit (Ping timeout: 240 seconds)
16:18:23*q66_ is now known as q66
16:40:54*flaviu joined #nimrod
16:42:22*bjz joined #nimrod
17:17:35*Jesin joined #nimrod
17:34:48*Jesin quit (Quit: Leaving)
17:39:10*Jesin joined #nimrod
18:10:36*Ven joined #nimrod
18:14:57*Boscop quit (Read error: Connection reset by peer)
18:19:04*BitPuffin quit (Ping timeout: 260 seconds)
18:20:42*kunev quit (Ping timeout: 255 seconds)
18:42:45*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:46:36*Boscop joined #nimrod
18:49:29*bjz_ joined #nimrod
18:52:05*Ven joined #nimrod
18:52:20*shevy joined #nimrod
18:53:37*bjz_ quit (Ping timeout: 245 seconds)
19:05:57*noam joined #nimrod
19:13:34*johnsoft quit (Ping timeout: 250 seconds)
19:14:12*johnsoft joined #nimrod
19:29:29*kunev joined #nimrod
19:40:12*Trustable joined #nimrod
19:44:50*kunev quit (Ping timeout: 255 seconds)
20:00:54*Johz joined #nimrod
20:06:45*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:08:11*Ven joined #nimrod
20:18:29*rixx left #nimrod ("Foyfoy!")
20:25:29Araqping def-
20:25:34def-hi Araq
20:25:44Araqwow that was quick
20:25:59Araqwe need a link to your slides
20:26:14def-for?
20:26:17dom96wikipedia
20:27:10def-Best I have is this: https://entropia.de/GPN14:Nimrod
20:27:23Araqis that a permanent link?
20:27:41Araqnot that it matters much ... other wikipedia articles are full of dead links
20:27:53def-Apparently so
20:28:01def-The ones from the last years are still around at least
20:28:44Araqwell we can host it ourselves and then it's a primary reference again and wikipedia doesn't accept us
20:30:24Araqthere is a point where following mechanical rules produces undesired results and you have to use your brain. Too bad the guys writing an online encyclopaedia don't know this.
20:31:27*ics quit (Ping timeout: 245 seconds)
20:33:39*ics joined #nimrod
20:35:03dom96We'll have a source in Bulgarian and German :D
20:35:54flaviuHow about nimrod-by-example? Its a secondary source, and it looks more reputable than a random blog post
20:37:13dom96flaviu: already added
20:37:28dom96https://en.wikipedia.org/wiki/Draft:Nimrod_%28programming_language%29
20:38:11dom96I think i'm done
20:38:31dom96def-: Is there a video for your talk?
20:39:48def-dom96: yes, but i wanted to wait until it's on youtube. seems to take them a bit longer this year
20:40:07dom96def-: np
20:40:36def-It's in the big list at https://entropia.de/GPN14:Streams
20:42:39dom96I really wish I could understand German lol
20:43:44flaviudom96: Its easy! "nien" means "me"
20:43:57flaviuOr no
20:44:02flaviuor lines, IDK :P
20:44:26def-I would have held the talk in English
20:44:32def-but most talks seemed to be in German
20:45:14dom96I have an excuse to learn German at least
20:45:30dom96I really like your slides though, very nice job.
20:45:43def-Thanks, dom96
20:46:01flaviudom96: his slides are made with LaTeX :D
20:48:26Matthias247as long as it's not in schwäbisch ;)
20:49:36*gsingh93 quit (Quit: Connection closed for inactivity)
20:50:28dom96yay https://github.com/glfw/website/compare/56c919d77e03...29516872cb86
20:52:19dom96def-: I'm curious about the questions you got, can you translate some of them for me?
20:52:36*brson joined #nimrod
20:52:47def-dom96: I think I did that before, let me search irc log
20:53:10def-http://build.nimrod-lang.org/irclogs/14-07-2014.html
20:53:43dom96oh thanks
20:56:02Matthias247don't know what's so funny about the generated C code :)
21:00:02*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:02:54*Fx00F joined #nimrod
21:03:06*Mat3 joined #nimrod
21:03:10Mat3hello
21:03:19def-hi Mat3 and Fx00F
21:03:26Mat3hi def-
21:04:15Mat3I have the following problem:
21:04:27Fx00Fhi
21:05:37Fx00Fvar u:auto = 5 <--- internal error
21:05:39Mat3in one module an exported string: var tIlOpcode* = array [tIlOpcodeLen, uInt8] is defined
21:06:23def-Fx00F: if you want an auto type just write "var u = 5"
21:07:11Mat3in another module the global string is used as parameter for a procedure: poke[uInt8] (o, o.iCode, aIlOpcode[i]
21:07:14dom96Fx00F: report that on github please
21:07:23Mat3+) =
21:08:00Fx00Fdom96: hmm
21:08:35Jehan_Fx00F: auto is used for implicit generics, should probably result in an error when used with `var`.
21:09:18Mat3then compilation fails with error message: Error: conversion from seq[uint8] to uint8 is invalid
21:09:57Mat3I doubt this to be incorrect as long as arrays are handled differently from sequences
21:10:12def-Mat3: i don't see where you're using a seq
21:11:08Jehan_Mat3: Not sure about the context. What is "the global string", what are o.iCode, and allOpcode[i]?
21:11:28*Trustable quit (Quit: Leaving)
21:11:37Mat3aIlOpcode is of type string
21:12:11*Johz quit (Ping timeout: 250 seconds)
21:12:12Mat3o.iCode is an index into a buffer for generated native code
21:13:07Jehan_Mat3: What I'm trying to say is that there's too little information to analyze the error message.
21:13:08Mat3sorry I mean aIlOpcode is of type array[0..cNatCodeLen, uInt8]
21:14:33Jehan_What's the exact type signature of poke, what's the exact location of the error?
21:14:55Mat3the porblem is simply that an array element is accessed as parameter and the compiler return a error message showing that this element is of type: seq[uint8]
21:15:17Mat3instead of uInt8
21:15:27Jehan_Are you sure that it's that?
21:15:35Mat3yes
21:16:01Mat3var tIlOpcode* = array [tIlOpcodeLen, uInt8]
21:16:19Jehan_Even so, there's little anyone can do (including identifying a compiler bug) without a way to reproduce or at least understand the circumstances.
21:17:49*johnsoft quit (Ping timeout: 250 seconds)
21:17:56Jehan_If I try to pass an element of array[0..something,uint8] to a proc expecting a uint8 parameter, it works.
21:18:04Jehan_So, clearly there's something else going on.
21:18:05*johnsoft joined #nimrod
21:18:12flaviuJehan_: I've heard that you're familiar with hashing, do you think I should expose the hash construction as an API, or do it like std::hash?
21:18:37Jehan_flaviu: Umm, what's the context for that question? What hash construction?
21:18:56flaviuhttps://github.com/Araq/Nimrod/issues/1386
21:19:06Mat3Jehan_: yes of course
21:20:08flaviuBasically, the hashes API isn't as general as it needs to be to accommodate all/most hash functions
21:22:10Jehan_flaviu: I take it that's for hash functions that have to store extraneous intermediate data aside from the hash result?
21:22:51flaviuYes, exactly.
21:23:38flaviuLike siphash is internally int256, but outputs a int64 value
21:25:44Jehan_I don't see why you wouldn't expose the API, to be honest.
21:26:01Jehan_What I'd be more concerned about is that you're unlikely to cover all use cases.
21:28:31Jehan_Hashing of data structures represented as trees or DAGs may be concerned about, say, having a hash function that's commutative (i.e. where you need hash(Tree(a, b)) == hash(Tree(b, a))) or can be cached inside individual nodes.
21:30:30Jehan_Or, for example, make sure that Tree(a, Tree(b,c)) is unlikely to hash to the same thing as Tree(Tree(a,b),c), which is what you can easily get by accident if you do a left-to-right linearization.
21:30:42flaviuThe main issue I see with that API is 32 `int` size. Some hash functions need 64bit inputs, others 32 bit.
21:30:56flavius/32 `//
21:31:25flaviuHash functions that need 64 bit input on 32 bit archetuctures will have to do buffering
21:32:25*Jessin joined #nimrod
21:32:57*Jesin quit (Read error: Connection reset by peer)
21:35:17Jehan_Well, the easy way to do it portably is to use int64 and strip it down to int size on 32-bit architectures at the end.
21:35:23Jehan_Of course, portable != fast.
21:36:31Jehan_The alternative is to have two different implementations, one for 32-bit and one for 64-bit systems.
21:39:15AraqMat3: var tIlOpcode* = array [tIlOpcodeLen, uInt8] # problem right here
21:39:33Araqvar tIlOpcode*: array [tIlOpcodeLen, uInt8] # fix
21:39:48Araqand yes, I'll get rid of this behaviour
21:39:49Mat3hello Araq, thanks
21:41:03flaviuI could make it a int64 and then make the proc inline. That way the optimizer can take care of it maybe even make it a no-op. Two implementations is too much complexity I think.
21:41:30Araqwhat's your problem with hash implementations?
21:41:45flaviuIt can't be swapped out for any other hash implmentation
21:41:47Araqdoesn't hashes.nim teach you of how to design it? ;-)
21:42:09flaviuhashes.nim is incomplete
21:42:24Araqand yet it teaches you great design ;-)
21:42:29flaviuBut, yes, I'm basing it on the design of hashes.nim, its very close to what is needed
21:42:40*saml_ joined #nimrod
21:42:43Araqit's a very simple problem you have here
21:43:04Araqyou can either allow for runtime dispatching and then everybody pays the price always and the bloat
21:43:24flaviuI'm making sure everything can be inlined
21:43:32Araqor you simply keep the interfaces the same and let the programmer pick a particular implementation with import
21:43:46flaviuThats exactly what I'm doing.
21:43:50Araqgreat
21:44:16flaviuI envision hashes.nim being nothing more than `when arch64: include thisHash else: include otherHash`
21:44:34Araqenvision a new module name please
21:45:05flaviusure, but why?
21:45:23Araqbecause lots of code depends on hashes.nim already
21:45:50Araqand getting version 1 out is MUCH more important than constant bike shedding
21:46:11flaviuI'm actually hitting across a real problem where hashes.nim's api is inadequate
21:47:28Mat3Araq: ok, next problem
21:47:43Mat3the code:
21:47:44Mat3 for i in countup (0, len):
21:47:44Mat3 poke[uInt8] (o, o.iCode, aIlOpcode[i])
21:48:10Mat3gives me: Error: for a 'var' type a variable needs to be passed
21:48:40Jehan_flaviu: You can simply import your own implementation to substitute it?
21:49:27flaviuYes, I can
21:49:43flaviuThats what I'll end up doing anyway
21:52:02Mat3defination of poke is:
21:52:11Mat3proc poke[T] (o: var tAvmCompiler, ofs: int, v: T) =
21:52:11Mat3 if ofs > cSaiwaAvmCode - cSaiwaRedZone: saiwaError (33)
21:52:11Mat3 cast[ptr array[0..cSaiwaAvmCode, T]](o.pCode)[ofs] = v
21:54:03AraqMat3: well 'o' might not be modifyable
21:57:55Mat3its an object
21:58:24def-Mat3: maybe you wrote "let o = ..." instead of "var o = ..."
21:58:25Araqproc foo(o: tAvmCompiler) # o must not be modified
21:58:36Araqconst o = ... # o must not be modified
21:58:45Araqlet o = ... # o must not be modified
22:00:51Mat3thanks, get the error
22:02:05Mat3(forgot a 'var' in the parameter list of the callee)
22:10:42Mat3ciao
22:10:45*Mat3 quit (Quit: Verlassend)
22:23:01*boydgreenfield joined #nimrod
22:48:50*Jehan_ quit (Quit: Leaving)
22:52:04NimBotnimrod-code/packages master b285d01 Johz [+0 ±1 -0]: Add appdirs to package.json
22:52:04NimBotnimrod-code/packages master 96c2f4b Johz [+0 ±1 -0]: Wrong Github...
22:52:04NimBotnimrod-code/packages master 8fb7187 Dominik Picheta [+0 ±1 -0]: Merge pull request #71 from MrJohz/patch-1... 2 more lines
23:04:59*darkf joined #nimrod
23:05:26*gsingh93 joined #nimrod
23:27:03*bjz quit (Ping timeout: 240 seconds)
23:46:52*fowl quit (Ping timeout: 245 seconds)
23:49:41*boydgreenfield quit (Quit: boydgreenfield)
23:54:15*Fx00F quit (Quit: leaving)