sardonyx 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a1e2303504b396f3aea3b179bb7fd511de36490784a1763599712fb53c2a9448
4
- data.tar.gz: 4092253d393f90075180acc3cad50bcd1f5d2a2377e3a0d2d853b93cb9902d72
3
+ metadata.gz: '023920f36be61ea604ad6c69e66b71c2f9f9c0696b0a5679e129d7b284e1345e'
4
+ data.tar.gz: 88f14b9b1aa7a253f564c8e40e9e1ad4589b62cc6ef1ead28a4bc08461017db6
5
5
  SHA512:
6
- metadata.gz: 3f89fd078c871701eee5ddc6f8a8306666da58d6ffc4e6050e6bd2a80dbb2c31903dfb3c86c7155e5f1477104305016b64b8bcf336b7c0d9b63b881582bf3813
7
- data.tar.gz: b9ebed85a007ca9ca7872b9db44e75173fb6db412d8a88c00f968a1685c47084b71f7baf5857a786b836ab905c84b74970b67f76eda75c4d633aa788ecfe4e88
6
+ metadata.gz: eb029ebb6e35edfa9daf634b6553c69d4adf109af83916341b1809b00e3abbd1bc07eb31175ad94c95742f367c2e5cc06d1fc0e61ce74d4329022895e189c077
7
+ data.tar.gz: c955957d5e26dd5559941c4a24f14ab8d0ba5a39f82c94fd891a3afd6f24be09362bbf83f11b61bc552c277fb52e2ced701e9c6cd3facae9955750d1b5b98f9e
data/bin/sdx CHANGED
@@ -15,7 +15,7 @@ if ARGV.size == 1
15
15
  else
16
16
  path = [(File.expand_path Dir.pwd), *(ENV.fetch("SDX_PATH", "").split ":")]
17
17
  vm = VM.new StringIO.new ""
18
- puts "Sardonyx v 0.0.1"
18
+ puts "Sardonyx v0.1.7"
19
19
  def exit(_) end
20
20
  loop do
21
21
  print "> "
@@ -36,7 +36,7 @@ class NativeFn < DataType
36
36
  def initialize(arity, val)
37
37
  @internal = val
38
38
  @fields = {
39
- "__call" => (NativeFnInternal.new (Proc.new do |args|
39
+ "__call" => (NativeFnInternal.new (lambda do |args, scope|
40
40
  args.reverse!
41
41
  @internal.call *args
42
42
  end)),
@@ -358,7 +358,7 @@ class Function < DataType
358
358
  @internal = body
359
359
 
360
360
  @fields = {
361
- "__call" => (NativeFnInternal.new (Proc.new do |args, scope|
361
+ "__call" => (NativeFnInternal.new (lambda do |args, scope|
362
362
  call args, scope
363
363
  end)),
364
364
  "__arity" => (Int.new args.size)
@@ -35,12 +35,12 @@ class VM
35
35
  when Function
36
36
  return val.value.fields["__call"].call args.map { |x| to_var x }, val.scope
37
37
  else
38
- return val.value.fields["__call"].call *args
38
+ return val.value.fields["__call"].call args, val.scope
39
39
  end
40
40
  elsif val.respond_to? :fields
41
41
  return val.fields["__call"].call *args
42
42
  else
43
- return (to_var val).value.call *args
43
+ return (to_var val).value.call args
44
44
  end
45
45
  end
46
46
 
@@ -356,16 +356,13 @@ class VM
356
356
  end
357
357
  args << this
358
358
  end
359
- f = Proc.new do |args, scope|
360
- call val, args, scope
361
- end
362
359
  scope = nil
363
360
  begin
364
361
  scope = val.scope
365
362
  rescue
366
363
  scope = @global
367
364
  end
368
- ret = f.call args, scope
365
+ ret = call val, *args
369
366
  if ret
370
367
  push_to_stack ret
371
368
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sardonyx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - sugarfi