Skip to content

Instantly share code, notes, and snippets.

View bakkdoor's full-sized avatar

Christopher Bertels bakkdoor

View GitHub Profile
bakkdoor:~/projekte/cpp/fancy-lang[rbx_bytecode*]> fancy --rsexp-nice rbx/examples/classes.fnc
It's missing "," where there's a "<-"
[:exp_list,
[:class_def,
[:ident,
'Person']
[] <-
[:exp_list,
An exception occurred running rbx/loader.rb
no method 'suffix?' on nil:NilClass. (NoMethodError)
Backtrace:
Kernel(NilClass)#suffix? (method_missing) at kernel/delta/kernel.rb:85
Rubinius::CodeLoader#add_feature at kernel/delta/codeloader.rb:75
Rubinius::CodeLoader#require_compiled at kernel/delta/codeloader.rb:45
Rubinius::CodeLoader.require_compiled at kernel/delta/codeloader.rb:87
Object#fancy_require at rbx/fancy_ext/object.rb:45
main.__script__ at raw.rbc:1
============= :__script__ ==============
Arguments: 0 required, 0 total
Locals: 0
Stack size: 5
Lines to IP: 0: 0-37
0000: push_rubinius
0001: push_literal :foo
0003: push_literal #<Rubinius::CompiledMethod foo file=rbx/examples/return.fy>
require "mkmf"
create_makefile("printer")
Compiling lib/argv.fy
============= :__script__ ==============
Arguments: 0 required, 0 total
Locals: 0
Stack size: 5
Lines to IP: 1: 0--1, 13: 0-5, 1: 6-12, 35: 13-18, 15: 19-27
0000: push_rubinius
0001: push_literal :"for_option:do:"
def arg1: arg1 arg2: arg2 = "default_arg2" arg3: arg3 = "default_arg3" {
"arguments are: " println
arg1 println
arg2 println
arg3 println
}
arg1: "hello" arg2: "world" arg3: "how are you?"
arg1: "hello" arg2: "world"
arg1: "hello"
rbx-head > bakkdoor:~/projekte/fancy/fancy-lang[dev]> gem install bson_ext
Building native extensions. This could take a while...
ERROR: Error installing bson_ext:
ERROR: Failed to build gem native extension.
/home/bakkdoor/.rvm/rubies/rbx-head/bin/rbx extconf.rb
checking for asprintf()... yes
checking for ruby/st.h... no
checking for st.h... yes
checking for ruby/regex.h... no
ARGV for_option: "install" do: package_name {
require: "lib/package"
Fancy::Package install: package_name
}
def async do_something_slow_with_each: array {
results = []
array each: |x| {
# await basically tells the compiler that we'll switch context and
# resume when "x do_something_slow" is finished
# note that the method seems synchronously since we're just
# defining a loop etc.
# the compiler knows how to transform all of this since it knows
# it's a "async" method (see method def at top)
result = await x do_something_slow
LD vm/vm
(in ~/downloads/rubinius-head/lib/ext/melbourne)
Building Melbourne for MRI
(in ~/downloads/rubinius-head/lib/ext/bigdecimal)
(in ~/downloads/rubinius-head/lib/ext/readline)
LDSHARED readline.so
/usr/lib64/gcc/x86_64-suse-linux/4.2.1/../../../../x86_64-suse-linux/bin/ld: cannot find -lcurses
collect2: ld returned 1 exit status
rake aborted!
Command failed with status (1): [g++ -shared -lstdc++ readline.o -L. -lreadline -lcurses -o readline.so > /dev/null]