00:16:02 | * | MFlamer joined #nimrod |
00:16:30 | MFlamer | Araq are you on? |
00:19:02 | * | Associ8or joined #nimrod |
00:19:02 | * | Associ8or quit (Changing host) |
00:19:02 | * | Associ8or joined #nimrod |
00:19:26 | MFlamer | I read a short forum post from awhile back where you mention utilizing tinySTM in nimrod. I'm curious if you still think this would be a good idea. If so I might do a little research... |
00:20:04 | * | DAddYE joined #nimrod |
00:22:07 | * | Associat0r quit (Ping timeout: 264 seconds) |
00:23:37 | * | Associat0r joined #nimrod |
00:23:37 | * | Associat0r quit (Changing host) |
00:23:37 | * | Associat0r joined #nimrod |
00:25:02 | * | Associ8or quit (Ping timeout: 240 seconds) |
00:26:14 | * | DAddYE quit (Ping timeout: 240 seconds) |
00:27:55 | * | Associ8or joined #nimrod |
00:27:55 | * | Associ8or quit (Changing host) |
00:27:55 | * | Associ8or joined #nimrod |
00:28:45 | * | Associat0r quit (Ping timeout: 245 seconds) |
00:32:14 | * | Associ8or quit (Ping timeout: 240 seconds) |
00:36:47 | * | MFlamer quit (Quit: Page closed) |
01:23:25 | * | DAddYE joined #nimrod |
01:29:26 | * | DAddYE quit (Ping timeout: 240 seconds) |
02:18:08 | * | q66 quit (Quit: Leaving) |
02:26:29 | * | DAddYE joined #nimrod |
02:32:38 | * | DAddYE quit (Ping timeout: 240 seconds) |
02:50:44 | * | ltbarcly__ left #nimrod ("Konversation terminated!") |
02:54:19 | * | Yeri joined #nimrod |
03:14:30 | * | brson quit (Ping timeout: 264 seconds) |
03:16:02 | * | brson joined #nimrod |
03:56:19 | * | MFlamer joined #nimrod |
04:12:14 | * | Yeri quit (Quit: Yeri) |
04:20:29 | * | OrionPK quit (Read error: Connection reset by peer) |
04:48:26 | * | brson quit (Quit: leaving) |
05:02:56 | * | DAddYE joined #nimrod |
06:16:15 | * | DAddYE quit (Ping timeout: 245 seconds) |
06:28:40 | * | MFlamer quit (Quit: Page closed) |
06:31:12 | * | schurig joined #nimrod |
06:35:14 | schurig | I'm reading the manual ... what would be a use case for a procedure with "Var return type" in real-life programming? |
06:39:35 | * | DAddYE joined #nimrod |
07:15:00 | * | zahary quit (Quit: Leaving.) |
08:08:26 | * | Araq_ joined #nimrod |
08:09:57 | Araq_ | schurig: tables.mget requires 'var T' as a return type |
08:20:55 | schurig | so it returns an l-value? |
08:22:13 | * | DAddYE quit (Remote host closed the connection) |
08:22:58 | * | DAddYE joined #nimrod |
08:26:15 | * | mal`` quit (Ping timeout: 245 seconds) |
08:27:51 | * | DAddYE quit (Ping timeout: 268 seconds) |
08:31:19 | * | mal`` joined #nimrod |
08:48:34 | Araq_ | yes |
08:48:48 | * | Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 23.0.1/20130814063812]) |
09:23:14 | * | DAddYE joined #nimrod |
09:30:14 | * | DAddYE quit (Ping timeout: 240 seconds) |
09:36:00 | NimBot | Araq/Nimrod master b8bf499 Zahary Karadjov [+0 ±1 -0]: reverting the GC change |
09:56:23 | * | q66 joined #nimrod |
10:26:36 | * | DAddYE joined #nimrod |
10:28:23 | schurig | hmm, does Nimrod has some variable-length array type? array is fixed, openarray is not generally usable |
10:28:39 | schurig | and the "tables" collection isn't a table at all, it's a dictionary ?!?! |
10:29:05 | zahary_ | seq[T] is the dynamic array type |
10:29:28 | zahary_ | var a = @[1, 2, 3] # notice the leading @ |
10:30:53 | schurig | ah, okay, didn't realize that this is a dynamic array, where i can add items at runtime |
10:31:27 | * | Associat0r joined #nimrod |
10:33:02 | * | DAddYE quit (Ping timeout: 240 seconds) |
10:38:33 | * | faassen joined #nimrod |
10:44:17 | schurig | hmm, that doesn't work either: (nimrod 0.9.2 and 0.9.3): |
10:44:17 | schurig | var a: seq[int] |
10:44:17 | schurig | a.add(1) |
10:44:17 | schurig | for i in a: echo i |
10:44:17 | schurig | cog.nim(12) cog |
10:44:17 | schurig | SIGSEGV: Illegal storage access. (Attempt to read from nil?) |
10:44:17 | schurig | (I had comemnts in my file, it's actually in the a.add(1) line |
10:44:50 | zahary_ | currently, sequences are initialized to nil |
10:45:03 | zahary_ | you can either do var a: seq[int] = @[] |
10:45:09 | zahary_ | or var a: seq[int] |
10:45:17 | zahary_ | newSeq(a, 10) |
10:45:23 | zahary_ | 10 is an example size |
10:45:50 | schurig | urgs |
10:46:13 | zahary_ | this is a common error and we plan to change this in the future |
10:46:27 | zahary_ | var a: seq[int] will give you an initialized sequence |
10:46:52 | schurig | okay, I now do "var a: seq[int] = @[]" |
10:47:02 | schurig | That's probably a FAQ entry :-) |
10:47:12 | zahary_ | there is also var a = newSeq[int]() |
10:47:36 | zahary_ | this is a helper proc from system.nim |
10:53:26 | * | d34th quit (Ping timeout: 240 seconds) |
10:53:53 | schurig | okay, I'm now using newSeq. In the manual it's mentioned, but as I was first looking into the examples is escaped my attention :-/ |
10:54:58 | * | d34th joined #nimrod |
10:58:03 | BitPuffin | what 0.9.3? o.O that's not out |
10:58:14 | BitPuffin | Araq: you still haven't told me what you ment :( |
10:58:34 | schurig | BitPuffin: that was nimrod self-compiled from GIT, I have both versions here |
10:59:02 | BitPuffin | schurig: ah, for a while the version number wasn't bumped |
10:59:12 | BitPuffin | I think |
10:59:38 | BitPuffin | schurig: probably better to call it the git version though since I am not sure that it actually is 0.9.3 yet hehe |
11:00:11 | schurig | schurig@desktop:/usr/src/nimrod-git$ bin/nimrod | head -n 1 |
11:00:11 | schurig | Nimrod Compiler Version 0.9.3 (2013-09-05) [Linux: i386] |
11:00:11 | schurig | |
11:00:20 | zahary_ | BitPuffin, btw I noticed your suggestion about vec.xz = [1, 2]; I'll try to come up with a way to support it |
11:01:12 | BitPuffin | zahary_: Cool! |
11:01:32 | BitPuffin | okay my phone is creepy |
11:01:36 | BitPuffin | it is out of control |
11:02:58 | BitPuffin | and no I am fairly sure it isn't a virus :P |
11:29:29 | * | DAddYE joined #nimrod |
11:33:50 | * | DAddYE quit (Ping timeout: 240 seconds) |
11:39:41 | * | shevy joined #nimrod |
12:30:09 | * | DAddYE joined #nimrod |
12:36:38 | * | DAddYE quit (Ping timeout: 240 seconds) |
12:42:41 | * | faassen left #nimrod (#nimrod) |
12:46:12 | * | EXetoC joined #nimrod |
12:49:58 | * | shevy quit (Read error: Connection reset by peer) |
13:06:23 | * | shevy joined #nimrod |
13:33:19 | * | DAddYE joined #nimrod |
13:37:30 | * | DAddYE quit (Ping timeout: 245 seconds) |
14:20:58 | * | tryzor joined #nimrod |
14:33:57 | * | DAddYE joined #nimrod |
14:40:25 | * | DAddYE quit (Ping timeout: 245 seconds) |
15:18:13 | dom96 | BitPuffin: Odd versions mean that the nimrod compiler is unstable. |
15:18:35 | dom96 | 0.9.2 -> release |
15:18:41 | dom96 | 0.9.3 -> unstable |
15:23:36 | * | schurig quit (Remote host closed the connection) |
15:27:26 | BitPuffin | dom96: I see! Didn't know that |
15:37:05 | * | DAddYE joined #nimrod |
15:39:06 | BitPuffin | dom96: I really wonder how to get pacman to execute --depth 1. Upgrading the aur package always feels so ridiculously slow :/ |
15:39:23 | dom96 | BitPuffin: Ask in #archlinux :P |
15:39:32 | BitPuffin | Hmm |
15:39:34 | BitPuffin | yeah |
15:39:40 | BitPuffin | That might be a good idea |
15:43:40 | * | DAddYE quit (Ping timeout: 260 seconds) |
16:02:59 | BitPuffin | Araq: Has the repo been gc'd and repacked for a while? |
16:03:58 | dom96 | the problem is the csources.zip that we have been pushing |
16:04:10 | dom96 | only way to get rid of it is to rewrite the history |
16:04:14 | dom96 | which will break all forks |
16:06:45 | BitPuffin | dom96: have you gc'd that? :P |
16:07:11 | BitPuffin | dom96: it looks like the one taking ages right now is just nimrod though |
16:08:50 | BitPuffin | dom96: yep cloning csources took now time at all |
16:22:19 | * | BitPuffin quit (Quit: WeeChat 0.4.1) |
16:37:17 | * | brson joined #nimrod |
16:38:53 | * | BitPuffin joined #nimrod |
16:54:23 | * | DAddYE joined #nimrod |
16:59:04 | * | ltbarcly joined #nimrod |
17:03:34 | * | enurlyx joined #nimrod |
17:03:46 | * | fowl joined #nimrod |
17:11:51 | * | io2 joined #nimrod |
17:30:52 | Araq | hi tryzor, welcome |
17:37:24 | BitPuffin | YO! |
17:37:35 | BitPuffin | Araq: What did you mean by pretend I don't know the rules :( |
17:37:42 | BitPuffin | you know I won't stop asiking you |
17:39:33 | Araq | well obviously it's $ and not 'toString' and you know that |
17:39:44 | Araq | so stop pretending that you don't |
17:41:01 | dom96 | Someone with actor experience should help this guy: http://forum.nimrod-code.org/t/225 |
17:42:35 | Araq | dom96: yeah I know ... |
17:57:00 | * | Mat2 joined #nimrod |
17:57:03 | Mat2 | hi @ all |
17:57:16 | Araq | servus Mat2 |
17:57:31 | Mat2 | hi Araq |
18:03:07 | * | EXetoC quit (Quit: WeeChat 0.4.1) |
18:05:52 | * | tryzor quit (Quit: Verlassend) |
18:22:41 | Mat2 | continuation-passing style is a nice way to implement interpreters in functional languages, can I mark functions for tail-call optimization in Nimrod ? |
18:30:35 | Araq | you can only rely on GCC's optimizer to do it for you |
18:31:08 | Araq | it seems quite reliable ... *cough* |
18:33:58 | Mat2 | hmm, I don't know if GCC grant tail-call optimization |
18:36:07 | Araq | -foptimize-sibling-calls |
18:36:09 | Araq | Optimize sibling and tail recursive calls. |
18:36:10 | * | BitPuffin quit (Quit: WeeChat 0.4.1) |
18:36:33 | Mat2 | thanks |
18:44:05 | * | BitPuffin joined #nimrod |
18:47:51 | Mat2 | hi BitPuffin |
19:20:35 | * | enurlyx quit (Quit: Verlassend) |
19:26:55 | reactormonk | Araq, how well does C++ work? I have c++ api here. |
19:27:40 | Araq | I bootstrapped in C++ not too long ago |
19:33:30 | reactormonk | Araq, any c++2nim for APIs? |
19:34:00 | Mat2 | hi reactormonk |
19:35:00 | Araq | somebody could read c2nim's source code, determine it's a piece of cake once you grokked the parsing based on infinite lookahead and heuristics and add C++ support ... |
19:35:20 | * | Araq is dreaming again |
19:36:20 | reactormonk | Araq, so, nope? :-/ |
19:37:40 | Araq | well I will do it. But I don't know when. It's a nice challenge. :-) |
19:38:50 | Mat2 | isn't it, that most C code is also valid in C++ ? |
19:39:00 | Mat2 | if so, it should be possible to build up from the C version |
19:39:20 | Araq | Mat2: that's what I'm talking about, yeah |
19:40:20 | BitPuffin | hey there Mat2! |
19:40:20 | Araq | reactormonk: you could try to use swig's XML output and to transform that to a Nimrod wrapper |
19:40:55 | Mat2 | BitPuffin: Hi ! |
19:41:10 | BitPuffin | Mat2: whadduy? |
19:41:10 | BitPuffin | whaddup? |
19:41:10 | BitPuffin | * |
19:42:10 | Araq | and the nice thing about this is that it doesn't require you to modify Swig's code which I wouldn't touch |
19:42:20 | reactormonk | Araq, that's an idea |
19:42:20 | BitPuffin | Araq: what did you mean by pretend I don't know the rules? |
19:43:35 | Araq | BitPuffin: read the logs. I won't answer anything about this topic anymore. |
19:43:50 | BitPuffin | oh so you did reply! |
19:44:00 | BitPuffin | I was getting used to that you weren't |
19:44:15 | Araq | and rightly so :P |
19:44:40 | BitPuffin | Araq: I wasn't pretending I didn't know it. Well I knew about $ but when I wrote the code I didn't know that it was illegal to have toString |
19:45:15 | Mat2 | BitPuffin: I'm starting to implement a minimalist, memory efficient and embeddable Nimrod environment (mean' you can program interactive for embedded systems if you want) |
19:45:35 | Mat2 | It's also intended as backend for Nimrod (because of the JIT compiler) |
19:46:00 | BitPuffin | Mat2: so it compiles to bytecode? |
19:46:15 | BitPuffin | Mat2: or is it native code with a smaller runtime you mean |
19:46:25 | Mat2 | it compiles to native-code |
19:46:35 | BitPuffin | Araq: by the way is it possible to get a nimrod hello world as small as a C hello world? |
19:47:35 | fowl | BitPuffin, you tried to put toString() in std lib? |
19:47:50 | BitPuffin | fowl: no |
19:47:50 | BitPuffin | fowl: only in my library |
19:48:20 | fowl | you're fired |
19:48:20 | fowl | get out |
19:48:40 | BitPuffin | noooo |
19:48:40 | BitPuffin | nooo preasee |
19:48:55 | fowl | srsly tho nobody wants to use tostring for your type and $ for everything else |
19:49:10 | BitPuffin | fowl: well $ would still be an alias |
19:49:10 | fowl | whoop whoop juggalo brothers |
19:49:40 | fowl | BitPuffin, more liek proc tostring[t]*(some:t):string{.inline.}=$some amiright |
19:49:55 | fowl | tostring*[t] |
19:50:55 | Mat2 | Araq: can you please give the link to your blog ? |
19:50:55 | Araq | BitPuffin: yeah and in fact 'echo "hello world"' should do that. |
19:51:20 | BitPuffin | Araq: it doesn't |
19:51:40 | BitPuffin | Araq: even with --gc:off and -d:release it is larger |
19:51:40 | * | Hannibal_Smith joined #nimrod |
19:51:51 | Araq | hi Hannibal_Smith, welcome |
19:51:51 | BitPuffin | Araq: you maybe you interpreted it as source file size |
19:51:51 | Hannibal_Smith | Hi Araq |
19:52:01 | BitPuffin | Araq: I mean executable size |
19:52:11 | Araq | BitPuffin: I got you. how much bigger is it? |
19:52:21 | Mat2 | BitPuffin: you can compile the C sources with -Os |
19:52:21 | BitPuffin | Araq: forgot, gonna check |
19:53:21 | Mat2 | on my system, this halves the code size compared to -d:release |
19:53:36 | Mat2 | more or less |
19:56:01 | fowl | theres a nimrod switch for that too |
19:56:31 | fowl | --opt |
19:57:01 | BitPuffin | BeatriceLarsson% du -h helloc |
19:57:11 | BitPuffin | 8.0K helloc |
19:57:11 | BitPuffin | BeatriceLarsson% du -h hellonim |
19:57:11 | BitPuffin | 24K hellonim |
19:57:11 | Mat2 | thanks |
19:57:31 | BitPuffin | helloc was compiled with -O3 and hellonim was compiled with -d:release |
19:57:31 | BitPuffin | Araq: ^ |
19:58:01 | Araq | ok now disassemble and tell us where the bloat comes from :P |
19:58:11 | fowl | i got 20k with -d:release --opt:size |
19:58:41 | BitPuffin | Araq: I am assuming system.nim |
19:58:51 | BitPuffin | Araq: but how am I supposed to disassemble? |
19:59:51 | Araq | --passC:"-S" iirc |
19:59:51 | BitPuffin | I am looking at the csources |
20:01:16 | BitPuffin | Araq: umm that failed the compilation |
20:01:16 | BitPuffin | nimrod c -o:hellonim -d:release --passC:"-S" hello.nim |
20:01:51 | BitPuffin | /usr/bin/ld:/home/isak/src/cvsnim/nimcache/system.o: file format not recognized; treating as linker script |
20:01:51 | BitPuffin | /usr/bin/ld:/home/isak/src/cvsnim/nimcache/system.o:1: syntax error |
20:02:21 | BitPuffin | bug? |
20:02:36 | Araq | nimrod c --noLinking --passC:"-S" hello.nim |
20:03:01 | Araq | and then you should open the .o files and see what's in there |
20:03:16 | Mat2 | just compile from the nimcache directory with -S (only an idea) |
20:03:36 | Araq | or do what Mat2 says |
20:03:46 | BitPuffin | Araq: and you think I know how to read .o files? :P |
20:05:11 | Mat2 | you get binaries and files with .s extension <- assembler output |
20:05:41 | BitPuffin | doesn't look like that no |
20:06:51 | * | fowl quit (Quit: Leaving) |
20:07:41 | Araq | ah I see |
20:07:41 | Mat2 | wait, I try it myself |
20:07:51 | Araq | the compiler is to stupid to optimize away the memory allocator |
20:08:11 | BitPuffin | oh really? |
20:09:21 | Araq | yeah, it optimizes away the GC though :P |
20:09:36 | BitPuffin | yeah haha |
20:09:36 | BitPuffin | or actually no |
20:09:51 | BitPuffin | the exectuable is smaller with noGC flag |
20:10:01 | Mat2 | you can combine both |
20:10:31 | BitPuffin | Araq: then it is 12k |
20:10:31 | BitPuffin | instead of 24 |
20:11:21 | BitPuffin | http://pastebin.com/YJxGmPV4 |
20:11:21 | BitPuffin | Araq: ^ |
20:12:36 | Mat2 | BitPuffin: gcc -Os -fno-strict-aliasing <file.c> -S |
20:12:36 | Mat2 | works here |
20:13:11 | BitPuffin | Mat2: Well we shouldn't need to call the C compiler ourselves with nimrod. Then we'll be digging our graves :P |
20:13:36 | Mat2 | (and don't forget to add -I<path-to-your-nimrod-includes>) |
20:14:11 | BitPuffin | Mat2: xD |
20:15:41 | Mat2 | uh, the GCC compiler seem need some additional flags for proper optimization, the assembler output is quite horrible |
20:16:16 | BitPuffin | Mat2: GCC sucks :P |
20:17:01 | BitPuffin | Mat2: so what makes your nimrod more suited for embedded than classic nimrod? |
20:21:11 | Mat2 | 1.) it's an interpreter with (optional) JIT compiler, 2.) it will fit initial in ~16 kB 3.) you can develop on the board and do not need a PC |
20:21:41 | Mat2 | you can do so without C (most important) |
20:22:51 | BitPuffin | Mat2: but by cross compiling you should be able to get standard nimrod code even smaller? |
20:25:31 | Mat2 | well, it's all about interactive development at run. For example, it's not a good idea to patch a print machine by crosscompiling because this will lead to time problems if in between a print cylinder breaks out with something about 3000 Rps |
20:25:31 | Araq | BitPuffin: it needs some slight modifications but I got it down to 8K here :P |
20:26:41 | BitPuffin | Araq: with just -d:release? |
20:27:11 | Araq | no with -d:release -d:useMalloc --gc:none -d:noSignalHandler ... XD |
20:27:21 | BitPuffin | _lol_ :) |
20:28:31 | BitPuffin | lib/nimrod/system/repr.nim(120, 12) Error: undeclared identifier: 'TCellSet' |
20:28:56 | BitPuffin | Araq: what would be optimal would be if the compiler could figure out from a simple program like that that it won't need those things |
20:29:21 | Araq | true but that's optimizing for a meaningless benchmark |
20:29:36 | BitPuffin | I know that it is meaningless |
20:29:36 | Araq | you know, you can also just do: sh hello.nim |
20:29:51 | Araq | and then have no .exe at all |
20:29:51 | BitPuffin | But people assume that it is bloated compared to C if it doesn't pass the test |
20:30:16 | BitPuffin | Araq: you mean if I add #!? |
20:30:36 | BitPuffin | because it didn't work for me |
20:31:01 | Araq | works for me |
20:33:11 | dom96 | Araq: You should just get the compiler to check whether the code being compiled only consists of a single simple echo, if so generate some super small asm. :P |
20:33:31 | Araq | dom96: no, generate a shell script instead :P |
20:33:51 | BitPuffin | well that's not really that good either |
20:34:01 | BitPuffin | people might start comparing it to other nearly that level of C |
20:34:11 | Mat2 | *lol* |
20:34:11 | BitPuffin | like with var msg = "prutt" |
20:34:36 | BitPuffin | echo(msg, "I farted") |
20:34:36 | BitPuffin | etc |
20:34:46 | BitPuffin | then that "optimizer" falls apart |
20:34:56 | BitPuffin | It's a ridiculous thing to "have" to optimize |
20:35:16 | BitPuffin | but having that does make nimrod look reaally good when people compare simple examples |
20:36:16 | dom96 | Actually, I wouldn't be surprised if Nimrod optimises that into echo("prutt", "I farted). |
20:36:31 | BitPuffin | dom96: well bad example then |
20:36:41 | Araq | dom96: it doesn't yet but it's do-able |
20:36:51 | BitPuffin | dom96: var msg = readline \n echo("the user farted out", msg) |
20:36:51 | dom96 | oops, missed a quote there. |
20:37:16 | BitPuffin | basically some people are ridiculously picky |
20:37:26 | BitPuffin | if we can surprise them then maybe they feel confident in switching |
20:37:36 | BitPuffin | and telling their friends to do the same :P |
20:38:01 | dom96 | Well you know, you can get an even smaller program by writing some ASM. |
20:38:01 | dom96 | Why do these people use C? |
20:38:21 | BitPuffin | dom96: because they are N00bs |
20:38:21 | dom96 | In comparison to ASM it's pretty bloated no? :P |
20:38:41 | Araq | our resources are better spent caring about sane people, BitPuffin |
20:38:51 | dom96 | Yes, so I don't care if we get them to switch or not. |
20:38:51 | BitPuffin | Araq: I suppose |
20:38:51 | Mat2 | what kind of programmers are attracted by the executable size of an 'hello-world' example ? |
20:40:51 | Mat2 | "wow, I trash the ELF header and get rid of 0,125 kB, now I must reboot after execution but that's ok" |
20:41:21 | dom96 | lol |
20:41:41 | Araq | "in the mean time I can watch a MB sized youtube video on my other machine" |
20:43:01 | * | Associat0r quit (Quit: Associat0r) |
20:44:11 | Mat2 | *g* |
20:52:16 | * | Hannibal_Smith quit (Quit: Sto andando via) |
21:02:01 | * | ltbarcly quit (Ping timeout: 264 seconds) |
21:03:36 | * | EXetoC joined #nimrod |
21:04:51 | * | ltbarcly joined #nimrod |
21:11:01 | * | MFlamer joined #nimrod |
21:14:06 | Araq | hi MFlamer |
21:14:20 | Araq | figured out tinySTM already? ;-) |
21:14:37 | Araq | looked at its docs ... they seem non-existent |
21:14:58 | Mat2 | get some sleep, ciao |
21:15:07 | * | Mat2 quit (Quit: Verlassend) |
21:15:08 | Araq | bye Mat2 |
22:12:53 | * | OrionPK joined #nimrod |
22:16:33 | * | Yeri joined #nimrod |
22:16:44 | Araq | hi Yeri welcome |
22:16:55 | Yeri | hiya |
22:21:35 | * | ltbarcly quit (Ping timeout: 246 seconds) |
22:27:23 | NimBot | Araq/Nimrod master 69c3b82 Araq [+0 ±2 -0]: bugfix: --gc:none -d:useMalloc works again |
22:27:23 | NimBot | Araq/Nimrod master 84c89b9 Araq [+0 ±1 -0]: Merge branch 'master' of github.com:Araq/Nimrod |
22:41:48 | * | ltbarcly joined #nimrod |
22:47:12 | BitPuffin | why does lamps suck? |
22:47:40 | Araq | dunno. because linux, apache, mysql and php suck? |
22:48:55 | BitPuffin | Araq: what's that got to do with lamps? lol |
22:49:18 | Araq | the famous LAMP stack? |
22:49:27 | BitPuffin | no silly |
22:49:30 | BitPuffin | I mean lamps |
22:49:32 | BitPuffin | in real life |
22:50:04 | BitPuffin | they make paper too glary |
22:50:18 | BitPuffin | can't read properly xD |
22:50:29 | BitPuffin | Araq: linux sucks, but it is at least better than windows |
22:50:44 | Araq | debatable |
22:51:18 | BitPuffin | perhaps |
22:51:22 | BitPuffin | But I don't think so |
22:51:26 | BitPuffin | I'm not really a fan of either |
22:51:54 | BitPuffin | but I can objectively say that the genjeuh sehlesh linjucks is greater |
22:52:15 | BitPuffin | just because if it sucks I can at least replace what sucks with something that sucks less |
22:52:54 | BitPuffin | like if I don't like the windows desktop I am just gonna have to live with it |
22:53:19 | BitPuffin | I mean it is probably POSSIBLE somehow to replace it. But it would be insane to even try |
22:54:00 | BitPuffin | granted haiku has the same problem as windows in that regard |
22:54:10 | BitPuffin | But subjectively I like what haiku presents more |
22:54:20 | BitPuffin | so I kind of like haiku more than both linux and windows |
22:54:54 | Araq | well Nimrod runs fine on Haiku now. right? |
22:55:01 | BitPuffin | and haiku at least really takes advantage of how integrated everything is |
22:55:30 | BitPuffin | Araq: I have only tested hello world and had failure with that bug that came with zaharys update but I am fairly sure it works just fine yes |
22:55:41 | BitPuffin | Araq: can't compile babel though :/ |
22:55:45 | Araq | well you bootstrapped |
22:55:48 | BitPuffin | because sockets |
22:55:53 | BitPuffin | Araq: yep that was successful |
22:56:11 | BitPuffin | Araq: just had to edit the cfg and add when not defined haiku in math.nim |
22:56:16 | BitPuffin | Araq: which should be added to master imo |
22:56:36 | Araq | so you compiled a 60K loc nimrod application ... ;-) |
22:56:47 | Araq | they are already in master |
22:56:48 | BitPuffin | Araq: hm? |
22:56:54 | BitPuffin | oh they are? great! |
22:57:07 | BitPuffin | oh you mean nimrod itself? |
22:57:10 | Araq | well the compiler is written in nimrod, you know ... |
22:57:18 | BitPuffin | yep :) |
22:57:28 | BitPuffin | That's kind of a good test |
22:57:32 | BitPuffin | if you can compile the compiler |
22:57:36 | BitPuffin | you are probably fine :P |
22:58:04 | BitPuffin | just gotta fix those sockets |
22:58:20 | BitPuffin | then we could probably even compile with caas |
22:58:35 | BitPuffin | we could at least compile babel which I find important |
22:58:35 | Araq | when hostos == "solaris": |
22:58:37 | Araq | {.passl: "-lsocket -lnsl".} |
22:58:50 | Araq | maybe we need the same for haiku? |
22:59:03 | BitPuffin | I wondel if haiku has nsl |
22:59:14 | Araq | when defined(solaris): |
22:59:15 | Araq | const MSG_NOSIGNAL = 0 |
23:00:47 | BitPuffin | Araq: I am gonna ask if 0 is interpreted as MSG_NOSIGNAL |
23:01:13 | Araq | ok but it doesn't matter much |
23:01:27 | BitPuffin | Araq: why not? |
23:02:23 | Araq | because then sockets fail in some edge cases I think, the main thing is to get it all through the C compiler without complains from it |
23:03:33 | BitPuffin | hmm |
23:03:35 | BitPuffin | well |
23:03:39 | BitPuffin | I don't know much about sockets |
23:03:57 | BitPuffin | but I kind of had the same idea when I was looking in sockets.nim the other day |
23:04:19 | BitPuffin | that what if I added and defined(haiku) to the solaris clause |
23:04:29 | BitPuffin | but for some reason I decided not to try (kind of stupid I know) |
23:04:44 | Araq | 'or defined(haiku)' |
23:04:57 | BitPuffin | oops eah |
23:04:59 | BitPuffin | yeah* |
23:05:11 | BitPuffin | I was probably thinking or |
23:05:20 | BitPuffin | just that my brain isn't working right now haha :) |
23:06:37 | * | BitPuffin has grand plans for nimrod if nimrod proves itself in a project or two |
23:33:14 | * | jd^p joined #nimrod |
23:52:37 | * | ltbarcly quit (Ping timeout: 248 seconds) |