<< 26-08-2013 >>

00:15:32dom96good night
00:15:58filwitnight!
00:17:31EfTwelvei tried googling for this error, but got no luck. "Error: internal error: value expected, but got a type" any hints as to where i can read up on it?
00:17:55fowlpaste the line
00:19:37EfTwelvehttps://gist.github.com/anonymous/6337145
00:20:18EfTwelveoops.. https://gist.github.com/anonymous/6337147
00:20:51fowl var adtw = array[0..LENN,array[0..LENM,float]]
00:21:09fowlso it expects a value, but array[..., ...] is a type
00:21:18fowlyou want var adtw : array[.., ...]
00:22:25EfTwelvei see, so arrays must always be declared with 'type'?
00:22:54EfTwelvebut as a function argument they are declared with 'var' ?
00:23:13fowlEfTwelve, array[1, int] is not a value, its a type
00:23:43fowlnow if you want to do var x = [1] then it has the type array[0..0, int]
00:23:52*Widdershin joined #nimrod
00:23:59*BitPuffin quit (Ping timeout: 268 seconds)
00:23:59WiddershinHey guys
00:24:02WiddershinI need some help
00:24:03fowlhi
00:24:13fowlshoot, im here for 20 minutes
00:24:17WiddershinI'm trying out Nimrod, and I'm just trying to make something basic to learn
00:24:34WiddershinUsing httpclient.getContent, how do I make a call through a proxy?
00:24:53WiddershinAll I'm trying to do is get the content of a web page, but I'm behind a proxy
00:25:21WiddershinIt doesn't require any credentials, for the record, but requests still need to go through it
00:25:28*freefall left #nimrod (#nimrod)
00:25:29*filwit quit (Quit: Leaving)
00:25:51Araqhi Widdershin, welcome
00:25:56WiddershinGidday Araq
00:26:14AraqI can't answer your question unfortunately; dom96 can do that be is sleeping
00:26:22Araq*but he is
00:26:28dom96Lucky for you I am still here.
00:26:39fowlEfTwelve, do you get it
00:26:48dom96:P
00:26:53WiddershinAny thoughts dom96?
00:27:16dom96sec, researching this :P
00:27:19EfTwelveya, makes sense. thanks!
00:27:27Araqalright then I will sleep. bye
00:29:45EfTwelveg'night
00:34:52dom96Widdershin: Sadly, the httpclient module currently doesn't support this :(
00:35:12Widdershindom96: Should I open an issue?
00:36:29dom96I'll try to implement this now for you but I can't promise anything.
00:37:32WiddershinCheers man
00:37:36WiddershinI can always work around it
00:39:11dom96Alright. I may as well try it though since it doesn't seem too complicated.
00:39:15Widdershindom96: Are you the dev for Nimrod?
00:40:00dom96Widdershin: I'm one of the main contributor's and I wrote a lot of the standard library. But Araq is the main guy behind Nimrod.
00:40:12WiddershinAh cool
00:49:41dom96nah, sorry. There is authorization to think about and probably other little things. I don't want to have to change the interface later, and also 2am is too late to be implementing these things heh.
00:49:59dom96I'll implement it for you tomorrow if you'd like.
00:50:07dom96What are you writing?
00:50:19dom96(if you don't mind saying)
00:50:42Widdershindom96: My work has an internal betting app for sports
00:50:53WiddershinAnd I'm doing well this season so far
00:50:56Widdershinout of pure luck
00:51:04WiddershinSo I decided to make something to scrape scores and give odds
00:51:11WiddershinAnd I thought I would try something in nimrod
00:51:25dom96oh. Well sorry about this.
00:51:54dom96I would implement this for you but it's quite late for me.
00:52:07WiddershinDon't worry about it dom96
00:52:33WiddershinI'll just bang out a python script that takes urls and a proxy and returns the html
00:53:34*fowl quit (Quit: Leaving)
00:53:51dom96Alright. Hopefully you'll be able to find another use for Nimrod.
00:54:10WiddershinI'll still write the rest of it
00:54:14WiddershinIn nimrod
00:54:24dom96oh cool.
00:54:27WiddershinI'll just outsource the web page request to python
00:54:54dom96ok. Have fun. Good night.
00:55:04WiddershinSleep well mate
01:30:31*q66 quit (Quit: Leaving)
02:59:26*darithorn joined #nimrod
03:45:57shodan45tiny nitpick: how come there's no tar.gz (or .bz2, etc) for the source download?
04:05:39Trixar_zaBecause most systems supports or comes with unzip?
04:08:12*OrionPK quit (Read error: Connection reset by peer)
04:10:41shodan45Trixar_za: and most open source projects come with tar files ;)
04:12:35Trixar_zaNot if they include a Windows or Mac build. The default seems to be zip for both
04:13:01Trixar_zaAlso it defaults to zip files on github too :P
04:18:51shodan45Trixar_za: hm? windows or mac build? what project supports windows, mac, *nix, and doesn't have source available in a tar file?
04:19:34Trixar_zaOff the top of my head, I would say renpy
04:20:05Trixar_zaBut it does have source in tar.bz2 avaliable, but the windows and mac builds are zip files
04:20:49Trixar_zaMind you, I remember a time that only tar.gz was standard for most files. Now we're moving towards tar.xz
04:21:14Trixar_zazip atleast seems like a constant
04:23:18shodan45Trixar_za: well sure a windows build comes in a zip... I'm just saying that source files are typically available in (at least) a .tar.gz for cross platform projects
04:27:51Trixar_zaCould also be for convience. It's easier to remember unzip file.zip than tar zxf file.tar.gz or tar xfj file.tar.bz2 - and that's if you don't use bunzip or gunzip to extract them, then it needs to be tar xf file.tar
04:29:50*xilo quit (Read error: Operation timed out)
04:47:16shodan45Trixar_za: or you could use a GUI ;p
04:47:44Trixar_zaYeah, but they sometimes mess up symlinks and permissions :P
04:48:02Trixar_zaNot that zip doesn't do that anyway, but yeah
04:49:49shodan45hm, I don't remember any problems like that
04:50:38shodan45heh, anyway, like I said - tiny nitpick
04:52:31shodan45Trixar_za: and not sure when this was changed/added, but tar (gnu tar, anyway) "x" auto detects compression type
04:53:36Trixar_zaReally? Would have helped if I knew it sooner :P
05:07:15*darithorn_ joined #nimrod
05:10:18*darithorn quit (Ping timeout: 264 seconds)
05:26:04*brson quit (Quit: leaving)
05:27:06*Associat0r quit (Quit: Associat0r)
06:25:06comexyou're famous
06:50:55*Endeg joined #nimrod
07:23:49EfTwelvewhy would i get the error 'type expected' when assigning a float to a float array?
07:24:12*ponce joined #nimrod
07:52:56EfTwelveanyone?
08:19:57vegaican you paste the code
08:24:52EfTwelvehttps://gist.github.com/anonymous/6339186
08:33:23vegaihmm, is adtw a type?
08:34:24vegaidoesn't seem to matter...
08:36:34EfTwelvei was told earlier that an array cant be declared with 'var'
08:36:35vegaiI guess you need to first declare it as a type like you did
08:36:47EfTwelvealthough the docs show that in a few places
08:36:50vegaithen declare your variable of that type
08:37:01vegaii.e.
08:37:02vegai type adtwType = array[0..LENN, array[0..LENM,float]]
08:37:09vegai var adtw : adtwType
08:37:14vegaiwith better indentation
08:37:28vegailike they do here: http://nimrod-code.org/tut1.html#arrays
08:38:03EfTwelvethats seems to work.
08:38:07darithorn_I'm able to create arrays using 'var'
08:38:26EfTwelvebut i gotta say that is a terrible to do it.
08:38:31darithorn_var myArray = [1, 2, 3, 4]
08:38:36EfTwelvevia type that is
08:38:53EfTwelvewhat if your array is 100 elements?
08:39:29darithorn_var myArray: array[0..99, int]
08:41:19EfTwelvehmm, that declaration works, but cant assign to it
08:41:44vegaiEfTwelve: you mean doing the type + var thing is a terrible way?
08:42:51EfTwelveyes, trashing up the namespace with type declarations everytime you want an array seems really bad. I hope im misunderstanding 'cause im new.
08:44:06*EXetoC joined #nimrod
08:49:14vegaiwell... seems like it's just a local namespace of the function
08:49:24vegaihave you considered sequences?
08:50:29EfTwelvethe docs only show them assigned with literals -> @[1,2,3]
08:50:37EfTwelvethats all i have to go on.
08:51:00*q66 joined #nimrod
08:53:08EfTwelvethey are declared empty, no info on how to append or resize, no info on them at all really. :(
08:53:24vegaihmm, they say that seqs are dynamic in length, but I'm able to crash the interpreter by just adding to a seq's size+1
08:57:07EXetoCyou're calling setLen? I think you need to initialize with newSeq. these functions are documented in the generated documentation for system.nim
08:58:08vegaiyep, setLen works. So it's not automatically dynamic
08:58:14vegaijust resizeable
08:58:48EXetoCit is dynamic. the capacity can't be set by users though
09:00:46*zahary_ joined #nimrod
09:05:34EfTwelveso it takes 3 statements to make a sequence.
09:06:37EXetoCI think two is enough, but that'll soon be reduced to either a minimum of one or zero
09:07:00EfTwelvei tried making a proc that takes a length and returns a new seq, but that fails too
09:08:31EXetoCyou can just call newSeq[Type](length), and length can be omitted for this overload, in which case it'll be zero
09:11:22EfTwelveoh.. that works. nice!
09:13:38EXetoC"var stuff = newSeq[int](42)" and also "var stuff: seq[int]; newSeq(stuff, 42)", and for this overload, the length parameter isn't optional, which you can see if you browse the documentation (again for system.nim, where much of the core language is defined)
09:16:11EXetoCand then there's 'add' for appending. the '&=' operator does the same thing, but it currently only exists for strings. you can still append with '&' though (stuff = stuff & 42)
09:17:37vegaiit would be useful to augment the tutorial's seq section to include those things
09:18:37EfTwelvethats much easier to deal with. thanks
09:18:54EfTwelvei agree, the tuts page could some of that info.
09:18:55EXetoCvegai: yeah
09:21:30EfTwelveits crazy late, gotta go to sleep,
09:21:36EfTwelvethanks for all the help!
09:21:51EXetoCcrap timezone :>
09:21:55EXetoCnp. later!
09:23:08EXetoCby the way, you can omit newSeq if you don't need to pre-allocate, by appending using 'safeAdd', but I think 'add', '&=' and '&' will be safe by default in the future
09:24:04EXetoCthat's almost set in stone I think, so that'll simplify things
09:25:24EXetoCand the current 'add' would just be 'unsafeAdd' or something, which wouldn't initialize the input sequence if nil (for optimization purposes)
09:54:56vegaiI wonder if I'd be able to find the repo where that tutorial is
10:22:01*BitPuffin joined #nimrod
10:30:23*darithorn_ quit (Quit: Leaving)
11:08:50*jbe_ joined #nimrod
11:12:48xyprotodom96: hi, sorry for the late answer, but yes, it means that TUs and/or devs will be responsible for updating the nimrod package for now. So, unless upstream goes completely silent for a long while, it will be taken good care of. :)
11:26:51dom96xyproto: hi, no worries. Thanks for the answer :)
11:29:33nihathraelwas nimrod moved to community?
11:29:42dom96indeed it was
11:29:50nihathraelnice, great step forward
11:31:42dom96hah, I knew someone would submit it to proggit too heh.
11:41:20EXetoCvegai: did you find it? I wish I could help out in some way. maybe I'll have some time later
11:42:33dom96vegai: The tutorial (including other docs) are here: https://github.com/Araq/Nimrod/tree/master/doc
11:43:07EXetoCis it mostly the stuff in the 2nd tutorial that's already in the manual?
11:46:49dom96The manual is a full spec of the language, so the tutorial is just a more beginner friendly explanation of the stuff in the manual.
11:47:29*Associat0r joined #nimrod
11:47:29*Associat0r quit (Changing host)
11:47:29*Associat0r joined #nimrod
12:20:58*faassen joined #nimrod
12:21:11faassenhey.
12:21:17dom96hello faassen
12:21:36faassenbeen reading about Nimrod this weekend, now there's a reddit discussion, have you guys seen it?
12:22:10dom96Yep. You're defending Nimrod very well, thanks :)
12:22:27faassenheh, I'm just reporting on what I read in the docs.
12:23:32faassenof course I liked what I read in the docs or I wouldn't have kept reading.
12:23:35faassenhave you guys heard of Lobster?
12:24:03oalyes, the game programming language thing?
12:24:19faassenyes, it has some interesting parallel evolution in the language.
12:24:27faassenat least I assume there was no direct mutual influence.
12:25:04faassenheh, and its community support is not so good, its wiki currently down. :)
12:25:40faassenbut it has multiple dispatch and it has an interesting approach to designing new statements (as functions) that's a bit like Nimrod's template system.
12:25:46dom96oh yes, I heard of it. This Minecraft clone really impressed me: http://i.imgur.com/ZZWFkXn.jpg
12:26:21faassenI couldn't get lobster's GL support to work on my system, I'm sure it's something I'm doing wrong with the SDL 2 thing.
12:26:36dom96However I like my software compiled and Lobster is interpreted IIRC
12:27:05faassenI don't mind interpretation, but for a gamey/simulation target domain Nimrod's compilation is nice.
12:27:46faassen(I'm a long time Python user)
12:28:33dom96I was a python user too, the reason I left it was because I wanted something compiled heh
12:29:43faassenI left C++ for Python long ago and quickly got over my need to have stuff compiled. But I do like performance and while I'm ambivalent about static type systems, I can't say they don't have their advantages. :)
12:31:35faassenanyway, I like Nimrod's design choices, very nice.
12:31:50faassenit's been flying under the radar for years, hasn't it?
12:32:59EXetoCI care more about what the type system is like, rather than how the execution is done
12:35:35oalI spent some time learning Julia a few weekends ago. I ported some Go code I'd written. One of the programs ran 20% faster, the other one about 30% slower.
12:35:51oalIt's dynamic with optional static typing, and JITed
12:36:13oalMemory usage was quite high, and it's pretty unstable yet, but I think it has potential
12:37:12oalThen I found nimrod this weekend, but haven't had time to do more than reading the tutorials
12:37:26faassenoh, yeah, I saw Julia too, though I didn't delve into it yet.
12:38:15faassenit's interesting how many languages with Python-style syntax are emerging these days. (for a flexible interpretation of "emerging")
12:38:21oalIt looks very good so far though. I'm coming from Python myself, and while Go is a neat language, I prefer a Pythonic syntax, and Go doesn't have generics etc
12:39:13oalThe concurrency features in Go is really convenient though :)
12:44:59EXetoCsome people complain about the fact that others expect every language to have generics
12:47:16reactormonkEXetoC, any other way to type lists?
12:47:34faassenwell, a dynamically typed language doesn't need generics. :)
12:47:39*OrionPK joined #nimrod
12:47:49oalAlso, the type embedding in Go is a little bit annoying at times. If I have a type A that embeds B, then do myA.bFunction().aFunction(), that won't work because bFunction would have to return B, and A's methods wouldn't be available. So no method chaining without very strict limitations :(
12:47:53reactormonkwe're talking about static typing here.
12:48:11faassenreactormonk: I know, that's why my statement was cheeky. :)
12:49:32EXetoCreactormonk: I don't know
12:49:35Associat0ra typed language without generics is broken
12:49:53reactormonkor C.
12:50:10oalOr at least multiple dispatch
12:50:56EXetoCI rarely use multiple dispatch nowadays
12:53:41*Associat0r quit (Quit: Associat0r)
13:01:27EXetoCbut maybe it's more useful when implementing types that you expect third-party sources to extend, but I guess you can deal with that in multiple ways, especially in expressive languages
13:09:17faassenI use something like multiple dispatch in Python where I want to extend third-party classes without changing them, in the context of model/view in web dev. i.e. you look up a view based on a model class and a request class.
13:13:37EXetoCdom96: you said you didn't see the need for inheritance IIRC, so would you take a different approach compared to GTK (which is built on such concepts), had you been designing your own widget toolkit? in whatever language
13:13:55EXetoCfaassen: yeah it's trivial in such language. I wish duck-typing was opt-in though
13:14:59faassenEXetoC: actually in Python doing the correct lookup based on multiple dispatch isn't totally trivial in my experience, but I may be missing something.
13:15:51dom96EXetoC: That's not my opinion. I only ever said that I never had the need to use methods in Nimrod.
13:25:25EXetoCok
13:25:52*io2 joined #nimrod
13:32:10*circ-user-xAMIG joined #nimrod
13:33:45dom96Wow, there is a very large amount of comments in the nimrod thread downvoted below the 'visibility threshold'.
13:35:00*circ-user-xAMIG left #nimrod (#nimrod)
13:35:19EXetoClink? I lost it
13:35:33dom96http://www.reddit.com/r/programming/comments/1l3p2j/nimrod_c_macros_gc/
13:35:49*circ-user-xAMIG joined #nimrod
13:36:48*open-source joined #nimrod
13:37:45EXetoC"You use C to be in control of everything and then you put a GC on it, who breaks your program flow at random?" I guess some languages don't allow users to either disable or remove the GC altogether
13:38:11OrionPKhe had one decent point
13:38:31OrionPKif you're relying on someone else's library who is relying on the GC and you disable it, could be trouble
13:39:48dom96Yeah, when I read that I immediately thought that Nimrod's effect system would nicely make this safer. You could add a 'FGC' effect to any functions which rely on the GC.
13:40:06open-sourcequit
13:40:14OrionPKyeah
13:40:14*open-source quit (Client Quit)
13:40:27OrionPKwould be nice to have more granular control on that dom96
13:41:33dom96I think the effect system is still not finished.
13:42:54EXetoCyou'd pre-allocate in many types of applications though, and that's even less of an issue if there's a real-time GC
13:43:38EXetoCI disliked the whole concept of garbage collection even before I knew what it was, because I assumed that most people's opinions were educated, but that's often not the case :>
14:04:11*EXetoC is now known as EXetoC_
14:04:31EXetoC_dom96: how's the async stuff coming along?
14:05:02dom96Not working on it currently.
14:06:12profmakxm(
14:07:59EXetoC_just make sure that it's usable some time before 1.0 :>
14:09:40EXetoC_only ~15 months to go!
14:09:41EXetoC_later
14:10:01faassenOrionPK: I agree that was a decent point.
14:53:20*Sphax joined #nimrod
14:53:42dom96hello Sphax
14:53:53SphaxHi
14:59:02shodan45is there a nimrod REPL or interpreter?
14:59:26faassenshodan45: I saw a reference to it being worked on so that means no there isn't. :)
14:59:38dom96There is: nimrod i
14:59:43dom96But it's quite limited.
14:59:54faassenah, sorry, I am wrong!
15:01:18shodan45dom96: interesting! helps to rtfm it seems :)
15:02:03dom96I don't mind answering questions :)
15:02:57shodan45dom96: how is this accomplished? some kind of compile as-you-go, or a whole separate interpreter?
15:03:49faassenshodan45: my reading (which might be wrong :) indicated that they were trying to generate an interpreter from the compiler's tracing mechanism or something like that.
15:04:04faassendom96: am I wrong again? :)
15:04:08dom96shodan45: The compiler already needs to evaluate Nimrod code for compile-time procs and macros so it's basically that.
15:04:23faassenokay I'm sorta right.
15:04:57dom96Araq is working on a new virtual machine for this which will make things faster and allow for FFI in the REPL (which I desperately want :P)
15:05:01shodan45dom96: wow, ok... seems I haven't read that part of the tutorial yet
15:05:24dom96I don't think the tutorial mentions it.
15:05:29shodan45ah :)
15:05:39faassenthe nimrod docs refer to 'deferrent reference counting' but a google for that turns up 'deferred reference counting' and a strict google only seems to turn up nimrod docs.
15:05:48faassenis this a typo in the gc doc?
15:06:15shodan45hehe... there going to be an eval()?
15:06:24*shodan45 smirks evilly
15:06:49dom96shodan45: yep
15:07:24dom96faassen: Quite possible.
15:07:26Araqfaassen: ugh typo indeed
15:08:59*silven quit (Remote host closed the connection)
15:09:16faassenAraq: hey! nice language!
15:12:24faassenanyway, off now, see you later. :)
15:12:32Araqthank you
15:13:12*faassen quit (Remote host closed the connection)
15:24:59shodan45*ahem* how do you quit from "nimrod i"?
15:25:27Araqquit()
15:25:37shodan45Araq: ty :)
15:30:01circ-user-xAMIGfor js target, do we have a tutorial on how to call native js function? i guess it requires a wrapper. if this is the case, do we have or plan to write a tool like we had for c2nim?
15:37:15Araqthere is an example somewhere, the wrapping happens via the same "importc" etc pragmas
15:39:05Araqbbl
15:40:43*zahary_ quit (Ping timeout: 264 seconds)
16:26:51*Sphax quit (Quit: Page closed)
16:28:09*Mat2 joined #nimrod
16:28:12Mat2hi all
16:29:44*zahary joined #nimrod
16:34:22dom96hi Mat2
16:34:45Mat2hi Mat2
16:34:50Mat2what's new ?
16:38:09Mat2I have a lot of fun implementing wild optimizations, the common world do not even know about 8-D
16:38:17Mat2soryy hi dom96
16:38:23dom96hehe.
16:38:30dom96not much
16:38:36dom96Implementing proxy support for the httpclient
16:39:48Mat2do you plan writing a web browser ?
16:40:07dom96no, this is for Nimrod's stdlib
16:40:17Mat2ah ok
16:41:40Mat2seems like http services are common usage these days
16:45:55*Associat0r joined #nimrod
16:45:55*Associat0r quit (Changing host)
16:45:55*Associat0r joined #nimrod
16:50:56*ltbarcly joined #nimrod
17:02:59NimBotAraq/Nimrod master 0251d3a Dominik Picheta [+0 ±1 -0]: Implemented ability to connect through proxies for the httpclient module.
17:03:10dom96Widdershin: Let me know if that works for you.
17:12:29*joysapsi joined #nimrod
17:12:40Araqhi joysapsi, welcome
17:13:16joysapsihello, could someone point me to the source of the bin/nimrod? In particular i want to see how nimrod i (interactive) is implemented?
17:13:38joysapsiAraq: hello to you too
17:15:27Mat2hi Araq and joysapsi
17:24:12*Sphax joined #nimrod
17:24:47*sphax_ joined #nimrod
17:24:50*Sphax left #nimrod (#nimrod)
17:25:01*sphax_ quit (Client Quit)
17:25:28*ltbarcly quit (Read error: Connection reset by peer)
17:25:39*Sphax joined #nimrod
17:25:51*brson joined #nimrod
17:26:23*ltbarcly joined #nimrod
17:29:11Araqjoysapsi: compiler/main.nim does the glueing, the interpreter is in compiler/evals.nim
17:29:36joysapsiAraq, thanks
17:31:45Araqbut it's about to be replaced with compiler/vm.nim
17:34:43Mat2exist the a constant signaling the endianess in Nimrod ?
17:35:40AraqMat2: http://nimrod-code.org/system.html#397
17:35:58Araqsearch http://nimrod-code.org/theindex.html for "endian" to find it
17:36:17Mat2nice !, thanks
17:50:01Araqso ltbarcly; how's progress on fixing the object constructor bug?
17:51:09*Mat2 implementing horizontal sheduling for in-order optimization
17:52:23*Araq thinks that nobody knows what "horizontal scheduling" means ...
17:53:29Mat2pllab.cs.nthu.edu.tw/~jklee/papers/p252-lee.pdf
17:56:24*nebiros joined #nimrod
17:56:36Araqhi nebiros, welcome
17:56:44nebirosAraq: \o, hi
18:11:57Mat2hi nebiros
18:22:57dom96yo nebiros
18:28:38nebiroshey guys, any examples about nimrod and cocoa?
18:36:28*circ-user-xAMIG quit (Remote host closed the connection)
19:08:05Araqnebiros: ask gradha when he's around
19:08:27nebirosAraq: I was looking at hist project example on github, yes
19:09:29Araqyeah
19:37:11*circ-user-xZoZx joined #nimrod
19:42:57*XAMPP quit (Quit: Drink all the Booze; Hack all the Things; Kill all the Humans;)
19:43:03*darithorn joined #nimrod
19:45:07darithorndoes anyone have experience with the nimrod opengl wrapper?
19:58:00Araqdarithorn: BitPuffin and EXetoC_ have I think
20:02:56EXetoC_yeah. what do you want to know? All I do is call loadExtensions
20:03:02*EXetoC_ is now known as EXetoC
20:03:13darithornYeah, I have a triangle being draw. Thing is, it's rotated 90 degrees
20:03:37darithornI know it's not my vertex positions because I'm using the same exact positions when I did it in C++, which worked fine
20:04:37Mat2hi EXetoC
20:04:45EXetoChi
20:06:03EXetoCI always run into some issues initially, because of incorrect pointer arithmetic
20:06:28BitPuffinwoop
20:06:42Mat2hi BitPuffin
20:06:44reactormonkwoop woop
20:06:57BitPuffinhowdy Mat2
20:13:26*guaqua joined #nimrod
20:14:21Araqhi guaqua, welcome
20:18:05darithornAh, I solved it. It's because float != float32 and GLfloat is a float32
20:20:49guaquanimrod seems very interesting!
20:21:03guaquacombining things from c to common lisp
20:21:36Mat2hi uaqua
20:21:42OrionPKpeople are comparing nimrod to javascript in that thread, eesh
20:21:48Mat2ehm, which things from C do you mean ?
20:22:02Mat2hi OrionPK
20:22:03reactormonkMat2, speed
20:22:07OrionPKhola mat2
20:22:12Mat2ah, ok
20:22:21guaquawell, i guess not the language that much, but the fact that its compiled and produces small binaries :)
20:22:41guaquaso should i say "shipping mechanism"
20:22:56OrionPKalso that it's ABI compatible with C, since it's compiled through C
20:22:59guaquasince there's no virtual machine to speak of
20:27:28*circ-user-xZoZx quit (Remote host closed the connection)
20:28:20Mat2well virtual-machines can be of advantage for compilation (a statement which is restricted to efficient VM designs)
21:10:31*gradha joined #nimrod
21:12:22gradhadarithorn: no real cocoa examples using nimrod yet
21:12:49Mat2hi gradha
21:12:54gradhahi Mat2
21:15:35gradhadom96: are you here for the party?
21:15:45dom96I'm always here
21:16:17gradhalook how far we are from 50 people
21:16:43dom96I'm not going to get excited anymore because I fear I will be disappointed, or that I will jinx it :P
21:17:39gradhaI still believe Aporia has a good use for ouroboros, despite gtk being useless
21:17:56gradhayou could bundle the nimrod compiler with aporia (and the nimrod compiler bundled with the stdlib)
21:18:16gradha"you dawg, I heard you like compiling, so we put a compiler inside your editor so you can compile while you edit"
21:18:45gradhayou would still need to extract it to /tmp, but it looks promising, the whole IDE+compiler in a single binary
21:19:37gradhathen, since you already have nimrod, you could run "nimrod doc" on itself, and get a local jester webserver with the embedded docs for all stdlib
21:19:39dom96can't I just import the compiler in aporia? :P
21:20:12gradhano idea, can you? still haven't looked much at it
21:20:37*dom96 considers submitting Nimrod to slashdot
21:20:49gradhanot enough memes, yet
21:25:12gradhausing jester in the nimrod compiler for a "nimrod docserve" command might be cool too
21:25:28BitPuffinso is nimrod in community now?
21:25:32BitPuffinin arch?
21:25:39dom96yep
21:25:43BitPuffincool!
21:25:49BitPuffintoo bad the latest stable release is too old lol
21:26:03BitPuffinI am going back to arch
21:26:52BitPuffingetting fglrx working on a legacy card was too hard in crux >.<
21:27:19*gradha wonders if BitPuffin is missing some vowels on the keyboard
21:27:38BitPuffingradha: ?
21:27:53gradhafglrx sounds a nightmare to say aloud
21:28:01BitPuffingradha: blame ATI/AMD
21:28:33BitPuffingradha: fire gl radeon x or something is what you could say in real life
21:28:58gradhaaccording to google I would have named it "propietary-ati-linux-driver", but what do I know about marketing
21:29:08EXetoCwhat made you try crux?
21:29:34EXetoCseems to be similar in some ways
21:29:51BitPuffinEXetoC: first trying ElementaryOS getting crappy video performance (which wasn't their fault). And I have looked at crux before but then I wasn't good enough at lunix
21:30:02BitPuffinI wanted a minimal system
21:30:10BitPuffincrux is even faster than arch
21:30:19BitPuffinbut alas
21:30:29BitPuffinthe proprietary ati driver was just too much
21:30:31EXetoCbroad claim, but ok
21:30:51BitPuffinEXetoC: well the base systems
21:30:54Mat2BitPuffin: Then try Gentoo Linux or the 3 BSD's
21:31:21BitPuffinEXetoC: I don't mean like CRUX WITH i3 IS FASTER THAN ARCH WITH FULL KDE DESKTOP
21:31:40BitPuffinMat2: I would love to use freebsd, but fglrx doesn't even exist for it
21:32:38BitPuffinMat2: maybe gentoo one day
21:32:49Mat2even with the linux-compatibly module loaded =
21:32:52Mat2?
21:33:17BitPuffinMat2: well then maybe it would work, but I doubt it would be easier to get it working in freebsd than in crux
21:33:41BitPuffinit wouldn't be hard if it wasn't that you have to downgrade x11, apply a bunch of patches to fglrx and do a bunch of shit
21:33:47BitPuffinI was very close in crux
21:34:04BitPuffinI could probably just do a little bit more work and having it running
21:34:13BitPuffinbut I dunno, it is easy in arch
21:35:04Mat2my experience that small and optimizated xNix systems need work and passion
21:35:08Mat2^is
21:35:36Mat2anyhow
21:36:29gradhaMat2: I still don't understand half of the stuff you do, do you have a blog which explains some of it? or maybe a newsletter?
21:38:02Mat2no, I write on a documentation which explains all details
21:38:32Mat2and next week I should have a blog
21:38:44BitPuffinMat2: yeah that is true
21:38:51gradhayay! are you a new ipsumgenerawhatever too?
21:38:55BitPuffinMat2: I might go back to crux when I have newer hardware
21:40:03Mat2gradha: sorry, what do you mean with these statement ?
21:40:19gradhadom96 recently wrote https://github.com/dom96/ipsumgenera for blog publishing in nimrod
21:40:41gradhamaybe ipsumgenera users are iusers...
21:40:59Mat2looks nice, I try it out
21:41:14BitPuffinis dom96 here?
21:41:25dom96yes
21:41:28gradhaBitPuffin: he is always here
21:41:39BitPuffinhoho
21:41:43BitPuffinI knew it
21:41:54gradhadom96: you forgot to announce ipsumgenera in the nimrod forums
21:42:18dom96I don't consider it good enough for that yet :P
21:42:52Mat2bythe way, what are iusers (users of recent Apple products) ? If so, I am not an iuser
21:43:09gradhaMat2: that was a joke about ipsumgenera users i-users
21:43:22gradhadom96: if you don't ask people to try it you won't get much comments on it
21:43:25BitPuffindom96: is your blog up yet? I want to see ipsumgenera in action
21:43:30Mat2ah ok
21:43:33gradhaBitPuffin: it's even pretty
21:43:38dom96BitPuffin: http://picheta.me
21:45:21BitPuffindom96: pretty nice design I gotta say :)
21:45:30dom96thanks :)
21:46:58Mat2looks nice indeed
21:47:16BitPuffindom96: hosted on github I presume?
21:47:28dom96nope
21:48:07BitPuffindom96: NEWP?
21:48:17dom96?
21:48:29Mat2BitPuffin: Just read Chris Gilbert has ported fglrx to FreeBSD somewhere 2005
21:48:46BitPuffinMat2: linkur?
21:48:50BitPuffindom96: nope?
21:48:54BitPuffinwhere do ya håst it
21:49:56Mat2http://forums.pcbsd.org/showthread.php?t=2979
21:51:14BitPuffincool
21:51:19BitPuffinbut it's probably very old
21:51:29Mat2indeed
21:51:38BitPuffinanyways
21:51:43*joysapsi quit (Quit: Page closed)
21:51:43BitPuffinI am gonna run a very slim arch
21:52:40dom96BitPuffin: Linode VPS
21:52:55BitPuffindom96: sweet!
21:53:09BitPuffindom96: so you trust linode after the breach?
21:53:40dom96Not really, but i'm too lazy to switch :P
21:53:54BitPuffinhaha!
21:53:58BitPuffinSwitch to freebsd ;)
21:55:05BitPuffinAraq: new stable release coming soon?
21:55:27EXetoCdon't disturb him
21:55:57BitPuffinAraq: I mean we have pretty proper generics now thanks to zahary, so if we patch up most of the known bugs it would be nice. Especially now that nimrod is in community and has a rush of new users
21:56:04BitPuffinEXetoC: what's he up to?
21:57:16AraqBitPuffin: tested zahary's new stuff?
21:57:43BitPuffinAraq: not yet, I have been wrestling with crux, but now that I'll be back on arch soon I'll test it almost immediately!
21:58:26zaharythe compiler support for swizzle is coming soon too
21:58:47AraqEXetoC: it would be nice if you could fix that missing float32 stuff
21:58:57Araqpretty embarrassing tbh
22:03:11BitPuffinzahary: yeeeees oh my god yes :) that would make linagl really awesome
22:04:14gradhaI've seen the term swizzle in dynamic languages, as replacing methods at runtime, is this the same for nimrod?
22:08:04BitPuffingradha: that's not really what we are talking about, we mean glsl style swizzling
22:08:19BitPuffingradha: https://en.wikipedia.org/wiki/Swizzling_%28computer_graphics%29
22:09:47zaharyyes, this is sexy only to graphics programmers, but the compiler support needed for it is more exiting, because it can be applied to other domains too.
22:09:47zaharyyou'll be able to handle at compile time the calls to unknown procs and reads of unknown fields
22:10:40zaharyit would be possible for a library implementing json values for example to offer natural syntax like
22:10:40zaharyjson_value.foo.bar.baz = 10
22:10:50BitPuffinzahary: how would swizzling look in nimrod?
22:10:53BitPuffinjust as you post haha
22:11:19zaharythe same way as in HLSL: vec.xz
22:11:46gradhazahary: for the json example, would the swizzling expand at compile time to the calls required at runtime to navigate that tree?
22:12:02BitPuffinzahary: well how would you implement it?
22:12:21BitPuffinzahary: proc `.` (a: Tvector) ?
22:12:33BitPuffinwith a param list?
22:12:36BitPuffinvarargs
22:12:42gradhaAraq: parentDir("/a") returns "", but parentDir("/") returns "/", is that ok? seems asymmetric, would expect both to return "/"
22:13:09zaharyyes, it can be expanded to both compile-time values (templates, statis[string] params, etc) and to a run-time string
22:13:09zaharyit becomes something like
22:13:09zaharyjson_navigate("bar", json_navigate("foo", json_value))
22:13:20zaharywhere json_navigate is a proc from the library
22:14:30Araqgradha: yeah, lets just hope changing it doesn't break anything
22:14:30EXetoCAraq: I'll try soon. I guess you mean the equivalent of UnaryPlusF64 etc
22:14:51AraqEXetoC: yeah unfortunately it also needs a compiler patch
22:15:06Araqwill show you how to do it
22:15:43gradhaAraq: is that an invitation for a pull request?
22:16:30gradhastill depends on what you would like to be the "correct" way, leaving it as is may be ok, it just conflicts with the docstring example
22:17:32Mat2get some sleep, ciao
22:17:34BitPuffinwill we be able to override array procs too soon for custom array types?
22:17:39BitPuffinnight Mat2
22:17:39gradhaMat2 bye
22:17:52*Mat2 quit (Quit: Verlassend)
22:19:02EXetoCI guess you don't want distinct for whatever reason
22:20:03EXetoCbut what do you mean by custom? it's either distinct, or an alias
22:20:03BitPuffinEXetoC: mjeh :P
22:20:16EXetoCor it's a field, which also solves this problem
22:20:29BitPuffinEXetoC: well maybe I should make the TMatrix and TVector's distinct arrays
22:20:31Araqgradha: indeed make a pull request
22:21:00BitPuffinEXetoC: but then you can't pass a regular array literal i believe, don't you have to do [blabla, blabla].TVector?
22:21:41zaharyAraq, why the compiles magic set gMaxErrors to int(max)? what's the goal here?
22:21:56EXetoCBitPuffin: Implicit conversions can be provided using a converter
22:22:08EXetoCI use them for many things. very handy
22:22:21EXetoCdegrees, radians etc
22:22:28zaharybrb
22:22:56BitPuffinEXetoC: hmm, never used converters
22:23:02BitPuffinEXetoC: is it a pragma?
22:23:28EXetoCa keyword
22:23:38BitPuffinwoot
22:23:46BitPuffini probably read about it in the manual and forgot
22:23:46gradhaAraq: I was expecting "/" to be returned because / is a special case, but according to the current behaviour maybe it should return ""? Also no idea what happens on windows with drive letters
22:27:29EXetoCAraq: doesn't seem that difficult though, judging from this grep output
22:30:29Araqgradha: I think it should return "" and the same for windows
22:31:40dom96Araq: gradha: I would make it throw an exception.
22:32:13gradhathe exception is an interesting thought
22:32:58dom96Rather than returning a "" which will fail later, and then it will leave you scratching your head about what the hell is going on.
22:33:26gradhaI may take a look at what other langs/libs do
22:34:56EfTwelveQ: is the there a way get normal formatting when printing floats? i.e 'echo 13.0' should print 13.0, rather than 1.3000000000000000e+001
22:35:26gradhaEfTwelve: you can use strutils.formatFloat
22:35:47*Associat0r quit (Quit: Associat0r)
22:36:28gradhaI think it's even common for people to alias that to a shorter proc like ff
22:37:17EfTwelvei understand.
22:38:18EfTwelveim i confused? every other language i've ever used does not force e notation. is there reason for the way nimrod does it?
22:42:35gradhaIIRC it has something to do with an old precission bug, this format made it more visible
22:48:26*io2 quit ()
22:51:25EXetoCI'm sure many people will ask about that
22:52:05gradhahttp://forum.nimrod-code.org/t/169
22:52:52EXetoCfair enough
22:53:25EXetoCI just remember being told: "this is better, deal with it" :p
22:53:52*BitPuffin quit (Ping timeout: 268 seconds)
22:53:56gradhaget a revenge on your memories by submitting a pull request!
22:55:02gradha"Kill floats", the new Tarantino movie
23:00:48EXetoCyeah I might
23:04:54*reactormonk_ joined #nimrod
23:05:07EfTwelveseems it should be the other way around. if you want e notation you wrap your float in some function to get it.
23:07:38*reactormonk quit (Ping timeout: 245 seconds)
23:10:58EXetoCoh, maybe he means 0, but still e notation otherwise
23:32:05*ltbarcly quit (Ping timeout: 245 seconds)
23:37:06*EfTwelve quit (Read error: Connection reset by peer)
23:41:55*Associat0r joined #nimrod
23:41:55*Associat0r quit (Changing host)
23:41:55*Associat0r joined #nimrod
23:42:49*jbe_ quit (Quit: Leaving)
23:53:41*darithorn quit (Read error: Connection reset by peer)
23:57:44gradhagood night
23:57:57*gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=fS9CcTpA9i0 again)