00:07:04 | * | DAddYE joined #nimrod |
00:11:15 | * | DAddYE quit (Ping timeout: 245 seconds) |
00:32:40 | * | mflamer joined #nimrod |
00:37:25 | * | OrionPK quit (Quit: Leaving) |
01:01:47 | * | guaqua`` joined #nimrod |
01:05:32 | Varriount | Meep. |
01:05:38 | * | Varriount pops up out of the ground. |
01:08:03 | * | Amrykid_ joined #nimrod |
01:08:18 | * | DAddYE joined #nimrod |
01:08:44 | * | q66 quit (*.net *.split) |
01:08:44 | * | jamil_1 quit (*.net *.split) |
01:08:44 | * | guaqua` quit (*.net *.split) |
01:08:44 | * | Amrykid quit (*.net *.split) |
01:12:30 | * | DAddYE quit (Ping timeout: 245 seconds) |
01:35:40 | mflamer | like a gopher? |
01:37:04 | * | dom96 gets carried in on a throne by 4 people |
01:37:07 | dom96 | like a king :D |
01:45:10 | mflamer | -*-MFlamer falls out of the sky |
01:45:32 | mflamer | the cool color thing diddnt work for me |
01:45:45 | dom96 | lol |
01:45:49 | dom96 | /me |
01:50:31 | Varriount | /meep |
01:51:01 | Varriount | dom96, when Araq gets up, tell him that disphelper is evil. |
01:51:11 | Varriount | It uses so. many. macros. |
02:10:09 | * | DAddYE joined #nimrod |
02:14:21 | * | DAddYE quit (Ping timeout: 245 seconds) |
02:15:21 | mflamer | hey, what does skiptypes() do? simple proc, but I dont get it |
02:16:09 | mflamer | just skip a node if its of a type in the list? |
02:27:51 | * | DAddYE joined #nimrod |
02:28:00 | * | DAddYE quit (Remote host closed the connection) |
02:28:06 | * | DAddYE joined #nimrod |
02:33:46 | * | DAddYE quit (Remote host closed the connection) |
02:47:42 | * | DAddYE joined #nimrod |
02:47:43 | * | DAddYE quit (Remote host closed the connection) |
02:47:50 | * | DAddYE joined #nimrod |
03:01:44 | * | Amrykid_ is now known as Amrykid |
03:02:00 | * | Amrykid quit (Changing host) |
03:02:00 | * | Amrykid joined #nimrod |
03:41:14 | * | DAddYE quit (Remote host closed the connection) |
03:58:14 | * | DAddYE joined #nimrod |
03:58:25 | * | DAddYE quit (Remote host closed the connection) |
03:58:35 | * | DAddYE joined #nimrod |
03:58:55 | * | DAddYE quit (Remote host closed the connection) |
03:59:23 | * | DAddYE joined #nimrod |
03:59:28 | * | DAddYE quit (Remote host closed the connection) |
03:59:34 | * | DAddYE joined #nimrod |
04:12:43 | * | mflamer quit (Ping timeout: 272 seconds) |
04:22:08 | * | filwit joined #nimrod |
04:22:21 | * | filwit quit (Client Quit) |
04:45:47 | Varriount | Araq, how does c2nim handle calling methods from pointers using the -> operator? |
05:18:30 | * | DAddYE quit (Remote host closed the connection) |
05:18:38 | * | Zor_ quit (Ping timeout: 240 seconds) |
05:18:46 | * | Zor joined #nimrod |
05:36:51 | * | DAddYE joined #nimrod |
05:37:47 | * | dyu joined #nimrod |
05:39:03 | * | DAddYE quit (Remote host closed the connection) |
05:43:52 | * | dyu https://news.ycombinator.com/item?id=6619613 - dom strikes again (upvote) |
05:52:33 | * | dyu quit (Quit: Leaving) |
06:49:21 | * | brson quit (Quit: leaving) |
07:05:34 | * | Endy joined #nimrod |
07:18:19 | * | Varriount quit (Ping timeout: 248 seconds) |
07:35:00 | * | Varriount joined #nimrod |
07:47:35 | * | io2 joined #nimrod |
07:53:33 | Araq | Varriount: c2nim does the right thing with '->', I think |
07:57:52 | Varriount | Araq, I found out that c2nim does not like parenthesis |
07:58:53 | Araq | c2nim doesn't like C/C++ ... |
07:59:13 | Varriount | Araq, (pObj)->lpVtbl->Release(pObj) fails, but pObj->lpVtbl->Release(pObj) doesn't |
07:59:30 | Araq | bug report please |
08:00:25 | Varriount | Also, any idea why would "#define dhFreeString(string) SysFreeString((BSTR) string)" fail? |
08:01:16 | Varriount | c2nim doesn't seem to like the cast, but the translation error c2nim throws is in the middle of "string" right after "(BSTR)" |
08:09:26 | Araq | yes it's the cast; add this case to your bug report please |
08:23:53 | Varriount | Araq, filed the bug reports. Also modified the ranged insertions/deletions pull request to comply with your suggestions. |
08:56:17 | * | wlhlm joined #nimrod |
09:08:25 | Araq | Varriount: thanks, gotta go |
09:17:27 | * | [1]Endy joined #nimrod |
09:21:31 | * | Endy quit (Ping timeout: 272 seconds) |
09:21:31 | * | [1]Endy is now known as Endy |
11:24:25 | dom96 | hello |
11:27:52 | * | sebcrozet joined #nimrod |
11:28:37 | sebcrozet | Hi, is it possible to make an object non-implicitly copiable ? |
11:35:53 | dom96 | Perhaps this: http://build.nimrod-code.org/docs/manual.html#byref_512107115 |
11:37:38 | sebcrozet | Thanks, I’ll try that. |
11:48:11 | * | q66 joined #nimrod |
12:35:32 | * | zanget quit (Ping timeout: 260 seconds) |
12:55:44 | * | io2 quit () |
13:15:13 | * | dyu joined #nimrod |
13:48:21 | * | io2 joined #nimrod |
14:02:28 | * | BitPuffi1 joined #nimrod |
14:02:38 | * | BitPuffi1 is now known as BitPuffin |
14:16:28 | dom96 | hey BitPuffin |
14:16:38 | BitPuffin | hey dom96 ! |
14:17:04 | dom96 | Any ideas where EXetoC is? |
14:17:12 | dom96 | !seen EXetoC |
14:17:12 | NimBot | EXetoC was last seen on Sun Oct 20 18:46:35 2013 quitting with message: Ping timeout: 248 seconds |
14:19:12 | BitPuffin | dom96: nope :/ |
14:20:58 | * | gradha joined #nimrod |
14:21:50 | dom96 | BitPuffin: what ever happened to scrypt? |
14:22:33 | BitPuffin | dom96: you need it? |
14:22:58 | dom96 | Well, Nimforum could certainly use it. |
14:22:58 | BitPuffin | dom96: I can fix it up soon, I'm currently studying for my drivers' license test |
14:23:11 | BitPuffin | and apparently swtiching to wayland |
14:23:13 | dom96 | BitPuffin: ahh, no worries, take your time. |
14:23:37 | BitPuffin | dom96: have you tried wayland_ |
14:24:35 | * | q66 quit (Ping timeout: 246 seconds) |
14:24:47 | dom96 | nope. I doubt it supports proprietary drivers. |
14:25:08 | BitPuffin | dom96: it doesn't |
14:25:44 | BitPuffin | dom96: But I just switched to the open source drivers because they were faster than the unsupported legacy ones I was running. And that allowed me to switch to wayland :D |
14:25:48 | * | BitPuffin feels so alive |
14:26:05 | dom96 | I also doubt the open source drivers support my GPU :( |
14:26:43 | BitPuffin | dom96: have you tried? |
14:26:46 | BitPuffin | dom96: ask in #radeon |
14:26:59 | dom96 | Yes. I also checked the support list. |
14:27:02 | dom96 | But that was a long time ago. |
14:28:13 | BitPuffin | dom96: well maybe it is different now, ask :D we can be waylanders |
14:28:19 | dom96 | interesting |
14:28:24 | dom96 | It looks like it may be different now |
14:29:55 | dom96 | wow, a lot is done |
14:30:22 | * | BitPuffin quit (Quit: WeeChat 0.4.2) |
14:30:23 | dom96 | I think it's to do with the changes introduced in the 3.4 kernel |
14:33:02 | dom96 | dyu: Thanks for the upvote :) |
14:33:27 | * | BitPuffin joined #nimrod |
14:33:46 | dom96 | BitPuffin: Well now i'm tempted to drop the proprietary driver |
14:34:00 | BitPuffin | dom96: do it |
14:34:06 | dom96 | But something tells me I will spend a day fixing the disaster that results from doing that :P |
14:34:10 | BitPuffin | dom96: opengl 3.3 support is coming really soon |
14:34:29 | BitPuffin | dom96: I switched from proprietary to open source in about 10 minutes on arch |
14:34:36 | BitPuffin | was a bit fiddly but it worked out |
14:34:41 | BitPuffin | although now I am running debian |
14:34:46 | BitPuffin | with only wayland |
14:34:49 | BitPuffin | no x installed yet |
14:34:54 | BitPuffin | but I am gonna install xwayland |
14:35:00 | dom96 | I wonder what stippled primitives are |
14:35:32 | BitPuffin | so that I can run X11 apps |
14:35:40 | BitPuffin | and then when I am done with my drivers license thing I am gonna go ahead and write my own wm :( |
14:35:41 | BitPuffin | :) |
14:35:50 | BitPuffin | dom96: Believe it has got something to do with patterns iirc |
14:35:52 | dom96 | In nimrod!? |
14:36:01 | BitPuffin | not sure |
14:36:08 | dom96 | whyyyy |
14:36:15 | dom96 | it's the obvious choice |
14:36:15 | BitPuffin | because |
14:36:16 | BitPuffin | bugs xD |
14:36:20 | BitPuffin | Well |
14:36:23 | BitPuffin | I wanna use nimrod |
14:36:29 | dom96 | I am considering writing one in Nimrod. |
14:36:38 | dom96 | But I know nothing about WMs |
14:36:45 | BitPuffin | me neither really |
14:36:50 | dom96 | It can't be too hard though, there is A LOT of them out there. |
14:36:56 | BitPuffin | exactly |
14:37:10 | dom96 | But there is a lot of compilers out there too... |
14:37:13 | dom96 | hrm |
14:37:20 | dom96 | perhaps my theory is wrong hah |
14:37:35 | * | q66 joined #nimrod |
14:37:37 | BitPuffin | I want to write one that gives you the same control when tiling as i3, but with better floating windows support and a bit better multiple desktop stuff/tags or whatever |
14:37:50 | gradha | maybe instead of writing the wm you should write the GUI first? handling windows for non nimrod processes is boring |
14:37:52 | BitPuffin | It's either nimrod or ocaml |
14:38:17 | dom96 | Why not Haskell? :P |
14:38:32 | BitPuffin | dom96: because Haskell is not very practical I think |
14:38:54 | BitPuffin | dom96: ocaml has a lot of cool stuff that haskell does but is not as uptight about stuff |
14:39:00 | BitPuffin | and I think haskell does mark and sweep |
14:39:07 | gradha | btw, why are people still writing window managers? isn't that like a solved problem? ten years ago? |
14:39:08 | BitPuffin | which ocaml doesn't |
14:39:15 | BitPuffin | gradha: This is for wayland |
14:39:34 | dom96 | BitPuffin: What WMs actually support Wayland currently? |
14:39:46 | dom96 | BitPuffin: Please write it in Nimrod, I will help you! |
14:39:59 | BitPuffin | dom96: gnome3 and KDE |
14:40:41 | BitPuffin | dom96: well I might even write a game in ocaml now, and my website haha |
14:40:45 | * | dom96 is writing a blog post about Nimrod |
14:41:08 | BitPuffin | dom96: I really love nimrod, it is just that ocaml is like 4.0 and a lot of years under its belt |
14:41:09 | dom96 | BitPuffin: omg |
14:41:09 | gradha | so the draft thing was for something |
14:41:16 | dom96 | gradha: yep :P |
14:41:27 | dom96 | The article is already long... |
14:41:29 | BitPuffin | dom96: but I am still gonna use nimrod ofc :) |
14:41:34 | dom96 | and there is still so many features I want to talk about |
14:41:39 | BitPuffin | especially as it matures |
14:41:45 | dom96 | BitPuffin: But... but :( |
14:41:51 | BitPuffin | nimrod has way nicer GC and concurrency |
14:41:55 | gradha | dom96: talking about drafts, I don't think showing/not showing is a solution, you rather need ipsum to have a draft "mode" where it generates output to a different dir specified in the .ini for verification |
14:42:22 | dom96 | gradha: hrm, perhaps |
14:42:28 | dom96 | it's good enough for now :P |
14:42:32 | BitPuffin | dom96: well if you optimize jester within like a week maybe I'll do it all in nimrod :P |
14:42:42 | gradha | I was tempted to add some switches to ipsum, how would you like a dependency on the argument_parser lib? |
14:42:50 | dom96 | BitPuffin: You don't need Jester for a WM :P |
14:43:03 | BitPuffin | dom96: no but I will write my website before I write the wm |
14:43:09 | BitPuffin | and the wm before I write the game |
14:43:28 | * | dyu quit (Remote host closed the connection) |
14:43:28 | dom96 | And are you writing a new Facebook? What kind of speed do you need? |
14:43:42 | BitPuffin | dom96: no I am just writing my personal site xD |
14:44:05 | dom96 | BitPuffin: Yeah, so there is no problem in using Jester. |
14:44:17 | dom96 | Have you used the forum? |
14:44:19 | BitPuffin | dom96: not really no |
14:44:21 | dom96 | It's not slow at all is it? |
14:44:35 | BitPuffin | dom96: but you are not planning to add any features until it is optimized right? |
14:44:38 | dom96 | gradha: hrm. |
14:44:57 | dom96 | gradha: Actually that would be great. |
14:45:06 | dom96 | gradha: Nice test for babel too. |
14:45:18 | * | BitPuffin really likes function currying |
14:45:52 | dom96 | Yeah, I do too. |
14:46:14 | dom96 | Implement it in Nimrod using templates. |
14:46:44 | BitPuffin | dom96: you mean a new function keyword? that produces functions instead of procedures |
14:46:59 | dom96 | huh? |
14:47:07 | dom96 | No I mean a curry template. |
14:47:30 | BitPuffin | dom96: how is that gonna work |
14:47:48 | BitPuffin | wouldn't it be kind of cool to write a bunch of FP stuff for nimrod in nimrod |
14:48:37 | dom96 | Python has a curry function I think |
14:48:39 | dom96 | Something like that perhaps |
14:49:07 | BitPuffin | so that you could write function plus a b: a + b |
14:49:28 | dom96 | yes, Araq told EXetoC to make that using templates/macros. |
14:49:44 | BitPuffin | function plusthree a: plus 3 a |
14:49:50 | BitPuffin | oh wait |
14:49:52 | BitPuffin | I mean |
14:50:03 | BitPuffin | function plusthree: plus 3 |
14:50:03 | dom96 | oh I see what you mean |
14:50:18 | dom96 | I meant a nicer closure syntax |
14:50:41 | BitPuffin | plus would be a: a -> a-> a-> |
14:51:01 | BitPuffin | and plusthree would be an a -> a |
14:51:08 | BitPuffin | and then you could also pass functions as parameters for those |
14:51:12 | dom96 | curry(`+`, 5) # Returns a proc (y: int): int |
14:52:43 | BitPuffin | so you could do function map func list: blabla |
14:53:05 | BitPuffin | and call map plusthree mylist |
14:53:25 | BitPuffin | dom96: isn't that kind of possible with the current macro syntax stuff? |
14:53:39 | BitPuffin | and then we would only need pattern matching on top of that |
14:53:54 | BitPuffin | and then I wouldn't have many reasons to use ocaml |
14:54:35 | dom96 | I have no idea what you mean by 'function map func list: blabla' |
14:54:45 | BitPuffin | dom96: blabla is just the implementation of map |
14:54:48 | gradha | BitPuffin: it's weird that you need those things in a language to make a website |
14:55:29 | dom96 | You can do: map(list, func) in Nimrod. |
14:56:01 | BitPuffin | gradha: no I don't need them to make a website |
14:56:04 | BitPuffin | dom96: I know |
14:56:18 | BitPuffin | dom96: But I mean how you could implement it to be more like a functional language |
14:56:42 | dom96 | I don't think there is any way to get an ML-like syntax |
14:57:05 | BitPuffin | well what I wrote wasn't ml syntax |
14:57:31 | BitPuffin | that would be let plus a b = a + b |
14:57:40 | dom96 | i.e. plus5 x = `+` 5 -- I can't even remember the Haskell syntax now. |
14:58:15 | dom96 | So you want a nicer function declaration syntax? |
14:58:18 | BitPuffin | dom96: I know that with macros you could at least get the function: syntax but I am not sure about function name params: |
14:58:26 | dom96 | Why? |
14:59:48 | BitPuffin | dom96: well this would be for FP stuff, in an FP language all the constants and parameteres etc are functions, that's not the way it is in nimrod. And with the function keyword we could force noSideEffects without a macro etc and make it clean |
15:01:37 | BitPuffin | dom96: actually you are doing get "/": with macro syntax etc. Maybe it is possible to make whatever follows the function "keyword" parameters to the function |
15:03:09 | BitPuffin | dom96: what I would miss if I went with ocaml is the macros. And maybe I can even implement what ocaml has with macros.. damn it is tempting :( |
15:04:27 | dom96 | no harm in trying :) |
15:05:51 | BitPuffin | dom96: I might |
15:05:53 | BitPuffin | damn it |
15:06:15 | dom96 | good. |
15:08:59 | BitPuffin | dom96: problem is, how would I optimize recursion etc with macros. |
15:09:25 | dom96 | leave it to GCC? :P |
15:10:01 | dom96 | You could also use term rewriting macros. |
15:10:17 | dom96 | Which have been specifically created for the purpose of creating optimisations. |
15:16:41 | BitPuffin | dom96: true |
15:26:32 | * | enurlyx joined #nimrod |
15:27:21 | enurlyx | Hello :) |
15:27:37 | gradha | hai |
15:30:56 | dom96 | hi enurlyx |
15:30:59 | enurlyx | Does there exist an example on how to interface with opengl? I still have problems. |
15:32:31 | enurlyx | I try to use glGenVertexArrays, but i end with illegal storage access (Attempt to read from nil?) |
15:33:07 | enurlyx | I do the following: |
15:33:20 | * | BitPuffin quit (Ping timeout: 260 seconds) |
15:33:37 | enurlyx | var vaos: array[0..3, GLuint] |
15:33:44 | enurlyx | template cArray (x: expr): expr = cast[ptr type(x[0])](x.addr) |
15:33:51 | enurlyx | glGenVertexArrays(1, vaos.cArray) |
15:37:06 | gradha | it doesn't look like anybody here now knows about opengl, have you tried posting at the forum? |
15:39:05 | dom96 | Wish I could help but I know little about OpenGL. |
15:39:11 | * | OrionPK joined #nimrod |
15:39:14 | dom96 | That cast looks dangerous though. |
15:39:37 | gradha | only instance I found on github points to https://github.com/fowlmouth/nimlibs/blob/cd8ff31bb233f68030b01b5fda8fb7c86c297153/fowltek/musings/nim3d/lib/models.nim |
15:39:53 | gradha | more precisely https://github.com/fowlmouth/nimlibs/blob/cd8ff31bb233f68030b01b5fda8fb7c86c297153/fowltek/musings/nim3d/lib/models.nim#L94 |
15:40:11 | gradha | ouch, it's inside a discard block |
15:46:11 | enurlyx | Thank you for the link. I will study this a bit. |
15:47:06 | enurlyx | About the template. This I took from the forum. Araq posted it: http://forum.nimrod-code.org/t/51 |
16:04:13 | enurlyx | ... Seems the crash had nothing to do with the array. The function itself was nil and needed to get initialized first with loadExtensions |
16:06:12 | * | xenagi joined #nimrod |
16:23:58 | * | enurlyx quit (Quit: Verlassend) |
16:27:44 | gradha | nice, my compiler is acting up again, when compilation uses parallel mode some object files don't get compiled, but they do forcing the processor count to 1 |
16:37:40 | * | BitPuffin joined #nimrod |
16:54:58 | BitPuffin | Araq: What do you think, could Haskell/Ocaml like functions be implemented with macros? |
16:58:30 | OrionPK | http://www.cminusminus.org/ |
17:05:39 | gradha | oh, they updated that page? some months ago it looked desserted |
17:05:56 | OrionPK | yeah looks nice |
17:06:14 | gradha | hopefully the grant they mention covers more than a pretty website |
17:06:29 | OrionPK | heh heh |
17:07:04 | gradha | come on, OrionPK, stop browsing their website, I'm getting 502 errors due to you overloading it |
17:07:16 | gradha | that, or they don't have "old news" |
17:07:25 | OrionPK | it's up on proggit |
17:07:45 | OrionPK | thats probably why it's spitting 502s |
17:11:08 | gradha | nice, offering rsync as download option |
17:11:24 | gradha | I'm having trouble finding the gopher page though |
17:32:38 | BitPuffin | C-- looks cool |
17:39:57 | * | io2 quit () |
18:02:36 | NimBot | Araq/Nimrod master 4c1d0ef Grzegorz Adam Hankiewicz [+0 ±1 -0]: Fixes execProcesses wait order. Refs #379.... 3 more lines |
18:02:36 | NimBot | Araq/Nimrod master 57f2bbf Andreas Rumpf [+0 ±1 -0]: Merge pull request #639 from gradha/pr_fixes_execProcesses... 2 more lines |
18:04:19 | Araq | ## Useful Constants |
18:04:20 | Araq | const NULL* = 0 |
18:04:25 | Araq | lol, yes very useful |
18:04:45 | Araq | but now we're missing ONE* = 1 |
18:04:53 | OrionPK | wat |
18:05:03 | * | Araq is reading pull requests |
18:05:40 | OrionPK | mflamer? |
18:06:02 | OrionPK | I dont see how having NULL and null could be confusing |
18:08:26 | Araq | uh oh he messed with atomics.nim |
18:12:25 | xenagi | uh oh spagettios |
18:12:58 | xenagi | OrionPK, what's the difference? |
18:13:50 | NimBot | Araq/Nimrod master befbca1 Clay Sweetser [+0 ±1 -0]: Added instructions on using koch to compile nimrod with GDB support. |
18:13:50 | NimBot | Araq/Nimrod master 4e6ccd1 Clay Sweetser [+0 ±1 -0]: Added some information on sequences. |
18:13:50 | NimBot | Araq/Nimrod master dfdf609 Varriount [+0 ±1 -0]: Changed backslash to forward slash... 2 more lines |
18:13:50 | NimBot | Araq/Nimrod master c1fb4cb Andreas Rumpf [+0 ±2 -0]: Merge pull request #627 from Varriount/internal-documentation/add-debug-info... 2 more lines |
18:14:29 | * | xenagi quit (Quit: Leaving) |
18:14:43 | * | xenagi joined #nimrod |
18:15:00 | * | gradha wonders if spagettions are something edible |
18:16:19 | * | DAddYE joined #nimrod |
18:16:32 | * | DAddYE quit (Remote host closed the connection) |
18:16:38 | * | DAddYE_ joined #nimrod |
18:17:56 | NimBot | Araq/Nimrod master e02ac98 Clay Sweetser [+0 ±1 -0]: Added an insertion function that inserts elements of an openarray.... 2 more lines |
18:17:56 | NimBot | Araq/Nimrod master 6dac130 Varriount [+0 ±1 -0]: Apply changes suggested by Araq... 2 more lines |
18:17:56 | NimBot | Araq/Nimrod master f308481 Andreas Rumpf [+0 ±1 -0]: Merge pull request #625 from Varriount/sequences/add-ranged-insertions-deletions... 2 more lines |
18:17:57 | * | filwit joined #nimrod |
18:18:47 | filwit | damn, was hoping fowl would be around |
18:20:15 | Araq | gradha: what about #541 ? apply it and set free some endorphins? |
18:21:27 | gradha | weren't you removing negative slices? |
18:21:51 | gradha | negative indices I mean |
18:23:01 | Araq | iirc the final plan was to disallow them only when the array bounds are in fact negative |
18:23:29 | gradha | luckily the internet can solve this problem http://www.random.org/coins/?num=1&cur=60-esp.5ptas |
18:26:06 | Araq | dom96: er ... did we have an AIX guy here? |
18:26:45 | dom96 | Araq: No. But I noticed that the GCC farm has an AIX machine :P |
18:27:07 | Araq | ok, I'm closing this then |
18:28:12 | dom96 | why? |
18:28:46 | dom96 | It's still a bug. |
18:29:06 | Araq | I don't think we should support AIX; it's dead afaik |
18:30:03 | dom96 | if you say so |
18:30:39 | dom96 | write a comment on the issue then |
18:30:54 | Araq | how do you know 'uname -m' doesn't work on AIX? |
18:31:05 | dom96 | Because I checked |
18:31:09 | Araq | and if it's broken on AIX, is that our problem? |
18:31:36 | dom96 | And where did I say that it doesn't work? |
18:31:50 | Araq | "The script however fails at acquiring the CPU name because on AIX uname -m does not output that information, " |
18:31:59 | dom96 | Yeah, the script doesn't work. |
18:32:02 | Araq | from https://github.com/Araq/Nimrod/issues/634 |
18:32:17 | dom96 | uname -m on AIX gives some other piece of info |
18:32:25 | dom96 | machine ID or something |
18:32:33 | Araq | uname -p gives me "unknown" on linux though |
18:32:51 | dom96 | yes, well. uname -p should only be used on AIX then. |
18:33:10 | Araq | well that's exactly why we don't support AIX |
18:33:25 | Araq | we're not autoconf |
18:33:34 | dom96 | because it's different? |
18:33:55 | * | DAddYE_ quit (Remote host closed the connection) |
18:34:02 | Araq | we don't care for the 20th archaic unix clone |
18:34:05 | dom96 | meh, I don't care. Just thought it would be cool to support. |
18:35:19 | Araq | alright |
18:41:04 | OrionPK | Araq, why TypeName(field: "A") and proc(param = "A") |
18:41:14 | OrionPK | I keep mixing up = and : for those |
18:42:09 | Araq | yeah good point; the ':' comes from consistency with tuple constructors |
18:42:24 | Araq | also it makes semantic checking slightly easier to implement iirc |
18:42:46 | OrionPK | could we add support for ":" for proc param names? |
18:42:59 | OrionPK | if that's easier than = for fields |
18:43:10 | Araq | sounds reasonable |
18:44:16 | filwit | bleh, another inconsistency.. |
18:44:49 | filwit | whatever, nimrod's already got three ways to write all code anyways, might as well make another way to write params |
18:45:12 | OrionPK | lol, well I'd rather just have to remember one way |
18:45:45 | filwit | me too |
18:45:59 | gradha | remembering is fun, it prevents alzheimer |
18:46:10 | Araq | (use-lisp then) :P |
18:46:12 | filwit | great advertising, haha |
18:46:46 | gradha | nimrod gamera, nevar forget |
18:46:53 | filwit | "Nimrod - preventing alzheimers and killing sanity at the same time" |
18:47:13 | filwit | :p |
18:47:23 | OrionPK | well, I would say get rid of '=', but who knows how much code that would break :p |
18:47:46 | Araq | well '=' is consistent with what's used for default values |
18:47:48 | OrionPK | then again, maybe it's something that could be squeezed in with the rest of those major breaking changes |
18:48:00 | filwit | actually, i with the '=' was gone from the type & proc definitions too |
18:48:01 | filwit | haha |
18:48:17 | Araq | but then the python people might complain |
18:48:23 | filwit | (i know you hate me, Araq, don't worry, i'm not actually suggesting a change) |
18:48:27 | Araq | but then they always complain anyway |
18:49:07 | xenagi | I assume Nimrod is less prone to change once it reaches 1.0? |
18:49:11 | Araq | nothing is as beautiful as python (don't mention multi-line lambdas ;-) ) |
18:49:20 | filwit | i just watched a TED talk about Linux where the guy said a study shows that arguing is more innovative way to create ideas |
18:49:28 | xenagi | by 'change' I mean backwards-compatibility-breaking changes |
18:49:34 | gradha | python people complain in a civilized way, due to the GIL only one can complain at a time |
18:50:49 | Araq | xenagi: there are quite a few backwards-compatibility breaking changes in the pipeline, yes |
18:51:14 | Araq | but providing a transition path is often amazingly easy to do |
18:51:37 | filwit | Araq: you know.. (i just thought of this).. doesn't it make more sense to write type's like this: "type Foo: object = ... " ? (that's a question, not suggestion) |
18:51:46 | * | Associat0r quit (Quit: Associat0r) |
18:52:12 | Araq | filwit: ':' means "has type", '=' means "implementation follows" |
18:52:13 | filwit | Araq: it's like my earlier idea, though it has the '=' mark like procs |
18:52:25 | Araq | both symbols also have other meanings of course |
18:52:36 | OrionPK | Araq it might have that type though, if it's extending an object |
18:52:43 | Araq | so to answer your question: no your syntax doesn't make more sense |
18:53:02 | filwit | idk, it sorta does, even as you describe it |
18:53:16 | dom96 | Araq: There are going to be breaking changes after 1.0? |
18:53:21 | filwit | type <name> : <hasType> = <implimentation> |
18:53:33 | Araq | no Foo does not HAVE a type |
18:53:33 | filwit | anyways, sorry, don't want to go down this path right now |
18:53:38 | Araq | it IS a type |
18:53:42 | xenagi | ^ |
18:53:56 | Araq | ok, it also HAS the typedesc[] meta type |
18:54:07 | filwit | yes i know (and have counter arguments), but i don't care that much right now |
18:54:24 | filwit | just wanted to know your thinking behind it |
18:54:25 | xenagi | filwit, dont feel like creating ideas? ;) |
18:54:54 | filwit | haha, xenagi, just ask Araq how much i love debating about this stuff |
18:54:58 | filwit | just not right now |
18:55:11 | xenagi | mmhmm |
18:55:28 | xenagi | time to get back to this c++! woo </sarcasm> |
18:57:34 | filwit | port C++ to Nimrod & build system extension. don't tell boss. |
18:57:50 | filwit | :P |
18:57:57 | xenagi | lol |
18:58:19 | xenagi | ill do it in one commit |
18:58:21 | xenagi | no one will notice |
18:58:52 | filwit | lol. make the commit message "this is C++. Totally all C++..." |
18:59:38 | xenagi | "made code more readable" haha |
18:59:55 | xenagi | "youre welcome" |
19:00:29 | filwit | haha |
19:01:14 | * | filwit quit (Quit: Leaving) |
19:17:23 | * | gradha quit (Read error: Connection reset by peer) |
19:30:49 | Araq | dom96: thanks to 'system.compiles' every change is strictly speaking a breaking change. But I can't think of any breaking change after 1.0. Time will tell. |
19:53:09 | * | gradha joined #nimrod |
20:19:27 | gradha | hmm... after the osproc change nimforum will hang waiting for gcc to finish building |
20:20:52 | Araq | the tester didn't show this though |
20:21:24 | Araq | but I told you osproc.nim changes require a high amount of alcohol |
20:21:37 | gradha | ok, my custom ouroboros compiler hangs, the default version works fine, I wonder why |
20:23:20 | gradha | also, I just noticed I accidentaly change the nimcache path somehow, the fun never ends |
20:29:14 | gradha | what's the osproc noBusyWaiting code meant to do and why is not used? |
20:30:42 | Araq | it's supposed to not do any "busy waiting"/polling |
20:30:56 | Araq | and it's not active because I never could get it to work |
20:34:01 | * | Endy quit (Ping timeout: 272 seconds) |
20:47:16 | * | fowl joined #nimrod |
20:47:32 | * | io2 joined #nimrod |
20:47:57 | Araq | fowl: you need to get a bouncer, filwit was here, looking for your help |
20:48:58 | dom96 | How would a bouncer help? |
20:49:06 | dom96 | He can see the logs anyway thanks to NimBot. |
20:50:44 | gradha | doesn't a bouncer prevent contact? |
20:52:59 | * | sebcrozet quit (Quit: Gone) |
20:54:29 | fowl | i was just reading the lgos |
20:54:30 | fowl | logs |
20:54:57 | fowl | what did he want though he doesnt say |
20:55:23 | fowl | i occasionally read the forums too |
21:07:46 | fowl | btw enurlyx' cArray template is a great way to work with opengl |
21:08:22 | gradha | fowl: the cool kids use the forum's rss |
21:08:46 | fowl | glGenVertexArrays(1, vaos.cArray) -- the alternative is glGenVertexArrays(1, vaos[0].addr) |
21:09:12 | fowl | gradha, idk how to do that with chromium |
21:10:45 | gradha | chromium? like http://www.chromium.org/user-experience/feed-subscriptions ? |
21:11:30 | fowl | i dont have that rss icon for nimrod's forum |
21:12:22 | gradha | maybe they disabled it, I don't have it in chrome either |
21:15:06 | fowl | gradha, whats up homie, havent seen you in a while |
21:15:43 | gradha | I did travel long distances for the mana of money, now that I have some I can rest again and play here |
21:16:59 | gradha | wow https://en.wikipedia.org/wiki/Nimrod_(computing) |
21:17:18 | gradha | ahaha https://en.wikipedia.org/wiki/Nimrod_(distributed_computing) |
21:20:18 | * | Varriount quit (Quit: Leaving) |
21:28:40 | * | enurlyx joined #nimrod |
21:29:24 | * | Varriount joined #nimrod |
21:29:48 | * | Varriount quit (Client Quit) |
21:30:58 | BitPuffin | dom96: Basically the argument I have for myself is that when I have ultra production time ready I am not sure I am gonna have the time get nothing done for a whole day because of a compiler bug :/ which is what I was referring to when I said that ocaml is 4.0 |
21:32:25 | Araq | BitPuffin: most bugs can easily be worked around |
21:32:26 | gradha | BitPuffin: but fixing bugs in nimrod gives you that nicer taste in your mouth that you are helping the whole world |
21:32:54 | BitPuffin | dom96: that doesn't really stop me from writing the wm and website in nimrod though, but I would use those projects to learn ocaml |
21:33:08 | BitPuffin | Araq: Yes usually, but it is not a guarantee |
21:33:16 | BitPuffin | gradha: yeah I know :( |
21:33:34 | Araq | well mark the bug as "show stopper" somehow and it will get fixed VERY soon |
21:33:48 | BitPuffin | Araq: I will definitely think about it |
21:34:46 | Araq | BitPuffin: also it's often strange to say "this doesn't work in nimrod. bug" when 'this' can't be done in other languages at all |
21:39:04 | enurlyx | Araq: I import 'opengl' the new wrapper. I call loadExtensions. But I get the following error at runtime: |
21:39:11 | enurlyx | Error: unhandled exception: could not find symbol: glGenVertexArrays [EInvalidLibrary] |
21:39:20 | enurlyx | Do I miss something? |
21:39:56 | fowl | hi enurlyx |
21:40:03 | enurlyx | hi |
21:40:06 | Araq | your driver doesn't support glGenVertexArrays? |
21:40:18 | Araq | I don't know, but fowl is here |
21:41:31 | * | Varriount joined #nimrod |
21:41:57 | fowl | enurlyx, this may have info for you http://www.opentk.com/node/2219 |
21:42:11 | * | Varriount is now known as Varaway |
21:42:57 | fowl | enurlyx, yea they say your hardware doesnt support the opengl version required for that |
21:42:58 | dom96 | BitPuffin: Noooo, use Nimrod for everything :( |
21:43:13 | * | Varaway is now known as Varriount |
21:43:32 | fowl | enurlyx, btw for your template cArray it should just be template cArray(x: expr): expr = x[0].addr |
21:43:39 | enurlyx | fowl: I tested this before with Geeks3D Caps Viewer |
21:43:44 | * | Varriount wonders if his ZNC setup worked |
21:43:56 | * | gradha wonders what znc is |
21:43:56 | enurlyx | It says GL_Version 3.1 |
21:44:08 | Varriount | gradha, it's a bouncer |
21:44:23 | dom96 | Somebody needs to write a BNC in Nimrod. |
21:44:30 | Varriount | A pseudo-irc server that acts as a client that other clients can connect to. |
21:44:36 | dom96 | Nimrod needs to slowly take over the world. |
21:44:57 | fowl | lets write nimrod virii |
21:45:39 | gradha | Varriount: I'm intrigued, why would you need that? |
21:46:32 | Varriount | Well, you can use a bouncer to have multiple clients connected, without the need for multiple names |
21:46:43 | fowl | enurlyx, try glGetString(GL_VERSION) |
21:46:59 | Varriount | I can be connected to the bouncer on both my laptop, desktop, and phone, but you guys would only see one user connected. |
21:47:24 | fowl | gradha, when you're on a lame connection you can disconnect and reconnect and get the back logs of your channels/pms |
21:47:31 | Varriount | ^ |
21:48:24 | gradha | sounds like fun if the bouncer is on the lame connection |
21:48:42 | fowl | that wouldnt be a good bouncer then would it |
21:48:54 | * | Varriount does not have a lame connection |
21:49:12 | fowl | i used elite bnc for a while |
21:49:38 | Varriount | I've only found one good bnc for windows, and thats znc. |
21:52:51 | * | Varriount is now known as Varaway |
21:53:51 | gradha | Varaway: write a bouncer in nimrod before you change your name again |
21:54:45 | * | Varaway is now known as Varriount |
21:55:06 | gradha | that's being proficient! |
21:56:26 | Varriount | The bouncer changes my name when my client disconnects from it. |
21:56:27 | enurlyx | fowl: How can i echo a cstring? I get illegal storage access? |
21:56:45 | Varriount | <***> Buffer Playback... |
21:56:45 | Varriount | <gradha> [17:53:53] Varaway: write a bouncer in nimrod before you change your name again |
21:56:45 | Varriount | <***> Playback Complete. |
21:56:49 | gradha | enurlyx: that likely means your string is nil |
21:57:23 | dom96 | The one thing that's missing from ZNC is an ability to connect to my BNC through the web. |
21:57:28 | dom96 | Hrm, perhaps they have that now? |
21:57:43 | Varriount | dom96, or you could just use a web irc client |
21:57:46 | Varriount | like mibbet |
21:57:53 | gradha | enurlyx: cstring can be cast to string and vice versa, so you should check for the variable not being nil before using echo with it |
21:58:07 | dom96 | mibbit sucks |
21:58:16 | dom96 | and it's blocked in school :P |
21:58:25 | Varriount | Use https. :3 |
21:58:48 | gradha | enurlyx: you could try "if not variable.isNil: echo variable" or similar |
21:58:59 | wlhlm | yeah, silly http firewalls :P |
21:59:06 | Varriount | Or, you might be able to embed it in a blog or website page, and use it that way |
21:59:17 | Varriount | Depends on how the firewall is set up. |
21:59:49 | wlhlm | Varriount: it's the same at our school, just use https… |
21:59:55 | gradha | enurlyx: you could also try using repr(variable), that should deal with nil gracefully, though the output might not look very pretty |
22:02:22 | Varriount | wlhlm, my old high schools filter was particularly easy to get past. Depending on what 'level' a website was locked, you could either simply ping the website, and use the IP Address instead of the url, use https, or use a proxy. |
22:03:14 | fowl | enurlyx, "You need to have a valid OpenGL context at the time of calling glGetString();" |
22:04:04 | * | Varriount disconnects, and goes back to doing math homework. |
22:04:09 | wlhlm | Varriount: one problem though is, that stackoverflow has no https, but still google cache works… |
22:04:37 | enurlyx | fowl: I use sdl. I gues after SetVideoMode i have this? |
22:04:48 | * | Varriount is now known as Varaway |
22:05:09 | enurlyx | fowl: I am on windows. windows only supports 1.2 or so. Maybe this is the reason? |
22:05:25 | fowl | enurlyx, with SDL 1 you have to specify that you want opengl or accelerated rendering, but i guess you know this |
22:05:27 | enurlyx | fowl: But I thougt the opengl wrapper handels the extensions? |
22:06:01 | fowl | im not sure about using sdl with the opengl wrapper, can i just see some code |
22:06:13 | enurlyx | yes. moment |
22:11:31 | dom96 | So here is the fruit of my labours: http://picheta.me/articles/2013/10/about-nimrods-excellence.html |
22:14:15 | gradha | don't forget to post it on the forum as well |
22:14:35 | dom96 | First I need a break for food :P |
22:17:08 | enurlyx | fowl: I call the following |
22:17:16 | enurlyx | SetVideoMode(screenWidth, screenHeight, 16, cast[uint32](FULLSCREEN or sdl.OPENGL)) |
22:17:44 | dom96 | Guys, feedback appreciated btw |
22:18:38 | fowl | enurlyx, can you just paste some code i will try to get it working |
22:22:47 | enurlyx | fowl: http://pastebin.com/09qR4N9f |
22:23:42 | enurlyx | fowl: Sorry, but i think you have to throw a way a lot of the file loading part. I will create a small version tomorrow. |
22:24:50 | enurlyx | fowl: I try to do the first example of the RedBook Opengl |
22:25:08 | enurlyx | fowl: C-Code is here for reference: http://www.opengl-redbook.com/ |
22:26:33 | fowl | i get this error: Couldn't find matching GLX visual |
22:26:38 | fowl | what do you get |
22:31:27 | enurlyx | fowl: I get Error: unhandled exception: could not find symbol: glGenVertexArrays [EInvalidLibrary] |
22:32:00 | fowl | ugh fullscreen jjust fucked up my resolution |
22:32:13 | fowl | brb |
22:32:29 | * | Varaway is now known as Varriount |
22:32:58 | * | fowl quit (Remote host closed the connection) |
22:33:14 | * | fowl joined #nimrod |
22:33:34 | Varriount | fowl, IIRC, the red book is quite outdated |
22:35:09 | fowl | enurlyx, try running this https://gist.github.com/fowlmouth/e74b6bdee2ee231fde54 |
22:35:27 | enurlyx | Varriount: There is a updated version of the redbook for gl 4.3 |
22:35:37 | Varriount | Ah, ok |
22:35:55 | Varriount | I was referencing this -> http://www.reddit.com/r/programming/comments/1nwfs2/amd_aims_to_give_opengl_a_big_boost_api_wont_be/ccmq4az?context=3 |
22:35:58 | fowl | enurlyx, i cant open a screen with your gl attributes |
22:36:29 | fowl | i used this though: http://www.libsdl.org/release/SDL-1.2.15/docs/html/guidevideoopengl.html |
22:40:25 | enurlyx | fowl: 3.1 NVIDIA 189.92 |
22:40:36 | fowl | indeed glGetString crashes without calling loadExtensions() |
22:41:25 | gradha | good night, dom96 remember to spam reddit or something |
22:41:35 | * | gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=n7pXRdkdJxI again) |
22:42:35 | enurlyx | fowl: glGenVertexArrays should be supported then |
22:42:39 | enurlyx | http://www.opengl.org/wiki/GLAPI/glGenVertexArrays |
22:42:47 | BitPuffin | Araq: What do you mean? I haven't said that? |
22:42:50 | BitPuffin | dom96: Yeah maybe |
22:43:00 | BitPuffin | I was kind of thinking while I was out with the dog |
22:43:59 | BitPuffin | And I may have decided that if there is a seriously show-stopping bug, there is probably other stuff I can work on while waiting for a fix, like sound, 3d assets etc |
22:44:10 | BitPuffin | so maybe I will use nimrod after all |
22:44:43 | enurlyx | fowl: Thank you for the help. I have to sleep now. I try more tomorrow. bye |
22:44:57 | fowl | enurlyx, "I advise you to look for ARB_vertex_array_object in the gl extension string: glGetString( GL_EXTENSIONS );" |
22:44:59 | dom96 | BitPuffin: yay |
22:45:03 | fowl | from the internet^ |
22:45:06 | BitPuffin | But I would definitely like some more fp stuff |
22:45:41 | enurlyx | fowl: ok. Thank you :) |
22:45:43 | BitPuffin | I THINK that the function plus a b: a + b syntax is probably possible to implement with macros |
22:45:48 | * | enurlyx quit (Quit: Verlassend) |
22:46:05 | Araq | BitPuffin: 10 years ago people wanted more OO stuff. just sayin' |
22:46:06 | BitPuffin | but what about function applicatoin |
22:46:16 | BitPuffin | Araq: Well I want both |
22:46:19 | BitPuffin | plus other stuff |
22:46:22 | Araq | f(a, b) # function application |
22:46:59 | BitPuffin | Araq: That's procedure application |
22:47:07 | Araq | lol |
22:47:16 | BitPuffin | but yeah |
22:47:46 | BitPuffin | Araq: don't lol me or I might change my mind again ;) |
22:48:04 | Araq | I'm immune to blackmailing |
22:48:29 | BitPuffin | and manners |
22:48:31 | BitPuffin | anyways |
22:49:39 | BitPuffin | with the f(a, b) syntax, how would one get a function created with function f a b: ... syntax to be able to be called with f(a, b) and take currying into account with macros |
22:50:28 | BitPuffin | plus it would be kind of nice to be able to call it like plus 1 2 because it would make a clear distinction between fp style functions and imperative style procedures |
22:51:34 | fowl | why is this necessary again? |
22:51:42 | BitPuffin | fowl: because it is nice |
22:52:12 | fowl | what does that mean |
22:52:49 | BitPuffin | it means that good ol' procs are nice in some circumstances and functions in others |
22:53:56 | fowl | proc plus (a: int): proc (b: int): int = |
22:53:56 | fowl | return proc(b: int): int = a + b |
22:53:56 | fowl | echo plus(4)(2) |
22:54:14 | fowl | is that what you're talking about |
22:55:27 | BitPuffin | if "function foo a b: ..." creates a "a -> b -> c" function and being able to pass functions around with that it would give us really clean syntax for that usecase |
22:55:48 | BitPuffin | like closures and lambdas weren't all that clean atm with nimrod right? |
22:55:54 | BitPuffin | you have to mark them with macros |
22:55:57 | BitPuffin | I think |
22:56:05 | fowl | no.. |
22:56:19 | fowl | my plus(a) returns a closure |
22:56:31 | BitPuffin | ah |
22:56:34 | BitPuffin | well that's nice |
22:56:40 | BitPuffin | but it is very verbose |
22:56:56 | fowl | are you writing a haskell in nimrod? thats pretty cool |
22:57:08 | BitPuffin | fowl: I would like to have that yeah |
22:57:36 | BitPuffin | fowl: but what you wrote could be what such a macro would generate |
22:57:51 | fowl | i'll write the macro for $50 |
22:58:19 | BitPuffin | fowl: I can't afford to pay you :P plus I can probably figure it out myself |
22:59:03 | BitPuffin | just that having to apply it like blah(2)(4)("yahoo") doesn't seem ideal |
23:00:02 | Araq | make an apply macro then: apply(blah, 2, 4, "yahoo") |
23:00:12 | BitPuffin | Araq: yeah I was just about to write that |
23:00:54 | BitPuffin | Araq: obviously blah 2 4 "yahoo" would be the best syntax but maybe using apply isn't so bad |
23:01:17 | Araq | yeah it's the best syntax until you use it |
23:01:38 | fowl | BitPuffin, isnt that syntax the result of functions only being able to take one parameter in haskell |
23:01:47 | BitPuffin | Araq: what do you mean? Works great in both haskell and ocaml |
23:02:07 | BitPuffin | fowl: That's kind of the point |
23:02:14 | Araq | I find both pretty hard to read, BitPuffin |
23:02:23 | Araq | and exactly because of this part of the syntax |
23:02:28 | OrionPK | Araq, I've got an import path.file, but export path.file doesnt work? |
23:02:50 | Araq | that's because you mustn't export whole modules |
23:03:03 | BitPuffin | Araq: Yeah it is definitely kind of confusing at first. But I think it grows on you. But yeah, maybe to be consistent with the rest of nimrod an apply macro would be the best |
23:03:46 | Araq | BitPuffin: when I say "I think it's unreadable" that alread implies "tried it, didn't grow on me" |
23:04:03 | BitPuffin | I mean even if one would implement in say common lisp to clean it up one would need a macro for application |
23:04:08 | Araq | it's not like I spend 5 minutes and then decide I don't like it |
23:04:22 | BitPuffin | Araq: Yeah, I guess it is different from person to person |
23:04:32 | BitPuffin | Araq: I kind of like it but I am still confused by it |
23:04:37 | OrionPK | mustnt export whole modules, what should I export? I get an 'undeclared indentifier' |
23:04:42 | OrionPK | when I export just a proc |
23:05:17 | fowl | OrionPK, you can so export a whole module |
23:05:18 | Araq | what's the point of exporting whole modules exactly? can't you just "include" the file then? |
23:05:55 | fowl | Araq, so that you can have dependant modules imported when your module is imported |
23:06:03 | OrionPK | fowl I know |
23:06:09 | BitPuffin | Araq: executable size maybe? But I suppose that gets optimized away |
23:06:17 | OrionPK | but I cant export modules in other folders for some reason |
23:06:54 | BitPuffin | Araq: You use LMDE iirc for your linux testing right_ |
23:06:58 | BitPuffin | ?* |
23:07:15 | * | fowl tries import fowltek/sdl2 export sdl2 |
23:07:18 | Araq | among others, BitPuffin |
23:07:29 | BitPuffin | Araq: I see. But mainly lmde? |
23:07:35 | fowl | it worked.. |
23:07:55 | Araq | fowl: but then you have 'sdl2' in your scope |
23:08:13 | Araq | but not everything from sdl2, right? |
23:08:28 | fowl | actually defined(sdl2) is false, but defined(createrenderer) is true |
23:08:48 | Araq | cool |
23:08:56 | Araq | let me check the source code |
23:09:16 | BitPuffin | Araq: anyways then I am using more or less the same as I switched to debian testing :P |
23:09:48 | Araq | that's nice. but you know what you should be using? |
23:10:01 | BitPuffin | dom96: If you wanna help me with the window manager then bind the wayland api to nimrod :D |
23:10:05 | BitPuffin | Araq: Don't say windows |
23:10:16 | Araq | BitPuffin: Haiku |
23:10:23 | BitPuffin | Araq: I agree |
23:10:26 | BitPuffin | :D |
23:10:43 | BitPuffin | I have a small partition free just for haiku :3 |
23:10:55 | dom96 | No feedback about my blog post then? :\ |
23:11:05 | BitPuffin | dom96: linkurs!!!! |
23:11:12 | fowl | dom96, i dont like ur maybe[t] example |
23:11:27 | dom96 | http://picheta.me/articles/2013/10/about-nimrods-excellence.html |
23:11:43 | fowl | i just think the constructor maybe[t](hasvalue: true, value: ..) is off-putting |
23:12:01 | * | BitPuffin brings the laptop to the other computer because I haven't set up xwayland yet so that I can use firefox so I am currently using elinks lolol |
23:12:08 | dom96 | fowl: Why not? |
23:12:13 | fowl | also "about nimrods excellence" is egotastic, reminds me of obama talking about america's exceptionalism |
23:12:53 | BitPuffin | dom96: haters gonna hate (*COUGH* fowl *COUGH*) |
23:13:44 | dom96 | fowl: Yeah, I wasn't sure about the title. But I couldn't come up with anything better. |
23:13:58 | BitPuffin | dom96: I like it |
23:14:18 | dom96 | fowl: As for the constructor, there is no other way to do it. |
23:14:25 | dom96 | I would have to come up with a whole new example I guess. |
23:14:31 | BitPuffin | Araq: so when is the next nimcon? |
23:16:21 | dom96 | BitPuffin: Glad to hear you like the title. What do you think about the article? |
23:16:34 | BitPuffin | dom96: I am just about to start reading it |
23:16:50 | dom96 | ok |
23:17:02 | BitPuffin | dom96: a quick overview of what it seems to mention it looks nice, but I'll return with feedback in a sec/year |
23:17:07 | * | BitPuffin is a slow reader |
23:18:14 | * | Araq looks at his "export" implementation |
23:18:28 | * | Araq can't see how module exports can work with that |
23:18:53 | fowl | ugh i tried to make ~/.babel/pkgs/fowltek-version a symlink to my local repos and its not working |
23:19:23 | BitPuffin | By the way is there a good reason why we can't just do proc foo(a, b) = a - b and just have it be generic so that it will work for any types that the body is valid for? |
23:19:55 | Araq | proc foo(a, b): auto = a - b should work |
23:20:28 | BitPuffin | Araq: cool! But why is auto even needed, can't one just assume auto if there is no type declared? |
23:20:33 | BitPuffin | or no auto |
23:20:35 | BitPuffin | sorry |
23:21:05 | Araq | sure. It breaks 'discard' and is error prone |
23:21:27 | BitPuffin | how come? |
23:22:57 | BitPuffin | dom96: having for loop in a box seems a bit weird |
23:23:11 | BitPuffin | dom96: it makes it look like it is from the code |
23:23:18 | BitPuffin | like the acual text |
23:23:22 | dom96 | ahh, yes. I was going to change that. |
23:24:14 | dom96 | Fixed. |
23:24:34 | fowl | dom96, i think you should talk about UFC and how it can make your code read like OOP |
23:24:50 | BitPuffin | UFC? |
23:25:05 | BitPuffin | unified function call somthingydiddily? |
23:25:07 | fowl | BitPuffin, yea |
23:25:12 | Araq | BitPuffin: \(a - b) is a possible macro |
23:25:13 | fowl | universal |
23:25:36 | Araq | fowl: we call it "method call syntax" |
23:25:41 | fowl | BitPuffin, it means a.f(b) can actually be f(a, b) |
23:25:59 | fowl | (if "f" is not a field on "a") |
23:26:04 | BitPuffin | fowl: Yeah I figured that's what you ment |
23:26:15 | BitPuffin | Araq: yeah? and? |
23:26:23 | dom96 | hrm, I could add that to my "Procedures" section. |
23:26:23 | dom96 | Not much I can say about it really. |
23:27:11 | BitPuffin | dom96, fowl: not sure I agree, sugar is not suuuuper important but I guess it can be briefly mentioned how you can call functions |
23:28:04 | Araq | fowl: because there is nothing "unified", "universal" about it; if anything f(a, b) is universal |
23:28:30 | Araq | BitPuffin: that's even shorter than what you want and doesn't break the language |
23:28:31 | * | io2 quit () |
23:28:54 | BitPuffin | Araq: oh you mean like that, I suppose yeah |
23:29:00 | fowl | BitPuffin, it impressed most of the OO lovers that i showed it to |
23:29:30 | BitPuffin | Araq: the backslash is fairly common to denote function literals too if I am not mistaken |
23:30:11 | BitPuffin | fowl: Yeah true, maybe it is nice bait. I think the most important thing about nimrod is the macros though |
23:32:23 | dom96 | well, I probably didn't explain it very well. But it's there now. |
23:32:42 | BitPuffin | dom96: I would probably change "which will work in your web browser and apps which will work on iOS devices" to "which will work in your web browser and also on iOS devices" or something like that |
23:33:38 | dom96 | But then that kind of implies that the JavaScript scripts will work on iOS devices I think. |
23:34:02 | BitPuffin | dom96: I think that you should also mention that you don't have to switch off GC to manage memory manually |
23:34:54 | BitPuffin | and can't the GC be switched off per module too? |
23:35:47 | Araq | BitPuffin: not per module, no |
23:35:49 | BitPuffin | dom96: The Lets in static typing second paragraph should be let's |
23:36:13 | BitPuffin | Araq: Oh, I see. Will that be possible some day? |
23:36:23 | dom96 | fixed. |
23:36:44 | Araq | no because it makes no sense whatsoever |
23:37:20 | BitPuffin | no I thought maybe it didn't |
23:37:22 | BitPuffin | just use alloc |
23:37:24 | BitPuffin | :P |
23:38:16 | BitPuffin | Doesn't nimrod's type system allow to implement Maybe like T|nil or something instead of making it a boolean? |
23:38:20 | BitPuffin | an object |
23:40:10 | dom96 | no, Nimrod doesn't support ADTs |
23:40:18 | BitPuffin | ah |
23:40:20 | BitPuffin | too bad |
23:40:33 | BitPuffin | but oh well the object variant style isn't all that bad either |
23:40:53 | BitPuffin | dom96: but then how does TNumber etc work? |
23:41:14 | fowl | tnumber is a generic matcher |
23:41:21 | dom96 | it's a type class |
23:41:32 | fowl | you cant instantiate it |
23:41:38 | Araq | BitPuffin: how about you list some more features of Ocaml. I never heard of this FP stuff you're talking about. |
23:42:08 | BitPuffin | Araq: like out of nowhere :P |
23:42:25 | Araq | and what's nimrod's way to do Haskell's IO Monad? |
23:43:23 | BitPuffin | Araq: to be clear I never said that OCaml has more features than nimrod, in fact there is a lot of stuff I would miss by using ocaml. Just that it is more mature |
23:45:12 | * | Varriount says hi to Araq |
23:45:37 | dom96 | BitPuffin: Why the sudden love for FP? |
23:45:43 | dom96 | DId you just recently learn OCaml? |
23:45:51 | Varriount | FP? |
23:46:13 | BitPuffin | Araq: with the FP stuff I was more or less referring to the fact that in FP languages pretty much everything is a function. And that multiple arguments is just multiple functions which can be curried which is really cool. But yeah that can be implemented with macros :P |
23:47:25 | BitPuffin | dom96: I loved FP before nimrod. I learned a bit of haskell but I didn't find it very practical. And then I believe I went to Rust or maybe it was that I looked at Haskell while looking at Rust and found Haskell to not be very practical. And then ExetoC introduced me to nimrod. Something like that, don't remember exactly |
23:47:59 | BitPuffin | dom96: But yeah I found OCaml pretty recently, it is kind of a practical haskell, so that is what is nice about it |
23:48:09 | BitPuffin | anyways |
23:48:12 | BitPuffin | back to reading your article |
23:49:39 | * | wlhlm left #nimrod ("weechat 0.4.2") |
23:49:49 | BitPuffin | I think the pattern matching is really nice too |
23:50:01 | BitPuffin | And that should be implemented as a nimrod macro too |
23:50:25 | BitPuffin | so if I create an fp module or something I will add that too other than just function and apply macros |
23:53:22 | BitPuffin | dom96: maybe you should mention that @[] constructs seqs |
23:54:37 | dom96 | I think people should be able to figure out that it's some sort of list constructor. |
23:55:11 | dom96 | This article is not meant to be a tutorial. |
23:55:31 | BitPuffin | Yeah I guess you're right |
23:58:45 | BitPuffin | Araq: oh now I see how not using auto would break the language, because you can have procs that doesn't return anything and then it would assume that the last expression is what should be returned |