Author Topic: Nimrod: An interesting language that might interest you guys  (Read 14479 times)

0 Members and 1 Guest are viewing this topic.

JRS

  • Guest
Nimrod: Tuples are Structures
« Reply #15 on: September 21, 2013, 10:06:37 PM »
Code: [Select]
type
    TPerson = tuple [name: string, age:int]

proc result(): TPerson = ("Bob",42)

var r = result()
echo(r)             # default stringification
echo (r.name)       # access by field name
var (name,age) = r  # tuple unpacking
echo (name,"|",age)

jrs@laptop:~/nimrod/examples$ nimrod c -d:release tuple.nim
config/nimrod.cfg(36, 11) Hint: added path: '/home/jrs/.babel/libs/' [Path]
Hint: used config file '/home/jrs/nimrod/config/nimrod.cfg' [Conf]
Hint: system [Processing]
Hint: tuple [Processing]
gcc -c -w -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o examples/nimcache/tuple.o examples/nimcache/tuple.c
gcc -c -w -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o examples/nimcache/system.o examples/nimcache/system.c
gcc   -o /home/jrs/nimrod/examples/tuple  examples/nimcache/system.o examples/nimcache/tuple.o  -ldl
Hint: operation successful (7450 lines compiled; 3.350 sec total; 8.870MB) [SuccessX]
jrs@laptop:~/nimrod/examples$ ./tuple
(name: Bob, age: 42)
Bob
Bob|42
jrs@laptop:~/nimrod/examples$

JRS

  • Guest
Nimrod: A new head
« Reply #16 on: September 21, 2013, 10:35:12 PM »
A Nimrod version of the Linux head console command.

Code: [Select]
import parseopt
from strutils import parseInt
from os import existsFile

const usage = """
head [flags] filename
  -n: number of lines (default 10)
  -h,--help: this help
  -v,--version: version
"""

proc showUsage(msg: string) =
  if msg != nil: echo("head: ",msg)
  quit(usage,1)
  
proc head(file: string, n: int) =
  if not existsFile(file):  quit("file " & file & " does not exist")
  var
    f = open(file)
    i = 0
  for line in f.lines:
    echo(line)
    i += 1
    if i == n: break
  
proc parseCommands() =
  var
    files: seq[string]
    n = 10
  newSeq(files,0)
  for kind, key, val in getopt():
    case kind
    of cmdArgument:
      files.add(key)
    of cmdLongOption, cmdShortOption:
      case key
      of "help", "h": showUsage(nil)
      of "n":
        n = parseInt(val)
      of "version", "v":
          echo("1.0")
          return
    of cmdEnd: assert(false) # cannot happen
  if len(files) == 0:
    # no filename has been given, so we show the help:
    showUsage("please supply filename")
  if len(files) == 1:
    head(files[0],n)
  else:
    for f in files:
      echo("----- ",f)
      head(f,n)
  
parseCommands()

jrs@laptop:~/nimrod/examples$ nimrod c -d:release nhead.nim
config/nimrod.cfg(36, 11) Hint: added path: '/home/jrs/.babel/libs/' [Path]
Hint: used config file '/home/jrs/nimrod/config/nimrod.cfg' [Conf]
Hint: system [Processing]
Hint: nhead [Processing]
Hint: parseopt [Processing]
Hint: os [Processing]
Hint: strutils [Processing]
Hint: parseutils [Processing]
Hint: times [Processing]
Hint: posix [Processing]
gcc -c -w -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o examples/nimcache/nhead.o examples/nimcache/nhead.c
gcc -c -w -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o examples/nimcache/parseopt.o examples/nimcache/parseopt.c
gcc -c -w -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o examples/nimcache/os.o examples/nimcache/os.c
gcc -c -w -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o examples/nimcache/strutils.o examples/nimcache/strutils.c
gcc   -o /home/jrs/nimrod/examples/nhead  examples/nimcache/posix.o examples/nimcache/times.o examples/nimcache/parseutils.o examples/nimcache/strutils.o examples/nimcache/os.o examples/nimcache/parseopt.o examples/nimcache/system.o examples/nimcache/nhead.o  -ldl
Hint: operation successful (14375 lines compiled; 0.569 sec total; 15.158MB) [SuccessX]
jrs@laptop:~/nimrod/examples$ ./nhead -n=5 nhead.nim
import parseopt
from strutils import parseInt
from os import existsFile

const usage = """
jrs@laptop:~/nimrod/examples$
jrs@laptop:~/nimrod/examples$ ls -l nhead
-rwxrwxr-x 1 jrs jrs 67253 Sep 21 23:34 nhead
jrs@laptop:~/nimrod/examples$

« Last Edit: September 21, 2013, 11:03:21 PM by John »

JRS

  • Guest
Nimrod: Has class
« Reply #17 on: September 21, 2013, 11:24:24 PM »
Quote
Here we are making objects which are references (by default they are value types, like tuples, unlike java), initialized with the standard procedure new. Note the Pascal-like special variable result in procedures!

As expected, you may pass Germans to sayit, because a German is a person, but greeting has to be declared as a method for this to work; if it were a proc, we would get a warning about the second greeting being unused, and Germans are then addressed in English.

The cool thing about multi-methods is that they restore symmetry; a traditional polymorphic call a.foo(b) is only polymorphic in a. This makes sense in a language where dot method notation is just sugar for procedure calls where the first argument matches the type.

Code: [Select]
type
    TPerson = object of TObject
        name: string
        age: int

proc setPerson(p: ref TPerson, name: string, age:int) =
    p.name = name
    p.age = age

proc newPerson(name: string, age:int): ref TPerson =
    new(result)
    result.setPerson(name,age)

method greeting(p: ref TPerson):string = "Hello " & p.name & ", age " & $p.age

type
    TGerman = object of TPerson

proc newGerman(name: string, age:int): ref TGerman =
    new(result)
    result.setPerson(name,age)

method greeting(p: ref TGerman):string = "Hallo " & p.name & ", " & $p.age & " Jahre alt"

var john = newPerson("John",60)
var rene = newGerman("Rene",43)

proc sayit(p: ref TPerson) = echo p.greeting

sayit(john)
sayit(rene)

jrs@laptop:~/nimrod/examples$ nimrod c -d:release class.nim
config/nimrod.cfg(36, 11) Hint: added path: '/home/jrs/.babel/libs/' [Path]
Hint: used config file '/home/jrs/nimrod/config/nimrod.cfg' [Conf]
Hint: system [Processing]
Hint: class [Processing]
gcc -c -w -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o examples/nimcache/class.o examples/nimcache/class.c
gcc   -o /home/jrs/nimrod/examples/class  examples/nimcache/system.o examples/nimcache/class.o  -ldl
Hint: operation successful (7468 lines compiled; 0.297 sec total; 8.870MB) [SuccessX]
jrs@laptop:~/nimrod/examples$ ./class
Hello John, age 60
Hallo Rene, 43 Jahre alt
jrs@laptop:~/nimrod/examples$

kryton9

  • Guest
Re: Nimrod: An interesting language that might interest you guys
« Reply #18 on: September 21, 2013, 11:30:44 PM »
John, I am going to hold off on nimrod till I get better in Ubuntu usage.  I got dual boot windows7 64bit and ubuntu 12.04 64 bit working today.
Found this neat program for multi booting, http://neosmart.net/EasyBCD/

I did a clean install of Ubuntu, then I partitioned a drive D in ntfs and made an unused area for later Windows install.

I installed windows 7 today hoping it would see ubuntu and offer dual boot, but it didn't.

Then I found EasyBCD and was able to set it all up to see my ubuntu and boot into windows by default after so many seconds.

Having drive D as ntfs is nice because I can access a lot of common files both in Ubuntu and Windows now like Oxygen.

JRS

  • Guest
Re: Nimrod: An interesting language that might interest you guys
« Reply #19 on: September 21, 2013, 11:46:19 PM »
Thanks for the update. I'll keep a light on for you.


JRS

  • Guest
Nimrod: Looks like SB
« Reply #20 on: September 22, 2013, 12:49:32 AM »
The more I play with Nimrod the more ScriptBasic parallels in a lot of ways.

  • Multi-line strings use """ like SB
  • The & character is used for concatenation.
  • C macros are used extensively under the covers like SB
  • Nimrod emulates an OOP like design in C like SB.

I have to say that BaCon has some serious (open source) competition in the HLL (High Level Language) to C arena.

Charles Pegge

  • Guest
Re: Nimrod: An interesting language that might interest you guys
« Reply #21 on: September 22, 2013, 01:11:09 AM »

This is how I would do the polymorphic OOP example in Oxygen:

Code: [Select]
class person
  string name
  int age
  'default methods:
  method sayit() as string
  return "Hi " & name & ", age " & age
  end method
  '
end class

class EnglishSpeaker
  person
  method sayit() as string
  return "Hello " & name & ", age " & age
  end method
end class

class GermanSpeaker
  person
  method sayit() as string
  return "Hallo " & name & ", " & age & " Jahre alt"
  end method
end class

let anon=Person         : anon = {"Anonymous",42}
let john=EnglishSpeaker : john = {"John",60}
let rene=GermanSpeaker  : rene = {"Rene",43}

def sayit %1.sayit

print sayit john
print sayit rene
print sayit anon

JRS

  • Guest
Re: Nimrod: An interesting language that might interest you guys
« Reply #22 on: September 22, 2013, 01:50:02 AM »
Cool!

Nice to see O2 show off its OOP style compared to other approaches.

I'm beginning to see some synergy developing among us.

JRS

  • Guest
Re: Nimrod: All BASIC Development forum
« Reply #23 on: September 22, 2013, 08:57:56 AM »
I'm forking this thread to the All BASIC forum (translator board) so the project isn't a distraction to the O2 forum.

FYI Nimrod has a C header conversion tool that might be useful for the O2 project.

@Kent - It would be great if you would join us on All BASIC. (Charles is a member) Just send me an e-mail and I'll set you up.


JRS

  • Guest
Re: Nimrod: Aporia IDE
« Reply #24 on: September 22, 2013, 09:39:34 AM »
Nimrod has a IDE (Aporia) that is written in Nimrod. Aporia uses GTK as the default toolkit and the gtksourceview for the text editor component. Its not only a nice IDE but the Nimrod source is a great reference in itself.



Code: [Select]
jrs@laptop:~/nimrod/Aporia-master$ nimrod c -d:release aporia.nim
config/nimrod.cfg(36, 11) Hint: added path: '/home/jrs/.babel/libs/' [Path]
Hint: used config file '/home/jrs/nimrod/config/nimrod.cfg' [Conf]
Hint: used config file '/home/jrs/nimrod/Aporia-master/aporia.nimrod.cfg' [Conf]
Hint: system [Processing]
Hint: aporia [Processing]
Hint: glib2 [Processing]
Hint: gtk2 [Processing]
Hint: atk [Processing]
Hint: pango [Processing]
Hint: gdk2pixbuf [Processing]
Hint: gdk2 [Processing]
Hint: gtksourceview [Processing]
Hint: dialogs [Processing]
Hint: os [Processing]
Hint: strutils [Processing]
Hint: parseutils [Processing]
Hint: times [Processing]
Hint: posix [Processing]
Hint: osproc [Processing]
Hint: strtabs [Processing]
Hint: hashes [Processing]
Hint: streams [Processing]
Hint: pegs [Processing]
Hint: unicode [Processing]
Hint: parseopt [Processing]
Hint: asyncio [Processing]
Hint: sockets [Processing]
Hint: encodings [Processing]
Hint: tables [Processing]
Hint: math [Processing]
Hint: algorithm [Processing]
Hint: settings [Processing]
Hint: utils [Processing]
Hint: AboutDialog [Processing]
Hint: CustomStatusBar [Processing]
Aporia-master/CustomStatusBar.nim(92, 11) Hint: 'tid' is declared but not used [XDeclaredButNotUsed]
Aporia-master/utils.nim(494, 11) Info: instantiation from here
lib/pure/pegs.nim(873, 14) Warning: injected 'matches' might be affected by new scoping rules in 0.9.4 [User]
Hint: cfg [Processing]
Hint: parsecfg [Processing]
Hint: lexbase [Processing]
Hint: search [Processing]
Hint: re [Processing]
Hint: pcre [Processing]
Aporia-master/search.nim(60, 14) Hint: 'brackets' is declared but not used [XDeclaredButNotUsed]
Aporia-master/search.nim(120, 13) Hint: 'matches' is declared but not used [XDeclaredButNotUsed]
Hint: suggest [Processing]
Hint: processes [Processing]
Aporia-master/processes.nim(145, 14) Info: instantiation from here
lib/pure/pegs.nim(873, 14) Warning: injected 'matches' might be affected by new scoping rules in 0.9.4 [User]
Aporia-master/processes.nim(162, 19) Info: instantiation from here
lib/pure/pegs.nim(873, 14) Warning: injected 'matches' might be affected by new scoping rules in 0.9.4 [User]
Aporia-master/processes.nim(334, 18) Warning: thread analysis incomplete due to unknown call 'echod(["[Thread] Process already running"])' [AnalysisLoophole]
Aporia-master/processes.nim(339, 12) Info: instantiation from here
lib/pure/streams.nim(42, 41) Warning: thread analysis incomplete due to unknown call 's.closeImpl(s)' [AnalysisLoophole]
Aporia-master/processes.nim(349, 17) Info: instantiation from here
lib/pure/streams.nim(51, 23) Warning: thread analysis incomplete due to unknown call 's.atEndImpl(s)' [AnalysisLoophole]
Aporia-master/processes.nim(352, 21) Info: instantiation from here
lib/pure/streams.nim(185, 21) Info: instantiation from here
lib/pure/streams.nim(123, 14) Info: instantiation from here
lib/pure/streams.nim(76, 26) Warning: thread analysis incomplete due to unknown call 's.readDataImpl(s, buffer, bufLen)' [AnalysisLoophole]
Hint: rst [Processing]
Hint: rstast [Processing]
lib/packages/docutils/rst.nim(853, 20) Hint: 'dkAuthor' is declared but not used [XDeclaredButNotUsed]
lib/packages/docutils/rst.nim(1362, 6) Hint: 'rst.$(t: TToken): string' is declared but not used [XDeclaredButNotUsed]
lib/packages/docutils/rst.nim(853, 31) Hint: 'dkAuthors' is declared but not used [XDeclaredButNotUsed]
Aporia-master/suggest.nim(66, 12) Warning: get_size is deprecated, get_width should be used [User]
Aporia-master/suggest.nim(277, 13) Hint: 'f' is declared but not used [XDeclaredButNotUsed]
Aporia-master/suggest.nim(412, 12) Hint: 'lang' is declared but not used [XDeclaredButNotUsed]
Aporia-master/aporia.nim(1066, 26) Hint: 'startOldLineOffset' is declared but not used [XDeclaredButNotUsed]
Aporia-master/aporia.nim(1204, 27) Hint: 'cfgFile' is declared but not used [XDeclaredButNotUsed]
Aporia-master/aporia.nim(1610, 10) Hint: 'cmpB' is declared but not used [XDeclaredButNotUsed]
Aporia-master/aporia.nim(1832, 14) Hint: 'OpenItem' is declared but not used [XDeclaredButNotUsed]
Aporia-master/aporia.nim(1842, 16) Hint: 'SearchItem' is declared but not used [XDeclaredButNotUsed]
Aporia-master/aporia.nim(1839, 14) Hint: 'RedoItem' is declared but not used [XDeclaredButNotUsed]
Aporia-master/aporia.nim(1829, 17) Hint: 'NewFileItem' is declared but not used [XDeclaredButNotUsed]
Aporia-master/aporia.nim(1834, 14) Hint: 'SaveItem' is declared but not used [XDeclaredButNotUsed]
Aporia-master/aporia.nim(1837, 14) Hint: 'UndoItem' is declared but not used [XDeclaredButNotUsed]
Aporia-master/aporia.nim(179, 16) Hint: 'aporia.saveAllTabs()' is declared but not used [XDeclaredButNotUsed]
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/aporia.o Aporia-master/nimcache/aporia.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/system.o Aporia-master/nimcache/system.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/glib2.o Aporia-master/nimcache/glib2.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/gtk2.o Aporia-master/nimcache/gtk2.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/atk.o Aporia-master/nimcache/atk.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/pango.o Aporia-master/nimcache/pango.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/gdk2pixbuf.o Aporia-master/nimcache/gdk2pixbuf.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/gdk2.o Aporia-master/nimcache/gdk2.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/gtksourceview.o Aporia-master/nimcache/gtksourceview.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/dialogs.o Aporia-master/nimcache/dialogs.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/os.o Aporia-master/nimcache/os.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/strutils.o Aporia-master/nimcache/strutils.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/parseutils.o Aporia-master/nimcache/parseutils.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/times.o Aporia-master/nimcache/times.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/posix.o Aporia-master/nimcache/posix.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/osproc.o Aporia-master/nimcache/osproc.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/strtabs.o Aporia-master/nimcache/strtabs.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/hashes.o Aporia-master/nimcache/hashes.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/streams.o Aporia-master/nimcache/streams.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/pegs.o Aporia-master/nimcache/pegs.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/unicode.o Aporia-master/nimcache/unicode.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/parseopt.o Aporia-master/nimcache/parseopt.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/asyncio.o Aporia-master/nimcache/asyncio.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/sockets.o Aporia-master/nimcache/sockets.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/encodings.o Aporia-master/nimcache/encodings.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/tables.o Aporia-master/nimcache/tables.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/math.o Aporia-master/nimcache/math.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/algorithm.o Aporia-master/nimcache/algorithm.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/settings.o Aporia-master/nimcache/settings.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/utils.o Aporia-master/nimcache/utils.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/AboutDialog.o Aporia-master/nimcache/AboutDialog.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/CustomStatusBar.o Aporia-master/nimcache/CustomStatusBar.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/cfg.o Aporia-master/nimcache/cfg.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/parsecfg.o Aporia-master/nimcache/parsecfg.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/lexbase.o Aporia-master/nimcache/lexbase.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/search.o Aporia-master/nimcache/search.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/re.o Aporia-master/nimcache/re.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/pcre.o Aporia-master/nimcache/pcre.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/suggest.o Aporia-master/nimcache/suggest.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/processes.o Aporia-master/nimcache/processes.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/rst.o Aporia-master/nimcache/rst.c
gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/jrs/nimrod/lib -o Aporia-master/nimcache/rstast.o Aporia-master/nimcache/rstast.c
gcc   -o /home/jrs/nimrod/Aporia-master/aporia  Aporia-master/nimcache/rstast.o Aporia-master/nimcache/rst.o Aporia-master/nimcache/processes.o Aporia-master/nimcache/suggest.o Aporia-master/nimcache/pcre.o Aporia-master/nimcache/re.o Aporia-master/nimcache/search.o Aporia-master/nimcache/lexbase.o Aporia-master/nimcache/parsecfg.o Aporia-master/nimcache/cfg.o Aporia-master/nimcache/CustomStatusBar.o Aporia-master/nimcache/AboutDialog.o Aporia-master/nimcache/utils.o Aporia-master/nimcache/settings.o Aporia-master/nimcache/algorithm.o Aporia-master/nimcache/math.o Aporia-master/nimcache/tables.o Aporia-master/nimcache/encodings.o Aporia-master/nimcache/sockets.o Aporia-master/nimcache/asyncio.o Aporia-master/nimcache/parseopt.o Aporia-master/nimcache/unicode.o Aporia-master/nimcache/pegs.o Aporia-master/nimcache/streams.o Aporia-master/nimcache/hashes.o Aporia-master/nimcache/strtabs.o Aporia-master/nimcache/osproc.o Aporia-master/nimcache/posix.o Aporia-master/nimcache/times.o Aporia-master/nimcache/parseutils.o Aporia-master/nimcache/strutils.o Aporia-master/nimcache/os.o Aporia-master/nimcache/dialogs.o Aporia-master/nimcache/gtksourceview.o Aporia-master/nimcache/gdk2.o Aporia-master/nimcache/gdk2pixbuf.o Aporia-master/nimcache/pango.o Aporia-master/nimcache/atk.o Aporia-master/nimcache/gtk2.o Aporia-master/nimcache/glib2.o Aporia-master/nimcache/system.o Aporia-master/nimcache/aporia.o  -ldl -pthread -lm
Hint: operation successful (60707 lines compiled; 14.303 sec total; 90.926MB) [SuccessX]
jrs@laptop:~/nimrod/Aporia-master$

Aurel

  • Guest
Re: Nimrod: An interesting language that might interest you guys
« Reply #25 on: September 22, 2013, 11:08:11 AM »
Hmmm
I see this but i don't know why not work on windows version,probably because of some
problems with GTK.

kryton9

  • Guest
Re: Nimrod: All BASIC Development forum
« Reply #26 on: September 22, 2013, 11:26:58 AM »
I'm forking this thread to the All BASIC forum (translator board) so the project isn't a distraction to the O2 forum.

FYI Nimrod has a C header conversion tool that might be useful for the O2 project.

@Kent - It would be great if you would join us on All BASIC. (Charles is a member) Just send me an e-mail and I'll set you up.

THanks John for the invite. I went to ALL BASIC forum and it looked it was for language developers. So I just browse as guest, but if I can
join, yes I will send a request from there. Especially to follow your impressive work Nimrod and getting so far a long.

Too show you how bad I am at with Linux, I couldn't even get scriptbasic to run in ubuntu. I downloaded it as mentioned, unzipped it, but
when I ran the command line instruction if couldn't find the file.  I then looked in the repositories for it and no luck either.
I always see on many video people using apt-get install and was always jealous on how easy that was at it put and did everything for you.
And everything I get that way works fine, but nimrod and scriptbasic don't have apt-get install scripts and it is tough.

Anyways, I think nimrod will be a good language to use for my help system if I can get it working. Thanks for your encouraging progress on Nimrod.

JRS

  • Guest
Re: Nimrod: All BASIC Development forum - SB install
« Reply #27 on: September 22, 2013, 11:53:01 AM »
Hi Kent,

I registered you on All BASIC with the same user ID and e-mail address you are using here. A temporary password was sent to get you in. You can change both user ID and password to your preference.

Welcome!

Lets assume you unzipped you SB archive in /home/kent/scriptbasic. All you need to do to get scriba to run from anywhere is point your search path to the SB bin directory.

Code: [Select]
export PATH=$PATH:/home/kent/scriptbasic/bin

You can add these startup commands to your login shell profile once you get settled in.

John

JRS

  • Guest
Re: Nimrod: An interesting language that might interest you guys
« Reply #28 on: September 22, 2013, 12:09:37 PM »
Hmmm
I see this but i don't know why not work on windows version,probably because of some
problems with GTK.


Make sure you have all your dependencies installed/accessible. (dev versions and runtime) Did you find a Windows version of the gtksourceview widget?


Aurel

  • Guest
Re: Nimrod: An interesting language that might interest you guys
« Reply #29 on: September 22, 2013, 03:00:44 PM »
Yeah..
maybe i download wrong version

Quote
minimal installer for Windows XP/Vista/7 (i386, 32bit): download/nimrod_gamera_0.9.2.exe ("Gamera edition": includes only a minimal GCC)

maybe i will try :
Quote
installer for Windows XP/Vista/7 (i386, 32bit): download/nimrod_0.9.2.exe (includes GCC and everything else you need)

heh...
for example seed7 for windows work like a charm....

X