00:01:33 | sdw | Hmm, I don't think this does what I thought it did |
00:11:51 | flaviu | They still haven't taken down that page :/ |
00:11:52 | * | Var|Mobile quit (Read error: Connection reset by peer) |
00:14:18 | * | Demon_Fox quit (Ping timeout: 276 seconds) |
00:15:25 | dom96 | I'm curious why mit has Nim docs. |
00:17:25 | flaviu | They seem to have some sort of internal package manager. |
00:17:46 | flaviu | So I assume they got built while creating the internal package. |
00:19:43 | * | cjbest quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
00:20:46 | flaviu | Nim has pretty high per-invocation overhead. |
00:21:01 | flaviu | I can only do ~9 invocations/sec |
00:25:08 | * | Demon_Fox joined #nim |
00:25:21 | reactormonk | flaviu, only? ^^ |
00:26:03 | flaviu | That's high. My small virtual machine can do ~4000 invocations/sec. |
00:26:56 | flaviu | Fuzz testers aren't practical unless it's possible to keep things in the thousands of invocations per second. |
00:31:31 | dom96 | invocations? |
00:32:54 | flaviu | Literally invoking the compiler. |
00:33:43 | dom96 | Ahh yes. It does have to go through gcc after all. |
00:36:52 | def- | flaviu: you want to fuzz nim? |
00:37:03 | def- | I've had a lot of fun fuzzing a few weeks ago |
00:37:39 | * | Trustable1 quit (Quit: Leaving) |
00:38:02 | flaviu | def-: Yep, I am. Have you seen AFL? It's amazing. |
00:38:34 | def- | flaviu: yes: http://felsin9.de/nnis/software/#fuzzing-open-source-software-(2014) |
00:38:44 | * | adam_s joined #nim |
00:38:56 | def- | Actually that reminds me that I should disclose a vulnerability soon because it's not getting fixed |
00:39:34 | flaviu | Nice! I've only been using it for a pet project, but I like that you've been doing productive work with it :P |
00:39:51 | flaviu | dom96: skipping GCC makes it ~2% faster, not too big a difference. |
00:40:20 | def- | flaviu: clearly, make nim faster, then fuzz it |
00:40:48 | flaviu | Looks like lots of the time is in dynamic memory management, so that might not be so easy. |
00:42:10 | dom96 | def-: vulnerability? In Nim? |
00:42:54 | def- | dom96: nono, in a commonly used library |
00:43:53 | dom96 | def-: i'm curious, tell me more. |
00:44:27 | flaviu | dom96: He just posted a link: (http://felsin9.de/nnis/software/#fuzzing-open-source-software-(2014)) |
00:44:41 | def- | better not about the undisclosed one |
00:44:57 | dom96 | def-: PM? |
00:45:22 | flaviu | def-: Don't do it, dom96 is looking to sell it on the black market :P |
00:45:43 | def- | haha |
00:46:44 | dom96 | I've got some buyers already lined up. |
00:52:31 | * | bpr quit (Ping timeout: 246 seconds) |
01:02:15 | * | Mat4 left #nim (#nim) |
01:10:38 | * | darkf joined #nim |
01:10:53 | gmpreussner_ | def-, flaviu: that's an interesting tool. thanks for the link! |
01:14:23 | BlaXpirit | wow, my IRC client is amazing |
01:14:38 | * | cjbest joined #nim |
01:15:05 | BlaXpirit | did it really just match the parentheses and include only the first of the ")" brackets of that last message with a link? |
01:15:44 | gmpreussner_ | yeah |
01:18:09 | * | Var|Mobile joined #nim |
01:22:09 | * | BlaXpirit quit (Quit: Quit Konversation) |
01:28:11 | * | tttt quit (Quit: Connection closed for inactivity) |
01:30:34 | * | Outlander quit (Ping timeout: 264 seconds) |
01:38:43 | * | rational quit (Quit: Lost terminal) |
01:38:46 | * | davidhq joined #nim |
01:43:52 | * | skyfex__ joined #nim |
01:44:54 | * | skyfex_ quit (Ping timeout: 272 seconds) |
01:45:13 | * | fubarred joined #nim |
01:49:57 | Triplefox | whew, got 32-bit bmps writing now...sdl is kinda evil for only having the 24-bit bmps when i wanted to save alpha .-. |
01:50:58 | * | vendethiel quit (Quit: q+) |
01:57:58 | * | fubarred quit (Ping timeout: 246 seconds) |
02:02:50 | * | barosl_ quit (Ping timeout: 276 seconds) |
02:03:09 | * | EXetoC quit (Ping timeout: 245 seconds) |
02:04:16 | * | davidhq quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
02:04:52 | * | davidhq joined #nim |
02:05:33 | * | davidhq quit (Client Quit) |
02:33:40 | * | cjbest quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
02:45:55 | * | flaviu quit (Remote host closed the connection) |
02:46:06 | * | flaviu joined #nim |
02:51:35 | * | cjbest joined #nim |
02:58:31 | * | barosl joined #nim |
03:02:49 | cjbest | noob question: if I need a buffer to pass into a c function like proc ReadStream*(stream: ptr TStream; buffer: pointer; frames: culong): TError {.pa, importc: "Pa_ReadStream".} |
03:03:14 | cjbest | what's the best way to create/do that? Can I use a nim array? |
03:04:46 | * | adam_s quit (Quit: Leaving) |
03:07:17 | Triplefox | cjbest: Nim array is a good idea, you get the pointer of it from "addr(array[0])" |
03:09:29 | cjbest | Triplefox: ahh that makes sense, thanks. If I just declare the array myArray:array[256, int], will that allocate the space? |
03:11:00 | cjbest | sorry for dumb questions, have been through the tutorial and the only assignment it shows is literal [1,2,3,..] style |
03:14:20 | cjbest | nm array is value so it allocates. got it. |
03:15:13 | * | kapil__ joined #nim |
03:17:31 | * | VinceAddons quit (Read error: Connection reset by peer) |
03:17:44 | * | meanfish` joined #nim |
03:18:00 | * | Etheco- quit (Read error: Connection reset by peer) |
03:18:38 | * | brson quit (Ping timeout: 272 seconds) |
03:18:49 | * | meanfish quit (Ping timeout: 256 seconds) |
03:22:02 | * | Boscop_ joined #nim |
03:26:03 | * | Boscop quit (Ping timeout: 276 seconds) |
03:28:05 | asdfghjkl | So, for the people who have experience with c2nim, are there any immediate problems with this C source file? |
03:28:07 | asdfghjkl | http://tweetnacl.cr.yp.to/20140427/tweetnacl.c |
03:28:56 | asdfghjkl | It's a minimalistic implementation of the NaCl library so it should (hopefully) be easier to make a wrapper for. |
03:57:29 | * | barosl_ joined #nim |
04:00:39 | * | barosl quit (Ping timeout: 264 seconds) |
04:01:17 | * | barosl__ joined #nim |
04:02:58 | * | barosl_ quit (Ping timeout: 272 seconds) |
04:08:40 | * | barosl__ quit (Ping timeout: 272 seconds) |
04:17:49 | * | vbtt joined #nim |
04:17:51 | * | vbtt quit (Client Quit) |
04:18:44 | * | barosl joined #nim |
04:20:19 | * | vbtt joined #nim |
04:20:42 | vbtt | Hi |
04:21:08 | vbtt | Nom is getting so much positive attention these days |
04:21:15 | vbtt | Nim |
04:25:08 | * | barosl quit (Ping timeout: 272 seconds) |
04:35:07 | cjbest | the nim GC should totally be called nom |
04:35:26 | * | barosl joined #nim |
04:44:58 | * | SplinterOfChaos quit (Ping timeout: 255 seconds) |
04:50:27 | * | fizzbooze quit (Quit: WeeChat 1.1) |
04:50:43 | * | fizzbooze joined #nim |
05:00:03 | fizzbooze | how do i print without newline? |
05:00:43 | Demos | cjbest, I support this idea |
05:01:32 | * | Var|Mobile quit (Ping timeout: 246 seconds) |
05:09:15 | fizzbooze | are there documentations on async/await? i couldn't find any in the docs? |
05:10:06 | vbtt | Om nom nom |
05:10:29 | cjbest | OOM nom |
05:11:10 | vbtt | Hehe |
05:31:35 | fizzbooze | are there documentations on async/await? i couldn't find any in the docs? |
05:45:20 | * | cjbest quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
05:45:43 | asdfghjkl | fizzbooze: I think the people who would know about that are based out of European time zones, so maybe try back later. |
05:46:10 | fizzbooze | ok |
05:46:27 | fizzbooze | lib/pure/asyncdispatch.nim(1080, 8) Error: can raise an unlisted exception: |
05:46:52 | fizzbooze | i got that as the last message in the compilation error. it doesnt tell me what exception is unlisted :( |
05:46:53 | asdfghjkl | Yeah, I have no idea: I'm still learning Nim myself. |
05:59:07 | fowlmouth | fizzbooze, stdout.write(str) to print without newline |
06:03:18 | fizzbooze | fowlmouth thanks |
06:08:04 | fowlmouth | fizzbooze, look at asyncdispatch, asyncnet and asynchttpserver, http://nim-lang.org/lib.html#internet-protocols-and-support |
06:13:45 | fizzbooze | thank you :) |
06:19:49 | * | gmpreussner__ joined #nim |
06:20:09 | * | gmpreussner_ quit (Ping timeout: 244 seconds) |
06:22:17 | * | vbtt quit (Read error: Connection reset by peer) |
06:31:35 | * | Demos quit (Read error: Connection reset by peer) |
06:41:32 | * | fizzbooze quit (Quit: WeeChat 1.1) |
06:52:11 | * | gmpreussner__ quit (Ping timeout: 244 seconds) |
06:52:17 | * | gmpreussner___ joined #nim |
06:57:54 | asdfghjkl | Nim should apply as a Google Summer of Code project. |
06:58:03 | asdfghjkl | Free labor. |
07:39:02 | * | Demon_Fox quit (Quit: Leaving) |
07:48:45 | * | yehuju joined #nim |
07:49:23 | * | yehuju left #nim ("Leaving") |
07:54:36 | reactormonk | asdfghjkl, already did, gotta try again |
08:02:03 | * | Jesin quit (Ping timeout: 245 seconds) |
08:29:01 | * | Sphax joined #nim |
08:36:58 | ekarlso | https://github.com/deuterium-orm/deuterium/blob/master/src/field.rs#L101-L125 < how would one do that in rust ? |
08:37:01 | ekarlso | ehm, nim |
08:45:55 | * | Jesin joined #nim |
08:53:40 | * | Trustable joined #nim |
08:59:36 | * | dymk quit (Ping timeout: 244 seconds) |
09:04:05 | * | xeizlif quit (Ping timeout: 246 seconds) |
09:04:56 | * | dymk joined #nim |
09:05:57 | * | xeizlif joined #nim |
09:21:39 | * | Outlander joined #nim |
09:22:06 | * | sillesta joined #nim |
09:28:43 | * | BitPuffin quit (Ping timeout: 245 seconds) |
09:33:40 | * | asdfghjkl quit (Ping timeout: 246 seconds) |
09:44:15 | * | d3m1gd joined #nim |
10:21:26 | * | dumdum joined #nim |
10:34:50 | * | kapil__ quit (Quit: Connection closed for inactivity) |
10:35:30 | * | VinceAddons joined #nim |
10:37:59 | * | BlaXpirit joined #nim |
10:48:49 | * | sillesta quit (Ping timeout: 265 seconds) |
10:51:43 | * | Outlander quit (Ping timeout: 255 seconds) |
10:56:52 | * | vendethiel joined #nim |
10:59:22 | novist | is there a way for nim object to inherit c++ class and then overload a pure virtual method? c++ class might even use multiple inheritance. |
11:04:47 | * | gokr_ joined #nim |
11:10:50 | * | MajorWork joined #nim |
11:12:47 | * | MajorWork quit (Changing host) |
11:12:47 | * | MajorWork joined #nim |
11:18:12 | reactormonk | novist, Not natively. nim objects are way simpler. You can hack something with importcpp and necessarily emit |
11:18:15 | reactormonk | but it's kinda ugly |
11:18:45 | reactormonk | ekarlso, there's no option type per se. The rest you can do with generics |
11:19:49 | reactormonk | Not sure how to iterate over types. |
11:29:37 | dumdum | Running: [nim idetools --track:suggest.nim,17,3 --suggest aporia.nim ] in aporia src directory returns no results (Nim Compiler Version 0.10.2 (2014-12-29)) |
11:29:45 | dumdum | am I doing something wrong? |
11:29:59 | * | davidhq joined #nim |
11:30:43 | dumdum | 17,3--> "". |
11:36:08 | reactormonk | dumdum, I've had trouble with the idetools too |
11:37:56 | * | Sphax quit (Quit: ZZZZZzzzzz) |
11:38:17 | dumdum | do you know a nim version in which it works? |
11:39:08 | * | gokr_ quit (Ping timeout: 245 seconds) |
11:39:23 | reactormonk | dumdum, check the tests, might have some |
11:44:08 | dumdum | if you mean: https://github.com/Araq/Nim/tree/devel/tests/caas , last commit was 2 years ago |
11:46:38 | * | gokr_ joined #nim |
11:57:23 | * | Outlander joined #nim |
12:01:57 | * | Outlander quit (Ping timeout: 245 seconds) |
12:02:46 | gokr_ | fyi, Araq was working on idetools this weekend |
12:04:44 | * | EXetoC joined #nim |
12:38:11 | * | Sphax joined #nim |
12:50:11 | * | noam_ joined #nim |
12:50:51 | dumdum | great! |
12:51:27 | * | cyraxjoe quit (Quit: No Ping reply in 180 seconds.) |
12:51:42 | * | jez0990_ quit (Quit: No Ping reply in 180 seconds.) |
12:51:54 | * | jez0990 joined #nim |
12:51:55 | * | dv- quit (Ping timeout: 252 seconds) |
12:51:58 | * | MightyJoe joined #nim |
12:52:31 | * | BlaXpirit_ joined #nim |
12:52:39 | * | noam quit (Ping timeout: 252 seconds) |
12:55:41 | * | BlaXpirit quit (Ping timeout: 256 seconds) |
13:01:04 | * | matkuki joined #nim |
13:04:39 | * | BitPuffin joined #nim |
13:09:22 | * | dv- joined #nim |
13:11:20 | ekarlso | reactormonk: how you mean to iterate over types ? |
13:11:38 | reactormonk | ekarlso, so you wouldn't have to copy/paste. I suppose you could just go with a template |
13:14:14 | ekarlso | reactormonk: never used templates but always time to learn I guess :p |
13:14:21 | EXetoC | reactormonk: with fieldPairs and typeinfo? |
13:14:46 | reactormonk | EXetoC, now that's something I would have to look up |
13:15:30 | EXetoC | the typeinfo module that is. the marshal module uses it |
13:16:06 | ekarlso | EXetoC: ? ^ |
13:18:57 | EXetoC | ekarlso: for doing type reflection |
13:19:23 | ekarlso | hmm k |
13:20:32 | ekarlso | hmmms |
13:20:46 | ekarlso | so in rust they store T for what type the field is gonna be |
13:20:52 | ekarlso | how the stuffs u do that in nim ? |
13:22:59 | EXetoC | reactormonk: have you seen the maybe_t (option) module? |
13:23:10 | EXetoC | ekarlso: the typeinfo modules allows you to iterate through the fields of a type and get their names and types |
13:23:23 | ekarlso | EXetoC: oh, awesome |
13:23:38 | ekarlso | EXetoC: but wondering for a "Field" type how to store what type that field is supposed to be |
13:24:57 | reactormonk | ekarlso, nope, link plz |
13:25:15 | ekarlso | reactormonk: ? |
13:25:20 | reactormonk | @ EXetoC |
13:25:21 | EXetoC | reactormonk: you mean me? https://github.com/fowlmouth/nimlibs/blob/master/fowltek/maybe_t.nim |
13:25:39 | EXetoC | ekarlso: do you need to? if so then with a table perhaps |
13:25:54 | ekarlso | EXetoC: why a table ? |
13:26:33 | reactormonk | EXetoC, any map around? |
13:26:45 | reactormonk | I'd expect at least an iterator ^^ |
13:26:52 | * | SplinterOfChaos joined #nim |
13:26:59 | EXetoC | ekarlso: for field-type mapping |
13:27:18 | ekarlso | EXetoC: so key string val typedesc or ? |
13:36:13 | ekarlso | https://bpaste.net/show/92649a582340 < why am I failing on #12 there ? |
13:36:18 | ekarlso | db_utils.nim(12, 8) Error: 'Column' is not a concrete type. |
13:36:25 | * | kapil__ joined #nim |
13:36:30 | * | ehaliewicz joined #nim |
13:36:39 | reactormonk | ekarlso, Column[T] |
13:36:54 | ekarlso | isn't that valid for generics ? |
13:37:08 | EXetoC | ekarlso: the name rather than the typedesc (typetraits.name), if you really need it |
13:37:26 | ekarlso | db_utils.nim(12, 41) Error: undeclared identifier: 'T' |
13:37:30 | ekarlso | then :/ |
13:37:43 | reactormonk | ekarlso, O.o |
13:37:57 | ekarlso | do you need to pass T for table as well ? |
13:38:04 | reactormonk | ekarlso, btw, check do_* for sql stuff |
13:38:07 | ekarlso | doesn't exactly make sense |
13:38:16 | EXetoC | ekarlso: either you make Table generic too (Table[T]) or you instantiate Column there and then (Column[int]) for example |
13:38:38 | ekarlso | sigh, u can't have a Table of just string :p |
13:38:50 | EXetoC | instantiations cannot happen at runtime. if you want something along those lines then perhaps you want to rely on object variants instead |
13:39:27 | ekarlso | sigh, so generics aint allowed for tables... |
13:39:30 | ekarlso | doh |
13:40:03 | reactormonk | ekarlso, yes, they are. Just don't make name collisions |
13:40:12 | EXetoC | perhaps there's some obscure way of getting it to work, at *compile time* |
13:40:24 | EXetoC | really. ok |
13:40:49 | ekarlso | reactormonk: sorry ? |
13:41:01 | EXetoC | reactormonk: I think he means Table[string, typedesc] |
13:41:15 | ekarlso | db_utils.nim(12, 22) Error: no generic parameters allowed for Table |
13:41:17 | ekarlso | -,,- |
13:41:23 | ekarlso | believe me I tried :p |
13:42:13 | ekarlso | reactormonk: how you mean name collisions ? |
13:42:23 | EXetoC | it's not directly related to tables. you can't do "foo: Column" either |
13:42:50 | EXetoC | typeinfo might be what you want as I said, and the marshal module shows how it can be used |
13:43:18 | ekarlso | I wanna be able to define how a table looks in nim-lang with columns basically |
13:44:18 | reactormonk | ekarlso, you're importing tables, which defines Table |
13:44:25 | ekarlso | ahhh |
13:44:27 | ekarlso | hah |
13:45:36 | EXetoC | is it causing problems? if so, qualify those symbols or rename your type |
13:45:37 | * | ehaliewicz quit (Read error: Connection reset by peer) |
13:46:31 | EXetoC | qualify with the module name containing the type that you want |
13:47:00 | ekarlso | nono, just so stupid that I forgot that there's Table already defined ;) |
13:47:02 | ekarlso | db_utils.nim(16, 16) Error: invalid type: 'None' in this context: 'proc (string, string): DbTable' |
13:47:05 | ekarlso | hmm |
13:47:30 | ekarlso | dont get it what's None there |
13:47:41 | reactormonk | something, give code |
13:48:04 | ekarlso | reactormonk: sure thing: https://bpaste.net/show/beb998b801ac |
13:49:13 | ekarlso | but I guess a generic is kinda weird too since the "data" field is never gonna be used :/ |
13:49:49 | ekarlso | what they're doing in rust is storing what type the field is gonna be loaded as |
13:50:54 | reactormonk | ekarlso, sooo what exactly are you trying to achieve? |
13:51:27 | ekarlso | reactormonk: defined a DbTable and it's DbColumns |
13:52:09 | ekarlso | but store the type that a column is eventually going to be |
13:53:03 | reactormonk | ekarlso, so you want to store the type information of a table? |
13:53:16 | ekarlso | reactormonk: yea |
13:53:18 | * | gokr_ quit (Ping timeout: 245 seconds) |
13:53:27 | ekarlso | rather speaking I wanna store what type a column is |
13:53:37 | ekarlso | is it a string, float, int or whatever |
13:53:59 | reactormonk | Do you know that at compiletime or runtime? |
13:54:28 | ekarlso | compiletime, database doesn't change when you're running typically :P |
13:54:39 | reactormonk | it might change when you're altering |
13:55:04 | ekarlso | true enough |
13:56:06 | reactormonk | How do you want to propagate the types into the typesystem? |
13:56:27 | ekarlso | how you mean ? :) |
13:57:03 | EXetoC | is this an ORM you're creating? |
13:57:04 | reactormonk | You gotta tell nim somehow which type something is, so you can e.g. var foo: int = <some expression that fetches it from the table> |
13:57:53 | ekarlso | EXetoC: more like a way to build queries at first was the plan.. |
13:59:04 | reactormonk | EXetoC, typedesc is runtime or compiletime? |
13:59:45 | EXetoC | reactormonk: compile time. generic parameters are typedescs |
14:00:36 | reactormonk | EXetoC, so what happens when I have var t: Table[string, typedesc] and go t["foo"]? |
14:02:42 | EXetoC | reactormonk: it doesn't work |
14:03:33 | reactormonk | ekarlso, that's where the None comes from - you can't use typedesc because that's None after compiling it |
14:04:07 | * | matkuki quit (Quit: ChatZilla 0.9.91.1 [Firefox 35.0/20150108202552]) |
14:05:17 | ekarlso | darn :) |
14:05:44 | reactormonk | ekarlso, I think you might want to go with templates here and think on how exactly you want to deal with it |
14:05:44 | EXetoC | ekarlso: rust is storing the type of what exactly? |
14:06:29 | ekarlso | EXetoC: the db column |
14:06:52 | EXetoC | you need that for query *building*? |
14:07:51 | ekarlso | guess not .. |
14:08:08 | ekarlso | not sure why they store the type info |
14:08:11 | ekarlso | i'll dig into that |
14:11:22 | ekarlso | but wouldn't be wrong to have a thing that could help marshal db rows to objects.. |
14:12:43 | EXetoC | that's more than just querying then, but shouldn't you just rely on the SQL API in order to perform type validations at run-time? |
14:13:16 | ekarlso | EXetoC: eh, well atm it doesn't .. |
14:13:26 | ekarlso | TRow is just a seq of strings.. |
14:15:04 | EXetoC | you can attempt to convert to int then for example, and see if it works |
14:15:35 | ekarlso | that's what I'm doing atm... parseInt(row[0]) |
14:18:14 | ekarlso | still would be kinda nice to have a util that generated the sql programmatically then you executed a query, fed it the row and your object or smth like that and returned a instance of the object populated |
14:18:32 | ekarlso | but that's 2 sept. libraries |
14:20:16 | Araq_ | hey guys. I'm back |
14:23:05 | ekarlso | EXetoC: or is that wishful thinking ? :) |
14:25:19 | * | barosl quit (Quit: Leaving) |
14:25:55 | ekarlso | reactormonk: regarding alter table, yeah but stuff like sqla core still defined the table in a python file like "this is my table" so if you change a column type underneath it will blow up |
14:26:25 | reactormonk | Araq_, time for some coding? |
14:27:09 | Araq_ | reactormonk: what makes you think I'm not coding all the time? |
14:27:37 | reactormonk | Araq_, that you have to announce you're back |
14:28:14 | ekarlso | reactormonk: you think my usecase is weird ? |
14:29:01 | reactormonk | ekarlso, no, buy your approach is incorrect. |
14:29:13 | ekarlso | hmmms |
14:30:11 | ekarlso | reactormonk: sugestions ? |
14:30:28 | Araq_ | ekarlso: IMO an ORM should read the database model from the database and generate type safe Nim code to access it. but you need to have LINQ-like query building and it's lots of work |
14:30:32 | reactormonk | ekarlso, you could make an ORM by using said fieldPairs and templates to generate the procs |
14:30:53 | reactormonk | Araq_, so you wanna read the DB at compiletime? |
14:31:36 | Araq_ | no. it's an external tool that generates Nim code. you *can* do it at compiletime but I don't see the point |
14:31:39 | EXetoC | ekarlso: what I suggested would be the basis for that, since some kind of type information must be available |
14:32:09 | Araq_ | it's likely a slowish operation so you either cache it or you don't do it at compile-time |
14:32:22 | ekarlso | meh, i give up :p |
14:33:27 | ekarlso | sounds like something that's above my knowledge grade atm for nim :) |
14:33:43 | Araq_ | ekarlso: it's not Nim specific really. |
14:33:58 | Araq_ | it's just a code generator |
14:34:23 | ekarlso | Araq_: well never done those either :) |
14:36:25 | ekarlso | Araq_: but most libraries like that doesn't do it that way ? |
14:36:36 | EXetoC | just start small and add things incrementally if you want to learn. it should be much easier to start with only the type matching |
14:38:29 | Araq_ | ekarlso: LinqToSql does it this way. |
14:39:24 | * | davidhq quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
14:40:26 | Araq_ | and it's the right way to do it. |
14:42:26 | * | threewood joined #nim |
14:42:54 | EXetoC | ekarlso: "for name, val in obj.fieldPairs: if name == columnName: if areCompatible(val.type.toKind, columnKind): val = columnValue else: <handle type mismatch>" |
14:42:59 | Araq_ | for static typing |
14:44:02 | Araq_ | EXetoC: that is a nice 70% solution :-) |
14:44:11 | EXetoC | I don't know how far you can go with fieldPairs though. recursive iteration might work |
14:45:34 | Araq_ | EXetoC: that's an implementation for getColumns[MyObjType](query), right? |
14:45:42 | EXetoC | not that standard SQL can yield trees or anything |
14:46:12 | Araq_ | if you do the join implicitly, it can |
14:47:32 | EXetoC | ok |
14:55:00 | ekarlso | Araq_: tree what ? |
14:55:45 | EXetoC | ekarlso: me? |
14:56:05 | ekarlso | nah I mean the join stuff |
14:56:40 | EXetoC | SQL JOIN I assume |
14:57:22 | ekarlso | does it return trees in that cae ? |
14:57:24 | ekarlso | case.. |
15:00:56 | * | gmpreussner___ is now known as gmpreussner|afk |
15:05:18 | * | saml joined #nim |
15:10:36 | dumdum | compiler hangs when I do : type |
15:10:36 | dumdum | Cat = generic cat |
15:10:36 | dumdum | var x = meow(cat) |
15:10:36 | dumdum | x is Cat |
15:10:59 | * | reem joined #nim |
15:10:59 | Araq_ | dumdum: please report it properly |
15:11:34 | * | Varriount|Busy joined #nim |
15:11:40 | dumdum | Ok, but I am not sure, if I am doing something wrong |
15:12:19 | Varriount|Busy | *yawn* Good morning everyone! |
15:15:56 | Araq_ | dumdum: 'generic' is in .experimental or will be soon. that said, a hanging compiler is always a bug |
15:16:22 | * | davidhq joined #nim |
15:16:27 | * | gmpreussner|afk quit (Ping timeout: 244 seconds) |
15:19:28 | * | gmpreussner|afk joined #nim |
15:19:35 | dumdum | Ok, created: https://github.com/Araq/Nim/issues/2013 |
15:19:37 | * | mrordinaire joined #nim |
15:34:38 | * | darkf quit (Quit: Leaving) |
15:36:43 | ekarlso | EXetoC: I guess a way to generate queries atm would be the best :P |
15:38:52 | * | BitPuffin quit (Ping timeout: 240 seconds) |
15:39:19 | ekarlso | so you could do smth like |
15:39:54 | ekarlso | unvm |
15:42:03 | * | endou______ quit () |
15:42:19 | * | endou______ joined #nim |
15:44:50 | * | kapil__ quit (Quit: Connection closed for inactivity) |
15:50:01 | * | sillesta joined #nim |
15:56:34 | * | irrequietus joined #nim |
16:06:19 | * | dumdum quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
16:06:20 | * | MyMind joined #nim |
16:06:22 | * | Sembei quit (Read error: Connection reset by peer) |
16:07:39 | * | gmpreussner|afk is now known as gmpreussner |
16:12:29 | * | sampwing joined #nim |
16:14:22 | * | Sphax quit (Read error: Connection reset by peer) |
16:15:20 | * | Sphax joined #nim |
16:19:05 | * | sampwing quit (Ping timeout: 252 seconds) |
16:23:39 | * | BitPuffin joined #nim |
16:35:58 | * | SneakySnake joined #nim |
16:43:14 | * | gmpreussner is now known as gmpreussner|afk |
16:55:39 | * | gmpreussner|afk quit (Ping timeout: 244 seconds) |
16:56:56 | * | sampwing joined #nim |
17:24:46 | * | Sphax quit (Quit: CYA!!) |
17:24:57 | * | CARAM__ quit () |
17:25:12 | * | CARAM__ joined #nim |
17:30:30 | novist | is there a way to have a conditional checking if specific function overload exists? like call init(obj) only if valid init is defined. |
17:31:09 | Araq_ | when compiles(init(obj)) |
17:31:33 | * | Matthias247 joined #nim |
17:31:43 | novist | thank you |
17:32:47 | * | mrordinaire quit (Read error: Connection reset by peer) |
17:33:16 | * | mrordinaire joined #nim |
17:33:33 | novist | i bet nim is like only lang that can do this. it can do weirdest things one can think of apparently |
17:35:02 | Araq_ | D can do the same but I can never rember the syntax for it |
17:35:14 | * | sillesta quit (Ping timeout: 245 seconds) |
17:35:19 | Araq_ | __is(typetraits, init(obj)) ? |
17:35:58 | Araq_ | nah, but it's something ugly |
17:36:59 | * | sillesta joined #nim |
17:37:01 | novist | well that bit surely was ugly. and totally not intuitive |
17:38:22 | novist | since you here Araq_.. can virtual c++ class methods be overloaded in nim easily? reactormonk that not rly. but i was thinking maybe you would know some magic trick |
17:38:47 | * | MajorWork quit (Quit: Leaving) |
17:39:03 | Araq_ | you mean 'override', right? overloading is different |
17:39:43 | novist | actually i mean pure virtual, sorry |
17:39:50 | Araq_ | and yeah, you cannot. C++ support has been improved tremendously in the devel version of the compiler. for instance Nim can generate template instantiations |
17:39:59 | Araq_ | now |
17:40:12 | Araq_ | but overriding a virtual method is still not possible. |
17:40:43 | novist | think it will come before 1.0? its pretty much mandatory for using serious c++ stuff. be it game engines or even Qt. |
17:40:59 | Araq_ | what you can do is to generate a class that overrides it via .emit and takes a closure |
17:42:08 | * | mrordinaire quit () |
17:42:15 | Araq_ | I thought about mapping 'method' that operates on a type that is importcpp'ed to a real C++ method so that overriding works |
17:43:18 | * | sillesta quit (Ping timeout: 245 seconds) |
17:43:54 | Araq_ | but usually these things have their own event system on top of that, making wrapping easier. (or harder) |
17:47:12 | * | sillesta joined #nim |
17:50:40 | * | renesac quit (Ping timeout: 246 seconds) |
17:56:36 | * | dumdum joined #nim |
18:08:06 | * | BitPuffin quit (Ping timeout: 276 seconds) |
18:13:29 | ekarlso | Araq_: sugguestions for query builder ? :) |
18:13:57 | * | polde joined #nim |
18:15:21 | * | polde quit (Quit: WeeChat 1.2-dev) |
18:17:42 | * | sampwing_ joined #nim |
18:18:15 | * | sampwing quit (Ping timeout: 252 seconds) |
18:26:53 | * | polde joined #nim |
18:26:59 | novist | i want my init() (constructor) be usable on both ref and non-ref types. is there a way to do this while having single proc doing initialization? |
18:28:06 | * | polde quit (Quit: WeeChat 1.2-dev) |
18:28:56 | * | gmpreussner joined #nim |
18:29:11 | * | gmpreussner is now known as gmpreussner|work |
18:29:33 | EXetoC | novist: with a var argument taking a plain object |
18:32:05 | novist | oh that works. thanks |
18:32:10 | EXetoC | invoking it in the case of a ref: "var x = new(T); init(x[])" and with an object allocated on the stack: "var x: T; init(x)" |
18:33:18 | novist | x[]? it works just fine without []. what is [] for? |
18:35:11 | EXetoC | novist: it won't if the proc doesn't take a ref. [] dereferences |
18:36:16 | novist | dang right. worked because i created two objs on stack. i see now |
18:44:50 | * | UberLambda joined #nim |
18:48:41 | * | rational joined #nim |
19:02:01 | * | pep__ joined #nim |
19:02:11 | * | gnzh joined #nim |
19:02:27 | * | pep__ quit (Client Quit) |
19:02:38 | * | gnzh quit (Client Quit) |
19:02:42 | dumdum | sorry, I dont get it, I thought var just made param mutable, so init(x) where x is on stack, gets passed as a copy of x to init and should not mutate original x? |
19:03:29 | dumdum | but I coded it and it works :S |
19:03:51 | Varriount|Busy | dumdum: Nope. |
19:04:14 | Varriount|Busy | dumdum: A 'var' type in a procedure means 'pass an implicit pointer to this type' |
19:05:38 | Varriount|Busy | 'proc foo(s: var string)' means 'a procedure named foo which takes an implicit pointer to a string object' |
19:05:53 | Varriount|Busy | Or rather, an implicit reference, but w/e |
19:06:17 | * | reem quit (Remote host closed the connection) |
19:07:36 | dumdum | ok so foo gets passed a pointer to stack object but how come I am able to write: s.some_prop = somevalue inside foo? |
19:08:03 | dumdum | shouldnt i write s[].some_prop = val, (as u say 's' is a pointer now) |
19:08:20 | def- | that's why Varriount|Busy said "implicit reference" |
19:08:22 | * | ehaliewicz joined #nim |
19:08:47 | Varriount|Busy | dumdum: The compiler takes the address for you. |
19:10:20 | Varriount|Busy | dumdum: You can look at the generated C code if you want. It's not too hard to read. |
19:13:48 | * | perturbation joined #nim |
19:15:58 | dumdum | understood, thank you! |
19:24:40 | Varriount|Busy | Hrm... Does anyone know if the unicode module actually *works*? The number of usages of 'int' instead of 'int64' or 'int32' worries me, since all those bit operations could get wonky. |
19:26:43 | EXetoC | Varriount|Busy: I've been told it doesn't matter |
19:26:56 | EXetoC | I was confused by it too, but that's that |
19:29:43 | ekarlso | EXetoC: so what's the fieldpairs stuff ? :) |
19:30:27 | EXetoC | Varriount|Busy: actually, that was specifically about RuneImpl, but the other cases are just for indexing, right? and then it follows the usual pattern |
19:30:50 | EXetoC | ekarlso: the documentation for the system module has an example |
19:33:28 | ekarlso | EXetoC: so generics approach won't work ? :D |
19:34:58 | EXetoC | Varriount|Busy: it has worked, in the few cases where I've used it. some things are unintuitive, but I haven't heard of any actual bugs |
19:35:17 | EXetoC | ekarlso: this approach would involve generics |
19:36:02 | ekarlso | EXetoC: yeah but I guess not with a map or so |
19:36:50 | EXetoC | a map? |
19:37:09 | ekarlso | the column / table stuff I did |
19:37:10 | EXetoC | right, hash map |
19:37:12 | ekarlso | which was foobar |
19:38:08 | * | polde joined #nim |
19:38:27 | EXetoC | it's more about the fact that you're trying to use typedesc at run time |
19:39:20 | ekarlso | noone's done similar stuf fbefore ? |
19:41:12 | * | BitPuffin joined #nim |
19:41:25 | * | perturbation quit (Ping timeout: 256 seconds) |
19:42:04 | * | irrequietus quit () |
19:45:09 | EXetoC | I don't know, but we have already discussed the things that seem to be of relevance. start doing basic things if there's something you need to learn |
19:48:08 | * | ronny joined #nim |
19:48:12 | ronny | hi |
19:48:21 | EXetoC | that's my suggestion, but if you still want to find someone who has done similar things then you might have better luck asking on the forum |
19:48:27 | ronny | whats the testing toolkit of choice for nim? |
19:49:07 | * | brson joined #nim |
19:49:08 | EXetoC | asserts inside a "when isMainModule:" block for now |
19:49:46 | EXetoC | or doAssert, since it works in release mode too |
19:49:52 | ronny | ouch, then its not usable for what i want to do ^^ |
19:50:59 | EXetoC | ronny: you could try the unittest module, but it has some issues still. what exactly is it that you want to do? |
19:52:26 | ronny | EXetoC: the targets is minimal json api to maildir/mails sotred in a sql database + serving my frontend rich client |
19:53:13 | ronny | atm im doing the backend in python, but i'd prefer to make it comletely async |
19:54:29 | EXetoC | I'm not sure what features you're looking for |
19:54:50 | ronny | me neither |
19:55:06 | ronny | but i either need sane threading or sane async |
19:58:19 | ronny | and my current backend language has neither |
19:58:43 | * | sampwing_ quit (Ping timeout: 252 seconds) |
19:58:50 | EXetoC | I don't know what that has to do with unit testing |
19:59:05 | EXetoC | but we have threading and async facilities |
19:59:57 | ekarlso | EXetoC: btw I think the type matters in some cases |
20:01:00 | ronny | EXetoC: well, if i cant nicely test muti backend apis at unit and acceptance level, i'll skip the language |
20:01:16 | * | reem joined #nim |
20:01:23 | EXetoC | ekarlso: did I say otherwise? |
20:01:31 | ekarlso | like if you're doing say SELECT id, x, y FROM foo WHERE id = 1 AND x = 'foo' |
20:01:57 | ekarlso | hmmms, I guess u define the table as a object then instead ? |
20:03:13 | EXetoC | ronny: I'm just saying that I don't understand what you're looking for, and you couldn't answer that yourself |
20:04:00 | * | reem quit (Remote host closed the connection) |
20:04:31 | * | reem joined #nim |
20:04:36 | ronny | EXetoC: basiclly im loogin for a language with sound threading/async primitives and a good unit/acceptance testing toolkit |
20:05:30 | ronny | *looking |
20:06:49 | * | Varriount|Busy quit (Ping timeout: 246 seconds) |
20:08:15 | ekarlso | EXetoC: hmms, I suck at these things -,,- |
20:09:21 | ronny | EXetoC: so even if the rest of nim fits, if the testing utilities arent there i'll have to skip it |
20:13:20 | EXetoC | ronny: I haven't seen anything related to acceptance testing, but feel free to ask on the forum too |
20:14:14 | * | dumdum quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
20:14:39 | ronny | EXetoC: if im going to spend more time on figuring the testing, than on testing and actual code i'll be ery unhappy |
20:15:06 | ekarlso | dom96: is it not possible to halt() outside a get: ? |
20:15:43 | dom96 | ekarlso: It's not. |
20:16:10 | ekarlso | hmmms |
20:16:28 | ekarlso | having to write 10+ lines to handle a simple exception each time is boring |
20:18:35 | ronny | hmm |
20:18:37 | * | ronny left #nim ("WeeChat 0.3.9.2") |
20:19:11 | EXetoC | huh |
20:20:33 | ekarlso | dom96: not a eas way to make a custom error handler ? |
20:24:33 | dom96 | ekarlso: not right now |
20:25:41 | * | Gonzih joined #nim |
20:25:54 | Araq_ | hi Gonzih welcome |
20:26:46 | Gonzih | hello |
20:29:07 | ekarlso | EXetoC: as in to catch and raise a error properly I need to declare a error var, wrap a call in a try and if there's a exception set the error val to the exception in the except then below halt the request if error != nil |
20:29:20 | ekarlso | vs being able to just do the call and make diff halt's |
20:35:34 | * | bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
20:36:03 | Araq_ | ekarlso: I'm quite sure you can at least use a template to extract the pattern |
20:36:05 | EXetoC | ekarlso: an object? Table *is* an object. you really need to write more code for the sake of learning. I'm guilty of overthinking things myself and it's just unproductive |
20:36:28 | EXetoC | with that said, I might create an example if I can think of something, but I don't know when I have the time |
20:36:45 | Araq_ | but I also think async/jester has a better way to do error handling |
20:37:14 | * | perturbation joined #nim |
20:46:07 | ekarlso | well https://bpaste.net/show/3e6ff4b47504 is long just to do a simple error |
20:47:30 | dom96 | it's not that long |
20:48:27 | dom96 | but I guess it is annoying if you have to handle the errors multiple times |
20:48:57 | ekarlso | would be nicer if you could just have your own toplevel error handling proc or smth |
20:49:39 | Araq_ | yeah something like system.onRaiseHook ... |
20:50:00 | ekarlso | Araq_: you mean that is applicable here ? |
20:50:07 | Araq_ | dunno |
20:50:38 | Araq_ | I'd wrap it in a template, I think |
20:53:36 | dom96 | Wrapping it in a template might not work because of 'halt' |
20:54:22 | ekarlso | *doh* |
20:55:18 | dom96 | ekarlso: I will add a error handler at some point to jester. |
20:55:19 | ekarlso | dom96: 2 inches away from "nimble register" in a folder with a .nimble file .. |
20:55:31 | dom96 | bbl |
20:55:47 | ekarlso | it registers the package now just the version left |
20:55:58 | perturbation | ekarlso: what type of project are you using jester for? (curious) |
20:56:10 | ekarlso | perturbation: npm a'la nim |
20:56:34 | perturbation | cool |
20:57:13 | ekarlso | https://nim-pkg.svcs.io/#/tags/list < example of how it'll be |
20:57:19 | ekarlso | release part is missing there though |
20:57:38 | perturbation | I've been playing around with using jester for building a JSON REST API with db_sqlite as the data store |
20:57:50 | ekarlso | perturbation: that's what this is :p |
20:57:58 | ekarlso | getting *fairly* big as well atm :| |
20:58:00 | * | skyfex__ quit (Quit: (null)) |
20:58:05 | perturbation | oh awesome |
20:58:16 | ekarlso | 800+ lines ish atm |
20:58:20 | ekarlso | but needs a cleanup soon |
21:00:17 | perturbation | one thing I was going to try (after digging a bit into how jester does its macro magic) was adding some sort of middleware for authentication, etc. - is that already a solved problem? |
21:00:39 | ekarlso | perturbation: I've added JWT to this stuff |
21:00:50 | ekarlso | or at least a basic version of it, still need to add claim checking |
21:01:03 | ekarlso | http://github.com/ekarlso/nim-jwt |
21:01:43 | ekarlso | perturbation: the packages website uses satellizer for auth with local / github as alternatives |
21:02:59 | perturbation | yeah I'm totally stealing^W integrating nim-jwt |
21:03:07 | perturbation | you're using angular as the frontend? |
21:03:18 | ekarlso | perturbation: ye |
21:03:28 | * | sampwing joined #nim |
21:03:53 | perturbation | I need to check that out... I've heard it's really nice |
21:05:54 | ekarlso | perturbation: meh, one of the dudes behind it just started a new framework hah |
21:06:00 | ekarlso | angular in one awy with the scope stuff is messed up |
21:07:45 | perturbation | I've heard 2.0 kind of breaks everything... I'm really new to front-end stuff but I started a project in Dart and I love the amount of structure/discoverability that it brings over Javascript |
21:10:29 | * | Matthias247 quit (Quit: Matthias247) |
21:21:16 | * | Matthias247 joined #nim |
21:24:55 | * | irrequietus joined #nim |
21:26:49 | * | perturbation quit (Ping timeout: 256 seconds) |
21:57:47 | * | UberLambda quit (Quit: Leaving the Matrix) |
21:59:53 | * | Trustable quit (Quit: Leaving) |
22:01:22 | * | Sergio965 joined #nim |
22:18:06 | * | cow_2001 joined #nim |
22:18:52 | cow_2001 | woah :| |
22:19:19 | dom96 | hi cow_2001 |
22:19:26 | cow_2001 | hi! :) |
22:19:46 | cow_2001 | so there are so many new languages popping all around |
22:19:54 | cow_2001 | I am curious |
22:22:33 | * | lkg joined #nim |
22:23:14 | lkg | my cmd isn't finding the term nim. I installed the binary and through github. What should I do? |
22:25:52 | wtw | your nim executable is not in your path, do something like "export PATH=$PATH:/your/nim/path" |
22:26:24 | EXetoC | seems like he's on windows |
22:26:38 | wtw | ar, right |
22:26:40 | wtw | ;) |
22:27:01 | lkg | yeah i am |
22:27:10 | EXetoC | http://stackoverflow.com/questions/6832496/command-prompt-how-to-add-a-set-path-only-for-that-batch-file-executing |
22:27:22 | EXetoC | it can be done temporarily, but locate the binary and try that |
22:27:29 | wtw | set PATH=%PATH%;c:\your\nim\path |
22:27:43 | lkg | just the nim folder? |
22:28:03 | wtw | yep |
22:28:29 | * | jasondotstar joined #nim |
22:28:30 | wtw | you may also add this to your environment variables if it works, to make it permanent |
22:29:49 | * | Synatra joined #nim |
22:29:59 | EXetoC | where the binary is located |
22:30:09 | Synatra | sup |
22:30:14 | lkg | not doing it right. is %PATH% supposed to be something? can you give me an example |
22:30:15 | wtw | via "system properties" -> advanced system settings -> advanced -> environment variables -> path |
22:30:21 | lkg | ah |
22:30:30 | wtw | try echo %PATH% |
22:32:01 | EXetoC | lkg: no that's the existing path variable, and so you have that first and then you append a path at the end |
22:32:05 | * | keyle joined #nim |
22:32:21 | keyle | morning. |
22:32:51 | lkg | im not understanding. I added C:\Nim to the PATH variable, which isn't working |
22:33:07 | keyle | you want nim\bin probably |
22:33:11 | keyle | where the binary resides |
22:33:19 | lkg | okay |
22:33:58 | lkg | there we go |
22:34:00 | wtw | :) |
22:34:02 | lkg | thanks |
22:34:27 | wtw | now make it permanent :) |
22:34:34 | wtw | or did you do that already? |
22:34:43 | * | gmpreussner|work quit (Read error: Connection reset by peer) |
22:34:45 | lkg | i think so. I added it to the environment var |
22:34:51 | wtw | ok :) |
22:35:15 | lkg | friendlier than the rust community here XD |
22:35:25 | EXetoC | yeah? |
22:35:30 | Synatra | Im from the rust community :( |
22:35:41 | wtw | me too, more or less, but mostly lurking |
22:36:00 | lkg | i find rust pretty busy |
22:36:02 | Synatra | we are very friendly |
22:36:52 | Synatra | Yeah our IRC can be hectic :I |
22:37:01 | lkg | i dont disagree, it's just that i don't see this many ":)" in #rust |
22:37:38 | EXetoC | apathic bastards :p |
22:37:41 | wtw | hehe |
22:38:00 | Synatra | YOull most likely see alot of <T> in #rust |
22:38:40 | wtw | <T> :) |
22:38:48 | lkg | uh oh "could not load: ll" |
22:40:17 | * | d3m1gd quit (Ping timeout: 245 seconds) |
22:40:48 | * | Gonzih quit (Quit: Lost terminal) |
22:41:53 | * | chroem joined #nim |
22:42:28 | lkg | anyone know what error code 11 does? |
22:42:49 | EXetoC | *ll ;) |
22:43:08 | EXetoC | or was it a typo the first time? |
22:43:25 | lkg | it printed out ll |
22:43:30 | * | Demon_Fox joined #nim |
22:43:47 | lkg | yeah, ll not 11 |
22:44:25 | EXetoC | odd error message |
22:44:50 | lkg | im running with aporia |
22:46:28 | lkg | oh it's l should not be used warning. |
22:46:29 | * | skyfex__ joined #nim |
22:47:25 | * | Outlander joined #nim |
22:48:21 | Synatra | have any of you guys done any projecteuler with Nim? |
22:51:24 | * | skyfex__ quit (Ping timeout: 265 seconds) |
22:53:00 | EXetoC | lkg: where did the message in quotes come from then? |
22:53:53 | lkg | the thing at the bottom of aporia. forgot what it's called |
22:54:04 | lkg | im trying to run the nim sdl example |
22:55:23 | def- | lkg: where is that example? |
22:57:19 | lkg | https://github.com/nim-lang/sdl2 |
22:59:01 | lkg | i put everything in the src file in a workspace folder along with nim opengl, etc |
22:59:43 | def- | what's the exact error you're getting? |
23:00:00 | lkg | could not load: ll > Process terminated with exit code 1 |
23:00:34 | def- | huh, what is ll? |
23:03:08 | * | gmpreussner joined #nim |
23:03:19 | * | gmpreussner is now known as gmpreussner|work |
23:04:30 | def- | ah, ll is some dll you're missing? |
23:05:13 | def- | googling makes me believe it's something with directx |
23:05:29 | Synatra | Question |
23:05:38 | Synatra | does Nim have these types of pointers? |
23:05:39 | Synatra | http://prntscr.com/5xhiih |
23:08:42 | def- | Nim has traced pointers (ref) and untraced pointes (ptr). I would say that's about it |
23:08:45 | def- | http://nim-lang.org/manual.html#reference-and-pointer-types |
23:09:18 | Synatra | okay |
23:09:34 | EXetoC | "lent pointers" is in the roadmap. not sure what it means |
23:10:51 | lkg | hm i thought i had the right dlls |
23:11:00 | def- | lkg: you have directx 10? |
23:11:19 | lkg | im not sure, im trying to use opengl right now |
23:11:59 | def- | seems like sdl2 links against ll.dll from directx though |
23:17:10 | chroem | So, uh, c2nim depends on 0.10.3, and the latest version is 0.10.2... |
23:17:13 | * | davidhq quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
23:17:34 | keyle | chroem: best to use the devel branch |
23:17:34 | def- | chroem: the devel branch from github should work: https://github.com/araq/nim |
23:18:22 | chroem | Alright, I'll give it a shot. |
23:18:22 | keyle | bottom of the page indicates how to build the devel branch http://nim-lang.org/download.html |
23:18:44 | chroem | keyle: That's what i just did. |
23:19:09 | keyle | see the text under the code block |
23:19:13 | chroem | Err |
23:19:15 | chroem | Nevermind |
23:19:16 | chroem | Yeah |
23:19:29 | keyle | -b devel :) |
23:19:49 | keyle | def-: Nim really needs nightly builds imho |
23:20:43 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:21:06 | def- | keyle: yeah, would be nice to have the builders build them |
23:21:28 | keyle | what do you mean by builders? |
23:22:33 | def- | there are some automated build systems running |
23:23:07 | * | Demon_Fox quit (Quit: Leaving) |
23:23:44 | * | lkg quit (Quit: Page closed) |
23:23:49 | keyle | ah, yes that'd be good. |
23:23:51 | def- | http://buildbot.nim-lang.org/waterfall |
23:25:41 | keyle | yeah it'd be neat if you could link a zipped version of the succesful builds imho |
23:25:56 | keyle | the last one of the day or something |
23:26:13 | keyle | last successful* |
23:26:24 | * | sillesta quit (Ping timeout: 272 seconds) |
23:26:38 | def- | especially since 0.10.2 has some problems people run into, like c2nim not working or httpclient and async* being broken |
23:26:56 | keyle | yeah I ran into httpclient issues myself |
23:29:07 | * | Demon_Fox joined #nim |
23:30:24 | keyle | the freebsd build should be an easy fix? (build.sh: gcc: not found) |
23:34:25 | chroem | So is c2nim incompatible with C's "#define" syntax? |
23:34:45 | chroem | I don't know C, so... |
23:35:51 | chroem | I'm getting errors saying that it's getting unexpected newlines after #define 's |
23:37:35 | * | ehaliewicz quit (Remote host closed the connection) |
23:38:05 | def- | keyle: it's not just that, there's a PR to fix freebsd build |
23:40:18 | * | reem quit (Remote host closed the connection) |
23:41:04 | EXetoC | chroem: sometimes it fails, in which case the macro has to be modified |
23:41:17 | EXetoC | it might be a good idea to run the preprocessor over it |
23:41:30 | chroem | Okay |
23:48:29 | chroem | Yaaaaayyyyyyyyyyy |
23:48:37 | chroem | Decent crypto support for nim |
23:48:40 | chroem | *confetti* |
23:51:53 | EXetoC | as in hashing? |
23:52:00 | EXetoC | someone wanted more things yesterday |
23:52:07 | chroem | As in public and private key. |
23:52:16 | chroem | That was me |
23:52:40 | EXetoC | oh |
23:52:59 | chroem | It'll be a while before I can test everything and make it look purdy, though. |
23:53:16 | EXetoC | great |
23:53:49 | * | Outlander quit (Ping timeout: 255 seconds) |
23:55:32 | * | Sergio965 quit (Ping timeout: 272 seconds) |
23:56:51 | * | rational quit (Quit: Lost terminal) |
23:57:17 | * | Outlander joined #nim |
23:59:05 | * | irrequietus quit () |