Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Thu 31 Jul 2014, 19:50
All times are UTC - 4
 Forum index » Off-Topic Area » Programming
Vala and Genie programming
Post new topic   Reply to topic View previous topic :: View next topic
Page 7 of 35 [517 Posts]   Goto page: Previous 1, 2, 3, 4, 5, 6, 7, 8, 9, ..., 33, 34, 35 Next
Author Message
Mr. Maxwell


Joined: 30 Aug 2008
Posts: 215
Location: Nebraska, USA

PostPosted: Sat 28 Mar 2009, 11:33    Post subject:  

Now I have another problem. I have a list with many doubles in it, I wish to get rid of these doubles. If I try this code:

Code:
for num:int in num_list
    if num not in finished_num_list
        finished_num_list.add(num)


I get this error:

Code:
test.gs:16.18-16.20: error: syntax error, expected end of line but got `!' with previous identifier
        if num not in finished_num_list
               ^^^
test.gs:21-1-21-0: error: syntax error, expected identifier

Compilation failed: 2 error(s), 0 warning(s)


When I try this code:

Code:
for num:int in num_list
    if not (num in finished_num_list)
        finished_num_list.add(num)


It compiles just fine but I get this message when I try to run it:

Code:
Segmentation fault


Both of those work fine in python and should work with other launguages. Any ideas?

_________________
Super amazing game!
Back to top
View user's profile Send private message 
MU


Joined: 24 Aug 2005
Posts: 13642
Location: Karlsruhe, Germany

PostPosted: Sat 28 Mar 2009, 12:54    Post subject:  

Ok, I used a testprogram:

Code:
[indent=2]
init

  var num_list = new list of int
  num_list.add(1)
  num_list.add(2)
 
  var finished_num_list = new list of int

  for num in num_list
    print("testing: %d" , num)
    if not finished_num_list.contains(num)

      print("adding: %d" , num)
      finished_num_list.add(num)

  print("bye")


Looks slightly different to your code, but does the same (I also tested yours, and then mine, to check where the error ould be).
When I compile and run it in the IDE, it never reaches "bye".
Running in console, I also get the segmentation fault.
If I run it in the debugger, I get:
Quote:
# valac --pkg=gee-1.0 main.gs
# gdb ./main
GNU gdb 6.7
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-t2-linux-gnu"...
(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) run
Starting program: /root/valide/gee1/main
(no debugging symbols found)
(no debugging symbols found)
testing: 1
adding: 1
testing: 2

Program received signal SIGSEGV, Segmentation fault.
0xb7ea1476 in g_int_equal () from /usr/lib/libglib-2.0.so.0
(gdb) backtrace
#0 0xb7ea1476 in g_int_equal () from /usr/lib/libglib-2.0.so.0
#1 0xb7f3d1d9 in gee_array_list_real_index_of (base=0x804f670, item=0x2) at arraylist.c:185
#2 0xb7f438ef in gee_list_index_of (self=0x804f670, item=0x2) at list.c:61
#3 0xb7f3e4d0 in gee_array_list_real_contains (base=0x804f670, item=0x2) at arraylist.c:174
#4 0xb7f3eabf in gee_collection_contains (self=0x804f670, item=0x2) at collection.c:39
#5 0x08048764 in _main ()
#6 0x08048829 in main ()
(gdb) quit
The program is running. Exit anyway? (y or n) y
#


So there is a bug concerning int types in lists.
I then used "uint" instead.
This works.
You just need to "cast" it to int, if you want to compare it to other integers, or print it.
This is done with
Code:
(int) variablename


Here is a working example:
Code:
[indent=2]

init

  var num_list = new list of uint
  num_list.add(1)
  num_list.add(2)
 
  var finished_num_list = new list of uint
  var a=0   
   
  for num in num_list
    a = (int) num
    if not (num in finished_num_list)
      print("adding: %d" , a)   
      finished_num_list.add(num)
      print("added: %d" , a)


  print("bye")

 


Mark

_________________
my recommended links
Back to top
View user's profile Send private message Visit poster's website 
Mr. Maxwell


Joined: 30 Aug 2008
Posts: 215
Location: Nebraska, USA

PostPosted: Sat 28 Mar 2009, 14:44    Post subject:  

Thanks much better. Very Happy I'm going to start working on the GUI now so I hope you're ready for more questions. Very Happy
_________________
Super amazing game!
Back to top
View user's profile Send private message 
mymas

Joined: 29 Mar 2009
Posts: 3
Location: japan

PostPosted: Sun 29 Mar 2009, 10:28    Post subject:    

hi. I try to do cairo-sample in genie. Smile
So, window open ok, but I cannot do picture-image output in window ...

Code:

[indent=2]
uses
  Gtk
  GLib
  Cairo
   
init
  Gtk.init (ref args)
  var test = new CairoSample ()
  test.show_all ()
  Gtk.main ()

class CairoSample : Window
  init
    title = "Cairo Genie Demo"
    default_height = 550
    default_width = 450
    window_position = WindowPosition.CENTER
   
    destroy += Gtk.main_quit
   
    var drawing_area = new DrawingArea ()
    drawing_area.expose_event += on_expose
    add (drawing_area)
   
  def on_expose (da: DrawingArea, event: Gdk.EventExpose) : bool
    var ctx = Gdk.cairo_create (da.window)
    var surf = new Cairo.ImageSurface (Cairo.Format.ARGB32,240,80)
    ctx.save ()
   
    ctx.select_font_face ('serif', Cairo.FontSlant.NORMAL, Cairo.FontWeight.BOLD)
    ctx.set_font_size (32.0)
    ctx.set_source_rgb (0, 0, 1)
    ctx.move_to (10,50)
    ctx.show_text ('Hello, World')
   
    ctx.restore ()
    surf.write_to_png ('genie_cairotext.png')
    return true

umm... My code is not tidy... Sad
Back to top
View user's profile Send private message 
aragon

Joined: 15 Oct 2007
Posts: 1698
Location: Germany

PostPosted: Thu 02 Apr 2009, 03:21    Post subject:  

New Version of Vala => 0.6

http://live.gnome.org/Vala/Release

aragon

_________________
PUPPY SEARCH: http://wellminded.com/puppy/pupsearch.html
Back to top
View user's profile Send private message 
MU


Joined: 24 Aug 2005
Posts: 13642
Location: Karlsruhe, Germany

PostPosted: Thu 02 Apr 2009, 11:56    Post subject:  

I made an iso with vala related stuff, like the IDE.
http://www.murga-linux.com/puppy/viewtopic.php?p=290970#290970

It also includes Monodevelop with Valasupport.
There is a huge screenshot showing both IDEs in the end of that message.

I'll upgrade it to vala 0.6 next week, thanks aragon! Smile

mymas,
sorry, I was too busy to try out your example Sad
Hopefully can have a look at it this weekend.
Please let us know, if you have success!

Mark

_________________
my recommended links
Back to top
View user's profile Send private message Visit poster's website 
MU


Joined: 24 Aug 2005
Posts: 13642
Location: Karlsruhe, Germany

PostPosted: Fri 03 Apr 2009, 03:59    Post subject:  

mymas

if I replace the singlequotes with doublequotes , your code works fine.
I changed 2 lines:
ctx.select_font_face ("serif", Cairo.FontSlant.NORMAL, Cairo.FontWeight.BOLD)
and:
ctx.show_text ("Hello, World")

Mark

_________________
my recommended links
Back to top
View user's profile Send private message Visit poster's website 
aragon

Joined: 15 Oct 2007
Posts: 1698
Location: Germany

PostPosted: Mon 06 Apr 2009, 04:22    Post subject:  

hi mark,

heavy development, 0.7 is out...
http://live.gnome.org/Vala/Release

maybe thios is also something interesting

gtkaml: http://code.google.com/p/gtkaml/
Quote:
gtkaml is an XML parser that extends the Vala.Parser (literally) and transforms all your tags into a valid Gtk+ UI class described in the Vala language.

aragon

_________________
PUPPY SEARCH: http://wellminded.com/puppy/pupsearch.html
Back to top
View user's profile Send private message 
MUguest

Joined: 09 Dec 2006
Posts: 73

PostPosted: Tue 07 Apr 2009, 04:45    Post subject:  

vala 0.7.0, compiled in Puppy 4.12:
http://dotpups.de/puppy4/dotpups/Programming/Vala/

I could not compile gtkaml.
Vala 0.7.0 no longer has all the headers in /usr/include/vala-1.0.
The headers were removed since 0.7.0, see official announcement.
Vala 0.5.7 was missing the required "valacodenode.h".

I could search for older versions of that file, but this might cause problems, so I prefer to wait, until a "proper" solution was found.
If someone urgently wants to test it, I might create a "unproper" pack using a external, older file.

Mark
Back to top
View user's profile Send private message 
MUguest

Joined: 09 Dec 2006
Posts: 73

PostPosted: Tue 07 Apr 2009, 05:46    Post subject:  

I added gtkaml-0.2.5-i486.pet.
To compile it, I first installed vala 0.6.0.
This installed the required header.
Then I installed again 0.7.0, and compiled gtkaml.

I did not test this library.

Mark
Back to top
View user's profile Send private message 
b100dian

Joined: 07 Apr 2009
Posts: 5

PostPosted: Tue 07 Apr 2009, 18:38    Post subject:  

Quote:
To compile it, I first installed vala 0.6.0.
This installed the required header.


Sorry for the additional work involved, MUguest. I fixed this in 0.2.5-1.
Back to top
View user's profile Send private message 
MU


Joined: 24 Aug 2005
Posts: 13642
Location: Karlsruhe, Germany

PostPosted: Tue 07 Apr 2009, 18:40    Post subject:  

b100dian,
thank you very much.
I wanted to send you a mail about it tomorrow, but you were faster, great!

I will update the pet tomorrow to your latest version.

Very Happy
Mark

(P.S. Just to avoid confusion, I'm MUguest, I write from school using a second login.)

_________________
my recommended links
Back to top
View user's profile Send private message Visit poster's website 
b100dian

Joined: 07 Apr 2009
Posts: 5

PostPosted: Tue 07 Apr 2009, 18:58    Post subject:  

luckily I was watching the referrals since yesterday's release was downloaded before being announced.. Smile don't hesitate to file bugs or write me if this version doesn't fix it.

Vlad
Back to top
View user's profile Send private message 
MU


Joined: 24 Aug 2005
Posts: 13642
Location: Karlsruhe, Germany

PostPosted: Tue 07 Apr 2009, 19:07    Post subject:  

yes, I'll mail you, when I find issues, or people report them.
As you can see by this long thread, Vala/Genie really have found great interest by several Puppy users, and even Barry Kauler, the Puppy founder, is very attracted.
It always was hard for programming languages to enter Puppy, because size/dependencies play a big role in this small system.
I remember 2005, when wxBasic (2 MB compressed with upx, 6 MB uncompressed) was rejected, because it was too "bloated" Laughing

So Vala/Genie are really on a good way, if they find interest even under such "critical" conditions Smile

Thanks very much for your work, Mark

_________________
my recommended links
Back to top
View user's profile Send private message Visit poster's website 
MUguest

Joined: 09 Dec 2006
Posts: 73

PostPosted: Wed 08 Apr 2009, 05:06    Post subject:  

Updated Gtkaml to 0.2.5.1.
Mark
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 7 of 35 [517 Posts]   Goto page: Previous 1, 2, 3, 4, 5, 6, 7, 8, 9, ..., 33, 34, 35 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Off-Topic Area » Programming
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0947s ][ Queries: 12 (0.0073s) ][ GZIP on ]